rmt - remote magtape protocol module
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(3SOCKET) or rcmd(3SOCKET) call.
The rmt program accepts requests that are 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
where number is an ASCII representation of
a decimal number.
Unsuccessful commands are responded to with:
Eerror-number\nerror-message\n
where
error-number is one of the possible error
numbers described in
Intro(3), and
error-message is the
corresponding error string as printed from a call to
perror(3C).
The protocol consists of the following commands:
S\n
Return the status of the open device, as obtained with a
MTIOCGET ioctl 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).
Cdevice\n
Close the currently open device. The device
specified is ignored.
Ioperation\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 call. When
the operation is successful the return value is the
count
parameter.
Loffset\nwhence\n
Perform an
lseek(2) operation using the specified
parameters. The response value is returned from the
lseek call.
Odevice\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(9E). If a device is already open, it is closed before a new open
is performed.
Rcount\n
Read
count bytes of data from the open device.
rmt performs the requested
read(9E) and responds with
Acount-read\n if the read was successful; otherwise an error in
standard format is returned. If the read was successful, the data read is
sent.
Wcount\n
Write data onto the open device.
rmt reads
count bytes from the connection, aborting if a premature
EOF is
encountered. The response value is returned from the
write(9E)
call.
Any other command causes rmt to exit.
ioctl(2), lseek(2), Intro(3),
perror(3C), rcmd(3SOCKET), rexec(3SOCKET),
mtio(4I), attributes(7), ufsdump(8),
ufsrestore(8), open(9E), read(9E), write(9E)
All responses are of the form described above.
Do not use this for a remote file access protocol.