EN JA
BUS_CHILD_PRESENT(9)
BUS_CHILD_PRESENT(9) FreeBSD Kernel Developer's Manual 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*() メソッドを通してアクセスすることができません、そうでなければ、デバイスにアクセスするために使用されます。

これは、“このデバイスには、子デバイスがありますか?”という質問をしません、それは、 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>によって書かれました。
March 27, 2003 FreeBSD