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

印刷ビューの終了

更新: 2014 年 9 月
 
 

一意の接頭辞を使用してカーネルシンボルの衝突を回避する

それぞれの関数、データ要素、およびドライバプリプロセッサの定義は、ドライバごとに一意であることが必要です。

ドライバモジュールはカーネルにリンクされます。特定のドライバに対して一意である各シンボルの名前は、決してほかのカーネルシンボルと衝突しないようにしてください。そのような衝突を回避するには、特定のドライバの関数とデータ要素のそれぞれに、そのドライバに共通の接頭辞を使用して名前を付ける必要があります。接頭辞を使用すると、各ドライバシンボルに一意の名前を付けるのに十分なはずです。通常、この接頭辞はドライバの名前またはドライバ名の略語になります。たとえば xx_open() は、ドライバ xxopen (9E) ルーチンの名前です。

ドライバを作成するときには、ドライバに必ずいくつかのシステムヘッダーファイルを含める必要があります。これらのヘッダーファイル内に記載された、グローバルに認識される名前を予測することはできません。これらの名前との衝突を避けるには、識別用の接頭辞を使用して、各ドライバプリプロセッサの定義に一意の名前を付ける必要があります。

ドライバシンボルの接頭辞を識別できれば、トラブルシューティング時にシステムログやパニックを解読する助けにもなります。あいまいな attach() 関数に関連するエラーを確認する代わりに、xx_attach() に関するエラーメッセージを確認します。