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 にお知らせください。

If at first you don't succeed, you must be a programmer.