EN JA
DEVICE(9)
DEVICE(9) FreeBSD Kernel Developer's Manual DEVICE(9)

名称

deviceデバイスの抽象的な表現

書式

typedef struct device *device_t;

解説

デバイスオブジェクトは、拡張カード、カードがプラグインされるバス、拡張カードにアタッチされるディスクドライブなど、のようなシステムにアタッチされた 1 部分のハードウェアを表わします。システムは、1 つのデバイス root_bus を定義し、他のすべてのデバイスは、自動設定の間に動的に作成されます。通常、システム (ISA、PCI など) のトップレベルのバスを表わすデバイスは、 root_bus に直接アタッチされ、他のデバイスは、それらの適切なバスの子供として追加されます。

システムのデバイスは、ツリーを形成しています。 root_bus を除くすべてのデバイスには、親 ( device_get_parent(9) を参照) があります。さらに、あらゆるデバイスは、それ ( device_add_child(9), device_add_child_ordered(9), device_find_child(9), device_get_children(9), と device_delete_child(9) を参照) にアタッチされる子供があります。

また、プローブに成功して、システムにアタッチされたデバイスは、ドライバ ( device_get_driver(9)driver(9) を参照) とデバイスクラス ( device_get_devclass(9)devclass(9) を参照) があります。デバイスの様々な他の属性は、ユニット番号 ( device_get_unit(9) を参照)、冗長な記述 (通常ドライバによって供給された、 device_set_desc(9)device_get_desc(9) を参照)、1 組のバス特有の変数 ( device_get_ivars(9) を参照) と1 組のドライバ特有の変数 ( device_get_softc(9) を参照) を含んでいます。

デバイスは、次のいくつかの状態の 1 つになるかもしれません:

DS_NOTPRESENT
デバイスが存在をプローブがされていないか、またはプローブに失敗しました。
DS_ALIVE
デバイスのプローブは成功しましたが、まだアタッチされていません。
DS_ATTACHED
デバイスのアタッチに成功しました。
DS_BUSY
デバイスが現在オープンされています。

device_get_state(9) を呼び出しすことによって、デバイスの現在の状態を決定することができます。

関連項目

devclass(9), driver(9)

作者

このマニュアルページは、 Doug Rabson によって書かれました。
June 16, 1998 FreeBSD