SUNWcsu
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
where number is an ASCII representation of a decimal number. Unsuccessful commands are responded to with
where 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(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.
Do not use this for a remote file access protocol.