1 /* BEGIN INCLUDE FILE ... g115_device_data.incl.pl1 ... 9-7-79 */ 2 3 4 /* This structure describes all the data specific to a tty channel used for the G115 protocol. 5 There is one device data block per channel chained together in a list. Chaining and allocation 6 of each data block is managed by g115_.pl1 7 */ 8 9 dcl device_data_p ptr init (null); 10 11 dcl 1 g115_device_data aligned based (device_data_p), 12 2 fwd_ptr ptr, /* forward pointer in chain of these structures */ 13 2 back_ptr ptr, /* backward pointer " " " " */ 14 2 tty_name char (32), /* name of the device channel for devx */ 15 2 devx fixed bin, /* Ring 0 device index for the device */ 16 2 attach_count fixed bin, /* number of switches currently active */ 17 2 dial_mgr_ev_chan fixed bin (71), /* IPC channel for dial manager */ 18 2 as_ev_chan fixed bin (71), /* IPC event channel from answering service */ 19 2 wait_list, /* IPC wait list to block on for hardcore tty dim */ 20 3 nchan fixed bin, /* this must be 2 and must be on an even word */ 21 3 dummy_word fixed bin, 22 3 tty_ev_channel fixed bin (71), /* because the compiler wants this on even word */ 23 3 timeout_ev_channel fixed bin (71), 24 2 control_bits, 25 3 as_priv_no_block bit (1) unal, /* ON for answering service reads and writes */ 26 3 write_split bit (1) unal, /* ON if split records are to be sent to device */ 27 3 write_compress bit (1) unal, /* ON if compressed records are to be sent */ 28 3 hangup_signalled bit (1) unal, /* ON if a hangup control is sent */ 29 2 delay fixed bin (35), /* runout delay for L6 bug */ 30 2 fmt_code, /* the current data and operator msg format codes */ 31 3 data bit (9) unal, /* format code for data transfer to remote terminal */ 32 3 control bit (9) unal, /* format code for operator messages (teleprinter) */ 33 2 process_id bit (36), /* process id for sending wakeups to ourselves */ 34 2 padding (14) fixed bin, /* for the future */ 35 2 buffer_areap ptr, /* ptr to area for buffer allocation */ 36 2 first_bp ptr, /* ptr to first input buffer of chain */ 37 2 last_bp ptr, /* ptr to last input buffer of chain */ 38 2 template_ptr ptr, /* ptr to template output buffer */ 39 2 level fixed bin, /* write recursion (or quit) level index */ 40 2 outp (100) ptr; /* pointers to output buffers in buffer area 41 indexed by level */ 42 43 dcl buffer_area based (g115_device_data.buffer_areap) area (262144); /* area for input and output buffers */ 44 45 /* END INCLUDE FILE ... g115_device_data.incl.pl1 */