1 02/13/84 tape_nstd_
2
3
4 Syntax for attach description:
5 tape_nstd_ reel_num -control_args
6
7
8 Function: The tape_nstd_ I/O module supports I/O to/from tapes in
9 nonstandard or unknown formats. This module makes no assumptions
10 about the format of the tape and returns one logical record for each
11 physical record on the tape. Since the information upon the tape,
12 including tape marks, is not interpreted by this I/O module, the user
13 must detect the logical end of information on the reel. This I/O
14 module functionally replaces ntape_.
15
16 Entry points in the module are not called directly by users; rather,
17 the module is accessed through the iox_ subroutine.
18
19
20 Arguments:
21 reel_num
22 is the tape reel number.
23
24
25 Control arguments:
26 block N, -bk N
27 specifies the maximum record length, in bytes, for this attachment.
28 The default value for N is 11200. Values of N greater than 11888
29 require access to either the >system_library_1>rcp_sys_ gate or
30 >sc1>rcp>workspace.acs see "Buffer Size" below.
31 -comment STR -com STR
32 specifies a comment string that is displayed to the operator. It
33 can be used to give the operator any special instructions that are
34 relevant to this attachment. The comment string must be enclosed
35 within quotes if it contains blanks or other spacing characters.
36 -density N, -den N
37 specifies the initial density to be used for this attachment.
38 Acceptable values for N are 200, 556, 800, 1600 and 6250; the
39 default is 800 bpi.
40
41
42 -speed S1S2...SN, -ips S1S2...SN
43 specifies desired tape drive speeds in inches per second, where Si
44 can be 75, 125, or 200 inches per second. See "Device speed
45 specification" below.
46 -track N, -tk N
47 means that the tape is N track. Acceptable values for N are 7 and
48 9. If no track argument is supplied then 9 track is assumed.
49 -write
50 means that the tape is to be mounted with a write ring. This
51 argument must occur if the I/O switch is to be opened for output or
52 input/output.
53
54
55 Device speed specification: The -speed control argument is used to
56 specify acceptable tape device speeds in inches per second. The module
57 only attaches a device that matches a speed specified by this control
58 argument. If more than one speed is specified, the module attaches a
59 device that matches one of the speeds.
60
61
62 Open operation: The opening modes supported are sequential_input,
63 sequential_output, and sequential_input_output. If an I/O switch
64 attached via the tape_nstd_ I/O module is to be opened for output or
65 input_output, the -write control argument must occur in the attach
66 description.
67
68
69 List of control orders:
70 backspace_file
71 positions the tape before the file mark next encountered while
72 rewinding the tape if no file mark is encountered then the tape is
73 left at load point.
74 backspace_record
75 positions the tape before the previous record on the tape or file
76 mark if the current record is preceded by a file mark.
77 bcd
78 sets hardware mode to binary coded decimal BCD. See "Hardware
79 modes" below.
80 binary
81 sets hardware mode to binary this is the default. See "Hardware
82 modes" below.
83
84
85 data_security_erase
86 erases the tape media from its current position to the end of tape
87 EOT reflective marker. Additional "erase" control orders can be
88 issued to erase any data written beyond the EOT reflective marker.
89 No more than 40 additional erase control orders should be issued
90 since the tape volume could run off the supply reel.
91 d200
92 sets density to 200 bpi.
93 d556
94 sets density to 556 bpi.
95 d800
96 sets density to 800 bpi. This is the default.
97 d1600
98 sets density to 1600 bpi.
99
100
101 d6250
102 sets density to 6250 bpi.
103 erase
104 erases tape for a distance of three inches from the current
105 position.
106 fixed_record_length
107 specifies that no record length information is expected by the
108 caller since all data records are of a fixed length specified by a
109 fixed bin21 value. The record length is specified in bytes.
110 forward_file
111 positions the tape past the next file mark encountered on the tape.
112 forward_record
113 positions the tape after the next record or file mark if one
114 follows the current record encountered on the tape.
115
116
117 io_call
118 supports the io_call command protocol for orders that expect nonnull
119 info pointers. This order is prepared to interpret and print the
120 status returned by the saved_status and request_status orders.
121 nine
122 sets hardware mode to eight/nine bit conversion. See "Hardware
123 modes" below.
124 protect
125 sets write inhibit regardless of the presence of a write permit ring
126 in the tape reel. The tape unit will remain write inhibited until
127 the tape is detached.
128 request_status
129 interrogates the tape controller and returns its status as a bit12
130 aligned quantity.
131
132
133 reset_status
134 causes all resettable statuses of the tape unit to be reset.
135 retry_count
136 specifies a fixed bin17 value which is the number of times an
137 operation is to be retried before returning an error to the caller.
138 The default value for the retry count is 10.
139 rewind
140 rewinds the tape to load point.
141 saved_status
142 returns the last status returned from the tape controller as a
143 bit12 aligned quantity.
144 unload
145 rewinds the tape and unloads it done automatically when the tape is
146 detached.
147 write_eof
148 writes an end of file mark EOF.
149
150
151 Hardware modes: In BCD mode, allowed only for 7-track drives, 6-bit
152 characters are translated and then put on tape one character per frame.
153 The translation is reversed on input.
154
155 In nine mode, on output four 8-bit bytes are written from each word
156 ignoring the high order bit of each 9-bit byte by truncating it. On
157 input, 8-bit characters are converted to 9-bit characters by forcing
158 the high order bit to zero by appending a zero-bit. This mode should
159 be used to put ASCII or EBCDIC data on tape for transfer to other
160 systems with 8-bit bytes.
161
162
163 In binary mode, all 36 bits of each word are read or written. This
164 mode should be used for native Multics applications where binary data
165 is written to tape.
166
167 9-track write 9 8-bit bytes 2 words are written to 9 frames
168 on tape.
169 9-track read 9 frames are read into 9 8-bit bytes 2 words.
170
171 7-track write 6 6-bit frames from each word.
172 7-track read 6 frames on tape are read into 6 6-bit characters
173 1 word.
174
175 7-track is 6 data + 1 parity track.
176 9-track is 8 data + 1 parity track.
177
178
179 Close operation: The close operation rewinds the tape reel. The tape
180 remains mounted, and positioned at the load point. No further I/O
181 operations may be performed unless the I/O switch is opened again.
182
183
184 Detach operation: The detach operation unloads the tape.
185
186
187 Read_record operation: The logical record returned by the read_record
188 operation contains m=ceiln/36 words, where n is the number of data
189 bits in the physical record. The first n bits of the input record are
190 the data bits, the last m-n bits are 0's. The buffer supplied to the
191 read_record operation must be word aligned. Read requests are retried
192 10 times before reporting an error unless a retry_count control order
193 has been used to change the retry count.
194
195
196 Write_record operation: The logical record supplied to the
197 write_record operation must be word aligned, and must contain 0 mod 36
198 data bits.
199
200
201 Notes: This I/O module violates those iox_ conventions that seem ill
202 suited to processing raw tapes. In particular, read_record and skip
203 record operations may pass file marks. For example, if a tape contains
204 two records, A and B, separated by a file mark, then the first read
205 request would read record A, a second read request would return
206 error_table_$end_of_info, and a third read request would return
207 record B.
208
209
210 Buffer size: The maximum number of bytes that may be transmitted on a
211 read_record or write_record operation is 180224, less overhead. This
212 limit may be administratively restricted to a lower value. To use the
213 full capability, the caller may need access to
214 >system_library_1>rcp_sys_ or >sc1>rcp>workspace.acs.