RMT(8C) — NEWS-OS Programmer’s Manual
名称
rmt − リモート磁気テーププロトコルモジュール
形式
/etc/rmt
解説
rmt は、インタープロセス通信接続を介しての 磁気テープドライブの操作で、 リモートダンプおよび復元プログラムによって 使用されるプログラムです。 rmt は、通常、 rexec(3X) または rcmd(3X) 呼出しを用いて始動されます。
rmt プログラムは、磁気テープの操作に固有の要求を受け付け、 コマンドを実行し、そしてステータスを示して応答します。 すべての応答は ASCII で、2つの形式のうちのどちらかになっています。 成功したコマンドの応答は、次のようになります。
Anumber\n
ここで、 number は 10進数の ASCII 表現です。 失敗したコマンドの応答は、次の形式になります。
Eerror-number\nerror-message\n
ここで、 error-number は intro(2) で述べられているエラー番号のうちの 1つで、 error-message は perror(3) に対する呼出しで表示されるような、 対応するエラー文字列です。 プロトコルは、次のコマンド (各トークンはスペースで区切られる)で成立しています。
O device mode mode を使用して、指定された device をオープンします。 device はフルパス名であり、 modeは、 open(2) へ渡すのに適した 10進数の ASCII 表現です。 デバイスが既にオープンされている場合には、 新たにオープンされる前に 1度クローズされます。
C device 現在オープンされているデバイスをクローズします。指定される device は無視されます。
L whence offset 指定されたパラメーターを使用して lseek(2) オペレーションを遂行します。応答値は、 lseek 呼出しから返される応答値です。
W count オプーンされているデバイスにデータを書き込みます。 rmt は、接続から count バイトを読み取り、途中に end-of-file がある場合は、 そこで中断します。応答値は、 write(2) 呼出しから返される応答値です。
R count オープンされているデバイスから count バイトのデータを読み取ります。 count がデータバッファのサイズ(10Kバイト)を超えている場合には、 データバッファサイズで打ち切られます。 rmt は、要求された read(2) を実行し、読取りが成功した場合は Acount-read\n で応答します。 そうでない場合は標準フォーマットでエラーが返されます。 読取りが成功した場合には、読み取られたデータが送出されます。
I operation count 指定されたパラメーターを使用して MTIOCOP の ioctl(2) コマンドを実行します。 パラメータは、 ioctl 呼出しで使用される構造体の mt_op および mt_count フィールドに入れられる 10進値の ASCII表現として解釈されます。 オペレーションが成功したときのリターン値は count パラメータです。
S オープンされているデバイスのステータスを、MTIOCGET の ioctl 呼出しで得られるように返します。 オペレーションが成功した場合には、 ステータスバッファのサイズと共に “ack”が送られたのち、 ステータスバッファが (バイナリーで)送られます。
上記以外のコマンドは rmt を終了させます。
診断
すべての応答は、前述の形式になります。
関連事項
rcmd(3X), rexec(3X), mtio(4), rdump(8), rrestore(8C)
バグ
リモートファイルアクセスプロトコルの代わりに rmt を使用することはできません。
NEWS-OSRelease 4.1C