1 03/31/83 remote_punch_
2
3
4 Function: The remote_punch_ I/O module presents a stream I/O interface
5 to the caller and performs record output to a card punch, which is
6 assumed to be part of a remote I/O device, such as a Honeywell Level 6
7 remote batch facility G115 type, an IBM 2780, or an IBM 3780.
8 Except for hardware restrictions, this module performs all the
9 necessary code conversion and control in such a way that remote and
10 local card punching are the same.
11
12 Entry points in this module are not called directly by users; rather,
13 the module is accessed through the I/O system.
14
15 This module in turn constructs an attach description for the module
16 specified in the -terminal control argument, passing the other attach
17 information specified by the caller.
18
19
20 Syntax and Attach Description:
21 remote_punch_ -control_arg
22
23
24 Control arguments:
25 -card_ll N
26 specifies the length of records cards supported by the terminal
27 I/O module. Default is 80.
28 -device STR
29 defines the type of device to be simulated by this I/O module and
30 can be either "punch" or "reader_simulator". This specification is
31 passed to the terminal I/O module as "-device punch" or "-device
32 reader", respectively. Default is "punch".
33 -horizontal_tab, -htab
34 specifies that the device supports the horizontal tab character.
35 Default is the use of the appropriate number of spaces.
36 -non_edited
37 specifies that nonprinting characters can be passed directly to the
38 terminal I/O module. Default is that these characters are not
39 passed.
40
41
42 -runout_spacing N, -rnsp N
43 -physical_page_length N, -ppl N
44 are accepted and ignored for compatibility with other device I/O
45 modules.
46 -terminal STR
47 STR specifies the terminal I/O module to be attached to this device
48 I/O module. Required
49
50 All other attach arguments are passed directly to the terminal I/O
51 module.
52
53
54 Open Operation:
55 The remote punch I/O module supports the stream_output opening mode.
56
57
58 Put Chars Operation:
59 The put_chars entry splits the data to be written into records of the
60 size given by -card_ll and transmits these records to the terminal I/O
61 module. This operation is repeated until all the characters specified
62 by the caller have been transmitted.
63
64
65 List of Control Operations:
66 The remote_punch device I/O module supports the following control
67 operations:
68 binary_punch
69 requests that all subsequent data be punched in binary rather than
70 RMCC if supported by the terminal I/O module. This control order
71 is then passed on to the terminal I/O module.
72 get_count
73 returns the current record count, which is the number of records
74 written to the terminal I/O module since the last reset control
75 operation. This operation is not passed on to the terminal I/O
76 module. The info_ptr must point to the following PL/1 structure.
77 This structure is taken from the counts structure in
78 prt_order_info.incl.pl1 for compatibility with procedures that use
79 several device I/O modules.
80
81
82 dcl 1 counts aligned based,
83 2 prt_data_pad 4 fixed bin,
84 2 record_count fixed bin 35,
85 2 prt_pad fixed bin;
86
87 The variable record_count will contain the returned value. This
88 corresponds with the variable line_count from the other structure.
89 reset
90 sets the current record count to zero, returns to punching in RMCC
91 remote Multics card code, and passes the order to the terminal I/O
92 module.
93
94 All other control operations are passed directly to the terminal I/O
95 module for processing.
96
97
98 Modes Operation:
99 This I/O module supports the RMCC output card mode defined in the
100 Programmer's Reference Manual. It also supports the two modes
101 non_edited and default, which enable and disable edited output
102 conversion, if output conversion has been enabled by the terminal I/O
103 module.
104
105
106 Position Operation:
107 This I/O module supports all the position operations supported by the
108 terminal I/O module specified in the attach description.