1 03/31/83  ibm2780_
  2 
  3 
  4 Function: The ibm2780_ I/O module performs stream I/O to a remote I/O
  5 terminal that has the characteristics of an IBM 2780 data transmission
  6 terminal.
  7 
  8 Entry points in this module are not called directly by users; rather,
  9 the module is accessed through the I/O system.
 10 
 11 This module in turn constructs an attach description for the module
 12 specified in the -comm control argument, passing the attach information
 13 for ascii or ebcdic, tty, transparent or nontransparent, and all other
 14 attach information specified by the caller.
 15 
 16 
 17 Syntax and Attach Description:
 18    ibm2780_ -control_args
 19 
 20 
 21 Control arguments:
 22    The following control arguments are optional, with the exception of
 23 -comm and -tty:
 24 -ascii
 25    transmits control information and data in ASCII.
 26 -carriage_ctl STR
 27    the eight-character string STR, taken two characters at a time, sets
 28    the four carriage control characters that specify the advance of 0,
 29    1, 2, and 3 lines.  The default set of characters is ESCM, ESC/,
 30    ESCS, and ESCT, where the mnemonic ESC means the ASCII escape
 31    character.
 32 -comm STR
 33    uses the communications I/O module specified by STR.
 34 
 35 
 36 -device STR
 37    specifies that this attachment is associated with the device STR.
 38    Currently, it is accepted only for compatibility with other I/O
 39    modules.
 40 -ebcdic
 41    converts control information and data to its EBCDIC representation
 42    before transmission.  This is the default.
 43 -horizontal_tab, -htab
 44    supports tab control on the remote I/O terminal printer.  Tabs are
 45    set every 10 spaces.  The default is no tab control.
 46 -multi_record
 47    transmits multiple records (up to seven) as a block, rather than
 48    separately.  The default is single-record transmission.
 49 -nontransparent
 50    uses a nontransparent communication protocol.  This is the default.
 51 
 52 
 53 -printer_select STR
 54    the two-character string STR sets the printer select.  The default
 55    printer select string is ESC/.
 56 -physical_line_length N, -pll N
 57    sets the maximum character width of the remote I/O terminal printer
 58    to N characters.  The default is 80 characters.  This variable is
 59    used to set tabs and pad records if the transparent option is
 60    specified.
 61 -punch_select STR
 62    the two-character string STR sets the punch select.  The default
 63    punch select string is ESC4.
 64 -slew_ctl STR
 65    the six-character string STR, taken two characters at a time, sets
 66    the slew control characters that specify top of form, inside page,
 67    and outside page.  The default set of characters is ESCA, ESCA, and
 68    ESCA.
 69 
 70 
 71 -terminal_type STR, -ttp STR
 72    STR specifies the terminal type whose conversion, translation, and
 73    special tables defined in the user or system terminal type table
 74    (TTT) are used to convert and translate input and output to and from
 75    the device.  If not specified, no conversion or translation is
 76    performed.  For more information about the allowable conversion
 77    values see "Notes" below.
 78 -transparent
 79    uses a transparent communication protocol.
 80 -tty STR
 81    connects the remote I/O station to the communications channel named
 82    STR.
 83 
 84 
 85 Open Operation:
 86 The ibm2780_ I/O module supports stream_input, stream_output, and
 87 stream_input_output opening modes.
 88 
 89 
 90 Put Chars Operation:
 91 The put_chars entry splits the data to be written into blocks of 80 or
 92 400 characters, depending on whether multirecord mode is enabled, and
 93 transmits the number of characters specified to the specified
 94 communications I/O module.  The blocks are of fixed or variable length,
 95 depending on whether transparent mode is enabled or not, respectively.
 96 
 97 
 98 Get Chars Operation:
 99 The get_chars entry reads characters up to 80 or 400 characters,
100 depending on whether multirecord is enabled, and returns the number
101 requested, up to the next record separator.
102 
103 
104 Control Operation:
105    This I/O module supports all the control operations supported by the
106    communications I/O module specified in the attach description.  In
107    addition, it supports the following:
108 select_device
109    selects the subdevice (printer, punch, or teleprinter) to which
110    output is next directed.  The input structure is of the form:
111       dcl device char(32) based;
112 set_bsc_modes
113    sets the character mode, either ascii or ebcdic, and transparency.
114    The input structure is defined as follows:
115       dcl 1 set_bsc_modes aligned,
116             2 char_mode bit(1), unaligned,
117             2 transparent bit(1) unaligned;
118 
119 
120    where:
121    char_mode
122       is "1"b if ebcdic and "0"b if ascii.
123    transparent
124       is "1"b if transparency is enabled and "0"b if not.
125 set_multi_record_mode
126    sets the number of records per block.  The input structure is of the
127    form:
128       dcl record_number fixed bin based;
129 
130 
131 Modes Operation:
132 This module supports the nonedited and default modes, which set and
133 reset the edited output conversion, if it has been enabled by the
134 -terminal_type control argument.
135 
136 
137 Notes:
138 The only allowable values in the output conversion table are 00 and any
139 values greater than 16.  All values defined in the description of the
140 tty_ I/O module are allowed for input conversion.  Input and output
141 translation tables can be up to 256 characters in length.