スポンサーリンク

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

名称

device_get_state, device_busy, device_unbusy, device_is_alive, device_is_attached − デバイス状態の操作

書式

#include <sys/param.h>
#include <sys/bus.h>

device_state_t

device_get_state(device_t dev);

void

device_busy(device_t dev);

void

device_unbusy(device_t dev);

int

device_is_alive(device_t dev);

int

device_is_attached(device_t dev);

解説

デバイスの現在の状態は、 DS_NOTPRESENT, DS_ALIVE, DS_ATTACHED, DS_BUSY ( device(9) で説明されています) を返す device_get_state() の呼び出しによっ てアクセスされます。デバイスがうまくプローブされたことを確認するには、単 純に状態が DS_ALIVE 以上であるかどうかを返す device_is_alive() を呼び出し ます。デバイスがうまくアタッチされたことを確認するには、単純に状態が DS_ATTACHED 以上であるかどうかを返す device_is_attached() を呼び出しま す。

個々のデバイスは、 device_busy() が呼び出された時にインクリメントされ、 device_unbusy() が呼び出された時にデクリメントされるビジーカウントを持っ ています。どちらのルーチンもデバイスの状態が DS_ATTACHED より小さい場合に はエラーを返します。

デバイスが DS_ATTACHED 状態で device_busy() が呼び出された時には、デバイ スは DS_BUSY 状態に遷移します。 device_unbusy() が呼び出されでデクリメン トされた後にデバイスのビジーカウントが 0 ならば、デバイスは DS_ATTACHED 状態に遷移します。

関連項目

device(9)

作者

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

FreeBSD 10.0 June 16, 1998 FreeBSD 10.0

スポンサーリンク