Solaris 7 のソフトウェア開発 (追補)

デバイスインタフェース

次のインタフェースはドライバを設定して、使用できる状態にします。


int ddi_create_minor_node(dev_info_t *dip, char *name, 
int spec_type, int minor_num, char *node_type, int flag);

ddi_create_minor_node(9F) は、/devices ディレクトリに作られ、dip で指定したデバイスを参照する、デバイスマイナーノードを作成します。デバイスがクローンデバイスの場合、flagCLONE_DEV に設定されます。クローンデバイスでない場合、flag は 0 に設定されます。クラスタ化した環境で使用されることを目的とするデバイスドライバの場合、flag はデバイスノードクラス GLOBAL_DEVNODEBOUND_DEVNODESPECIFIC_DEV、または ENUMERATE_DEV を指定しなければなりません。

ユーザーが使用するデバイス番号とカーネルデバイス番号との間での変換を行うために、以下の新しいインタフェースが使用されます。


minor_t ddi_getiminor(dev_t dev);

ddi_getiminor(9F) はデバイス番号としてマイナー番号を抽出します。