rmt(ADMN)
rmt --
remote magtape protocol module
Syntax
/etc/rmt
Description
rmt is a program that provides support for
manipulating a magnetic tape drive through an interprocess
communication connection. rmt is normally
started up with an
rexec(SLIB)
or
rcmd(SLIB)
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:
A number\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(SSC)
and error-message is the corresponding error
string as printed from a call to
perror(S).
The protocol is comprised of 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:
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(S).
If a device had already been opened, it is closed before a
new open is performed.
Cdevice\n-
Close the currently open device. The device
specified is ignored.
Lwhence\noffset\n-
Perform an
lseek(S)
operation using the specified parameters.
The response value is that returned from the
lseek
call.
Wcount\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(S)
call.
Rcount\n-
Read count bytes of data from the open device.
If count exceeds the size of the data buffer
(10Kb), it is truncated to the data buffer size.
rmt then performs the requested
read(S)
and responds with
A
count-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.
Ioperation\ncount\n-
Perform an
ioctl(S)
command using the specified parameters. The parameters are
interpreted as the ASCII representations of the
decimal values to place in the operation and
count fields of the structure used in the
ioctl 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
device-specific 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).
Any other command causes rmt to exit.
Diagnostics
All responses are of the form described above.
Limitations
Due to limitations in the underlying tape drivers, not all ioctl and status
operations are currently supported.
See also
rcmd(SLIB),
rexec(SLIB)
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003