1 02/37/84 hasp_host_
2
3 Syntax for attach description: hasp_host_ -control_args
4
5
6 Function: The hasp_host_ I/O module simulates record-oriented I/O to a
7 single device of a workstation while communicating with a host system
8 using the HASP communications protocol. See "Notes" below.
9
10 Entry points in this module are not called directly by users; rather,
11 the module is accessed through the I/O system.
12
13 This I/O module must be attached to a subchannel of a communications
14 channel configured to use the HASP ring-0 multiplexer. See the
15 description of the HASP multiplexer in MAM Communications.
16
17 This I/O module is designed primarily for use by the Multics I/O
18 daemon.
19
20
21 Control arguments:
22 The following control arguments are optional, with the exception of
23 -comm, -device, and -tty:
24 -comm hasp
25 is required for compatibility with other I/O modules used by the I/O
26 daemon.
27 -ebcdic
28 is accepted for compatibility with other I/O modules used by the I/O
29 daemon, but is ignored by this I/O module.
30 -device STR
31 specifies the type of device for this attachment. STR must be one
32 of teleprinter, reader, printer, or punch. The type specified by
33 this control argument must match the type of device attached to the
34 channel name defined below.
35
36
37 -physical_line_length N, -pll N
38 is accepted for compatibility with other I/O modules used by the I/O
39 daemon, but is ignored by this I/O module.
40 -terminal_type STR, -ttp STR
41 is optional and is used to define the character set used by the
42 remote system. STR must be the name of a terminal type defined in
43 the site's terminal type table TTT. See "Character set
44 specification" below.
45 -tty channel_name
46 specifies the communications channel to be attached. The channel
47 must be a subchannel of a HASP multiplexed channel
48 e.g. a.h014.prt3.
49
50
51 Open operation:
52 The hasp_host_ I/O module supports the sequential_input,
53 sequential_output, and sequential_input_output opening modes.
54
55
56 Write record operation:
57 The write_record entry converts the supplied data record from ASCII to
58 the remote system's character set, performs data compression, and
59 transmits the record to the HASP multiplexer.
60
61 The structure and the referenced constants supplied to this I/O module
62 are contained in the terminal_io_record.incl.pl1 include file.
63
64
65 Read record operation:
66 The read_record entry returns a single record from the device,
67 basically performing the inverse of the functions described for the
68 write_record operation. Additionally, for line printer attachments,
69 the carriage control information in the record is converted into the
70 appropriate slew information in the terminal_io_record.
71
72 The structure and the referenced constants that this I/O module
73 returns in the supplied buffer are contained in the terminal_io_record
74 include file.
75
76
77 Modes operation:
78 This module accepts the non_edited and default modes for compatibility
79 with other I/O modules used by the I/O daemon, but ignores them.
80
81
82 List of control operations:
83 This I/O module supports the following control operations:
84 end_write_mode
85 ensures that all previously written data has been transmitted to the
86 HASP multiplexer and then writes an end-of-file record for the
87 device.
88 hangup_proc
89 is used to specify a procedure to be invoked when this attachment's
90 channel is hung up.
91
92
93 read_status
94 determines whether or not there are any records waiting for a
95 process to read.
96 resetread
97 discards any pending input.
98 resetwrite
99 discards any as-yet unprocessed output.
100 runout
101 ensures that all data has been transmitted to the HASP multiplexer
102 from where it is guaranteed to be transmitted to the terminal.
103 select_device and reset
104 are ignored rather than rejected for compatibility with other I/O
105 modules used by the I/O daemon.
106
107
108 signon_record
109 supplies a SIGNON record for transmission to the remote system.
110 The info_ptr must locate the signon_record_info structure, which
111 is declared in the include file hasp_signon_record_info.incl.pl1.
112 See "Notes on SIGNON processing" below.
113 no_signon_record
114 validates that the multiplexer is not configured to send a SIGNON
115 record to the remote system. See "Notes on SIGNON processing"
116 below.
117
118
119 Notes on SIGNON processing:
120 Before communicating with certain remote systems, Multics must send the
121 SIGNON record. This specially formatted record identifies Multics to
122 the remote system.
123
124 For these systems, the Multics multiplexer must be configured to use
125 signon_mode see MAM Communications. Before data transmission is
126 permitted, the signon_record control order must be issued on an I/O
127 switch attached to the operator's console subchannel of the
128 multiplexer.
129
130 If the remote system does not expect a SIGNON record, the
131 no_signon_record control order can be used to validate that the
132 multiplexer channel is properly configured.
133
134
135 Character set specification:
136 This I/O module allows the specification of the character set used by
137 the remote system through the -terminal_type attach option.
138
139 If -terminal_type is given, the referenced terminal type must be
140 defined in the site's TTT with an input and an output translation
141 table. This module uses these translation tables to convert data from
142 the remote system's character set to ASCII and vice versa.
143
144 If -terminal_type is not given, the remote system is assumed to use
145 EBCDIC. In this case, the subroutine ascii_to_ebcdic_ is used to
146 convert data sent to the system; the subroutine ebcdic_to_ascii_ is
147 used to convert data received from the remote system.
148
149
150 Notes:
151 As stated above, this I/O module is used to simulate the operation of a
152 single device of a HASP workstation.
153
154 If the simulated device is a card reader, the caller supplies records
155 to this module that are then formatted and transmitted to the remote
156 host; in other words, a card reader attachment through this switch is
157 an output-only attachment.
158
159 Similarly, this I/O module receives records from the remote host when
160 the simulated device is either a line printer or a card punch. Thus,
161 line printers and card punches attached through this I/O module are
162 input-only devices.
163
164
165 Special I/O daemon software is provided to allow Multics to simulate
166 the operations of a workstation in order to submit jobs to remote
167 systems and receive those jobs' output print and punch files. This
168 workstation simulator uses this I/O module for communications with the
169 remote host.