DEVICE_PROBE(9) FreeBSD 一般コマンドマニュアル

DEVICE_PROBE

前のページ 上に戻る 次のページ

DEVICE_PROBE


     #include <sys/bus.h>

     int
     DEVICE_PROBE(device_t dev);


解説

     このデバイスメソッドはデバイスがあるかどうかを知るためにプローブするべき
     です。デバイスが存在すれば 0 を、デバイスが見つからなければ ENXIO を返す
     べきです。プローブの間にその他のエラー(メモリ割当の失敗など)が起こった場
     合は、適切なエラーコードが返されるべきです。 1 つのデバイスに 1 つ以上の
     ドライバが当てはまるような場合のために、優先順位を返すことができます。こ
     の場合、成功の値は 0 以下の値で、最も大きな値が最も適切であることを意味し
     ます。失敗の値は正の値で表現され、通常の UNIX エラーコードが目的に応じて
     使用されるべきです。

     ドライバが 0 より小さい成功値を返す場合、ドライバはそのデバイスにアタッチ
     されるのが同じドライバであると想定してはいけません。特に、softc 構造体に
     格納されたすべての値がアタッチメソッドで利用可能であると想定してはいけま
     せんし、また、アタッチメソッドが呼ばれた場合、プローブの間に割り当てられ
     たあらゆるリソースは開放して再割り当てしなければなりません。成功値 0 を返
     す場合には、ドライバはそのドライバがアタッチされると想定することができま
     す。

     バスを実装するデバイスは、バスに接続されたデバイスの存在をプローブしそれ
     らを子デバイスとして追加するために、このメソッドを使用するべきです。この
     メソッドが bus_generic_attach(9) の使用と結合していれば、子デバイスは自動
     的にプローブされ、アタッチされるでしょう。


戻り値

     0 以下の値は成功を表し、0 より大きな値はエラー(errno)を表します。 0 以下
     の値の時、0 は最高の優先順位を表し、それ以上のプローブは行ないません。 0
     未満の値は、低い値程、低い優先順位を表します。たとえば、-100 は -50 より
     も低い優先順位を表します。


関連項目

     device(9), DEVICE_ATTACH(9)


作者

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

FreeBSD 4.4                      June 16, 1998                     FreeBSD 4.4

ABELNET VPSサービス