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 */