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

device_add_child

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

device_add_child


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

     device_t
     device_add_child(device_t dev, const char *name, int unit);

     device_t
     device_add_child_ordered(device_t dev, int order, const char *name,
             int unit);


解説

     dev の新しい子デバイスを追加します。 name および unit 引数はデバイスの名
     前とユニット番号を指定します。名前が不明の場合には、呼び出し側は NULL を
     渡すべきです。ユニット番号が不明の場合には、呼び出し側は -1 を渡すべき
     で、システムは次の使用可能なユニット番号を選択するでしょう。

     デバイスの名前は、どのドライバがそのデバイスに適切であるかを決定するため
     に使用されます。名前が指定されている場合には、その名前のドライバのみがプ
     ローブされます。名前が与えられなかった場合には、認識しているバスの全ての
     ドライバがプローブされます。

     これは、デバイスインスタンスを独自に識別することができるバス (PCI 等)
     が、個々のドライバが個々のデバイスインスタンスに適合しているかチェック可
     能にします。供給されたプローブヒントに依存して、たった 1 つのドライバがデ
     バイスをプローブ可能なバスでは、ドライバの名前はデバイスの名前として指定
     されるべきです。

     通常、ユニット番号はシステムによって時動的に選択されますので、ユニット番
     号は -1 が与えられるべきです。指定のユニット番号が希望された時に (例え
     ば、ハードウェアの一部分をあらかじめ設定されたユニット番号に結びつけるた
     め)、unit は渡されるべきです。指定されたユニット番号が既に割り当てられて
     いた場合には、新しいユニット番号が割り当てられ、診断メッセージが表示され
     ます。

     指定の順序でプローブされなければならないバス (例えば、ISA バス用の幾つか
     のデバイスは関連の無いドライバのプローブの試みの失敗に敏感で、それゆえ最
     初にプローブされなければならない) にアタッチされたデバイスの場合には、
     device_add_child_ordered(9)order 引数が半順序を指定するために使用され
     るべきです。新しいデバイスは、既存のより大きい順序を持つすべてのデバイス
     の前に追加されます。 device_add_child(9) が使用された場合には、順序が 0
     であるとして新しい子が追加されます。


戻り値

     成功時には新しいデバイスが、そうでなければ NULL が返されます。


関連項目

     device(9)


作者

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

FreeBSD 4.4                      June 16, 1998                     FreeBSD 4.4

ABELNET VPSサービス