SES(4) | FreeBSD Kernel Interfaces Manual | SES(4) |
名称
ses — SCSI の環境のサービスドライバ書式
device ses解説
ses ドライバは、SAF-TE (SCSI アクセス可能なフォルトトレラントエンクロージャ) のサポートをエミュレートしたと同様にサポートされた SCSI ホストアダプタを介してシステムに取り付けられた環境のサービスクラスのすべての SCSI デバイスのサポートを行ないます。環境のサービスクラスは一般的に電力供給 (と状態)、温度、デバイススロットなどの数のような環境の情報を提供するエンクロージャデバイスです。SCSI の環境のサービスデバイスを設定することができる前に、 SCSI ホストアダプタもまたシステムで別々に設定されなければなりません。
カーネルの設定
1 つの ses デバイスを明示的に設定することは単に必要です。デバイスが SCSI バスで見つかるとともに、データ構造体はダイナミックに割り付けられます。個別のオプション SES_ENABLE_PASSTHROUGH は、さらに ses 機能をサポートすることを要求する他のクラスのデバイスで ses ドライバが機能の実行を認めることを指定できます。
IOCTL
次の ioctl(2) 呼び出しは ses デバイスに適用されます。それらは、ヘッダファイル < cam/scsi/scsi_ses.h> ( 参照) に定義されます。- SESIOC_GETNOBJ
- この特別のデバイスの実例によってどれだけの ses オブジェクトが駆動されるか知るために使用します。
- SESIOC_GETOBJMAP
- そのサブエンクロージャにあるオブジェクト識別子とオブジェクトの ses タイプのオブジェクトを含んでいる SES オブジェクトの配列をカーネルから読み込みます。
- SESIOC_GETENCSTAT
- 全体のエンクロージャのステータスを取得します。
- SESIOC_SETENCSTAT
- 全体のエンクロージャのステータスを取得します。
- SESIOC_GETOBJSTAT
- 特別のオブジェクトのステータスを取得します。
- SESIOC_SETOBJSTAT
- 特別のオブジェクトのステータスを設定します。
- SESIOC_GETTEXT
- (まだ実装されていない) オブジェクトのために関連するヘルプテキストを取得します。 ses デバイスは、利用者に位置 (例えば "左の電力供給") のようなものを伝えることができるオブジェクト用の記述テキストをしばしば持っています。
- SESIOC_INIT
- エンクロージャを初期化します。
使用法の例
< usr/share/examples/ses> に含まれていたファイルは、たいへん愚かな単純なモニタリングデーモンと同様にこれらのインタフェースを使用する方法のための単純なメカニズムを示します。関連ファイル
- /dev/ses N
- N 番目の SES デバイス。
診断
カーネルが DEBUG 可能で設定される時、最初の SES デバイスのオープンは、コンソールへの全体のエンクロージャのパラメータを吐き出します。歴史
ses ドライバは、Matthew Jacob によって CAM SCSI サブシステムのために書かれました。これは Solaris, Release 7 で利用可能な同様のドライバと機能的に等価です。January 29, 2000 | FreeBSD |