Correct BSD License clause numbering from 1-2-4 to 1-2-3.
[dragonfly.git] / usr.sbin / rmt / rmt.8
1 .\" Copyright (c) 1983, 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\"     @(#)rmt.8       8.3 (Berkeley) 6/1/94
29 .\" $FreeBSD: src/usr.sbin/rmt/rmt.8,v 1.5.2.5 2003/03/11 22:31:32 trhodes Exp $
30 .\" $DragonFly: src/usr.sbin/rmt/rmt.8,v 1.5 2007/11/23 23:03:57 swildner Exp $
31 .\"
32 .Dd June 1, 1994
33 .Dt RMT 8
34 .Os
35 .Sh NAME
36 .Nm rmt
37 .Nd remote magtape protocol module
38 .Sh SYNOPSIS
39 .Nm
40 .Sh DESCRIPTION
41 The
42 .Nm
43 utility is used by the remote dump and restore programs
44 in manipulating a magnetic tape drive through an interprocess
45 communication connection.  It is normally started up with an
46 .Xr rcmd 3
47 call.
48 .Pp
49 The
50 .Nm
51 utility accepts requests specific to the manipulation of
52 magnetic tapes, performs the commands, then responds with
53 a status indication.  All responses are in
54 .Tn ASCII
55 and in
56 one of two forms.
57 Successful commands have responses of:
58 .Bd -ragged -offset indent
59 .Sm off
60 .Sy A Ar number No \en
61 .Sm on
62 .Ed
63 .Pp
64 .Ar Number
65 is an
66 .Tn ASCII
67 representation of a decimal number.
68 Unsuccessful commands are responded to with:
69 .Bd -ragged -offset indent
70 .Sm off
71 .Xo Sy E Ar error-number
72 .No \en Ar error-message
73 .No \en
74 .Xc
75 .Sm on
76 .Ed
77 .Pp
78 .Ar Error-number
79 is one of the possible error
80 numbers described in
81 .Xr intro 2
82 and
83 .Ar error-message
84 is the corresponding error string as printed
85 from a call to
86 .Xr perror 3 .
87 The protocol is comprised of the
88 following commands, which are sent as indicated - no spaces are supplied
89 between the command and its arguments, or between its arguments, and
90 .Ql \en
91 indicates that a newline should be supplied:
92 .Bl -tag -width Ds
93 .Sm off
94 .It Xo Sy \&O Ar device
95 .No \en Ar mode No \en
96 .Xc
97 .Sm on
98 Open the specified
99 .Ar device
100 using the indicated
101 .Ar mode .
102 .Ar Device
103 is a full pathname and
104 .Ar mode
105 is an
106 .Tn ASCII
107 representation of a decimal
108 number suitable for passing to
109 .Xr open 2 .
110 If a device had already been opened, it is
111 closed before a new open is performed.
112 .Sm off
113 .It Xo Sy C Ar device No \en
114 .Xc
115 .Sm on
116 Close the currently open device.  The
117 .Ar device
118 specified is ignored.
119 .Sm off
120 .It Xo Sy L
121 .Ar whence No \en
122 .Ar offset No \en
123 .Xc
124 .Sm on
125 Perform an
126 .Xr lseek 2
127 operation using the specified parameters.
128 The response value is that returned from the
129 .Xr lseek 2
130 call.
131 .Sm off
132 .It Sy W Ar count No \en
133 .Sm on
134 Write data onto the open device.
135 The
136 .Nm
137 utility reads
138 .Ar count
139 bytes from the connection, aborting if
140 a premature end-of-file is encountered.
141 The response value is that returned from
142 the
143 .Xr write 2
144 call.
145 .Sm off
146 .It Sy R Ar count No \en
147 .Sm on
148 Read
149 .Ar count
150 bytes of data from the open device.
151 If
152 .Ar count
153 exceeds the size of the data buffer (10 kilobytes), it is
154 truncated to the data buffer size.
155 The
156 .Nm
157 utility then performs the requested
158 .Xr read 2
159 and responds with
160 .Sm off
161 .Sy A Ar count-read No \en
162 .Sm on
163 if the read was
164 successful; otherwise an error in the
165 standard format is returned.  If the read
166 was successful, the data read is then sent.
167 .Sm off
168 .It Xo Sy I Ar operation
169 .No \en Ar count No \en
170 .Xc
171 .Sm on
172 Perform a
173 .Dv MTIOCTOP
174 .Xr ioctl 2
175 command using the specified parameters.
176 The parameters are interpreted as the
177 .Tn ASCII
178 representations of the decimal values
179 to place in the
180 .Ar mt_op
181 and
182 .Ar mt_count
183 fields of the structure used in the
184 .Xr ioctl 2
185 call.  The return value is the
186 .Ar count
187 parameter when the operation is successful.
188 .It Sy S
189 Return the status of the open device, as
190 obtained with a
191 .Dv MTIOCGET
192 .Xr ioctl 2
193 call.  If the operation was successful,
194 an ``ack'' is sent with the size of the
195 status buffer, then the status buffer is
196 sent (in binary).
197 .El
198 .Pp
199 Any other command causes
200 .Nm
201 to exit.
202 .Sh DIAGNOSTICS
203 All responses are of the form described above.
204 .Sh SEE ALSO
205 .Xr rcmd 3 ,
206 .Xr mtio 4 ,
207 .Xr rdump 8 ,
208 .Xr rrestore 8
209 .Sh HISTORY
210 The
211 .Nm
212 utility appeared in
213 .Bx 4.2 .
214 .Sh BUGS
215 People should be discouraged from using this for a remote
216 file access protocol.