1 /* BEGIN INCLUDE FILE tc_data_.incl.pl1 BIM May 1981 */
 2 
 3 
 4 /****^  HISTORY COMMENTS:
 5   1) change(86-07-22,LJAdams), approve(86-11-13,MCR7485),
 6      audit(86-12-19,Margolin), install(87-01-06,MR12.0-1255):
 7      Added mowse_terminal_iocb_ptr field.
 8   2) change(86-11-26,LJAdams), approve(86-11-26,MCR7584),
 9      audit(86-12-19,Margolin), install(87-01-06,MR12.0-1255):
10      tty_handle component has been added for DSA.
11                                                    END HISTORY COMMENTS */
12 
13 
14 /* Modified DEC 1985 by R. Negaret to add network_type and tty_handle */
15 /* format: style3 */
16 /* This data structure should contain the information
17    to run terminal control, regardless of what I/O module
18    it happens to live in */
19 
20 declare   tc_data_ptr         pointer;
21 declare   1 tc_data           aligned based (tc_data_ptr),
22             2 network_type    fixed bin,                    /* Identification of the network:
23                                  MCS_NETWORK_TYPE, DSA_NETWORK_TYPE, ... */
24             2 devx            fixed bin,                    /* hardcore devx */
25             2 tty_handle      fixed bin (35),
26             2 event           fixed bin (71),               /* tty_index wakes this up */
27             2 mowse_terminal_iocb_ptr
28                               ptr,                          /* ptr to mowse_terminal_ switch */
29             2 change_pclock   fixed bin (35),               /* for detecting async happenings */
30             2 ttp             character (32) unaligned,     /* terminal type */
31             2 ttt_video_ptr   pointer,
32             2 breaktest       bit (128) unaligned,
33             2 terminal        aligned,
34               3 rows          fixed bin,                    /* mostly for better name */
35               3 columns       fixed bin,
36               3 line_speed    fixed bin,
37             2 state           aligned like terminal_state,
38             2 tty_read_buffer character (1024) unaligned,   /* should suffice */
39             2 input_buffer_ptr
40                               pointer,
41             2 screen_data_ptr pointer,
42             2 desk_ptr        pointer,                      /* table of windows */
43             2 old_mode_string character (512) unaligned,
44             2 global_buffer_index
45                               fixed bin,
46             2 global_buffer_limit
47                               fixed bin,
48             2 global_output_buffer
49                               char (512) unaligned;
50 
51 
52 declare   tc_break_array      (0:127) bit (1) unaligned defined (tc_data.breaktest) position (1);
53 
54 declare   1 terminal_state    aligned based,
55             2 flags           aligned,
56               3 insert_mode   bit (1) unaligned,
57               3 cursor_valid  bit (1) unaligned,            /* we know pos */
58               3 echnego_outstanding
59                               bit (1) unaligned,
60               3 mark_outstanding
61                               bit (1) unaligned,
62               3 pad           bit (32) unaligned,
63             2 pending         aligned,
64               3 count         fixed bin,                    /* count of invocations blocked */
65               3 input_count   fixed bin,                    /* how many are input */
66               3 protocol_evs  (72) fixed bin (71),          /* yea, too damn big */
67               3 have_sent_protocol
68                               bit (72) unaligned,
69               3 async_same_window
70                               bit (72) unaligned,           /* for reflection back to blocking window */
71               3 blocked_windows
72                               (72) bit (36) aligned,        /* only 1:count are valid */
73             2 cursor_position aligned,                      /* respectable only if valid */
74               3 row           fixed bin,
75               3 col           fixed bin,
76             2 current_mark    fixed bin (9) unsigned,
77             2 last_mark_back  fixed bin (9) unsigned;
78 
79 declare   state_async_same_window
80                               (72) bit (1) unaligned defined (tc_data.state.pending.async_same_window) position (1);
81 
82 declare   state_have_sent_protocol
83                               (72) bit (1) unaligned defined (tc_data.state.pending.have_sent_protocol) position (1);
84 
85 /* END INCLUDE FILE tc_data_.incl.pl1 */