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

印刷ビューの終了

更新: 2014 年 9 月
 
 

文字デバイスドライバ用のエントリポイント

文字デバイスドライバは通常、バイトストリームで入出力を実行します。文字ドライバを使用するデバイスの例には、テープドライブやシリアルポートがあります。文字デバイスドライバは、入出力制御 (ioctl) コマンド、メモリーマッピング、デバイスポーリングなど、ブロックドライバには存在しない追加のインタフェースも提供できます。詳細は、Chapter 15, Drivers for Character Devicesを参照してください。

デバイスドライバの主なタスクは入出力を実行することですが、多くの文字デバイスドライバは、バイトストリームまたは文字 I/O と呼ばれる処理を行います。ドライバは、デバイスとの間のデータ転送を、特定のデバイスアドレスを使用しないで行います。このような転送は、ファイルシステム要求の一部がデバイス上の特定の位置を識別するブロックデバイスドライバとは大きく異なります。

read(9E) および write (9E) エントリポイントは、標準的な文字ドライバのバイトストリーム入出力を処理します。詳細は、I/O Request Handlingを参照してください。

次の表に、文字デバイスドライバで使用できる追加のエントリポイントの一覧を示します。その他のエントリポイントについては、Entry Points Common to All Driversを参照してください。

表 1-3  文字ドライバ用の追加のエントリポイント
エントリポイント
用途
説明
オプション
STREAMS 以外の文字ドライバのイベントをポーリングします。追加情報: Multiplexing I/O on File Descriptors
オプション
文字ドライバの一連の入出力コマンドを実行します。ioctl() ルーチンでは、適宜 copyin(9F)copyout (9F)ddi_copyin (9F)、およびddi_copyout (9F) を明示的に使用して、ユーザーデータが確実にカーネルのアドレス空間に、またはカーネルのアドレス空間からコピーされるようにする必要があります。追加情報:
必須
デバイスからデータを読み取ります。追加情報:
オプション
デバイスメモリーをユーザー空間にマップします。追加情報:
必須
データをデバイスに書き込みます。追加情報: