Copyright 2013, 2018 Free Software Foundation, Inc.
GNU tar is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
GNU tar is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
The calling program communicates with rmt by sending requests on its standard input and reading replies from the standard output. A request consists of a request letter followed by an argument (if required) and a newline character. Additional data, if any, are sent after the newline. On success, rmt returns
A number \en
where number is an ASCII representation of a decimal return code. Additional data are returned after this line. On error, the following response is returned:
E errno \en error-message \en
where errno is one of the system error codes, as described in errno (3), and error-message is a one-line human-readable description of the error, as printed by perror (3).
Available commands and possible responses are discussed in detail in the subsequent section.
O device \en flags \en Opens the device with given flags. If a device had already been opened, it is closed before opening the new one. Arguments
device The name of the device to open.
flags Flags for open (2): a decimal number, or any valid O_* constant from fcntl.h (the initial O_ may be omitted), or a bitwise or (using |) of any number of these, e.g.: .EX 576 64|512 CREAT|TRUNC
In addition, a combined form is also allowed, i.e. a decimal mode followed by its symbolic representation. In this case the symbolic representation is given preference.
A0\en on success.
BSD version allows only decimal number as flags.
C[device]\en Close the currently open device.
Arguments
Any arguments are silently ignored.
Reply
A0\en on success.
L whence \en offset \en
Performs an lseek (2) on the currently open device with the specified parameters.
Arguments
whence Where to measure offset from. Valid values are:
0, SET, SEEK_SET seek from the file beginning 1, CUR, SEEK_CUR seek from the current location 2, END, SEEK_END seek from the file end
Reply
A offset \en on success. The offset is the new offset in file.
Extensions BSD version allows only 0,1,2 as whence.
R count \en
Read count bytes of data from the current device.
Arguments
count number of bytes to read.
Reply
On success: A rdcount \en followed by rdcount bytes of data read from the device.
W count \en Writes data onto the current device. The command is followed by count bytes of input data.
Arguments
count Number of bytes to write.
Reply
On success: Awrcount\en, where wrcount is the number of bytes actually written.
I opcode \en count \en Perform a MTIOCOP ioctl (2) command with the specified paramedters.
Arguments
opcode MTIOCOP operation code.
count mt_count.
Reply
On success: A0\en.
S\en Returns the status of the currently open device, as obtained from a MTIOCGET ioctl (2) call.
Arguments
None
Reply
On success: Acount\en followed by count bytes of data.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Local variables:
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: ".TH [A-Z_][A-Z0-9_.\-]* [0-9] \""
time-stamp-format: "%:B %:d, %:y"
time-stamp-end: "\""
time-stamp-line-limit: 20
end: