RMT(8)

RMT(8) | System Manager's Manual | RMT(8)

# NAME

`rmt` — remote magtape protocol module

# SYNOPSIS

`rmt` |

# DESCRIPTION

`rmt` is a program used by the remote dump and restore programs in manipulating a magnetic tape drive through an interprocess communication connection. `rmt` is normally started up with an rexec(3) or rcmd(3) call.

The `rmt` program accepts requests specific to the manipulation of magnetic tapes, performs the commands, then responds with a status indication. All responses are in ASCII and in one of two forms. Successful commands have responses of:

Anumber\n

Number is an ASCII representation of a decimal number. Unsuccessful commands are responded to with:

E error-number\nerror-message\n

Error-number is one of the possible error numbers described in intro(2) and error-message is the corresponding error string as printed from a call to perror(3). The protocol comprises the following commands, which are sent as indicated - no spaces are supplied between the command and its arguments, or between its arguments, and ‘`\n`’ indicates that a newline should be supplied:

O device\nmode\n
  Open the specified device using the indicated mode. Device is a full pathname and mode is an ASCII representation of a decimal number suitable for passing to open(2). If a device had already been opened, it is closed before a new open is performed.
C device\n
  Close the currently open device. The device specified is ignored.
L offset\nwhence\n
  Perform an lseek(2) operation using the specified parameters. The response value is that returned from the lseek(2) call.
W count\n
  Write data onto the open device. `rmt` reads count bytes from the connection, aborting if a premature end-of-file is encountered. The response value is that returned from the write(2) call.
R count\n
  Read count bytes of data from the open device. If count exceeds the size of the data buffer (10 kilobytes), it is truncated to the data buffer size. `rmt` then performs the requested read(2) and responds with Acount-read\n if the read was successful; otherwise an error in the standard format is returned. If the read was successful, the data read is then sent.
I operation\ncount\n
  Perform a `MTIOCOP` ioctl(2) command using the specified parameters. The parameters are interpreted as the ASCII representations of the decimal values to place in the mt_op and mt_count fields of the structure used in the ioctl(2) call. The return value is the count parameter when the operation is successful.
S
  Return the status of the open device, as obtained with a `MTIOCGET` ioctl(2) call. If the operation was successful, an ``ack'' is sent with the size of the status buffer, then the status buffer is sent (in binary).

Any other command causes `rmt` to exit.

# DIAGNOSTICS

All responses are of the form described above.

# SEE ALSO

rcmd(3), rexec(3), mtio(4), rdump(8), rrestore(8)

# HISTORY

The `rmt` command appeared in 4.2BSD.

# BUGS

People should be discouraged from using this for a remote file access protocol.

June 1, 1994 | NetBSD 11.0