デバイス固有のデータ構造体 (デバイスレジスタを表す構造など)
ドライバによって定義された、状態情報を維持管理するためのデータ構造体
定義済みの定数 (デバイスレジスタのビットを表す定数など)
マクロ (マイナーデバイス番号とインスタンス番号の間の静的マッピングを定義するマクロなど)
状態構造体など、ヘッダーファイルの定義の一部は、デバイスドライバでのみ必要になることがあります。この情報はデバイスドライバ自体によってのみ含められる private ヘッダーファイルに入れる必要があります。
入出力制御コマンドなど、アプリケーションが必要とすることがある情報はすべて、public ヘッダーファイルに含める必要があります。これらのファイルはドライバと、デバイスに関する情報を必要とするすべてのアプリケーションによって含められます。
private ファイルと public ファイルの命名に関する標準はありませんが、private ヘッダーファイルの場合は xximpl.h とし、public ヘッダーファイルの場合は xxio.h とするのが命名規則の 1 つです。