command.jp 5.97 KB
TMessage4dd にセットするメッセ−ジコマンド一覧

    コマンド LEOCMD_GETID

     パラメータ
        param.hi : LEODiskID へのポインタ
        param.lo : メディア確認フラグ

     説明  

        ディスクの挿入確認を行います。

        ディスクが挿入されていなければ挿入されるまで dd_getStatus()->mode 
        に DDSTAT_DIALOGUE ビットが立ちますので、アプリケーション側で
        適切なメッセ−ジを表示してください。詳しくは64DDプログラミング
        マニュアル10章「10.1.6 エラーメッセ−ジの描画」を見てください。
                        
        param.lo が 0 の時は、カレントのディスクIDと一致するメディア
        を確認するまで処理を続け、その後カレントディスクIDを返します。
        最初のカレントディスクIDはブート時、もしくは最初に挿されたディ
        スクIDです。dd_saveID() を使用してカレントIDを変更すること
        が出来ます。

        param.lo が 1 の時は、メディアが交換されたかどうかに関係なく、
        現在挿入されているディスクIDを返します。ディスクを交換させた
        いときはこのフラグを0にして新しいディスクのIDを取得します。
        続いてIDをチェックし、問題なければ dd_saveID() を使用してこ
        のIDを新しいカレントのIDとしてセットします。

        param.hi が NULLでなければ param.hi の差すアドレスにディスクI
        Dの値が入ります。


    コマンド LEOCMD_LBAREAD

     パラメータ
       param.hi : 読み取り開始LBA
        param.lo : 読み取りブロック数
        param.rw : バッファアドレス(should be aligned by 16)

      返り値
        param.rw : バッファアドレス(aligned by 16)
        retVal : 読み取ったデータサイズ (byte)

     説明 
        param.hi で表されるLBAから param.lo 個のブロック を バッ
        ファに読み込みます。バッファが16バイトアライメントされていな
        い場合param.rwの値が変更される可能性があります。(関数内部で自
        動補正するため)コマンド実行に失敗すると retVal に0が入ります。

        バッファアドレスに NULL を指定するとデフォルトの内部バッファを使用します。
        param.rwにはデフォルトバッファのアドレスがセットされます。
        デフォルトバッファのサイズは READWRITE_BYTESIZE です。
        これ以上の大きさを指定するとディスクスレッドは
        errno=LEO_ERROR_BUFFER_OVERFLOW として異常終了します。

        バッファを指定したときはサイズのチェックはおこないません。
        
    コマンド LEOCMD_BYTEREAD

     パラメータ
       param.hi : 読み取り 開始 位置(ディスク先頭からのオフセット)
        param.lo : 読み取り バイト数
        param.rw : バッファアドレス (should be aligned by 16)

      返り値
        param.rw   : バッファアドレス(aligned by 16)
        param.offs : 指定データが読み込まれたバッファ位置までのオフセット
        retVal     : 実際に読み込んだデータサイズ (byte) ( >= param.lo )

     説明
        param.hi 表される位置から param.lo バイトを param.rw で指定し
        たバッファに読み込みます。param.hi, param.lo を バイト数として
        扱う以外は LEOCMD_LBAREADと同じです。 必要なバッファのサイズは
        指定したバイトサイズより最大約2ブロック分大きくなります。指定
        したデータは param.rw + param.offs から格納されている点に注意
        してください。


    コマンド LEOCMD_LBAWRITE

     パラメータ
       param.hi : 書きこみ開始LBA
        param.lo : 書きこみブロック数
        param.rw : バッファアドレス (should be aligned by 16)

      返り値
        param.rw   : バッファアドレス(aligned by 16)
        retVal     : 書きこんだデータサイズ (byte)

     説明  
        param.rwで指定したバッファ から param.lo 個のブロックを 
        param.hi で指定されるLBAに書きこみます。
        必要なバッファのサイズは指定したサイズより最大1ブロック分大きくなります。

        バッファは16バイトアライメントされている必要があります。


    コマンド LEOCMD_BYTEWRITE
        
        実装していません。

  
    コマンド LEOCMD_ACTIVE LEOCMD_STANDBY LEOCMD_SLEEP LEOCMD_BRAKE

        パラメータ なし

     説明
        LeoSpdlMotor をそれぞれのモードで実行します。 詳しくは
        64DDプログラミングマニュアル7章の LeoSpdlMotor の説明を見てく
        ださい。


    コマンド LEOCMD_EJECT
        
     パラメータ なし
        
     説明
        ディスクのイジェクト操作を行います。
        イジェクトが確認されるまで dd_getStatus()->mode に 
        DDSTAT_DIALOGUE ビットが立ちますので、アプリケーション側で
        適切なメッセ−ジを表示してください。詳しくは64DDプログラミング
        マニュアル10章「10.1.6 エラーメッセ−ジの描画」を見てください。


    コマンド LEOCMD_GETRTC
        
     返り値
      param  (8byte)

     説明
        &param から sizeof(LEODiskTime) の領域をバッファとして
        LEODiskTime の値を格納します。
        &paramを LEODiskTime * にキャストして値を取得します。            


    コマンド LEOCMD_SETRTC
        
     パラメータ
        param (8byte)  LEODiskTime の値
        
     説明
        指定した LEODiskTime の値を RTC にセットします。


    コマンド LEOCMD_SEEK

     パラメータ 
      param.hi = 移動先LBA

     説明
      読み取りヘッダを移動させます。詳しくは64DDプログラミングマニュ
        アル7章の LeoSeek の説明を見てください。


    コマンド LEOCMD_REZERO

     パラメータ 
        なし

     説明
        リゼロを実行します。詳しくは64DDプログラミングマニュアル7章の 
        LeoRezero の説明を見てください。


    コマンド LEOCMD_TESTUNIT

     パラメータ 
        なし

     返り値
        retval = LEOStatus の値 | 0x100         

     説明
        64DDの状態を調べます。詳しくは64DDプログラミングマニュアル7章
        の LeoTestUnitReady の説明を見てください。実行に失敗すると
        retvalには0が入ります。

    コマンド LEOCMD_SETMOTORTIME

     パラメータ 
        param.hi  : Active -> Standby への移行時間  
        param.lo  : Standby -> Sleep への移行時間 

     説明
        詳しくは64DDプログラミングマニュアル7章の LeoModeSelectAsync 
        の説明を見てください。


    コマンド LEOCMD_INITIALIZE

     説明
        dd_create() を呼び出したとき内部でこのコマンドを発行します。
        アプリケーションからは使用しないでください。    




・retValの説明がないものは成功時が -1 実行失敗時は 0 を返します。