スポンサーリンク

BUS_CHILD_PRESENT(9) FreeBSD カーネル開発者マニュアル BUS_CHILD_PRESENT(9)

名称

bus_child_present − バスドライバへのデバイスが実際に存在しているかどうか の確認の問い合わせ

書式

#include <sys/param.h>
#include <sys/bus.h>

#include <machine/bus.h>
#include <sys/rman.h>
#include <machine/resource.h>

int

bus_child_present(device_t dev);

解説

bus_child_present() 関数は、 dev の親デバイスドライバに対し、 dev で記述 されるハードウェアが現時点でいまだに物理的にアクセス可能であるかどうかを チェックすることを要求します。利用可能の概念はバス毎に異なりますが、一般 的には利用できないハードウェアとは、利用できるときには bus_space*() メ ソッドを介してアクセスできるものが、 bus_space*() メソッドを介してアクセ スできないものを指します。

これは ‘‘このデバイスは子デバイスを持っていますか?’’ という質問を尋ねませ ん。この質問は device_get_children(9) によってより良く回答されることが可 能です。

戻り値

0 の戻り値はシステム内にそのデバイスが存在しないことを示します。 0 ではな い戻り値はシステム内にそのデバイスが存在すること、またはそのデバイスの状 態が決定できないことを示します。

使用例

これはあるサンプルコードです。 dc(4) デバイスが実際に存在する時に、stop を呼び出すだけです。

      device_t dev;
      dc_softc *sc;

     sc = device_get_softc(dev);
      if (bus_child_present(dev))

dc_stop(sc);

関連項目

device(9), driver(9)

作者

このマニュアルページは Warner Losh ⟨imp@FreeBSD.org⟩ が書きました。

FreeBSD 10.0 March 27, 2003 FreeBSD 10.0

スポンサーリンク