03/31/83 remote_punch_ Function: The remote_punch_ I/O module presents a stream I/O interface to the caller and performs record output to a card punch, which is assumed to be part of a remote I/O device, such as a Honeywell Level 6 remote batch facility (G115 type), an IBM 2780, or an IBM 3780. Except for hardware restrictions, this module performs all the necessary code conversion and control in such a way that remote and local card punching are the same. Entry points in this module are not called directly by users; rather, the module is accessed through the I/O system. This module in turn constructs an attach description for the module specified in the -terminal control argument, passing the other attach information specified by the caller. Syntax and Attach Description: remote_punch_ -control_arg Control arguments: -card_ll N specifies the length of records (cards) supported by the terminal I/O module. (Default is 80.) -device STR defines the type of device to be simulated by this I/O module and can be either "punch" or "reader_simulator". This specification is passed to the terminal I/O module as "-device punch" or "-device reader", respectively. (Default is "punch".) -horizontal_tab, -htab specifies that the device supports the horizontal tab character. (Default is the use of the appropriate number of spaces.) -non_edited specifies that nonprinting characters can be passed directly to the terminal I/O module. (Default is that these characters are not passed.) -runout_spacing N, -rnsp N -physical_page_length N, -ppl N are accepted and ignored for compatibility with other device I/O modules. -terminal STR STR specifies the terminal I/O module to be attached to this device I/O module. (Required) All other attach arguments are passed directly to the terminal I/O module. Open Operation: The remote punch I/O module supports the stream_output opening mode. Put Chars Operation: The put_chars entry splits the data to be written into records of the size given by -card_ll and transmits these records to the terminal I/O module. This operation is repeated until all the characters specified by the caller have been transmitted. List of Control Operations: The remote_punch device I/O module supports the following control operations: binary_punch requests that all subsequent data be punched in binary (rather than RMCC) if supported by the terminal I/O module. This control order is then passed on to the terminal I/O module. get_count returns the current record count, which is the number of records written to the terminal I/O module since the last reset control operation. This operation is not passed on to the terminal I/O module. The info_ptr must point to the following PL/1 structure. (This structure is taken from the counts structure in prt_order_info.incl.pl1 for compatibility with procedures that use several device I/O modules.) dcl 1 counts aligned based, 2 prt_data_pad (4) fixed bin, 2 record_count fixed bin (35), 2 prt_pad fixed bin; The variable record_count will contain the returned value. This corresponds with the variable line_count from the other structure. reset sets the current record count to zero, returns to punching in RMCC (remote Multics card code), and passes the order to the terminal I/O module. All other control operations are passed directly to the terminal I/O module for processing. Modes Operation: This I/O module supports the RMCC output card mode defined in the Programmer's Reference Manual. It also supports the two modes non_edited and default, which enable and disable edited output conversion, if output conversion has been enabled by the terminal I/O module. Position Operation: This I/O module supports all the position operations supported by the terminal I/O module specified in the attach description. ----------------------------------------------------------- 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