ドキュメントの情報
はじめに
パート I Solaris プラットフォーム用デバイスドライバの設計
1. Solaris デバイスドライバの概要
2. Solaris カーネルとデバイスツリー
3. マルチスレッド
4. プロパティー
5. イベントの管理とタスクのキュー
6. ドライバの自動設定
7. デバイスアクセス: プログラム式入出力
8. 割り込みハンドラ
9. ダイレクトメモリーアクセス (DMA)
10. デバイスメモリーおよびカーネルメモリーのマッピング
11. デバイスコンテキスト管理
12. 電源管理
13. Solaris ドライバの強化
14. 階層化ドライバインタフェース (LDI)
パート II 特定の種類のデバイスドライバの設計
15. 文字デバイスのドライバ
16. ブロックデバイスのドライバ
17. SCSI ターゲットドライバ
18. SCSI ホストバスアダプタドライバ
19. ネットワークデバイスのドライバ
20. USB ドライバ
Solaris 環境での USB
USBA 2.0 フレームワーク
USB クライアントドライバ
クライアントドライバのバインド
USB デバイスがシステムからどのように見えるか
USB デバイスと Solaris デバイスツリー
互換デバイス名
複数のインタフェースを備えたデバイス
デバイスドライバのバインディングのチェック
基本的なデバイスアクセス
クライアントドライバが接続される前
記述子ツリー
デバイスアクセスを取得するためのドライバの登録
デバイス通信
USB エンドポイント
デフォルトパイプ
パイプの状態
パイプのオープン
パイプのクローズ
データ転送
同期および非同期転送とコールバック
要求
パイプのフラッシュ
デバイス状態管理
USB デバイスのホットプラグ
ホットプラグコールバック
電源を入れたまま挿入
電源を入れたまま取り外し
電源を入れたまま再挿入
電源管理
デバイス電源管理
システム電源管理
直列化
ユーティリティー関数
デバイス設定機能
インタフェース番号の取得
デバイス全体の管理
複数の設定を持つデバイス
代替設定の変更または取得
その他のユーティリティー関数
文字列記述子の取得
パイプの非公開データ機能
USB 状態のクリア
デバイス、インタフェース、エンドポイントの各状態の取得
デバイスのバスアドレスの取得
サンプル USB デバイスドライバ
パート III デバイスドライバの構築
21. ドライバのコンパイル、ロード、パッケージ化、およびテスト
22. デバイスドライバのデバッグ、テスト、およびチューニング
23. 推奨されるコーティング方法
パート IV 付録
A. ハードウェアの概要
B. Solaris DDI/DKI サービスの概要
C. 64 ビットデバイスドライバの準備
D. コンソールフレームバッファードライバ
索引
この章では、Solaris 環境用の USBA 2.0 フレームワーク を使用してクライアント USB デバイスドライバを記述する方法について説明します。この章では、次の内容について説明します。
「Solaris 環境での USB」
「クライアントドライバのバインド」
「基本的なデバイスアクセス」
「デバイス通信」
「デバイス状態管理」
「ユーティリティー関数」
「サンプル USB デバイスドライバ」