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

印刷ビューの終了

更新: 2014 年 9 月
 
 

デバイスドライバのエントリポイントとは

エントリポイントとは、なんらかのドライバ機能を利用したり、デバイスを操作したりするために外部エンティティーから呼び出すことができるデバイスドライバ内の関数のことです。各デバイスドライバには、エントリポイントとして関数の標準セットが用意されています。すべてのドライバタイプ用のエントリポイントの一覧については、Intro(9E) のマニュアルページを参照してください。Oracle Solaris カーネルでは、次の一般的なタスク領域でエントリポイントを使用します。

  • ドライバのロードとアンロード

  • デバイスの自動構成 – 自動構成とは、デバイスドライバのコードと静的データをメモリーにロードして、ドライバがシステムに登録されるようにするプロセスです。

  • ドライバへの入出力サービスの提供

各種デバイスのドライバには、デバイスが実行する処理の種類に応じてさまざまなエントリポイントのセットがあります。たとえば、メモリーマッピングされた文字指向デバイスは devmap (9E) エントリポイントをサポートしますが、ブロックドライバはこのエントリをサポートしません。

ドライバ関数に一意の名前を付けるには、ドライバの名前に基づく接頭辞を使用します。通常、この接頭辞はドライバの名前になります (たとえば、xx_open() はドライバ xxopen(9E) ルーチンを表しています)。詳細は、Use a Unique Prefix to Avoid Kernel Symbol Collisionsを参照してください。このドキュメントの以降の例では、xx をドライバ接頭辞として使用します。