スポンサーリンク

DEVICE(9) FreeBSD カーネル開発者マニュアル DEVICE(9)

名称

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 が書きました。

FreeBSD 10.0 June 16, 1998 FreeBSD 10.0

スポンサーリンク