scdisk SCSI デバイス・ドライバー
目的
SCSI ハード・ディスク、CD-ROM (コンパクト・ディスク読み取り専用メモリー)、および読み取り/書き込み光ディスク (光ディスク・メモリー) デバイスをサポートします。
構文
#include <sys/devinfo.h>
#include <sys/scsi.h>
#include <sys/scdisk.h>
#include <sys/pcm.h>
#include <sys/mpio.h>装置に依存するサブルーチン
標準的なハード・ディスク操作、CD-ROM 操作、および読み取り/書き込み光ディスク操作は、 オープン、 閉じる、 読み取り、 書き込み、および Ioctl の各サブルーチンを使用してインプリメントされます。 scdisk デバイス・ドライバーには、MPIO 対応デバイスに対するサポートが追加されています。
サブルーチンのオープンとクローズ
open サブルーチンは、 ODM reserve_policy 属性に基づく予約ポリシーを適用します。 以前は、 open サブルーチンは常に SCSI2 予約を適用していました。 オープン および 閉じる サブルーチンは、デバイスが MPIO 対応デバイスである場合に、デバイスへの複数のパスの処理をサポートします。
OpenX サブルーチンは、主に診断コマンドおよびユーティリティーで使用するためのものです。 実行には適切な権限が必要です。 適切な権限なしで open サブルーチンを実行しようとすると、サブルーチンは -1 の値を戻し、 errno グローバル変数を EPERMの値に設定します。
OpenX サブルーチンに渡される 内線 パラメーターは、ターゲット・デバイスに使用される操作を選択します。 /usr/include/sys/scsi.h ファイルは、 ext パラメーターに可能な値を定義します。
内線 パラメーターには、論理 OR 演算された以下のフラグ値の任意の組み合わせを含めることができます。
| 項目 | 説明 |
|---|---|
| SC_診断 | 選択したデバイスを診断モードにします。 このモードは、単独でしか使用できません。つまり、一度に 1 つのプロセスしか開くことができません。 デバイスが診断モードの場合、SCSI 操作は オープン 操作または 閉じる 操作中に実行され、エラー・ロギング・プロセスは使用不可になります。 診断モードでは、 閉じる および Ioctl サブルーチン操作のみが受け入れられます。 その他のデバイス対応サブルーチンは、-1 errnoグローバル変数を次の値に設定します。アクセス。 デバイスを診断モードで開くことができるのは、ターゲット・デバイスが現在オープンされていない場合のみです。 診断モードでデバイスを開こうとしたときに、ターゲットデバイスがすでに開いている場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アクセス。 |
| SC_FORCED_OPEN_LUN | LUN レベル・リセットをサポートする装置では、オープン・シーケンスが行われる前に別のイニシエーターによって行われた予約に関係なく、装置はリセットされます。 装置が LUN レベル・リセットをサポートしておらず、 SC_FORCED_OPEN_LUN フラグと SC_FORCE_OPEN フラグの両方が設定されている場合は、オープン・シーケンスが行われる前にターゲット・リセットが行われます。 |
| SC_FORCED_OPEN | 別のイニシエーターが装置を予約しているかどうかに関係なく、バス装置を強制的にリセットします。 SCSI バス・デバイス・リセットは、 オープン シーケンスの開始前にデバイスに送信されます。 その他の点では、 オープン 操作は正常に実行されます。 |
| SC_RETAIN_RESERVATION (予約の変更) | リリースを発行しないことにより、 閉じる 操作後の装置の予約を保持します。 このフラグは、他のイニシエーターがホスト・マシンの予約を中断しない限り、そのデバイスを使用できないようにします。 |
| SC_NO_RESERVE | OpenX サブルーチンによるデバイスへの呼び出し中に、そのデバイスの予約を禁止します。 この操作は、独自のソフトウェア手段によってアクティビティーを同期化する 2 つのプロセッサーによって装置を制御できるようにするために提供されています。 |
| シングル (SC_SINGLE) | 選択したデバイスを排他的アクセス・モードにします。 排他的アクセス・モードでデバイスを開くことができるのは、一度に 1 つのプロセスのみです。 デバイスを排他的アクセス・モードで開くことができるのは、そのデバイスが現在オープンしていない場合のみです。 排他アクセスモードでデバイスを開こうとしたときに、そのデバイスがすでに開いている場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。忙しい。 SC_診断 フラグを シングル (SC_SINGLE) フラグと一緒に指定すると、デバイスは診断モードになります。 |
| SC_PR_SHARED レジスター | マルチイニシエーター共有デバイス環境では、オープン・シーケンスの一部として、サービス・アクション Register and Ignore Key を伴う永続予約がデバイスに送信されます。 この機能は、クラスター環境を対象としています。クラスター環境では、上位管理ソフトウェアがアドバイザリー・ロック・メカニズムに従って、イニシエーターがいつ読み取りまたは書き込みを行うかを制御する必要があります。 デバイスは永続予約をサポートする必要があります (永続予約の SCSI Primary Command バージョン 2 の説明を参照してください)。 |
「 カーネル・エクステンション機能とデバイス・サポート・プログラミングの概念 」の「 SCSI オプション、openx サブルーチンへの 」には、 オープン 操作に関するより具体的な情報が記載されています。
readx および writex サブルーチン
Readx および ライトックス サブルーチンは、生データ転送に影響を与える追加パラメーターを提供します。 これらのサブルーチンは、要求オプションを指定する 内線 パラメーターを渡します。 オプションは、ゼロ個以上の以下の値を論理 OR することによって構成されます。
| 項目 | 説明 |
|---|---|
| HWRELOC (最高水準点) | ハードウェア再配置の要求を示します (安全な再配置のみ) |
| アンサフェル | 安全でないハードウェア再配置の要求を示します。 |
| WRITEV | 書き込み検査の要求を示します。 |
ioctl サブルーチン
ディスク デバイス・ドライバーに使用される Ioctl サブルーチン操作は、以下のカテゴリーに固有のものです。
- ハード・ディスクおよび読み取り/書き込み光ディスク装置のみ
- CD-ROM 装置のみ
- ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク装置
ハード・ディスクおよび読み取り/書き込み光ディスク装置
ハード・ディスクおよび読み取り/書き込み光ディスク装置では、以下の Ioctl 操作を使用できます。
| 項目 | 説明 |
|---|---|
| DKIOWRSE (データ・タイプ) | エラーが発生したときに、装置に対して 書き込み コマンドを発行し、ターゲット装置のセンス・データを取得する手段を提供します。 もし、 DKIOWRSE操作は値を返します-1そしてそのステータスの有効性フィールドの値はsc_valid_sense有効なセンスデータが返されます。 それ以外の場合は、ターゲット・センス・データは省略されます。 DKIOWRSE (データ・タイプ) 操作は、診断に使用するために提供されています。 これにより、ターゲット装置がアクティブ・システム環境で作動している場合に、ターゲット装置を限定的に使用することができます。 DKIOWRSE (データ・タイプ) 操作に対する 引数 パラメーターには、 SCSI (sc_rdwrt) 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scsi.h ファイルに定義されています。 デバイス情報 構造は、 書き込み 操作の最大転送サイズを定義します。 最大値を超えて転送しようとすると、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 |
| _ 翻訳不要 _DKLOGSENSE | 正常に開かれたデバイスに対して ログ・センス コマンドを発行する手段を提供します。 この ioctl 操作を発行するアプリケーションは、 struct sc_log_sense ( /usr/include/sys/scsi.hで定義されている) のアドレスを渡す必要があり、構造体は次のように埋められます。
要求されたログ・ページが SCSI_BSR_LOG_PAGE ( /usr/include/sys/scsi.hで定義されている) の場合、 log_data は、呼び出し元によって割り振られた struct sc_bsr_log_data を指します。 また、呼び出し元は、 sizeof 構造 sc_bsr_log_data の合計と 構造体 sc_bms_log_data に割り振られたメモリーが 割り振りの長さと等しくなるように、 構造体 sc_bms_log_data のメモリーを割り振ります。 それ以外の場合 ( SCSI_BSR_LOG_PAGE以外のログ・ページの場合) は、 割り振りの長さに等しいメモリーのチャンクを指します。 SCSI ログ・センス 構造体を埋めるためのコード例を以下に示します。 |
_ 翻訳不要 _DKLOGSENSE Ioctl 操作は、構造体 SCSI ログ・センス を使用して以下のデータを返します (rc=0 は成功を示します)。
|
|
| _ 翻訳不要 _DKLOGSELECT | ログ選択 コマンドを発行する手段を提供します。 DKLOGSELECT ioctl 操作を発行するすべてのアプリケーションは、次のように入力された DKLOGSELECT ( /usr/include/sys/scsi.hに定義されている) のアドレスを渡す必要があります。
以下は、 SCSI_BSR_LOG_PAGE データ * *をクリアするために SCSI ログ選択 構造体を埋める例です。
この Ioctl 操作は、 ログ選択 コマンドのエラー完了状況を報告する 構造体 sc_log_select (rc=0 は成功を示します) アダプター状況、SCSI 状況、 送信キー、 SCSI_ASC、および SCSI_ASQ の各フィールドを使用して、以下のデータを返します。 |
CD-ROM デバイスのみ
以下の Ioctl 操作は、CD-ROM 装置の場合にのみ使用できます。
| 項目 | 説明 |
|---|---|
| CDIOCMD | 接続された CD-ROM 装置に対して SCSI コマンドを直接発行できるようにします。 CDIOCMD 操作は、以前のリリースのオペレーティング・システムでコンパイルされた CD-ROM アプリケーションのバイナリー互換性を保持します。 新しく作成した CD-ROM アプリケーションでは、代わりに DKIOCMD (D) 操作を使用することをお勧めします。 CDIOCMD 操作の場合、デバイスは診断モードで開く必要があります。 CDIOCMD 操作パラメーターは、 SC_IOCMD 構造体のアドレスを指定します。 この構造体は、 /usr/include/sys/scsi.h ファイルに定義されています。 この操作を CD-ROM 以外の装置で行おうとすると、 DKIORDSE (D) 操作として解釈されます。 この場合、 引数 パラメーターは SCSI (sc_rdwrt) 構造体として扱われます。 もし、 CDIOCMD診断モードではないデバイスで操作を試行すると、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アクセス。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 注: 診断モードは、 CDIOCMD および DKIOCMD (D) 操作にのみ必要です。
|
ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク装置
ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク装置には、以下の Ioctl 操作を使用できます。
| 項目 | 説明 |
|---|---|
| IOCINFO | /usr/include/sys/devinfo.h ファイルに定義されている devinfo 構造体を戻します。 イオシINFO 命令は、 Ioctl サブルーチンを使用するすべてのデバイス・ドライバーに対して定義される唯一の命令です。 残りの操作はすべて、ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク装置に固有のものです。 |
| DKIORDSE (D) | エラーが発生したときに、装置に対して 読み取り コマンドを発行し、ターゲット装置のセンス・データを取得する手段を提供します。 もし、キオルセ操作は値を返します-1そしてそのステータスの有効性フィールドの値はsc_valid_sense有効なセンスデータが返されます。 それ以外の場合は、ターゲット・センス・データは省略されます。 DKIORDSE (D) 操作は、診断に使用するために提供されています。 これにより、ターゲット装置がアクティブ・システム環境で作動している場合に、ターゲット装置を限定的に使用することができます。 DKIORDSE (D) 操作に対する 引数 パラメーターには、 SCSI (sc_rdwrt) 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scsi.h ファイルに定義されています。 デバイス情報 構造は、 読み取り 操作の最大転送サイズを定義します。 最大値を超えて転送しようとすると、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 注: CD-ROM 装置からセンス・データを取得するために 読み取り コマンドを発行すると、 DKIORDSE (D) 操作の代わりに CDIORDSE 操作が使用されることがあります。 DKIORDSE (D) が推奨される操作です。
|
| DKIOCMD (D) | 装置が診断モードで正常にオープンされると、 DKIOCMD (D) 操作は、指定された装置に SCSI コマンドを発行する手段を提供します。 もし、 DKIOCMD についてデバイスが診断モードではないときに操作が発行されると、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アクセス。 デバイス・ドライバーは、この操作の失敗に対してエラー・リカバリーもロギングも実行しません。 SCSI 状況バイトおよびアダプター状況バイトは、 arg パラメーターを介して戻されます。このパラメーターには、( /usr/include/sys/scsi.h ファイルに定義されている) sc_iocmd 構造体のアドレスが入っています。 もし、 DKIOCMD について操作が失敗した場合、サブルーチンは値を返します-1 errno グローバル変数をゼロ以外の値に設定します。 この場合、呼び出し側は、戻された状況バイトを評価して、操作が失敗した理由と取るべきリカバリー・アクションを判別する必要があります。 デバイス情報 構造は、コマンドの最大転送サイズを定義します。 最大値を超えて転送しようとすると、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 注: 診断モードは、 CDIOCMD および DKIOCMD (D) 操作にのみ必要です。
|
| DKPMR (D) | 装置が正常にオープンされたときに、SCSI メディア除去防止コマンドを発行します。 このコマンドは、装置がクローズされるか、パワーオフされて再びオンになるか、または DKAMR (D) 操作が発行されるまで、メディアが排出されないようにします。 DKPMR (D) 操作の 引数 パラメーターがヌルです。 DKPMR (D) 命令が正常に実行されると、サブルーチンは値 0 を戻します。 デバイスがSCSIハードディスクの場合、 DKPMR操作は失敗し、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 もし、 DKPMRその他の理由で操作が失敗した場合、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。イーアイオー。 |
| DKAMR (D) | 装置が正常にオープンされた時に, 媒体除去許可コマンドを出します。 その結果、ドライブのイジェクト・ボタンまたは DKEJECT (デッキ) 操作のいずれかを使用して、メディアをイジェクトすることができます。 この Ioctl の 引数 パラメーターがヌルです。 DKAMR (D) 命令が正常に実行されると、サブルーチンは値 0 を戻します。 デバイスがSCSIハードディスクの場合、 DKAM操作は失敗し、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 この操作が失敗した場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。イーアイオー。 |
| DKEJECT (デッキ) | 装置が正常にオープンされたときに、ドライブにイジェクト・メディア・コマンドを発行します。 この操作の 引数 パラメーターがヌルです。 DKEJECT (デッキ) 命令が正常に実行されると、サブルーチンは値 0 を戻します。 デバイスがSCSIハードディスクの場合、 DKJECT操作は失敗し、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 この操作が失敗した場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。イーアイオー。 |
| DKFORMAT (D) | 装置が正常にオープンされたときに、指定された装置にフォーマット・ユニット・コマンドを発行します。 この操作の 引数 パラメーターがヌルの場合、フォーマット・ユニットはフォーマット・オプション有効 (FOV) ビットを 0 に設定します (つまり、ドライブのデフォルト設定を使用します)。 DKFORMAT (D) 操作の 引数 パラメーターが NULL でない場合、障害リスト・ヘッダーの最初のバイトは、 引数 パラメーターによってアドレス指定された最初のバイトに指定された値に設定されます。 これにより、アプリケーションを作成して、特定のタイプの読み取り/書き込み光ディスク・メディアを一意的にフォーマットすることができます。 ドライバーは、最初に FmtData および CmpLst ビットを 0 に設定しようとします。 これが失敗した場合、ドライバーはこれらのビットの残りの 3 つの順列を試行します。 4 つの順列がすべて失敗すると、この操作は失敗し、サブルーチンは errno グローバル変数を値 EIO 社に設定します。 もし、 DKフォーマットハードディスクに対して操作が指定されている場合、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 もし、 DKフォーマットデバイスが排他アクセスモードではないときに操作が試行されると、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アクセス。 メディアが書き込み禁止の場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。 EWRプロテクト。 フォーマットユニットがタイムアウト値を超えた場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。タイムアウト。 この操作が失敗した場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。イーアイオー。 |
| DKAUDIO (D) | 指定されたデバイスに対して音声再生コマンドを発行し、デバイスの出力ポート上のボリュームを制御します。 音声再生コマンドには、再生、一時停止、再開、停止、トラック数の判別、現在の音声操作の状況の判別などがあります。 DKAUDIO (D) 操作は、CD-ROM ドライブの出力ポートを介してのみ音声を再生します。 この操作の arg パラメーターは、 /usr/include/sys/scdisk.h ファイルに定義されている cd_audio_cmds 構造体のアドレスです。 排他的アクセス・モードが必要です。 もしDKオーディオデバイスのオーディオサポート属性がNoに設定されている場合に操作が試行されると、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァル。 もし、 DKオーディオ操作が失敗した場合、サブルーチンは値を返します-1 errno グローバル変数をゼロ以外の値に設定します。 この場合、呼び出し側は、戻された状況バイトを評価して、操作が失敗した理由と取るべきリカバリー・アクションを判別する必要があります。 |
| DK CD_ モード | 指定された装置の CD-ROM データ・モードを決定または変更します。 CD-ROM データ・モードは、デバイスから SCSI バスを介して読み取られるデータに使用されるブロック・サイズおよび特殊ファイルを指定します。 DK CD_ モード 操作は、以下の CD-ROM データ・モードをサポートします。
DK_CD_MODE arg パラメーターには、 /usr/include/sys/scdisk.h ファイルに定義されている mode_form_op 構造体のアドレスが入っています。 DK CD_ モード 操作で CD-ROM データ・モードを決定または変更するには、次のように設定します。action変更モード・フォーム 構造体のフィールドは、以下のいずれかの値になります。
CD-ROM が (モード選択密度コードによって) 異なるデータ・モード用に構成されていない場合に、CD-ROM データ・モードを (設定することによって) 変更しようとすると、actionの分野モード変更フォーム構造を設定CD_CHG_MODE )、サブルーチンは値を返します。-1そして、エラーグローバル変数をアインヴァル。 CD-ROMモードをDVDモードに変更しようとすると、戻り値は-1そしてそのエラーグローバル変数をアインヴァル。 もし、 DK_CD_モード操作CD_CHG_MODEデバイスが排他アクセスモードではないときに試行された場合、サブルーチンは値を返します。-1 errnoグローバル変数を次の値に設定します。アクセス。 この操作が失敗した場合、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。イーアイオー。 |
| DK PASSTHRU (DK パス RU) | 装置が正常にオープンされると、 DK PASSTHRU (DK パス RU) 操作は、指定された装置に SCSI コマンドを発行する手段を提供します。 この操作が失敗すると、デバイス・ドライバーは限定されたエラー・リカバリーを実行します。 DK PASSTHRU (DK パス RU) 操作は、 SC_診断の 内線 引数を指定した OpenX コマンドを必要としないという点で、 DKIOCMD (D) 操作とは異なります。 このため、他の操作によって使用されているデバイスに対して DK PASSTHRU (DK パス RU) 操作を発行することができます。 SCSI 状況バイトおよびアダプター状況バイトは、 arg パラメーターを介して戻されます。このパラメーターには、 sc_passthru 構造体 ( /usr/include/sys/scsi.h ファイルに定義されている) のアドレスが入っています。 もし、 DK_パススルー操作が失敗した場合、サブルーチンは値を返します-1 errno グローバル変数をゼロ以外の値に設定します。 これが発生した場合、呼び出し元は、戻された状況バイトを評価して、操作が失敗した理由と、実行する必要があるリカバリー・アクションを判別する必要があります。 |
| もしDK_パススルー操作は失敗しました。 sc_passthru構造体に無効な値がある場合、サブルーチンは値を返します。-1 errnoグローバル変数をアインヴァル。 EINVAL_ARG フィールドは、無効な値を持つフィールドのフィールド番号 (バージョン・フィールドの場合は 1 から始まる) に設定されます。 EINVAL_ARG フィールドの値が 0 の場合は、障害に関する追加情報が入手できないことを示します。 DK PASSTHRU (DK パス RU) 操作はさらに、要求を発行する前に他の入出力要求を静止する要求と、入出力要求を静止しない要求に分割されます。 これらのサブディビジョンは、 sc_passthru 構造の devflags フィールドに基づいています。 sc_passthru 構造の devflags フィールドの値が SC_MIX_IOの場合、 DK PASSTHRU (DK パス RU) 操作は他の入出力要求と混合されます。 装置にデータを書き込む SC_MIX_IO 要求は禁止されており、失敗します。 これが起こるとき-1が返され、errnoグローバル変数が次のように設定されます。アインヴァル。 sc_passthru 構造の devflags フィールドの値が SC_QUIESCE_IOの場合、他のすべての入出力要求は、装置に対して DK PASSTHRU (DK パス RU) 要求が発行される前に静止されます。 もしSC_QUIESCE_IOリクエストにはタイムアウト値フィールドを0に設定すると、 DK_パススルーリクエストは戻りコードで失敗します-1 errnoグローバル変数は次のように設定されます。アインヴァル、 そしてその無効な引数フィールドの値はSC_PASSTHRU_INV_TO (定義:/usr/include/sys/scsi.hファイル)。 もしSC_QUIESCE_IOリクエストのタイムアウト値が0以外で、デバイスに対して大きすぎる場合、 DK_パススルーリクエストは戻りコードで失敗します-1 errnoグローバル変数は次のように設定されます。アインヴァル、無効な引数フィールドの値はSC_PASSTHRU_INV_TO (定義:/usr/include/sys/scsi.hファイル)、およびタイムアウト値許容される最大値に設定されます。 |
|
sc_passthru 構造のバージョン・フィールドは SC_VERSION_2の値に設定でき、ユーザーは以下のフィールドを指定できます。
|
|
| デバイス情報 構造は、コマンドの最大転送サイズを定義します。 最大転送サイズを超えて転送しようとすると、サブルーチンは次の値を返します。-1 errnoグローバル変数を次の値に設定します。アインヴァルを設定し、無効な引数フィールドの値をSC_PASSTHRU_INV_D_LEN (定義:/usr/include/sys/scsi.hファイル)。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 |
|
| DKPRES_READKEYS (DKPRES_READKEY) | デバイスが正常に開かれると、 DKPRES_READKEYS (DKPRES_READKEY) 操作は、デバイス上の永続予約登録キーを読み取る手段を提供します。 DKPRES_READKEYS (DKPRES_READKEY) に対する 引数 パラメーターには、 dk_pres_in 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scdisk.hに定義されています。 ユーザーは、戻される登録済みキーのバッファー域とサイズを指定する必要があります。 戻りの長さ 変数は、戻されるバイト数を設定します。 共有アクセス環境またはクラスター環境では、この操作により、特定の LUN のすべての登録済みキーが識別されます。 注: DKPRES_READKEYS (DKPRES_READKEY) 操作および後続の永続予約関連操作の場合、戻り値と SCSI 状況の解釈は以下のようになります。
|
| DKPRES_READRES (DKPRES_READRES | 装置が正常にオープンされると、 DKPRES_READRES (DKPRES_READRES 操作は、装置上の永続予約キーを読み取る手段を提供します。 DKPRES_READKEYS (DKPRES_READKEY) に対する 引数 パラメーターには、 dk_pres_in 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scdisk.hに定義されています。 ユーザーは、戻される予約情報のバッファー域とサイズを指定する必要があります。 戻りの長さ 変数は、戻されるバイト数を設定します。 共有アクセス環境またはクラスター環境では、この操作により、予約を保持する 1 次イニシエーターが識別されます。 |
| DKPRES_CLEAR (D) | 装置が正常にオープンされると、 DKPRES_CLEAR (D) 操作は、装置上のすべての永続予約キーおよび登録キーをクリアする手段を提供します。 DKPRES_CLEAR (D) に対する 引数 パラメーターには、 dk_pres_clear 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scdisk.hに定義されています。 注意: 注意: DKPRES_CLEAR (D) 操作を発行する際には注意してください。 この操作により、装置は予約されないままになり、外部イニシエーターが装置にアクセスできるようになる可能性があります。
|
| 「DKPRES_PREEMPT」 | デバイスが正常に開かれると、 「DKPRES_PREEMPT」 操作は、デバイス上の永続予約キーまたは登録キーを優先使用する手段を提供します。 「DKPRES_PREEMPT」 に対する 引数 パラメーターには、 dk_pres_preempt 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scdisk.hに定義されています。 ユーザーは、優先使用されるデバイス上の第 2 パーティー・イニシエーター・キーを指定する必要があります。 第 2 当事者のイニシエーターがデバイスに対する予約を保持している場合、優先使用を発行したイニシエーターが予約の所有者になります。 それ以外の場合は、第 2 関係者のイニシエーター・アクセス権限が取り消されます。 この操作を成功させるには、最初にイニシエーターをデバイスに登録してから、優先使用を行う必要があります。 共用アクセス環境またはクラスター環境では、この操作は、作動可能または作動不能のイニシエーター、または共用グループの一部として認識されないイニシエーターを優先使用するために使用されます。 |
| DKPRES_PREEMPT_ABORT | この操作は 「DKPRES_PREEMPT」と同じですが、デバイスは、優先使用されたイニシエーターに属するタスクを中止する際に SCSI Primary Command Specification に従います。 |
| DKプレスレジスター | 装置が正常にオープンされると、 DKプレスレジスター 操作は鍵を装置に登録する手段を提供します。 キーは、 ODM Customize Attribute から抽出され、構成時にデバイス・ドライバーに渡されます。 DKプレスレジスター に対する 引数 パラメーターには、 dk_pres_register 構造体のアドレスが含まれます。 この構造体は、 /usr/include/sys/scdisk.hに定義されています。 共有アクセス環境またはクラスター環境では、この操作によりデバイスへの登録が試行され、その後、読み取り予約を使用してデバイスが予約されているかどうかが判別されます。 デバイスが予約されていない場合は、デバイスとともに予約が行われます。 |
| DK_RWBUFFER (D) | デバイスが正常にオープンされると、 DK_RWBUFFER (D) 操作は、指定されたデバイスに対して 1 つ以上の SCSI 書き込みバッファー・コマンドを発行する手段を提供します。 デバイス・ドライバーは、この操作の失敗時に完全なエラー・リカバリーを実行します。 DK_RWBUFFER (D) 操作は、 DKIOCMD (D) 操作とは異なり、装置の排他的オープンを必要としません (例えば、 SC_診断の 内線 引数を指定した OpenX )。 したがって、 DK_RWBUFFER (D) 操作は、他のユーザーが使用中の装置に対して発行することができます。 これは、 DK PASSTHRU (DK パス RU) Ioctl 操作で使用できます。この操作 ( DK_RWBUFFER (D)など) は、装置の排他的オープンを必要としません。 arg パラメーターには、 sc_rwbuffer 構造 ( /usr/include/sys/scsi.h ファイルに定義されている) のアドレスが入っています。 DK_RWBUFFER (D) ioctl を呼び出す前に、この構造体のフィールドを必要な動作に従って設定する必要があります。 モード フィールドは、 SCSI 基本コマンド (SPC) 仕様で定義されている SCSI コマンド記述子ブロック (CDB) の モード フィールドに対応します。 サポートされるモードは、ヘッダー・ファイル /usr/include/sys/scsi.hにリストされています。 デバイス・ドライバーは、操作全体が完了するまで、書き込みバッファー ioctl を発行するイニシエーターからの他のすべての入出力要求を静止します。 書き込みバッファー ioctl が完了すると、静止したすべての入出力要求が再開されます。 |
SCSI 状況バイトおよびアダプター状況バイトは、 arg パラメーターを介して戻されます。このパラメーターには、 sc_rwbuffer 構造 ( /usr/include/sys/scsi.h ファイルに定義されている) のアドレスが入っています。 もし、 DK_RWバッファ操作が失敗した場合、サブルーチンは値を返します-1そして、エラーグローバル変数をゼロ以外の値に設定します。 この場合、呼び出し側は、戻された状況バイトを評価して、操作が失敗した理由と取るべきリカバリー・アクションを判別する必要があります。 もしDK_RWバッファ操作は失敗しました。 sc_rwバッファ構造体に無効な値がある場合、サブルーチンは値を返します。-1そして、エラーグローバル変数にアインヴァル。 |
|
DK_RWBUFFER (D) ioctl を使用すると、ユーザーは、1 回の ioctl 呼び出しで複数の SCSI 書き込みバッファー・コマンド (CDB) をデバイスに発行できます。 マイクロコード・イメージ全体へのポインターをユーザーが提供するマイクロコード・ダウンロードなどのアプリケーションで役立ちますが、デバイス・バッファーのサイズ制限のため、ダウンロード全体が完了するまでイメージをフラグメントで送信する必要があります。 スクロール・バッファー 構造体の フラグメント・サイズ メンバーが データ長に等しい状態で DK_RWBUFFER (D) ioctl が呼び出されると、SCSI CDB の バッファー・オフセット および バッファー ID が スクロール・バッファー 構造体に指定された値に設定された単一の Write Buffer コマンドがデバイスに対して発行されます。 |
|
データ長 が フラグメント・サイズ より大きく、 フラグメント・サイズ がゼロ以外の値である場合は、複数の書き込みバッファーが装置に対して発行されます。 発行された書き込みバッファー・コマンド (SCSI CDB) の数は、 データ長 を必要な フラグメント・サイズで除算することによって計算されます。 この値は、 データ長 が フラグメント・サイズの偶数の倍数ではなく、最終的なデータ転送がこの残量のサイズである場合に 1 ずつ増分されます。 発行される Write Buffer コマンドごとに、 バッファー・オフセット は、 スクロール・バッファー 構造に指定されている値に設定されます (SCSD デバイスへのマイクロコード・ダウンロードでは、この値を 0 に設定する必要があります)。 |
|
| 最初に発行されるコマンドの場合、 バッファー ID は、 スクロール・バッファー 構造体に指定されている値に設定されます。 後続の Write Buffer コマンドが発行されるたびに、 バッファー ID は、すべてのフラグメントが送信されるまで 1 ずつ増分されます。 単一の DK_RWBUFFER (D) ioctl による不連続 バッファー IDへの書き込みはサポートされていません。 この機能が必要な場合は、呼び出しごとに バッファー ID を適切に設定して、複数の DK_RWBUFFER (D) ioctls を発行する必要があります。 注: ioctl 呼び出し間で静止される入出力要求はありません。
|
|
フラグメント・サイズ がゼロに設定されている場合、 エインヴァル の エラー番号 が返されます。 1 つの SCSI 書き込みバッファー・コマンドでバッファー全体を送信したい場合は、このフィールドを データ長に設定する必要があります。 フラグメント・サイズ が データ長より大きい場合も、 エインヴァル のエラーが返されます。 |
|
パラメーター・リストの長さ (フラグメント・サイズ) とバッファー・オフセットの合計が、装置の指定されたバッファーの容量を超えることはできません。 フラグメント・サイズ 設定がこの要件を満たしていることを確認するのは、Write Buffer ioctl の呼び出し側の責任です。 デバイスより大きい フラグメント・サイズ では、デバイスで SCSI エラーが発生する可能性があります。Write Buffer ioctl はこのエラーを報告しますが、リカバリーのためのアクションは行いません。 |
|
デバイス情報 構造は、コマンドの最大転送サイズを定義します。 最大転送サイズを超えて転送しようとすると、サブルーチンは次の値を返します。-1そして、エラーグローバル変数をアインヴァル。 特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。 |
|
| DKPATHIOCMD (D) | このコマンドは、MPIO 対応デバイスでのみ使用可能です。 DKPATHIOCMD (D) コマンドは、単一の scdisk_pathiocmd 構造体を指すポインター引数を入力として取ります。 DKPATHIOCMD (D) コマンドは、通常のパス選択ではなく入力パスが使用されることを除き、 DKIOCMD (D) コマンドとまったく同じように動作します。 DKPATHIOCMD (D) パスは、 DKPATHFORCE (D) ioctl コマンドによって指定されたパスに関係なく、 DKIOCMD (D) コマンドに使用されます。 強制されている間は、パスを構成解除することはできません。 |
| DKPATHFORCE (D) | このコマンドは、MPIO 対応デバイスでのみ使用可能です。 DKPATHFORCE (D) コマンドは、入力として ushort パス ID を受け取ります。 パス ID は、 CuPath ODM内のいずれかのパス ID に対応している必要があります。 パス ID は、後続のすべての入出力コマンドに使用されるパスを指定し、前の DKPATHFORCE (D) パスをオーバーライドします。 ゼロ引数は、パスの強制終了と通常の MPIO パス選択の再開を指定します。 DKPATHIOCMD (D) コマンドで送信された入出力コマンドは、 DKPATHFORCE (D) オプションをオーバーライドし、 scdisk_pathiocmd 構造で指定されたパスに入出力コマンドを送信します。 |
| _ 翻訳不要 _DKPATHRWBUFFER | このコマンドは、MPIO 対応デバイスでのみ使用可能です。 _ 翻訳不要 _DKPATHRWBUFFER コマンドは、単一の scdisk_pathiocmd 構造体を指すポインター引数を入力として取ります。 _ 翻訳不要 _DKPATHRWBUFFER コマンドは、通常のパス選択ではなく入力パスが使用されることを除き、 ドウォン・ BUFFER コマンドとまったく同じように動作します。 _ 翻訳不要 _DKPATHRWBUFFER パスは、 DKPATHFORCE (D) ioctl コマンドによって指定されたパスに関係なく、 ドウォン・ BUFFER コマンドに使用されます。 |
| DKPATHPASSTHRU | このコマンドは、MPIO 対応デバイスでのみ使用可能です。 DKPATHPASSTHRU コマンドは、単一の scdisk_pathiocmd 構造体を指すポインター引数を入力として取ります。 DKPATHPASSTHRU コマンドは、通常のパス選択ではなく入力パスが使用されることを除き、 DKPASSTHRU (D) コマンドとまったく同じように動作します。 DKPATHPASSTHRU パスは、 DKPATHFORCE (D) ioctl コマンドによって指定されたパスに関係なく、 DKPASSTHRU (D) コマンドに使用されます。 |
| DKPCMPASSTHRU (D) | このコマンドは、MPIO 対応デバイスでのみ使用可能です。 DKPCMPASSTHRUコマンドは、AIX®で定義されていないPCM固有の構造体を入力として受け取る。PCM固有の構造体はPCMに直接渡される。 この構造は、PCM との間で情報を移動するために使用できます。 |
装置要件
SCSI ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスクには、以下のハードウェア要件があります。
- SCSI ハード・ディスクおよび読み取り/書き込み光ディスクは、ブロック当たり 512 バイトのブロック・サイズをサポートする必要があります。
- モード・センスがサポートされている場合は、SCSI ハード・ディスクおよび読み取り/書き込み光ディスクに対して書き込み保護 (WP) ビットもサポートされている必要があります。
- SCSI ハード・ディスクおよび読み取り/書き込み光ディスクは、リカバリーされたエラーの要求センス・データのハードウェア再試行カウントをバイト 16 および 17 で報告する必要があります。 ハード・ディスクまたは読み取り/書き込み光ディスクがハード・ディスクをサポートしていない場合、システム・エラー・ログに、早期のドライブ障害が示されている可能性があります。
- SCSI CD-ROM および読み取り/書き込み光ディスク・ドライブは、10 バイトの SCSI 読み取りコマンドをサポートする必要があります。
- SCSI ハード・ディスクおよび読み取り/書き込み光ディスクは、SCSI 書き込みおよび検査コマンドと 6 バイトの SCSI 書き込みコマンドをサポートする必要があります。
- 読み取り/書き込み光メディアに対して フォーマット コマンド操作を使用するには、ドライブが、SCSI フォーマット・ユニット・コマンドの障害リスト・ヘッダーのフォーマット・オプション有効 (FOV) ビットを 0 に設定することをサポートしている必要があります。 ドライブがこれをサポートしていない場合、ユーザーは DKFORMAT (D) 操作を使用してメディアをフォーマットするようにドライブのアプリケーションを作成できます。
- SCSI CD-ROM ドライブが CD_ROM データ・モード 1を使用する場合、ブロック当たり 512 バイトのブロック・サイズをサポートする必要があります。
- SCSI CD-ROM ドライブが CD_ROM データ・モード 2 フォーム 1を使用する場合、ブロック当たり 2048 バイトのブロック・サイズをサポートする必要があります。
- SCSI CD-ROM ドライブが CD_ROM データ・モード 2 フォーム 2を使用する場合、ブロック当たり 2336 バイトのブロック・サイズをサポートする必要があります。
- SCSI CD-ROM ドライブが CD_DA (D) モードを使用する場合、ブロック当たり 2352 バイトのブロック・サイズをサポートする必要があります。
- DKAUDIO (D) (音声再生) 操作を使用してボリュームを制御するには、デバイスが SCSI-2 モード・データ・ページ 0xEをサポートしている必要があります。
- DKAUDIO (D) (音声再生) 操作を使用するには、デバイスが以下の SCSI-2 オプション・コマンドをサポートしている必要があります。
- サブチャネル読み取り
- 再開の休止
- 音声 MSF の再生
- 音声トラック索引の再生
- TOC の読み取り
エラー状態
ディスク デバイス・ドライバーを使用する場合の Ioctl、 オープン、 読み取り、および 書き込み サブルーチンの可能な エラー番号 値には、以下のものがあります。
| 項目 | 説明 |
|---|---|
| EACCES | 以下のいずれかの状況を示します。
|
| EBUSY | 以下のいずれかの状況を示します。
|
| EFAULT | 無効なユーザー・アドレスを示します。 |
| E フォーマット | ターゲット装置に、非フォーマットのメディアまたは非互換フォーマットのメディアがあることを示します。 |
| EINPROGRESS | CD-ROM ドライブで音声再生操作が進行中であることを示します。 |
| EINVAL | 以下のいずれかの状況を示します。
|
| EIO | 以下のいずれかの状況を示します。
|
| emedia | 以下のいずれかの状況を示します。
|
| EMFILE | 既に最大許容数のオープン・デバイスを持つアダプターに対して オープン 操作が試行されたことを示します。 |
| ENODEV | 以下のいずれかの状況を示します。
|
| ENOTREADY | ドライブにメディアがないことを示します。 |
| ENXIO | 以下のいずれかの状況を示します。
|
| EPERM | 試行されたサブルーチンには適切な権限が必要であることを示します。 |
| ESTALE | 読み取り専用光ディスクが (最初にユーザーによってクローズされずに) 排出されてから、2 番目の光ディスクに再挿入または置換されたことを示します。 |
| ETIMEDOUT | 入出力操作が指定されたタイマー値を超えたことを示します。 |
| エヴルプロテクト | 以下のいずれかの状況を示します。
|
信頼性と保守性の情報
SCSI ハード・ディスク、CD-ROM ドライブ、および読み取り/書き込み光ディスク・ドライブは、以下のエラーを戻します。
| 項目 | 説明 |
|---|---|
| 打ち切られたコマンド | 装置がコマンドを終了したことを示します。 |
| アダプター・エラー | アダプターがエラーを返したことを示します。 |
| 正常終了 | コマンドが正常に完了したことを示します。 |
| HARDWARE ERROR | コマンドの実行中または自己診断テスト中にリカバリー不能なハードウェア障害が発生したことを示します。 |
| 無許可の要求 | コマンドまたはコマンド・パラメーターが正しくないことを示します。 |
| メディア・エラー | コマンドがリカバリー不能メディア・エラー状態で終了したことを示します。 |
| 作動不能 | 論理装置がオフラインであるか、またはメディアが欠落していることを示します。 |
| リカバリーされたエラー | 何らかのリカバリーが適用された後、コマンドが正常に実行されたことを示します。 |
| ユニット・アテンション | 装置がリセットされているか、電源がオンになっていることを示します。 |
メディア・エラーのエラー・レコード値
ハード・ディスク・エラー、CD-ROM エラー、および読み取り/書き込み光メディア・エラーのエラー・レコード・テンプレートに定義されているフィールドは、以下のとおりです。
| 項目 | 説明 |
|---|---|
| Comment | ハード・ディスク、CD-ROM、または読み取り/書き込み光メディアのエラーを示します。 |
| Class | ハードウェア・エラーを示す H の値と等しい。 |
| Report | True の値に相当します。これは、エラー・レポートの生成時にこのエラーを含める必要があることを示します。 |
| Log | True の値に相当します。これは、このエラーが発生したときにエラー・ログ・エントリーを作成する必要があることを示します。 |
| Alert | False の値と等しい。これは、このエラーがアラート可能ではないことを示します。 |
| Err_Type | 永続的な障害を示す Perm の値と等しい。 |
| Err_Desc | 値 1312 に等しい。これは、ディスク操作の失敗を示します。 |
| Prob_Causes | メディアを示す 5000 の値に相当します。 |
| User_Causes | 値 5100 に相当します。これは、メディアに欠陥があることを示します。 |
| User_Actions | 以下の値に等しくなります。
|
| Inst_Causes | ありません。 |
| Inst_Actions | ありません。 |
| Fail_Causes | 以下の値に等しくなります。
|
| Fail_Actions | 以下の値に等しくなります。
|
| Detail_Data | 156、11、HEX の値に等しい。 この値は 16 進形式を示します。
|
特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。
ハードウェア・エラーのエラー・レコード値
ハード・ディスク・エラー、CD-ROM エラー、および読み取り/書き込み光ディスク・ハードウェア・エラー、ならびにハード打ち切りコマンド・エラーについて、エラー・レコード・テンプレートに定義されているフィールドは、以下のとおりです。
| 項目 | 説明 |
|---|---|
| Comment | ハード・ディスク、CD-ROM、または読み取り/書き込み光ディスクのハードウェア・エラーを示します。 |
| Class | ハードウェア・エラーを示す H の値と等しい。 |
| Report | True の値に相当します。これは、エラー・レポートの生成時にこのエラーを含める必要があることを示します。 |
| Log | True の値に相当します。これは、このエラーが発生したときにエラー・ログ・エントリーを作成する必要があることを示します。 |
| Alert | FALSE の値に等しい。これは、このエラーがアラート可能でないことを示します。 |
| Err_Type | 永続的な障害を示す Perm の値と等しい。 |
| Err_Desc | 値 1312 に等しい。これは、ディスク操作の失敗を示します。 |
| Prob_Causes | ディスク・ドライブを示す値 6310 に等しい。 |
| User_Causes | ありません。 |
| User_Actions | ありません。 |
| Inst_Causes | ありません。 |
| Inst_Actions | ありません。 |
| Fail_Causes | 以下の値に等しくなります。
|
| Fail_Actions | 0000 の値。これは、問題判別手順を実行する必要があることを示します。 |
| Detail_Data | 156、11、HEX の値に等しい。 この値は 16 進形式を示します。
|
特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。
アダプターのエラー・レコード値-検出されたハードウェア障害
ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク・メディア・エラー・アダプターが検出したハードウェア・エラーについて、エラー・レコード・テンプレートで定義されているフィールドは、以下のとおりです。
| 項目 | 説明 |
|---|---|
| Comment | アダプターが検出したハード・ディスク、CD-ROM、または読み取り/書き込み光ディスク・ハードウェアの障害を示します。 |
| Class | ハードウェア・エラーを示す H の値と等しい。 |
| Report | True の値に相当します。これは、エラー・レポートの生成時にこのエラーを含める必要があることを示します。 |
| Log | True の値に相当します。これは、このエラーが発生したときにエラー・ログ・エントリーを作成する必要があることを示します。 |
| Alert | FALSE の値に等しい。これは、このエラーがアラート可能でないことを示します。 |
| Err_Type | 永続的な障害を示す Perm の値と等しい。 |
| Err_Desc | 値 1312 に等しい。これは、ディスク操作の失敗を示します。 |
| Prob_Causes | 以下の値に等しくなります。
|
| User_Causes | ありません。 |
| User_Actions | ありません。 |
| Inst_Causes | ありません。 |
| Inst_Actions | ありません。 |
| Fail_Causes | 以下の値に等しくなります。
|
| Fail_Actions | 0000 の値。これは、問題判別手順を実行する必要があることを示します。 |
| Detail_Data | 156、11、HEX の値に等しい。 この値は 16 進形式を示します。
|
特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。
リカバリーされたエラーのエラー・レコード値
ハード・ディスク、CD-ROM、および読み取り/書き込み光ディスク・エラー・リカバリー・エラーのエラー・レコード・テンプレートに定義されているフィールドは、以下のとおりです。
| 項目 | 説明 |
|---|---|
| Comment | ハード・ディスク、CD-ROM、または読み取り/書き込み光ディスク・リカバリー・エラーを示します。 |
| Class | ハードウェア・エラーを示す H の値と等しい。 |
| Report | True の値に相当します。これは、エラー・レポートの生成時にこのエラーを含める必要があることを示します。 |
| Log | True の値に相当します。これは、このエラーが発生したときにエラー・ログ・エントリーを作成する必要があることを示します。 |
| Alert | FALSE の値に等しい。これは、このエラーがアラート可能でないことを示します。 |
| Err_Type | Temp の値と等しくなります。これは一時的な障害を示します。 |
| Err_Desc | 値 1312 に等しい。これは、物理ボリューム操作の失敗を示します。 |
| Prob_Causes | 以下の値に等しくなります。
|
| User_Causes | 値 5100 に等しい。これは、メディアに欠陥があることを示します。 |
| User_Actions | 以下の値に等しくなります。
|
| Inst_Causes | ありません。 |
| Inst_Actions | ありません。 |
| Fail_Causes | 以下の値に等しくなります。
|
| Fail_Actions | 以下の値に等しくなります。
|
| Detail_Data | 156、11、HEX の値に等しい。 この値は 16 進形式を示します。
|
特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。
不明なエラーのエラー・レコード値
ハード・ディスク・エラー、CD-ROM エラー、および光ディスク・メディア読み取り/書き込みエラーのエラー・レコード・テンプレートに定義されているフィールドは、以下のとおりです。
| 項目 | 説明 |
|---|---|
| Comment | ハード・ディスク、CD-ROM、または読み取り/書き込み光ディスクの不明な障害を示します。 |
| Class | ハードウェア・エラーを示す H の値と等しい。 |
| Report | True の値に相当します。これは、エラー・レポートの生成時にこのエラーを含める必要があることを示します。 |
| Log | True の値に相当します。これは、このエラーが発生したときにエラー・ログ・エントリーを作成する必要があることを示します。 |
| Alert | FALSE の値に等しい。これは、このエラーがアラート可能でないことを示します。 |
| Err_Type | Unkn の値に等しい。これは、エラーのタイプが不明であることを示します。 |
| Err_Desc | FE00の値に等しい。これは、判別できないエラーを示します。 |
| Prob_Causes | 以下の値に等しくなります。
|
| User_Causes | ありません。 |
| User_Actions | ありません。 |
| Inst_Causes | ありません。 |
| Inst_Actions | ありません。 |
| Fail_Causes | FFFF の値に等しくなります。これは、障害の原因が不明であることを示します。 |
| Fail_Actions | 以下の値に等しくなります。
|
| Detail_Data | 156、11、HEX の値に等しい。 この値は 16 進形式を示します。
|
特定の装置の要求センス・データの形式については、「 Small Computer System Interface (SCSI) 仕様 」を参照してください。
特殊ファイル
ディスク SCSI デバイス・ドライバーは、その機能を実行する際にロー・ファイルおよびブロック・スペシャル・ファイルを使用します。
ディスク デバイス・ドライバーによって使用される特殊ファイルには、以下のものが含まれます (デバイスのタイプ別にリストされています)。
- ハード・ディスク装置:
項目 説明 /dev/rhdisk0、 /dev/rhdisk1、...、 /dev/rhdiskn SCSI ハード・ディスクへの SCSI デバイス・ドライバー文字アクセス (ロー入出力アクセスおよび制御機能) を可能にするインターフェースを提供します。 /dev/hdisk0、 /dev/hdisk1、...、 /dev/hdiskn SCSI デバイス・ドライバーが SCSI ハード・ディスクへの入出力アクセスをブロックできるようにするインターフェースを提供します。 - CD-ROM 装置:
項目 説明 /dev/rcd0、 /dev/rcd1、...、 /dev/rcdn SCSI CD-ROM ディスクへの SCSI デバイス・ドライバー文字アクセス (ロー I/O アクセスおよび制御機能) を可能にするインターフェースを提供します。 /dev/cd0、 /dev/cd1、...、 /dev/cdn SCSI デバイス・ドライバーが SCSI CD-ROM ディスクへの入出力アクセスをブロックできるようにするインターフェースを提供します。 - 読み取り/書き込み光ディスク装置:
項目 説明 /dev/romd0、 /dev/romd1、...、 /dev/romdn SCSI デバイス・ドライバーの文字アクセス (ロー I/O アクセスおよび制御機能) を SCSI 読み取り/書き込み光ディスク装置に対して許可するインターフェースを提供します。 /dev/omd0、 /dev/omd1、...、 /dev/omdn SCSI デバイス・ドライバーが SCSI 読み取り/書き込み光ディスク装置への入出力アクセスをブロックできるようにするインターフェースを提供します。 注: 特殊ファイル名の接頭部 R は、ドライブがブロック・デバイスではなくロー・デバイスとしてアクセスされることを示します。 ハード・ディスク、CD-ROM、または読み取り/書き込み光ディスクを使用してロー入出力を実行するには、すべてのデータ転送が装置ブロック・サイズの倍数でなければなりません。 ロー・デバイス・ドライバーに対して作成されるすべての シーク サブルーチンの結果は、装置ブロック・サイズの倍数であるファイル・ポインター値でなければなりません。