Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

プロパティーの検索

ドライバは、その親にプロパティーを要求できます。そしてその親は、さらにその親に要求できます。ドライバは、要求をその親よりも上位に対して行えるかどうかを制御できます。

たとえば、次の例の esp ドライバは、ターゲットごとに targetx-sync-speed という整数プロパティーを保持します。targetx-sync-speed 内の x はターゲット番号を表します。prtconf(1M) コマンドは、ドライバのプロパティーを冗長モードで表示します。次の例は、esp ドライバの部分的なリストを示しています。

% prtconf -v
...
       esp, instance #0
            Driver software properties:
                name <target2-sync-speed> length <4>
                    value <0x00000fa0>.
...

次の表で、プロパティーインタフェースのサマリーを説明します。

表 4-1  プロパティーインタフェースの使い方
ファミリ
プロパティーインタフェース
説明
ddi_prop_lookup
プロパティーを検索し、そのプロパティーが存在する場合は正常に復帰します。プロパティーが存在しない場合は失敗します。
整数プロパティーを検索し、それを返します。
64 ビットの整数プロパティーを検索し、それを返します。
整数配列プロパティーを検索し、それを返します。
64 ビットの整数配列プロパティーを検索し、それを返します。
文字列プロパティーを検索し、それを返します。
文字列配列プロパティーを検索し、それを返します。
バイト配列プロパティーを検索し、それを返します。
ddi_prop_update
整数プロパティーを更新または作成します。
単一の 64 ビットの整数プロパティーを更新または作成します。
整数配列プロパティーを更新または作成します。
文字列プロパティーを更新または作成します。
文字列配列プロパティーを更新または作成します。
64 ビットの整数配列プロパティーを更新または作成します。
バイト配列プロパティーを更新または作成します。
ddi_prop_remove
プロパティーを削除します
デバイスに関連付けられているすべてのプロパティーを削除します。

int プロパティーインタフェースを使用するときは、できるだけ ddi_prop_update_int(9F) などの 32 ビットバージョンではなく、ddi_prop_update_int64(9F) などの 64 ビットバージョンを使用してください。