1
2
3
4
5
6
7
8 declare channel_offset offset (master_table.area);
9 declare io_offset offset (master_table.area);
10 declare master_table_ptr pointer;
11 declare worker_offset offset (master_table.area);
12
13
14
15
16
17 declare 1 master_table aligned based (master_table_ptr),
18 2 header,
19 3 alloc_lock bit (36),
20 3 tp_dir char (168) unaligned,
21 3 tp_state fixed binary (17),
22 3 tp_start_time fixed binary (71),
23 3 tp_stop_time fixed binary (71),
24 3 transaction_no_lock
25 bit (36),
26 3 transaction_no fixed decimal (30),
27 3 message_sequence_no_lock
28 bit (36),
29 3 message_sequence_no
30 fixed decimal (30),
31 3 tp_flags unaligned,
32 4 immediate_shutdown
33 bit (1),
34 4 use_xcn_mode bit (1),
35 4 pad bit (34),
36 3 pad bit (36),
37 3 master,
38 4 user_id char (32) unaligned,
39 4 lock_id bit (36),
40 4 process_id bit (36) unaligned,
41 4 outer_module char (32) unaligned,
42 4 monitor_event_channel
43 fixed binary (71),
44 4 worker_error_event_channel
45 fixed binary (71),
46 4 io_error_event_channel
47 fixed binary (71),
48 3 worker_process_chain
49 offset (master_table.area),
50
51 3 io_process_chain offset (master_table.area),
52
53 3 user_wakeup (MAX_TP_USERS),
54 4 lock_id bit (36),
55 4 channel_offset offset (master_table.area),
56
57 2 area area (sys_info$max_seg_size - divide (length (unspec (master_table.header)), 36, 19));
58
59
60
61 declare 1 worker aligned based (worker_offset),
62 2 next_worker offset (master_table.area),
63
64 2 state fixed binary (17),
65 2 name char (32) unaligned,
66 2 user_id char (32) unaligned,
67 2 lock_id bit (36),
68 2 process_id bit (36) unaligned,
69 2 flags unaligned,
70 3 dont_restart bit (1),
71 3 pad bit (35),
72 2 wakeup_lock bit (36),
73 2 event_channel fixed binary (71),
74 2 current_transaction,
75 3 transaction_no fixed decimal (30),
76 3 deadline fixed binary (71),
77 3 tp_user_id char (32) unaligned,
78 3 user_index fixed binary (17),
79 3 command_name char (32) unaligned;
80
81
82
83 declare 1 io aligned based (io_offset),
84 2 next_io offset (master_table.area),
85
86 2 state fixed binary (17),
87 2 name char (32) unaligned,
88 2 user_id char (32) unaligned,
89 2 lock_id bit (36),
90 2 process_id bit (36) unaligned,
91 2 outer_module char (32) unaligned,
92 2 pad bit (36),
93 2 monitor_wakeup_lock
94 bit (36),
95 2 monitor_event_channel
96 fixed binary (71),
97 2 dial_event_channel fixed binary (71),
98 2 dial_id char (12) unaligned,
99 2 channel_chain offset (master_table.area),
100
101 2 flags unaligned,
102 3 registered_dial bit (1),
103 3 dont_restart bit (1),
104 3 pad bit (34);
105
106
107
108 declare 1 channel aligned based (channel_offset),
109 2 next_channel offset (master_table.area),
110
111 2 name char (32) unaligned,
112 2 type fixed binary (17),
113 2 device,
114 3 outer_module char (32) unaligned,
115 3 tp_tty_outer_module_index
116 fixed binary (17),
117 3 devx fixed binary (17),
118 2 ipc,
119 3 wakeup_lock bit (36),
120 3 process_id bit (36) unaligned,
121 3 event_channel fixed binary (71),
122 2 user,
123 3 user_state fixed binary (17),
124 3 tp_user_id char (32) unaligned,
125 3 user_index fixed binary (17),
126 3 flags unaligned,
127 4 test_mode bit (1),
128 4 signoff_hold bit (1),
129 4 pad bit (34),
130 3 pad bit (36),
131 2 output,
132 3 transaction_no fixed decimal (30),
133 3 deadline fixed binary (71),
134 3 write_position fixed binary (21),
135 3 heading_length fixed binary (21),
136 3 heading char (256) unaligned,
137 3 flags unaligned,
138 4 user_messages bit (1),
139 4 shutdown_message_sent
140 bit (1),
141 4 pad bit (34),
142 2 terminal_info,
143 3 id char (4) unaligned,
144 3 term_type char (32) unaligned,
145 3 line_type fixed binary (17),
146 3 baud_rate fixed binary (17);
147
148
149
150 declare INIT_DATABASE_EC char (19) internal static options (constant) initial ("tp_init_database.ec");
151 declare MASTER_TABLE_NAME char (16) internal static options (constant) initial ("tp_master_table_");
152 declare MAX_TP_USERS fixed binary internal static options (constant) initial (200);
153 declare TCF_IO_SWITCH_NAME char (4) internal static options (constant) initial ("tcf_");
154 declare TCF_NAME char (6) internal static options (constant) initial ("tp.tcf");
155
156
157
158 declare TP_DOWN fixed binary internal static options (constant) initial (0);
159 declare TP_UP fixed binary internal static options (constant) initial (1);
160 declare TP_START_SHUTDOWN fixed binary internal static options (constant) initial (2);
161 declare TP_SHUTDOWN fixed binary internal static options (constant) initial (3);
162
163
164
165 declare WORKER_RUN fixed binary internal static options (constant) initial (0);
166 declare WORKER_FINISH_CURRENT fixed binary internal static options (constant) initial (1);
167 declare WORKER_FINISH_ALL fixed binary internal static options (constant) initial (2);
168
169
170
171 declare IO_ACCEPT_INPUT fixed binary internal static options (constant) initial (0);
172 declare IO_WAIT_FOR_WORKERS fixed binary internal static options (constant) initial (1);
173 declare IO_LOGOUT_WHEN_DONE fixed binary internal static options (constant) initial (2);
174
175
176
177 declare OWN_CHANNEL fixed binary internal static options (constant) initial (1);
178 declare DIALED_CHANNEL fixed binary internal static options (constant) initial (2);
179 declare SLAVE_CHANNEL fixed binary internal static options (constant) initial (3);
180
181
182
183 declare SIGNED_OFF fixed binary internal static options (constant) initial (0);
184 declare WAITING_FOR_PASSWORD fixed binary internal static options (constant) initial (1);
185 declare SIGNED_ON fixed binary internal static options (constant) initial (2);
186 declare SIGNING_OFF fixed binary internal static options (constant) initial (3);
187 declare SIGNOFF_OUTPUT_WAIT fixed binary internal static options (constant) initial (4);
188
189
190
191 declare sys_info$max_seg_size fixed binary (19) external static;
192 declare tp_channel_offset_ offset (master_table.area) external static initial (null);
193 declare tp_io_offset_ offset (master_table.area) external static initial (null);
194 declare tp_master_table_ptr_ pointer external static initial (null);
195 declare tp_worker_offset_ offset (master_table.area) external static initial (null);
196
197