Expand PMF_FN_* macros.
[netbsd-mini2440.git] / bin / chio / chio.1
blobb35ccaf1207e6d80813983683c09ba9e4cb3023b
1 .\"     $NetBSD: chio.1,v 1.14 2002/09/25 15:18:37 wiz Exp $
2 .\"
3 .\" Copyright (c) 1996, 1998, 1999 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
8 .\" NASA Ames Research Center.
9 .\"
10 .\" Redistribution and use in source and binary forms, with or without
11 .\" modification, are permitted provided that the following conditions
12 .\" are met:
13 .\" 1. Redistributions of source code must retain the above copyright
14 .\"    notice, this list of conditions and the following disclaimer.
15 .\" 2. Redistributions in binary form must reproduce the above copyright
16 .\"    notice, this list of conditions and the following disclaimer in the
17 .\"    documentation and/or other materials provided with the distribution.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
30 .\"
31 .Dd September 8, 1999
32 .Dt CHIO 1
33 .Os
34 .Sh NAME
35 .Nm chio
36 .Nd medium changer control utility
37 .Sh SYNOPSIS
38 .Nm
39 .Op Fl f Ar changer
40 .Ar command
41 .Ar arg1
42 .Ar arg2
43 .Oo
44 .Ar arg3 Oo ...
45 .Oc
46 .Oc
47 .Sh DESCRIPTION
48 .Nm
49 is used to control the operation of medium changers, such as those found
50 in tape and optical disk jukeboxes.
51 .Pp
52 The options are as follows:
53 .Bl -tag -width indent
54 .It Fl f Ar changer
55 Use the device
56 .Pa changer
57 rather than the default device
58 .Pa /dev/ch0 .
59 .El
60 .Pp
61 The default changer may be overridden by setting the environment variable
62 .Ev CHANGER
63 to the desired changer device.
64 .Pp
65 A medium changer apparatus is made up of
66 .Pa elements .
67 There are four element types:
68 .Pa picker
69 (medium transport),
70 .Pa slot
71 (storage),
72 .Pa portal
73 (import/export), and
74 .Pa drive
75 (data transfer).
76 In this command description, the shorthand
77 .Ic ET
78 will be used to represent an element type, and
79 .Ic EU
80 will be used to represent an element unit.
81 For example, to represent
82 the first robotic arm in the changer, the ET would be
83 .Dq picker
84 and the EU would be
85 .Dq 0 .
86 .Sh SUPPORTED COMMANDS
87 .Nm
88 .Ic move
89 .Ar \*[Lt]from ET\*[Gt] \*[Lt]from EU\*[Gt] \*[Lt]to ET\*[Gt] \*[Lt]to EU\*[Gt]
90 .Op Ar inv
91 .Pp
92 Moves the media unit from
93 .Pa \*[Lt]from ET/EU\*[Gt]
95 .Pa \*[Lt]to ET/EU\*[Gt] .
96 If the optional modifier
97 .Pa inv
98 is specified, the media unit will be inverted before insertion.
99 .Pp
101 .Ic exchange
102 .Ar \*[Lt]src ET\*[Gt] \*[Lt]src EU\*[Gt] \*[Lt]dst1 ET\*[Gt] \*[Lt]dst1 EU\*[Gt]
103 .Op Ar \*[Lt]dst2 ET\*[Gt] \*[Lt]dst2 ET\*[Gt]
104 .Op Ar inv1
105 .Op Ar inv2
107 Performs a media unit exchange operation.
108 The media unit in
109 .Pa \*[Lt]src ET/EU\*[Gt]
110 is moved to
111 .Pa \*[Lt]dst1 ET/EU\*[Gt]
112 and the media unit previously in
113 .Pa \*[Lt]dst1 ET/EU\*[Gt]
114 is moved to
115 .Pa \*[Lt]dst2 ET/EU\*[Gt] .
116 In the case of a simple exchange,
117 .Pa \*[Lt]dst2 ET/EU\*[Gt]
118 is omitted and the values
119 .Pa \*[Lt]src ET/EU\*[Gt]
120 are used in their place.
121 The optional modifiers
122 .Pa inv1
124 .Pa inv2
125 specify whether the media units are to be inverted before insertion into
126 .Pa \*[Lt]dst1 ET/EU\*[Gt]
128 .Pa \*[Lt]dst2 ET/EU\*[Gt]
129 respectively.
131 Note that not all medium changers support the
132 .Ic exchange
133 operation; The changer must have multiple free pickers or emulate
134 multiple free pickers with transient storage.
137 .Ic position
138 .Ar \*[Lt]to ET\*[Gt] \*[Lt]to EU\*[Gt]
139 .Op Ar inv
141 Position the picker in front of the element described by
142 .Pa \*[Lt]to ET/EU\*[Gt] .
143 If the optional modifier
144 .Pa inv
145 is specified, the media unit will be inverted before insertion.
147 Note that not all changers behave as expected when issued this command.
150 .Ic params
152 Report the number of slots, drives, pickers, and portals in the changer,
153 and which picker unit the changer is currently configured to use.
156 .Ic getpicker
158 Report which picker unit the changer is currently configured to use.
161 .Ic setpicker
162 .Ar \*[Lt]unit\*[Gt]
164 Configure the changer to use picker
165 .Pa \*[Lt]unit\*[Gt] .
168 .Ic status
169 .Oo Ar \*[Lt]type\*[Gt] Oo unit Oo count Oc Oc Oc
170 .Op Ar voltags
172 Report the status of all elements in the changer.
174 .Pa \*[Lt]type\*[Gt]
175 is specified, report the status of all elements of type
176 .Pa \*[Lt]type\*[Gt] .
178 The status bits are defined as follows:
179 .Bl -tag -width indent
180 .It Nm FULL
181 Element contains a media unit.
182 .It Nm IMPEXP
183 Media was deposited into element by an outside human operator.
184 .It Nm EXCEPT
185 Element is in an abnormal state.
186 .It Nm ACCESS
187 Media in this element is accessible by a picker.
188 .It Nm EXENAB
189 Element supports passing media (exporting) to an outside human operator.
190 .It Nm INENAB
191 Element supports receiving media (importing) from an outside human operator.
194 If the element is a drive, the device name of the drive will be reported
195 if it is available.
197 If the
198 .Op Ar voltags
199 option is specified, primary and alternate volume tag information will
200 be reported, if available.
202 If the previous location of the media is available, it will also be reported.
205 .Ic ielem
207 Perform an
208 .Em INITIALIZE ELEMENT STATUS
209 operation on the changer.
212 .Ic cdlu
213 .Ar \*[Lt]sub-command\*[Gt]
214 .Ar \*[Lt]slot\*[Gt]
216 This command is provided for controlling CD-ROM changer mechanisms which
217 cannot use the standard changer control interface.
218 ATAPI CD-ROM changers fall into this category.
219 There are 3 sub-commands:
220 .Bl -tag -width indent
221 .It Nm load
222 Loads the media from the specified slot into the CD-ROM drive.
223 .It Nm unload
224 Unloads the media from the CD-ROM drive and returns it to the specified slot.
225 .It Nm abort
226 Aborts any pending load or unload operation.
228 .Sh FILES
229 /dev/ch0 - default changer device
230 .Sh EXAMPLES
231 .Dl chio -f /dev/ch0 move slot 3 drive 0
233 Moves the media in slot 3 (fourth slot) to drive 0 (first drive).
235 .Dl chio setpicker 2
237 Configures the changer to use picker 2 (third picker) for operations.
239 .Dl chio -f /dev/cd0a cdlu load 1
241 Loads the media from slot (second slot) into the CD-ROM drive.
243 .Dl chio -f /dev/ch1 status
245 Returns status of all elements in the second changer.
246 .Sh SEE ALSO
247 .Xr mt 1 ,
248 .Xr mount 8
249 .Sh AUTHORS
252 program and SCSI changer driver were originally written by Jason R. Thorpe
253 for And Communications, http://www.and.com/.
254 Additional development was
255 done by Jason R. Thorpe for the Numerical Aerospace Simulation Facility,
256 NASA Ames Research Center.