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) を呼び出しすことによって、デバイスの現在の状態を決定することができます。
作者
このマニュアルページは、 によって書かれました。June 16, 1998 | FreeBSD |