02/13/84 tape_nstd_ Syntax for attach description: tape_nstd_ reel_num {-control_args} Function: The tape_nstd_ I/O module supports I/O to/from tapes in nonstandard or unknown formats. This module makes no assumptions about the format of the tape and returns one logical record for each physical record on the tape. Since the information upon the tape, including tape marks, is not interpreted by this I/O module, the user must detect the logical end of information on the reel. This I/O module functionally replaces ntape_. Entry points in the module are not called directly by users; rather, the module is accessed through the iox_ subroutine. Arguments: reel_num is the tape reel number. Control arguments: block N, -bk N specifies the maximum record length, in bytes, for this attachment. The default value for N is 11200. Values of N greater than 11888 require access to either the >system_library_1>rcp_sys_ gate or >sc1>rcp>workspace.acs (see "Buffer Size" below). -comment STR -com STR specifies a comment string that is displayed to the operator. It can be used to give the operator any special instructions that are relevant to this attachment. The comment string must be enclosed within quotes if it contains blanks or other spacing characters. -density N, -den N specifies the initial density to be used for this attachment. Acceptable values for N are 200, 556, 800, 1600 and 6250; the default is 800 bpi. -speed S1{,S2,...,SN}, -ips S1{,S2,...,SN} specifies desired tape drive speeds in inches per second, where Si can be 75, 125, or 200 inches per second. (See "Device speed specification" below.) -track N, -tk N means that the tape is N track. Acceptable values for N are 7 and 9. If no track argument is supplied then 9 track is assumed. -write means that the tape is to be mounted with a write ring. This argument must occur if the I/O switch is to be opened for output or input/output. Device speed specification: The -speed control argument is used to specify acceptable tape device speeds in inches per second. The module only attaches a device that matches a speed specified by this control argument. If more than one speed is specified, the module attaches a device that matches one of the speeds. Open operation: The opening modes supported are sequential_input, sequential_output, and sequential_input_output. If an I/O switch attached via the tape_nstd_ I/O module is to be opened for output or input_output, the -write control argument must occur in the attach description. List of control orders: backspace_file positions the tape before the file mark next encountered while rewinding the tape (if no file mark is encountered then the tape is left at load point). backspace_record positions the tape before the previous record on the tape (or file mark if the current record is preceded by a file mark). bcd sets hardware mode to binary coded decimal (BCD). See "Hardware modes" below. binary sets hardware mode to binary (this is the default). See "Hardware modes" below. data_security_erase erases the tape media from its current position to the end of tape (EOT) reflective marker. Additional "erase" control orders can be issued to erase any data written beyond the EOT reflective marker. No more than 40 additional erase control orders should be issued since the tape volume could run off the supply reel. d200 sets density to 200 bpi. d556 sets density to 556 bpi. d800 sets density to 800 bpi. This is the default. d1600 sets density to 1600 bpi. d6250 sets density to 6250 bpi. erase erases tape for a distance of three inches from the current position. fixed_record_length specifies that no record length information is expected by the caller since all data records are of a fixed length specified by a fixed bin(21) value. The record length is specified in bytes. forward_file positions the tape past the next file mark encountered on the tape. forward_record positions the tape after the next record (or file mark if one follows the current record) encountered on the tape. io_call supports the io_call command protocol for orders that expect nonnull info pointers. This order is prepared to interpret and print the status returned by the saved_status and request_status orders. nine sets hardware mode to eight/nine bit conversion. See "Hardware modes" below. protect sets write inhibit regardless of the presence of a write permit ring in the tape reel. The tape unit will remain write inhibited until the tape is detached. request_status interrogates the tape controller and returns its status as a bit(12) aligned quantity. reset_status causes all resettable statuses of the tape unit to be reset. retry_count specifies a fixed bin(17) value which is the number of times an operation is to be retried before returning an error to the caller. The default value for the retry count is 10. rewind rewinds the tape to load point. saved_status returns the last status returned from the tape controller as a bit(12) aligned quantity. unload rewinds the tape and unloads it (done automatically when the tape is detached). write_eof writes an end of file mark (EOF). Hardware modes: In BCD mode, allowed only for 7-track drives, 6-bit characters are translated and then put on tape one character per frame. The translation is reversed on input. In nine mode, on output four 8-bit bytes are written from each word ignoring the high order bit of each 9-bit byte (by truncating it). On input, 8-bit characters are converted to 9-bit characters by forcing the high order bit to zero (by appending a zero-bit). This mode should be used to put ASCII or EBCDIC data on tape for transfer to other systems with 8-bit bytes. In binary mode, all 36 bits of each word are read or written. This mode should be used for native Multics applications where binary data is written to tape. 9-track write 9 8-bit bytes (2 words) are written to 9 frames on tape. 9-track read 9 frames are read into 9 8-bit bytes (2 words). 7-track write 6 6-bit frames from each word. 7-track read 6 frames on tape are read into 6 6-bit characters (1 word). 7-track is 6 data + 1 parity track. 9-track is 8 data + 1 parity track. Close operation: The close operation rewinds the tape reel. The tape remains mounted, and positioned at the load point. No further I/O operations may be performed unless the I/O switch is opened again. Detach operation: The detach operation unloads the tape. Read_record operation: The logical record returned by the read_record operation contains m=ceil(n/36) words, where n is the number of data bits in the physical record. The first n bits of the input record are the data bits, the last m-n bits are 0's. The buffer supplied to the read_record operation must be word aligned. Read requests are retried 10 times before reporting an error unless a retry_count control order has been used to change the retry count. Write_record operation: The logical record supplied to the write_record operation must be word aligned, and must contain 0 mod 36 data bits. Notes: This I/O module violates those iox_ conventions that seem ill suited to processing raw tapes. In particular, read_record and skip record operations may pass file marks. For example, if a tape contains two records, A and B, separated by a file mark, then the first read request would read record A, a second read request would return error_table_$end_of_info, and a third read request would return record B. Buffer size: The maximum number of bytes that may be transmitted on a read_record or write_record operation is 180224, less overhead. This limit may be administratively restricted to a lower value. To use the full capability, the caller may need access to >system_library_1>rcp_sys_ or >sc1>rcp>workspace.acs. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved