tail head cat sleep
QR code linking to this page

manページ  — DEVICE

名称

device – デバイスの抽象表現

内容

書式

typedef struct device *device_t;

解説

デバイスオブジェクトは拡張カード、カードが挿されるバス、拡張カードに接続される ディスクドライブなどのシステムにアタッチされたハードウェアの一部を表現します。 システムは 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) を参照)、 バス固有の変数の組 ( device_get_ivars(9) を参照)、 および driver 固有の変数の組 ( device_get_softc(9) を参照) を含みます。

デバイスは以下の幾つかの状態の内の 1 つをとることが可能です。
DS_NOTPRESENT
  デバイスは存在確認のプローブがされていないか、失敗しました。
DS_ALIVE デバイスのプローブには成功しましたが、まだアタッチされていません。
DS_ATTACHED デバイスのアタッチが成功しました。
DS_BUSY デバイスは現在オープンされています。

デバイスの現在の状態は、 device_get_state(9) の呼び出しにより決定することが可能です。

関連項目

devclass(9), driver(9)

作者

このマニュアルページは Doug Rabson が書きました。

DEVICE (9) June 16, 1998

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.