COMPILATION LISTING OF SEGMENT dump_anstbl_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1043.9 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 /* format: style4 */ 13 dump_anstbl_: proc (anp, hsw, osw, verb, sct, scu, stream); 14 15 /* DUMP_ANSTBL_ - subroutine to take a dump of the answer table. 16* 17* Called by dump_anstbl command and as_dump_. 18* Modified 750506 by PG for new anstbl format 19* Modified May 1976 by T. Casey and P. Green to print new anstbl variables. 20* Modified June 1977 by Robert Coren to remove obsolete terminal type fields. 21* Modified May 1978 by T. Casey to print new vars: pdir_lvix, logout_index, and pdir_quota. 22* Modified March 1979 by T. Casey to print new variables added for MR7.0 and MR7.0a. 23* Modified July 1979 by T. Casey for MR8.0 to print process preservation variables. 24* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures. (UNCA) 25* Modified January 1981 by E. N. Kittlitz for new answer_table entries 26* Modified June 1981 by E. N. Kittlitz for UNCA rate structures 27* Modified June 1981 by T. Casey for MR9.0 to print absentee load control variables. 28* Modified November 1981, E. N. Kittlitz. user_table_entry conversion. 29* Modified 1984-09-12 BIM for login auth ranges, com channel aim. 30* Modified 1984-12-31 Keith Loepere for pdir_dir_quota. 31* Modified 1985-01-15 by E. Swenson to add anstbl.session_uid_counter. 32* Modified 1985-03-04 by EJ Sharpe to convert audit flags to string representation 33**/ 34 35 36 /****^ HISTORY COMMENTS: 37* 1) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 38* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 39* Added support for displaying new fields and upgraded to new date time 40* code. Also converted inline code for time breakdowns to use of 41* subroutine. 42* 2) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 43* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 44* A) Reordered output to reflect reorganization of 45* user_table_entry.incl.pl1 and changes for user_table_header.incl.pl1. 46* B) Improved date handling to detect unset dates and report them as such. 47* 3) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 48* audit(87-07-14,Hartogs), install(87-08-04,MR12.1-1055): 49* A) Modified to accommodate new layout of table headers and user table 50* entry. 51* B) Fold longer lines in a more readable fashion. 52* 4) change(87-05-15,GDixon), approve(87-07-13,MCR7741), 53* audit(87-07-14,Hartogs), install(87-08-04,MR12.1-1055): 54* A) Handle ute.line_type. 55* B) Interpret ute.preempted. 56* 5) change(87-05-20,GDixon), approve(87-07-13,MCR7741), 57* audit(87-07-14,Hartogs), install(87-08-04,MR12.1-1055): 58* A) Correct ioa_ctl string for anstbl.update_pending. 59* B) Enlarge sch_tty to hold 32 character channel names. 60* C) Allow sch_tty to be a starname. 61* 6) change(88-03-18,Parisek), approve(88-03-18,MCR7849), 62* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 63* Add ute.lowest_ring to display items. 64* END HISTORY COMMENTS */ 65 66 67 dcl anp ptr, /* ptr to answer table */ 68 hsw bit (1), /* TRUE if header to be dumpted */ 69 osw bit (1), /* TRUE if dump in octal too */ 70 verb fixed bin, /* output verbe */ 71 sct char (*), /* select tty chan */ 72 scu char (*), /* select user */ 73 stream char (*); /* output stream name */ 74 75 dcl S char (32) aligned, /* stream name */ 76 out entry options(variable) variable, 77 hdr bit (1), /* header switch */ 78 oct bit (1), /* octal */ 79 mode fixed bin, /* output mode */ 80 time char (16), /* temp */ 81 (on_flags, off_flags) char (128) varying aligned, /* temp */ 82 rs_name char (32), 83 code fixed bin (35), 84 line_length fixed bin, 85 tp ptr, 86 vstr char (512) varying, 87 audit_str char (512), 88 i fixed bin, 89 sch_tty char (32), 90 sch_user char (32), 91 sch_project char (32); 92 93 dcl table_name char (13) aligned; 94 dcl table_type fixed bin; 95 dcl table_size fixed bin; 96 dcl max_rs_number fixed bin; 97 98 /* builtins */ 99 100 dcl (addr, addrel, after, before, binary, char, clock, convert, fixed, hbound, 101 index, lbound, length, ltrim, null, rel, rtrim, size, string, substr, 102 unspec) builtin; 103 104 /* entries */ 105 106 dcl convert_access_audit_flags_$to_string entry (bit (36) aligned, char (*), fixed bin (35)); 107 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) returns (char (250) var); 108 dcl display_access_class_ entry (bit (72) aligned) returns (character (32) aligned); 109 dcl display_access_class_$range entry ((2) bit (72) aligned) returns (character (32) aligned); 110 dcl format_attributes_ entry (ptr, char (*) var); 111 dcl get_line_length_$switch entry (ptr, fixed bin(35)) returns(fixed bin); 112 dcl ioa_$ioa_stream entry options (variable); 113 dcl match_star_name_ entry (char(*), char(*), fixed bin(35)); 114 dcl request_id_ entry (fixed bin (71) aligned) returns (char (19)); 115 dcl system_info_$max_rs_number entry (fixed bin); 116 dcl system_info_$rs_name entry (fixed bin, char (*), fixed bin (35)); 117 118 /* structures and int static */ 119 120 dcl NL_SP char(2) int static options(constant) init(" 121 "); 122 dcl SP_COMMA char(2) int static options(constant) init(" ,"); 123 124 dcl 1 last_flag aligned based, 125 2 name char(20) varying, 126 2 (lower_x, upper_x) fixed bin, 127 2 range char(32) varying; 128 129 dcl 1 to based (tp) aligned, 130 2 w1 fixed bin, 131 2 w2 fixed bin, 132 2 w3 fixed bin, 133 2 w4 fixed bin, 134 2 w5 fixed bin, 135 2 w6 fixed bin, 136 2 w7 fixed bin, 137 2 w8 fixed bin; 138 139 dcl table_names (3) char (13) aligned int static options (constant) init ( 140 "ANSWER", 141 "ABSENTEE USER", 142 "DAEMON USER"); 143 144 dcl two_digits picture "99"; 145 146 147 table_type = PT_INTERACTIVE; /* answer table */ 148 ansp = anp; 149 table_size = anstbl.current_size; 150 151 common: 152 table_name = table_names (table_type); 153 line_length = get_line_length_$switch (null, code); 154 if code ^= 0 then line_length = 79; 155 call system_info_$max_rs_number (max_rs_number); /* get number of RS */ 156 157 mode = verb; 158 S = stream; 159 out = ioa_$ioa_stream; 160 hdr = hsw; 161 oct = osw; 162 sch_user = before (scu, "."); 163 sch_project = after (scu, "."); 164 sch_tty = sct; 165 166 call out(S, "^/DUMP OF ^a TABLE - ^a^/", table_name, 167 cv_date (clock ())); 168 169 if ^hdr then go to ents; 170 171 if table_type = PT_INTERACTIVE then 172 uthp = ansp; 173 else if table_type = PT_ABSENTEE then 174 uthp = autp; 175 else if table_type = PT_DAEMON then 176 uthp = dutp; 177 178 call out(S, "header_version:^21t^d", uth.header_version); 179 call out(S, "entry_version:^21t^d", uth.entry_version); 180 call out(S, "user_table_type:^21t^d (^a)", 181 uth.user_table_type, TABLE_NAMES(uth.user_table_type)); 182 call out(S, "header_length:^21t^d words", uth.header_length); 183 call out(S, "max_size:^21t^d entries", uth.max_size); 184 call out(S, "current_size:^21t^d entries", uth.current_size); 185 call out(S, "number_free:^21t^d entries", uth.number_free); 186 call out(S, "first_free:^21t^d", uth.first_free); 187 call out(S, "as_procid:^21t^w", uth.as_procid); 188 189 if table_type = PT_INTERACTIVE then do; /* answer table */ 190 call out(S, "nlin:^21t^d", anstbl.nlin); 191 call out(S, "mxlin:^21t^d", anstbl.mxlin); 192 call out(S, "n_users:^21t^d", anstbl.n_users); 193 call out(S, "max_users:^21t^d", anstbl.max_users); 194 call out(S, "n_units:^21t^d", anstbl.n_units); 195 call out(S, "max_units:^21t^d", anstbl.max_units); 196 call out(S, "n_sessions:^21t^d", anstbl.n_sessions); 197 call out(S, "sysdir:^21t^a", anstbl.sysdir); 198 call out(S, "as_tty:^21t^a", anstbl.as_tty); 199 call out(S, "login_word:^21t^a", anstbl.login_word); 200 call out(S, "session:^21t^a", anstbl.session); 201 call out(S, "special_message:^21t^a", 202 rtrim(anstbl.special_message, NL_SP)); 203 call out(S, "message_update_time:^21t^a", 204 cv_date (anstbl.message_update_time)); 205 call out(S, "message_lng:^21t^d", anstbl.message_lng); 206 call out(S, "lock_count:^21t^d", anstbl.lock_count); 207 call out(S, "update_pending:^21t^[ON^;OFF^]", 208 anstbl.update_pending); 209 call out(S, "update_channel:^21t^24.3b", 210 unspec (anstbl.update_channel)); 211 call out(S, "acct_update_chn:^21t^24.3b", 212 unspec (anstbl.acct_update_chn)); 213 call out(S, "acct_last_update_time:^21t^a", 214 cv_date (anstbl.acct_last_update_time)); 215 call out(S, "acct_alarm_fail:^21t^d", anstbl.acct_alarm_fail); 216 call out(S, "current_time:^21t^a", 217 cv_date (anstbl.current_time)); 218 call out(S, "processid_index:^21t^d", anstbl.processid_index); 219 call out(S, "session_uid_counter:^21t^d", 220 anstbl.session_uid_counter); 221 call out(S, "shift:^21t^d", anstbl.shift); 222 call out(S, "auto_maxu:^21t^d", anstbl.auto_maxu); 223 call out(S, "extra_units:^21t^d", anstbl.extra_units); 224 call out(S, "response_high:^21t^d", anstbl.response_high); 225 call out(S, "response_low:^21t^d", anstbl.response_low); 226 call out(S, "ls_request_server_event_channel:^21t^24.3b", 227 unspec (anstbl.ls_request_server_event_channel)); 228 call out(S, "ls_request_server_process_id:^21t^w", 229 anstbl.ls_request_server_process_id); 230 call out(S, "login_server_present:^21t^[ON^;OFF^]", 231 anstbl.login_server_present); 232 if oct then call odump (ansp, fixed (rel (addr (anstbl.entry (1))))); 233 end; 234 235 else if table_type = PT_ABSENTEE then do; /* absentee user table */ 236 call out(S, "n_abs_run:^21t^d", autbl.n_abs_run); 237 call out(S, "max_abs_users:^21t^d", autbl.max_abs_users); 238 call out(S, "n_background_abs:^21t^d", autbl.n_background_abs); 239 call out(S, "n_sec_fg:^21t^d", autbl.n_sec_fg); 240 call out(S, "idle_units:^21t^d", autbl.idle_units); 241 call out(S, "abs_units:^21t^d", autbl.abs_units); 242 call out(S, "n_abs(1:4):^21t^(^d^x^)", autbl.n_abs); 243 call out(S, "qres(1:4):^21t^(^d^x^)", autbl.qres); 244 call out(S, "rsc_waiting(-1:4):^21t^(^d^x^)", 245 autbl.rsc_waiting); 246 call out(S, "qerr(-1:4):^21t^(^d^x^)", autbl.qerr); 247 call out(S, "cpu_limit(1:4):^21t^(^d^x^)", autbl.cpu_limit); 248 call out(S, "defer_channel:^21t^24.3b", 249 unspec (autbl.defer_channel)); 250 call out(S, "absentee_rq_chn:^21t^24.3b", 251 unspec (autbl.absentee_rq_chn)); 252 call out(S, "last_queue_searched:^x^d", 253 autbl.last_queue_searched); 254 on_flags, off_flags = ""; 255 if autbl.debugging = 1 then 256 on_flags = "debugging, "; 257 else if autbl.debugging = 0 then 258 off_flags = "debugging, "; 259 else call out(S, "debugging:^21t^d",autbl.debugging); 260 call display_flags (on_flags, off_flags, string(autbl.control), 261 AUTBL_CONTROL_NAMES, "control"); 262 if oct then call odump (ansp, fixed (rel (addr (autbl.entry (1))))); 263 end; 264 265 else if table_type = PT_DAEMON then do; /* daemon user table */ 266 call out(S, "active_count:^21t^d", dutbl.active_count); 267 if oct then call odump (ansp, fixed (rel (addr (dutbl.entry (1))))); 268 end; 269 270 ents: do i = 1 to table_size; 271 if table_type = PT_INTERACTIVE then 272 utep = addr (anstbl.entry (i)); 273 else if table_type = PT_ABSENTEE then 274 utep = addr (autbl.entry (i)); 275 else utep = addr (dutbl.entry (i)); 276 277 if ute.active = NOW_FREE then 278 goto skip_entry; 279 280 if mode > 0 then /* be selective */ 281 if mode = 9 then do; 282 if sch_tty ^= "" then do; 283 call match_star_name_ (ute.tty_name, sch_tty, 284 code); 285 if code ^= 0 then go to skip_entry; 286 end; 287 else if sch_user ^= "" then do; 288 if ute.person ^= sch_user then go to skip_entry; 289 else if sch_project ^= "" then 290 if ute.project ^= sch_project then go to skip_entry; 291 end; 292 else if sch_project ^= "" then 293 if ute.project ^= sch_project then go to skip_entry; 294 if ute.active <= 0 then go to skip_entry; 295 end; /* mode 9 */ 296 else if mode = 1 then if ute.active < 0 then go to skip_entry; 297 else if mode = 2 then if ute.lock_value <= 0 then go to skip_entry; 298 else if mode = 3 then if ute.active <= 3 then go to skip_entry; 299 else if mode = 4 then if ute.active <= 2 then go to skip_entry; 300 else go to skip_entry; 301 302 /* Variables which give state of this entry */ 303 call out(S, "^/ENTRY ^d at ^p ^[(^a.^a)^]", i, utep, 304 (ute.person || ute.project ^= ""), ute.person, ute.project); 305 call out(S, "active:^21t^d (^a)", 306 ute.active, ACTIVE_VALUES (ute.active)); 307 if ute.process_type ^= table_type then 308 call out(S, "process_type:^21t^d (SHOULD BE ^d)", 309 ute.process_type, table_type); 310 call out(S, "ute_index:^21t^d ^[(SHOULD BE ^d)^]", 311 ute.ute_index, i^=ute.ute_index, i); 312 if ute.active = NOW_FREE then 313 call out(S, "next_free:^21t^d", ute.next_free); 314 else if ute.next_free ^= 0 then 315 call out(S, "next_free:^21t^d (SHOULD BE 0)", 316 ute.next_free); 317 318 /* Information user gave about person_id associated with this entry. */ 319 call out(S, "person:^21t^a", ute.person); 320 call out(S, "project:^21t^a", ute.project); 321 call out(S, "tag:^21t^a", ute.tag); 322 323 on_flags = ""; 324 off_flags = ""; 325 if ute.anonymous = 0 then 326 off_flags = "anonymous, "; 327 else if ute.anonymous = 1 then 328 on_flags = "anonymous, "; 329 else call out(S, "anonymous:^21t^d", ute.anonymous); 330 331 if MASK_CTL_NAMES (binary (ute.mask_ctl,2)) ^= "" then do; 332 on_flags = on_flags || 333 MASK_CTL_NAMES (binary(ute.mask_ctl,2)); 334 on_flags = on_flags || ", "; 335 end; 336 337 call display_flags (on_flags, off_flags, 338 substr(string(ute.login_flags),1,34), PW_FLAG_NAMES, 339 "login_flags"); 340 341 if ute.generated_pw ^= "" then 342 call out(S, "generated_pw:^21t^a", ute.generated_pw); 343 if ute.old_password ^= "" then 344 time = "(scramble)"; 345 else time = ""; 346 call out(S, "old_password:^21t^a", time); 347 call out_line("process_authorization:^21t^a", 21, 348 display_access_class_ (ute.process_authorization)); 349 350 /* Information user gave about process associated with this entry. */ 351 call out(S, "outer_module:^21t^a", ute.outer_module); 352 call out(S, "home_dir:^21t^a", ute.home_dir); 353 call out(S, "init_proc:^21t^a", 354 substr (ute.init_proc, 1, ute.ip_len)); 355 call out(S, "subsystem:^21t^a", 356 substr (ute.init_proc, ute.ip_len + 1)); 357 call format_attributes_ (addr (ute.ur_at), vstr); 358 call out_line("ur_at:^21t^a", 21, vstr); 359 call format_attributes_ (addr (ute.at), vstr); 360 call out_line("attributes:^21t^a", 21, vstr); 361 call out(S, "initial_ring:^21t^d", ute.initial_ring); 362 call out(S, "arg_count:^21t^d", ute.arg_count); 363 call out(S, "ln_args:^21t^d", ute.ln_args); 364 call out(S, "arg_lengths_ptr:^21t^p", ute.arg_lengths_ptr); 365 call out(S, "args_ptr:^21t^p", ute.args_ptr); 366 367 /* Most of the following information is relevant only to absentee processes */ 368 if table_type = PT_ABSENTEE then do; /* absentee user table is longer than the other 2 */ 369 call out(S, "input_seg:^21t^a", ute.input_seg); 370 call out(S, "output_seg:^21t^a", ute.output_seg); 371 call out(S, "request_id:^21t^a", 372 request_id_ (ute.request_id)); 373 if ute.reservation_id ^= 0 then 374 call out(S, "reservation_id:^21t^24.3b", 375 unspec (ute.reservation_id)); 376 call out(S, "message_id:^21t^24.3b", ute.message_id); 377 call out(S, "deferred_time:^21t^a", 378 cv_date (ute.deferred_time)); 379 call out(S, "max_cpu_time:^21t^a", 380 cv_usecs (ute.max_cpu_time * 1000000)); 381 call out(S, "queue:^21t^d", ute.queue); 382 call out(S, "real_queue:^21t^d", ute.real_queue); 383 call display_flags ("", "", string(ute.abs_attributes), 384 ABS_ATTRIBUTE_NAMES, "abs_attributes"); 385 call display_flags ("", "", string(ute.abs_flags), 386 ABS_FLAG_NAMES, "abs_flags"); 387 call out(S, "abs_group:^21t^a", ute.abs_group); 388 if ute.sender ^= "" then 389 call out(S, "sender:^21t^a", ute.sender); 390 if ute.proxy_person || ute.proxy_project ^= "" then 391 call out(S, "proxy:^21t^a.^a", ute.proxy_person, 392 ute.proxy_project); 393 end; /* end of absentee specific items */ 394 395 /* Information about process actually created */ 396 call out(S, "proc_id:^21t^12.3b", ute.proc_id); 397 call out(S, "session_uid:^21t^d", ute.session_uid); 398 call out_line("process_authorization_range:^21t^a", 21, 399 display_access_class_$range ( 400 ute.process_authorization_range)); 401 call convert_access_audit_flags_$to_string (ute.audit, 402 audit_str, code); 403 if code ^= 0 404 then call out(S, "audit:^21t^12.3b (illegal format)", 405 ute.audit); 406 else call out_line("audit:^21t^a", 21, rtrim(audit_str)); 407 if ute.lot_size ^= 0 then 408 call out(S, "lot_size:^21t^d", ute.lot_size); 409 if ute.kst_size ^= 0 then 410 call out(S, "kst_size:^21t^d", ute.kst_size); 411 if ute.cls_size ^= 0 then 412 call out(S, "cls_size:^21t^d", ute.cls_size); 413 call out(S, "sus_channel:^21t^24.3b", unspec (ute.sus_channel)); 414 call out(S, "lowest_ring:^21t^d", ute.lowest_ring); 415 call out(S, "highest_ring:^21t^d", ute.highest_ring); 416 call out(S, "pdir_lvix:^21t^d", ute.pdir_lvix); 417 call out(S, "pdir_quota:^21t^d", ute.pdir_quota); 418 call out(S, "pdir_dir_quota:^21t^d", ute.pdir_dir_quota); 419 420 /* Information about primary terminal associated with this entry */ 421 call out(S, "tty_name:^21t^a", ute.tty_name); 422 call out(S, "terminal_type:^21t^a", ute.terminal_type); 423 call out(S, "line_type:^21t^a (^d)", line_types(ute.line_type), 424 ute.line_type); 425 call out(S, "tty_id_code:^21t^a", ute.tty_id_code); 426 call out(S, "network_connection_type:^21t^a", 427 NETWORK_TYPE_VALUES(ute.network_connection_type)); 428 call out(S, "channel:^21t^p", ute.channel); 429 430 /* Variables useful for dialed terminals */ 431 call out(S, "ndialed_consoles:^21t^d", ute.ndialed_consoles); 432 if ute.dial_qualifier ^= "" then do; 433 call out(S, 434 "dial_qualifier:^21t^a in ring ^d", 435 ute.dial_qualifier, ute.dial_server_ring); 436 call display_flags ("", "", string(ute.dial_server_flags), 437 DIAL_SERVER_FLAG_NAMES, "dial_server_flags"); 438 end; 439 call out(S, "dial_ev_chn:^21t^24.3b", unspec (ute.dial_ev_chn)); 440 441 /* Information about usage/accounting. */ 442 call out(S, "pdtep:^21t^p", ute.pdtep); 443 call out(S, "cpu_this_process:^21t^a", 444 cv_usecs (ute.cpu_this_process)); 445 call out(S, "cpu_usage:^21t^a", cv_usecs (ute.cpu_usage)); 446 call out(S, "mem_usage:^21t^f", ute.mem_usage / 1e3); 447 call out(S, "mem_this_process:^21t^f", 448 ute.mem_this_process / 1e3); 449 call out(S, "last_update_time:^21t^a", 450 cv_date (ute.last_update_time)); 451 call out(S, "session_cost:^21t$^.2f", ute.session_cost); 452 call out(S, "ndevices:^21t^d", ute.ndevices); 453 call out(S, "device_head:^21t^d", ute.device_head); 454 call out(S, "device_tail:^21t^d", ute.device_tail); 455 456 if max_rs_number > 0 then do; 457 call system_info_$rs_name ((ute.rs_number), rs_name, code); 458 call out(S, "rate structure: ^21t^d (^a)", 459 ute.rs_number, rs_name); 460 end; 461 462 /* Information for dialup_ (control variables). */ 463 call out(S, "event:^21t^24.3b", unspec (ute.event)); 464 call out(S, "uprojp:^21t^p", ute.uprojp); 465 call out(S, "login_time:^21t^a", cv_date (ute.login_time)); 466 call out(S, "cant_bump_until:^21t^a", 467 cv_date (ute.cant_bump_until)); 468 call out(S, "recent_fatal_error_time: ^a", 469 cv_date (ute.recent_fatal_error_time)); 470 call out(S, "recent_fatal_error_count: ^d", 471 ute.recent_fatal_error_count); 472 if ute.failure_reason ^= 0 then 473 call out(S, "failure_reason:^21t^d", ute.failure_reason); 474 call out(S, "count:^21t^d", ute.count); 475 call out(S, "n_processes:^21t^d", ute.n_processes); 476 call out(S, "lock_value:^21t^d", ute.lock_value); 477 call out(S, "login_result:^21t^d (^a)", ute.login_result, 478 LOGIN_RESULT_VALUES (ute.login_result)); 479 call out(S, "login_code:^21t^a", ute.login_code); 480 call out(S, "preempted:^21t^d (^a)", ute.preempted, 481 PREEMPT_VALUES(ute.preempted)); 482 call out(S, "destroy_flag:^21t^d (^a)", 483 ute.destroy_flag, TRA_VEC_VALUES (ute.destroy_flag)); 484 call out(S, "logout_type:^21t^a", ute.logout_type); 485 call out(S, "logout_index:^21t^d", ute.logout_index); 486 call out(S, "disconnect rel min:^21t^d", 487 ute.disconnection_rel_minutes); 488 call out(S, "next_disconnected_ate_index:^21t^d", 489 ute.next_disconnected_ate_index); 490 call out(S, "work_class:^21t^d", ute.work_class); 491 call out(S, "group:^21t^a", ute.group); 492 call out(S, "whotabx:^21t^d", ute.whotabx); 493 call display_flags ("", "", string(ute.uflags), UFLAG_NAMES, 494 "uflags"); 495 496 /* Information used by load_ctl_ for the process */ 497 call out(S, "user_weight:^21t^d", ute.user_weight); 498 call out(S, "standby_line:^21t^d", ute.standby_line); 499 call out(S, "bump_grace:^21t^a", cv_usecs (ute.bump_grace)); 500 501 /* Information for login server */ 502 call out(S, "ls our_handle:^21t^24.3b", 503 ute.login_server_info.our_handle); 504 call out(S, "ls his_handle:^21t^24.3b", 505 ute.login_server_info.his_handle); 506 call out(S, "ls termination_event_channel:^21t^24.3b", 507 unspec (ute.login_server_info.termination_event_channel)); 508 call out(S, "ls response_event_channel:^21t^24.3b", 509 unspec (ute.login_server_info.response_event_channel)); 510 call out(S, "ls process_id:^21t^w", 511 ute.login_server_info.process_id); 512 if oct then call odump (utep, size (ute)); 513 skip_entry: 514 end; 515 516 call out(S, "^/END ^a TABLE^/", table_name); 517 return; 518 519 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 520 521 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 522 523 524 dump_autbl_: entry (anp, hsw, osw, verb, sct, scu, stream); 525 526 table_type = PT_ABSENTEE; /* 2 = absentee */ 527 autp = anp; /* autbl is based on p */ 528 table_size = autbl.current_size; 529 goto common; 530 531 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 532 533 534 dump_dutbl_: entry (anp, hsw, osw, verb, sct, scu, stream); 535 536 table_type = PT_DAEMON; /* 3 = daemon */ 537 dutp = anp; /* dut is based on dutp */ 538 table_size = dutbl.current_size; 539 goto common; 540 541 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 542 543 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 544 545 cv_date: procedure (clock_value) returns (char(250) varying); 546 547 dcl clock_value fixed bin(71); 548 549 if clock_value = 0 then 550 return ("(unset)"); 551 else return (date_time_$format ("date_time", clock_value, "", "")); 552 553 end cv_date; 554 555 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 556 557 558 cv_usecs: 559 procedure (P_usecs) returns (char (32)); 560 561 dcl P_usecs fixed bin (71) parameter; /* number of micro seconds */ 562 563 dcl code fixed bin (35) automatic; 564 dcl time char (32) automatic; 565 dcl 1 time_offset_auto aligned like time_offset automatic; 566 567 dcl date_time_$from_clock_interval entry (fixed bin (71), fixed bin (71), ptr, 568 fixed bin (35)); 569 dcl ioa_$rsnnl entry () options (variable); 570 571 Ptime_offset = addr (time_offset_auto); 572 unspec (time_offset) = ""b; 573 time_offset.version = Vtime_offset_2; 574 time_offset.flag.hr = 1; 575 time_offset.flag.min = 1; 576 time_offset.flag.sec = 1; 577 call date_time_$from_clock_interval (0, P_usecs, Ptime_offset, code); 578 if code ^= 0 then 579 return ("-Invalid Time-"); 580 else do; 581 call ioa_$rsnnl ("^d hours, ^d mins, ^d secs", time, (0), 582 time_offset.val.hr, time_offset.val.min, time_offset.val.sec); 583 return (time); 584 end; 585 586 /* format: off */ 1 1 /* BEGIN INCLUDE FILE ..... time_offset.incl.pl1 ..... 08/23/79 J Falksen */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* Name: time_offset.incl.pl1 */ 1 6 /* */ 1 7 /* 1) This structure provides input to date_time_$offset_to_clock. */ 1 8 /* Both integer and real fields may be supplied. Each field containing data */ 1 9 /* must have its use bit set. All values may be positive or negative. */ 1 10 /* a) dw is applied first. */ 1 11 /* b) The size of a year is dependant upon WHICH year. The base year is */ 1 12 /* determined. The (adjusted) clock value is the reference for this. */ 1 13 /* The integral years (whether from fixed, float, or both) are added to */ 1 14 /* this base year. The new base year is used to determine what value the */ 1 15 /* fraction is applied to. */ 1 16 /* c) The size of a month is dependant upon WHICH month of WHICH year. */ 1 17 /* The base year/month is determined. The (adjusted) clock value is the */ 1 18 /* reference for this. The integral months are added to this base month, */ 1 19 /* forming a new base year/month. The new base month in used to determine */ 1 20 /* value the fraction is applied to. */ 1 21 /* d) Values smaller than a month are added "in parallel" because their */ 1 22 /* size is always constant (leap-seconds ignored). */ 1 23 /* */ 1 24 /* 2) This structure receives output from date_time_$from_clock_interval. */ 1 25 /* time_offset.dw is not used. The input values in val are ignored; they */ 1 26 /* are reset. flag specifies the units in which the output is to be */ 1 27 /* expressed and whether the fractional amount is desired. If only the */ 1 28 /* smallest unit is set to receive the fraction it leaves the structure in */ 1 29 /* a state that it may be given to $offset_to_clock without modification. */ 1 30 /* */ 1 31 /* Status */ 1 32 /* 06/07/83 jaf 0) Created */ 1 33 /* 84-11-19 jaf 1) Changed the form of the dw field, added named constants */ 1 34 /* */ 1 35 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 1 36 1 37 dcl 1 time_offset aligned based(Ptime_offset), 1 38 2 version char (8), 1 39 2 flag, 1 40 3 yr fixed bin, 1 41 3 mo fixed bin, 1 42 3 wk fixed bin, 1 43 3 da fixed bin, 1 44 3 hr fixed bin, 1 45 3 min fixed bin, 1 46 3 sec fixed bin, 1 47 3 Usec fixed bin, 1 48 2 val, 1 49 3 yr float dec (20), /* years */ 1 50 3 mo float dec (20), /* months */ 1 51 3 wk float dec (20), /* weeks */ 1 52 3 da float dec (20), /* days */ 1 53 3 hr float dec (20), /* hours */ 1 54 3 min float dec (20), /* minutes */ 1 55 3 sec float dec (20), /* seconds */ 1 56 3 Usec float dec (20), /* microseconds */ 1 57 2 dw, 1 58 3 flag fixed bin, /* how to select day, if at all */ 1 59 3 val fixed bin; /* Day of the week (1=Mon...7=Sun). */ 1 60 1 61 /**** time_offset.flag settings for $offset_to_clock */ 1 62 dcl (UNUSED init (0), /* this offset unit is unused */ 1 63 USED init (1), /* this offset unit has a value */ 1 64 /**** time_offset.flag settings for $from_clock_interval */ 1 65 /****UNUSED init (0), /* this offset unit is unused */ 1 66 INTEGER init (1), /* return interval unit as an integer */ 1 67 FRACTION init (2), /* return interval unit as integer+fraction */ 1 68 /**** offset.dw.flag settings for $offset_to_clock. Tells how to select the */ 1 69 /* day given in offset.dw.val */ 1 70 BEFORE init (-2),/* before day given in clock_in */ 1 71 ON_OR_BEFORE init (-1),/* on or before day given in clock_in */ 1 72 /****UNUSED init (0), /* don't apply day of week offset */ 1 73 ON_OR_AFTER init (1), /* on or after day given in clock_in */ 1 74 AFTER init (2) /* after day given in clock_in */ 1 75 ) fixed bin int static options (constant); 1 76 1 77 dcl Ptime_offset ptr, 1 78 Vtime_offset_2 char (8) int static options(constant) init("timeoff2"); 1 79 1 80 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 1 81 /* */ 1 82 /* Name: time_offset_array_.incl.pl1 */ 1 83 /* */ 1 84 /* This is an array form of time_offset. */ 1 85 /* */ 1 86 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 1 87 1 88 dcl 1 time_offset_array aligned based(Ptime_offset), 1 89 2 version char (8), 1 90 2 flag (8) fixed bin, 1 91 2 val (8) float dec (20), 1 92 2 dw, 1 93 3 (flag, val) fixed bin; 1 94 1 95 /* END INCLUDE FILE ..... time_offset.incl.pl1 ..... */ 587 588 /* format: on */ 589 end cv_usecs; 590 591 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 592 593 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 594 595 596 display_flags: 597 procedure (init_on_flags, init_off_flags, flag_bits, flag_names, 598 heading); 599 600 dcl (init_on_flags, init_off_flags) char(*) varying; 601 dcl flag_bits bit(36) aligned; 602 dcl flag_names (*) char (*) varying; 603 dcl heading char(*); 604 605 dcl j fixed bin; 606 dcl (on_flags, off_flags) char(512) varying; 607 dcl 1 (on_lflags, off_lflags) aligned like last_flag; 608 609 call FLAG_init (init_on_flags, on_flags, on_lflags); 610 call FLAG_init (init_off_flags, off_flags, off_lflags); 611 do j = lbound (flag_names, 1) to hbound (flag_names, 1); 612 if substr (flag_bits, j, 1) then 613 call FLAG_set (on_flags, on_lflags, flag_names(j)); 614 else call FLAG_set (off_flags, off_lflags, flag_names(j)); 615 end; 616 do j = j to length(flag_bits); /* print any new flags whose names we don't know yet */ 617 if substr (flag_bits, j, 1) then do; 618 two_digits = j; 619 call FLAG_set (on_flags, on_lflags, 620 heading || "(" || two_digits || ")"); 621 end; 622 end; 623 call FLAG_emit (on_flags, on_lflags); 624 call FLAG_emit (off_flags, off_lflags); 625 if on_flags ^= "" then 626 on_flags = rtrim(on_flags, SP_COMMA); 627 if off_flags ^= "" then 628 off_flags = rtrim(off_flags, SP_COMMA); 629 if on_flags ^= "" then do; 630 call out_line(heading || ":^21tON: ^a", 26, on_flags); 631 if off_flags ^= "" then 632 call out_line("^21tOFF: ^a", 26, off_flags); 633 end; 634 else if off_flags ^= "" then 635 call out_line(heading || ":^21tOFF: ^a", 26, off_flags); 636 637 end display_flags; 638 639 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 640 641 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 642 643 FLAG_emit: 644 procedure (flag_string, lflag); 645 646 dcl flag_string_init char(*) varying; 647 dcl flag_string char(512) varying; 648 dcl flag_name char(*) varying; 649 dcl 1 lflag aligned like last_flag; 650 651 if lflag.name ^= "" then 652 call FLAG_ARRAY_emit (flag_string, lflag); 653 return; 654 655 656 FLAG_init: 657 entry (flag_string_init, flag_string, lflag); 658 659 flag_string = flag_string_init; 660 call FLAG_ARRAY_init (lflag); 661 return; 662 663 664 FLAG_set: entry (flag_string, lflag, flag_name); 665 666 if index(flag_name, "(") > 0 then do; /* new flag array*/ 667 if lflag.name ^= "" then do; /* old flag array*/ 668 if before(flag_name, "(") = lflag.name then 669 /* same flag */ 670 call FLAG_ARRAY_set_upper (flag_name, lflag); 671 else do; /* different flag*/ 672 call FLAG_ARRAY_emit (flag_string, lflag); 673 call FLAG_ARRAY_set_lower (flag_name, lflag); 674 end; 675 end; 676 else /* no old flag */ 677 call FLAG_ARRAY_set_lower (flag_name, lflag); 678 end; 679 else do; 680 if lflag.name ^= "" then /* old flag array*/ 681 call FLAG_ARRAY_emit (flag_string, lflag); 682 flag_string = flag_string || flag_name; 683 flag_string = flag_string || ", "; 684 end; 685 end FLAG_emit; 686 687 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 688 689 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 690 691 692 FLAG_ARRAY_emit: 693 procedure (flag_string, lflag); 694 695 dcl flag_name char(*) varying; 696 dcl flag_string char(512) varying; 697 dcl 1 lflag aligned like last_flag; 698 699 dcl flag_x fixed bin; 700 701 flag_string = flag_string || lflag.name; 702 flag_string = flag_string || "("; 703 if lflag.range ^= "" then do; 704 flag_string = flag_string || lflag.range; 705 flag_string = flag_string || ";"; 706 end; 707 flag_string = flag_string || ltrim(char(lflag.lower_x)); 708 if lflag.lower_x ^= lflag.upper_x then do; 709 flag_string = flag_string || ":"; 710 flag_string = flag_string || ltrim(char(lflag.upper_x)); 711 end; 712 flag_string = flag_string || ")"; 713 flag_string = flag_string || ", "; 714 715 716 FLAG_ARRAY_init: 717 entry (lflag); 718 719 lflag.name = ""; 720 lflag.lower_x, lflag.upper_x = 0; 721 lflag.range = ""; 722 return; 723 724 725 FLAG_ARRAY_set_lower: 726 entry (flag_name, lflag); 727 728 flag_x = convert (flag_x, before (after (flag_name, "("), ")")); 729 lflag.name = before (flag_name, "("); 730 lflag.lower_x, lflag.upper_x = flag_x; 731 lflag.range = ""; 732 return; 733 734 FLAG_ARRAY_set_upper: 735 entry (flag_name, lflag); 736 737 flag_x = convert (flag_x, before (after (flag_name, "("), ")")); 738 if flag_x = lflag.upper_x + 1 then 739 lflag.upper_x = flag_x; 740 else do; 741 if lflag.range ^= "" then 742 lflag.range = ";"; 743 lflag.range = lflag.range || ltrim(char(lflag.lower_x)); 744 if lflag.lower_x ^= lflag.upper_x then do; 745 lflag.range = lflag.range || ":"; 746 lflag.range = lflag.range || ltrim(char(lflag.upper_x)); 747 end; 748 lflag.lower_x, lflag.upper_x = flag_x; 749 end; 750 end FLAG_ARRAY_emit; 751 752 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 753 754 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 755 756 757 odump: proc (loc, nw); 758 dcl loc ptr, nw fixed bin; 759 760 dcl kk fixed bin; 761 762 do kk = 0 to nw - 1 by 8; 763 tp = addrel (loc, kk); 764 call out(S, "^4o ^w ^w ^w ^w ^w ^w ^w ^w", kk, 765 to.w1, to.w2, to.w3, to.w4, 766 to.w5, to.w6, to.w7, to.w8); 767 end; 768 769 end odump; 770 771 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 772 773 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 774 775 776 out_line: procedure (ioa_ctl, continue_col, value); 777 778 dcl ioa_ctl char(*); 779 dcl continue_col fixed bin; 780 dcl value char(*) varying; 781 782 dcl cur_ioa char(60) varying; 783 dcl cur_line char(512) varying; 784 dcl data_region fixed bin; 785 dcl remainder char(512) varying; 786 787 dcl NON_COMMA_CHARS char(97) int static options(constant) init( 788 "!""#$%&'()=~|1234567890-^\`@{}[]+*/.<>;:_ 789 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 790 791 cur_ioa = ioa_ctl; 792 data_region = line_length - (continue_col-1); 793 remainder = value; 794 do while (length(remainder) > data_region); 795 cur_line = substr(remainder,1,data_region); 796 cur_line = rtrim(cur_line, NON_COMMA_CHARS); 797 if cur_line = "" then do; 798 cur_line = before (remainder, ","); 799 if cur_line ^= remainder then 800 cur_line = cur_line || ","; 801 end; 802 remainder = after (remainder, cur_line); 803 cur_line = ltrim(cur_line); 804 call out(S, cur_ioa, cur_line); 805 cur_ioa = "^" || ltrim(char(continue_col)) || "t^a"; 806 end; 807 if remainder ^= "" then do; 808 remainder = ltrim(remainder); 809 call out(S, cur_ioa, remainder); 810 end; 811 end out_line; 812 813 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 814 815 /* format: off */ 816 /* BEGIN INCLUDE FILE ... absentee_user_table.incl.pl1 */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* The absentee user table is the control data base for the absentee */ 2 6 /* facility. It has a header, with scheduling parameters, then one user */ 2 7 /* table entry for each logged-in absentee job. */ 2 8 /* */ 2 9 /* Programs which use this table must also include */ 2 10 /* user_table_header.incl.pl1 and user_table_entry.incl.pl1. */ 2 11 /* */ 2 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 13 2 14 2 15 /****^ HISTORY COMMENTS: 2 16* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 2 17* Replace abs_user_tab.incl.pl1. 2 18* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 2 19* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 20* Use ut_header common to all user control tables. 2 21* END HISTORY COMMENTS */ 2 22 2 23 2 24 dcl AUTBL_version_4 fixed bin int static options (constant) init (4); 2 25 2 26 dcl autp ptr automatic init (null); 2 27 2 28 dcl 1 autbl based (autp) aligned, /* a per system table to store info on absentee processes */ 2 29 2 header like ut_header, /* Header common to all user tables. */ 2 30 2 31 /* Counter elements */ 2 32 2 n_abs_run fixed bin, /* actual number of absentee processes current */ 2 33 2 max_abs_users fixed bin, /* max number of background absentee processes permitted */ 2 34 2 n_background_abs fixed bin, /* number of absentee processes not from foreground queue */ 2 35 2 n_sec_fg fixed bin, /* number of secondary foreground absentee jobs */ 2 36 2 idle_units fixed bin, /* used in adjusting abs_maxu dynamically */ 2 37 2 abs_units fixed bin, /* part of anstbl.n_units used by background absentees */ 2 38 2 n_abs (4) fixed bin, /* number of processes from each background queue */ 2 39 2 qres (4) fixed bin, /* number of slots reserved for each background queue */ 2 40 2 rsc_waiting (-1:4) fixed bin, /* number of requests waiting for resources, from each queue */ 2 41 2 qerr (-1:4) fixed bin, /* number of consecutive errors for q (dropped if > QERR_MAX) */ 2 42 2 cpu_limit (4) fixed bin (35), /* current per-queue cpu time limits */ 2 43 2 44 /* absentee user manager values. */ 2 45 2 defer_channel fixed bin (71), /* IPC for time-defered queue entries */ 2 46 2 absentee_rq_chn fixed bin (71), /* IPC channel for absentee requests */ 2 47 2 last_queue_searched fixed bin, /* highest queue looked at by scheduler */ 2 48 2 debugging fixed bin, /* take asdumps at strategic places */ 2 49 2 control, /* see also whotab.incl.pl1 */ 2 50 3 mnbz bit (1) unal, /* must not be zero */ 2 51 3 abs_maxu_auto bit (1) unal, /* 1 if abs maxu has not been set by operator command */ 2 52 3 abs_maxq_auto bit (1) unal, /* 1 if abs maxq has not been set by operator command */ 2 53 3 abs_qres_auto bit (1) unal, /* 1 if abs qres has not been set by operator command */ 2 54 3 abs_cpu_limit_auto bit (1) unal, /* 1 if abs cpu_limit has not been set by operator command */ 2 55 3 queue_dropped (-1:4) bit (1) unal, /* 1 if queue has been dropped because of errors */ 2 56 3 abs_up bit (1) unal, /* 1 if absentee facility is running */ 2 57 3 abs_stopped bit (1) unal, /* 1 if abs stop command was issued */ 2 58 /* both 1 if we're waiting for the last jobs to log out */ 2 59 3 aum_ctl bit (1) unal, /* for AUM to tell AU to start a new sequence */ 2 60 3 lc_list bit (1) unal, /* for AU to tell AUM that the lc list is non-empty */ 2 61 /* comments in AU and AUM explain aum_ctl and lc_list */ 2 62 3 control_pad (21) bit (1) unal, /* fill out rest of word */ 2 63 2 aum_pad fixed bin, 2 64 2 65 2 entry_pad (80) fixed bin, /* pad table header to 128 words */ 2 66 2 entry (0 refer (autbl.current_size)) like ute; 2 67 2 68 dcl AUTBL_CONTROL_NAMES (15) char(20) varying int static options(constant) init( 2 69 "mnbz", 2 70 "abs_maxu_auto", 2 71 "abs_maxq_auto", 2 72 "abs_qres_auto", 2 73 "abs_cpu_limit_auto", 2 74 "queue_dropped(-1)", 2 75 "queue_dropped( 0)", 2 76 "queue_dropped( 1)", 2 77 "queue_dropped( 2)", 2 78 "queue_dropped( 3)", 2 79 "queue_dropped( 4)", 2 80 "abs_up", 2 81 "abs_stopped", 2 82 "aum_ctl", 2 83 "lc_list"); 2 84 2 85 /* END INCLUDE FILE ... absentee_user_table.incl.pl1 */ 816 817 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* The answer table has one entry per "login instance" whether completed or */ 3 6 /* not. It is connected to the Channel Definition Table by the pointer */ 3 7 /* "channel". The header is used mostly by dialup_. */ 3 8 /* */ 3 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 3 10 /* */ 3 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 12 3 13 /****^ HISTORY COMMENTS: 3 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 3 15* Replace anstbl.incl.pl1. 3 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 3 17* Add anstbl.session_uid_counter. 3 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 3 19* Add anstbl.message_update_time and named constants for values of 3 20* anstbl.session, and to make all padding explicit. 3 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 3 22* Change "entry" to a placeholder so as not to require 3 23* user_table_entry.incl.pl1. 3 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 3 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 3 26* Added the flag login_server_present which indicates whether a login 3 27* server request has been received. This is used to determine whether 3 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 3 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 3 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 3 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 32* A) Moved constants for ute.pw_flags.mask_ctl into 3 33* user_table_entry.incl.pl1. 3 34* B) Added common table header to all user tables. 3 35* END HISTORY COMMENTS */ 3 36 3 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 38 /* */ 3 39 /* The anstbl structure below is divided into sections. Each section begins */ 3 40 /* with a comment describing the elements in the section. Elements are */ 3 41 /* placed within a section, based upon their function or the programs that */ 3 42 /* use them. Each section begins on a double word and is an even number of */ 3 43 /* words long. */ 3 44 /* */ 3 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 46 3 47 3 48 3 49 /* format: style4 */ 3 50 3 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 3 52 3 53 dcl ansp ptr automatic init (null); 3 54 3 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 3 56 2 header like ut_header, /* Header common to all user tables. */ 3 57 3 58 /* Counter elements. */ 3 59 2 nlin fixed bin, /* number of active lines */ 3 60 2 mxlin fixed bin, /* maximum number of active lines */ 3 61 2 n_users fixed bin, /* number of logged-in users */ 3 62 2 max_users fixed bin, /* maximum number of users allowed */ 3 63 2 n_units fixed bin, /* number of logged in units */ 3 64 2 max_units fixed bin, /* maximum number of units */ 3 65 2 n_sessions fixed bin, /* number of Multics sessions */ 3 66 2 n_pad fixed bin, 3 67 3 68 /* Name elements. */ 3 69 2 sysdir char (64) unal, /* name of main system control directory */ 3 70 2 as_tty char (8) unal, /* name of main answering service device. */ 3 71 3 72 /* Login elements. */ 3 73 2 login_word char (8) unal, /* login word if special_session=1 */ 3 74 2 session char (8) unal, /* session indicator */ 3 75 2 special_message char (128) unal, /* message to be printed for special session */ 3 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 3 77 2 message_lng fixed bin, /* length of special message */ 3 78 2 login_pad fixed bin, 3 79 3 80 /* Table update elements. */ 3 81 2 lock_count fixed bin, /* global lock for all system control tables */ 3 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 3 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 3 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 3 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 3 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 3 87 2 update_pad fixed bin, 3 88 3 89 /* dialup_ data values. */ 3 90 2 current_time fixed bin (71), /* Time of last transaction */ 3 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 3 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 3 93 3 94 /* load_ctl_ elements. */ 3 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 3 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 3 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 3 98 /* load_ctl_ load leveling desired response range: */ 3 99 2 response_high fixed bin, /* bad if user response time slower than this */ 3 100 2 response_low fixed bin, /* bad if user response time faster than this */ 3 101 2 load_ctl_pad fixed bin, 3 102 3 103 /* Login server request server data. */ 3 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 3 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 3 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 3 107 3 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 3 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 3 110 3 contents (UTE_SIZE) fixed bin; 3 111 3 112 /* constants */ 3 113 3 114 /* values for anstbl.session */ 3 115 3 116 dcl (AT_NORMAL init ("normal "), 3 117 AT_SPECIAL init ("special "), 3 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 3 119 3 120 dcl UTE_SIZE fixed bin internal static initial (300); 3 121 3 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 817 818 /* BEGIN INCLUDE FILE ... daemon_user_table.incl.pl1 */ 4 2 4 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 4 /* */ 4 5 /* The daemon_user_table has one entry per daemon. Daemons are logged in by */ 4 6 /* operator command or automatically. If they do any I/O, it is done via */ 4 7 /* the message coordinator. */ 4 8 /* */ 4 9 /* Programs using this include file must also use user_table_header.incl.pl1 */ 4 10 /* and user_table_entry.incl.pl1. */ 4 11 /* */ 4 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 13 4 14 4 15 /****^ HISTORY COMMENTS: 4 16* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 4 17* Initially coded from dutbl.incl.pl1. 4 18* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 4 19* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 20* A) Add use of ut_header common to all user control tables. 4 21* B) Corrected padding prior to first ute entry. 4 22* END HISTORY COMMENTS */ 4 23 4 24 4 25 dcl DUTBL_version_4 fixed bin int static init (4); /* version of this declaration */ 4 26 4 27 dcl dutp ptr automatic init (null); 4 28 4 29 dcl 1 dutbl based (dutp) aligned, /* Daemon user table */ 4 30 2 header like ut_header, /* Header common to all user tables. */ 4 31 4 32 2 active_count fixed bin, /* the count of active daemons managed by DUM_ */ 4 33 4 34 2 entry_pad (117) fixed bin, /* pad to 128 words */ 4 35 2 entry (0 refer (dutbl.current_size)) like ute; /* daemon user entries */ 4 36 4 37 /* END INCLUDE FILE ... daemon_user_table.incl.pl1 */ 818 819 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 5 2 5 3 /* format: style4 */ 5 4 5 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 5 6 5 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 5 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 5 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 5 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 5 11* WAIT_DISCARD_WAKEUP 5 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 5 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 5 14**/ 5 15 5 16 /****^ HISTORY COMMENTS: 5 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 5 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 5 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 5 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 22* Add named constants for instance tags. 5 23* END HISTORY COMMENTS */ 5 24 5 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 5 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 5 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 5 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 5 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 5 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 5 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 5 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 5 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 5 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 5 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 5 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 5 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 5 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 5 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 5 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 5 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 5 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 5 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 5 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 5 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 5 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 5 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 5 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 5 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 5 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 5 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 5 52 ) fixed bin internal static options (constant); 5 53 5 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 5 55 /* names of ute.destroy_flag values */ 5 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 5 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 5 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 5 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 5 60 "wait remove"); /* -13 */ 5 61 5 62 /* Values for "cdte.state", typewriter state. */ 5 63 5 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 5 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 5 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 5 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 5 68 ) fixed bin internal static options (constant); 5 69 5 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 5 71 /* names of cdte.state values */ 5 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 5 73 5 74 /* Values for "cdte.in_use" and "ate.active" */ 5 75 5 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 5 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 5 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 5 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 5 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 5 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 5 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 5 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 5 84 ) fixed bin internal static options (constant); 5 85 5 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 5 87 /* names of ute.active values */ 5 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 5 89 5 90 5 91 /**** Values for ute.tag */ 5 92 5 93 dcl (TAG_INTERACTIVE init("a"), 5 94 TAG_UFT init("f"), 5 95 TAG_ABSENTEE init("m"), 5 96 TAG_PROXY init("p"), 5 97 TAG_DAEMON init("z") 5 98 ) char(1) int static options(constant); 5 99 5 100 5 101 /**** Following are constants used to indicate to the process termination 5 102* handler the reason for the process termination. They are used by 5 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 5 104* uc_ls_destroy_request_. */ 5 105 5 106 dcl ( 5 107 PT_FPE initial (1), 5 108 PT_LOGOUT initial (4), 5 109 PT_NEW_PROC_AUTH initial (13), 5 110 PT_HANGUP initial (20), 5 111 PT_SHUTDOWN initial (21), 5 112 PT_BUMP initial (22), 5 113 PT_ALARM initial (23), 5 114 PT_DETACH initial (24), 5 115 PT_UNBUMP initial (25), 5 116 PT_OPERATOR_TERMINATE initial (27), 5 117 PT_DESTROY_REQUEST initial (30), 5 118 PT_NEW_PROC_REQUEST initial (31) 5 119 ) fixed bin (17) internal static options (constant); 5 120 5 121 /**** Values for ute.preempted: 5 122* -1 user unbumped after term signal sent 5 123* 0 user unbumped; ignore alarm___ 5 124* 1 value internally used in load_ctl_ 5 125* 2 user bumped; when alarm___ comes in, send term signal 5 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 5 127* signals come in 5 128* 4 user bumped; process sick, so destroy without sending term signal 5 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 5 130* termsgnl). */ 5 131 5 132 dcl ( 5 133 PREEMPT_UNBUMP initial (-1), 5 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 5 135 PREEMPT_LOAD_CTL initial (1), 5 136 PREEMPT_BUMPED initial (2), 5 137 PREEMPT_TERM_SENT initial (3), 5 138 PREEMPT_BUMPED_NO_TERM initial (4), 5 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 5 140 ) fixed bin (17) internal static options(constant); 5 141 5 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 5 143 "unbumped", 5 144 "not bumped, ignore alarm___", 5 145 "load_ctl_", 5 146 "bumped", 5 147 "bumped, trm_ sent", 5 148 "bumped without trm_", 5 149 "bumped, termsgnl received"); 5 150 5 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 819 820 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 6 2 6 3 /* Written November 10 1975 by Paul Green */ 6 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 6 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 6 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 6 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 6 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 6 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 6 10 6 11 6 12 /****^ HISTORY COMMENTS: 6 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 6 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 15* Add a DSA line type. 6 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 6 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 18* Add HASP_OPR to identify HASP workstation consoles with login service. 6 19* END HISTORY COMMENTS */ 6 20 6 21 6 22 declare (LINE_MC initial (-2), 6 23 LINE_TELNET initial (-1), 6 24 LINE_UNKNOWN initial (0), 6 25 LINE_ASCII initial (1), 6 26 LINE_1050 initial (2), 6 27 LINE_2741 initial (3), 6 28 LINE_ARDS initial (4), 6 29 LINE_SYNCH initial (5), 6 30 LINE_G115 initial (6), 6 31 LINE_BSC initial (7), 6 32 LINE_ETX initial (8), 6 33 LINE_VIP initial (9), 6 34 LINE_ASYNC1 initial (10), 6 35 LINE_ASYNC2 initial (11), 6 36 LINE_ASYNC3 initial (12), 6 37 LINE_SYNC1 initial (13), 6 38 LINE_SYNC2 initial (14), 6 39 LINE_SYNC3 initial (15), 6 40 LINE_POLLED_VIP initial (16), 6 41 LINE_X25LAP initial (17), 6 42 LINE_HDLC initial (18), 6 43 LINE_COLTS initial (19), 6 44 LINE_DSA initial (20), 6 45 LINE_HASP_OPR initial (21) 6 46 ) fixed bin internal static options (constant); 6 47 6 48 dcl max_line_type fixed bin int static options (constant) init (21); 6 49 6 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 6 51 6 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 6 53 6 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 6 55 "MC", /* -2 */ 6 56 "TELNET", /* -1 */ 6 57 "none", /* 0 */ 6 58 "ASCII", /* 1 */ 6 59 "1050", /* 2 */ 6 60 "2741", /* 3 */ 6 61 "ARDS", /* 4 */ 6 62 "Sync", /* 5 */ 6 63 "G115", /* 6 */ 6 64 "BSC", /* 7 */ 6 65 "202ETX", /* 8 */ 6 66 "VIP", /* 9 */ 6 67 "ASYNC1", /* 10 */ 6 68 "ASYNC2", /* 11 */ 6 69 "ASYNC3", /* 12 */ 6 70 "SYNC1", /* 13 */ 6 71 "SYNC2", /* 14 */ 6 72 "SYNC3", /* 15 */ 6 73 "POLLED_VIP", /* 16 */ 6 74 "X25LAP", /* 17 */ 6 75 "HDLC", /* 18 */ 6 76 "COLTS", /* 19 */ 6 77 "DSA", /* 20 */ 6 78 "HASP_OPR"); /* 21 */ 6 79 6 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 820 821 /* BEGIN INCLUDE FILE ... net_event_message.incl.pl1 */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(86-07-30,Kissel), approve(86-07-30,MCR7475), audit(86-08-04,Coren), 7 5* install(86-10-09,MR12.0-1181): 7 6* This include file was formerly tty_event_message.incl.pl1. It has been 7 7* updated with different fields and new constants, and renamed to 7 8* net_event_message.incl.pl1 7 9* 2) change(87-04-20,GDixon), approve(87-07-13,MCR7694), 7 10* audit(87-06-24,Hartogs), install(87-08-04,MR12.1-1056): 7 11* Add NETWORK_TYPE_VALUES array. 7 12* END HISTORY COMMENTS */ 7 13 7 14 /* describes event message passed with wakeups from the tty DIM */ 7 15 /* Created 5/24/76 by Robert S. Coren */ 7 16 7 17 /* format: style3,linecom,ifthenstmt,indthenelse,^indnoniterdo,indnoniterend,initcol3,dclind5,idind32 */ 7 18 7 19 dcl net_event_message_arg fixed bin (71); /* For calling IPC */ 7 20 dcl NET_EVENT_MESSAGE_VERSION_1 bit (2) internal static options (constant) init ("10"b); 7 21 7 22 dcl 1 net_event_message aligned based (addr (net_event_message_arg)), 7 23 2 version bit (2) unaligned, /* Currently version 1 */ 7 24 2 reason bit (16) unaligned, /* Additional info about the event */ 7 25 2 pad bit (6) unaligned, /* Must be zero */ 7 26 2 network_type fixed bin (4) unsigned unaligned, 7 27 /* See below for constants */ 7 28 2 type fixed bin (8) unsigned unaligned, 7 29 /* Type of interrupt, see below */ 7 30 2 handle fixed bin (35) aligned;/* Caller's handle (devx for MCS, handle for DSA) */ 7 31 7 32 /* Network type constants */ 7 33 7 34 dcl MCS_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (0); 7 35 dcl DSA_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (1); 7 36 dcl MOWSE_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (2); 7 37 7 38 dcl NETWORK_TYPE_VALUES (0:2) char(8) varying int static options(constant) init( 7 39 "MCS", 7 40 "DSA", 7 41 "MOWSE"); 7 42 7 43 7 44 /* MCS event message type constants */ 7 45 7 46 dcl MAX_MCS_EVENT_MSG_TYPE fixed bin internal static options (constant) init (8); 7 47 7 48 dcl MCS_UNSPECIFIED_MSG fixed bin internal static options (constant) init (0); 7 49 /* used for "start" order, etc. */ 7 50 dcl MCS_DIALUP_MSG fixed bin internal static options (constant) init (1); 7 51 /* dialup */ 7 52 dcl MCS_HANGUP_MSG fixed bin internal static options (constant) init (2); 7 53 /* hangup */ 7 54 dcl MCS_DIALOUT_MSG fixed bin internal static options (constant) init (3); 7 55 /* dialout status returned */ 7 56 dcl MCS_QUIT_MSG fixed bin internal static options (constant) init (4); 7 57 /* quit */ 7 58 dcl MCS_READ_MSG fixed bin internal static options (constant) init (5); 7 59 /* input arrived */ 7 60 dcl MCS_WRITE_MSG fixed bin internal static options (constant) init (6); 7 61 /* output completed */ 7 62 dcl MCS_LINE_STATUS_MSG fixed bin internal static options (constant) init (7); 7 63 /* control tables sent status */ 7 64 dcl MCS_MASKED_MSG fixed bin internal static options (constant) init (8); 7 65 /* channel masked by FNP */ 7 66 7 67 dcl MCS_MSG_TYPE_TO_PNAME (0:8) char (20) internal static options (constant) init ("unspecified", 7 68 /* 0 */ 7 69 "dialup", /* 1 */ 7 70 "hangup", /* 2 */ 7 71 "dialout status", /* 3 */ 7 72 "quit", /* 4 */ 7 73 "read", /* 5 */ 7 74 "write", /* 6 */ 7 75 "line status", /* 7 */ 7 76 "masked"); /* 8 */ 7 77 7 78 /* DSA event message type constants */ 7 79 7 80 dcl MAX_DSA_EVENT_MSG_TYPE fixed bin internal static options (constant) init (19); 7 81 7 82 dcl DSA_UNSPECIFIED_MSG fixed bin (8) uns internal static options (constant) init (0); 7 83 dcl DSA_ATTENTION_MSG fixed bin (8) uns internal static options (constant) init (1); 7 84 dcl DSA_DATA_ATTENTION_MSG fixed bin (8) uns internal static options (constant) init (2); 7 85 dcl DSA_DEMAND_RELEASE_SRU_MSG fixed bin (8) uns internal static options (constant) init (3); 7 86 dcl DSA_DEMAND_TURN_MSG fixed bin (8) uns internal static options (constant) init (4); 7 87 dcl DSA_DEMAND_TURN_ACK_MSG fixed bin (8) uns internal static options (constant) init (5); 7 88 dcl DSA_PURGE_MSG fixed bin (8) uns internal static options (constant) init (6); 7 89 dcl DSA_RECOVER_MSG fixed bin (8) uns internal static options (constant) init (7); 7 90 dcl DSA_RECOVER_ACK_MSG fixed bin (8) uns internal static options (constant) init (8); 7 91 dcl DSA_RELEASE_SRU_MSG fixed bin (8) uns internal static options (constant) init (9); 7 92 dcl DSA_RESUME_MSG fixed bin (8) uns internal static options (constant) init (10); 7 93 dcl DSA_RESUME_ACK_MSG fixed bin (8) uns internal static options (constant) init (11); 7 94 dcl DSA_SUSPEND_MSG fixed bin (8) uns internal static options (constant) init (12); 7 95 dcl DSA_SUSPEND_ACK_MSG fixed bin (8) uns internal static options (constant) init (13); 7 96 dcl DSA_TERM_ABNORMAL_MSG fixed bin (8) uns internal static options (constant) init (14); 7 97 dcl DSA_ESTABLISHMENT_MSG fixed bin (8) uns internal static options (constant) init (15); 7 98 dcl DSA_TERMINATED_MSG fixed bin (8) uns internal static options (constant) init (16); 7 99 dcl DSA_USER_UNASSIGN_MSG fixed bin (8) uns internal static options (constant) init (17); 7 100 dcl DSA_DATA_INPUT_MSG fixed bin (8) uns internal static options (constant) init (18); 7 101 dcl DSA_DATA_OUTPUT_MSG fixed bin (8) uns internal static options (constant) init (19); 7 102 7 103 dcl DSA_MSG_TYPE_TO_PNAME (0:19) char (20) internal static options (constant) init ("unspecified", 7 104 /* 0 */ 7 105 "attention", /* 1 */ 7 106 "data_attention", /* 2 */ 7 107 "demand_release_sru", /* 3 */ 7 108 "demand_turn", /* 4 */ 7 109 "demand_turn_ack", /* 5 */ 7 110 "purge", /* 6 */ 7 111 "recover", /* 7 */ 7 112 "recover_ack", /* 8 */ 7 113 "release_sru", /* 9 */ 7 114 "resume", /* 10 */ 7 115 "resume_ack", /* 11 */ 7 116 "suspend", /* 12 */ 7 117 "suspend_ack", /* 13 */ 7 118 "terminate_abnormal", /* 14 */ 7 119 "establishment", /* 15 */ 7 120 "terminated", /* 16 */ 7 121 "user_unassign", /* 17 */ 7 122 "data input", /* 18 */ 7 123 "data output"); /* 19 */ 7 124 7 125 /* END INCLUDE FILE ... net_event_message.incl.pl1 */ 821 822 /* BEGIN INCLUDE FILE ... ttyp.incl.pl1 */ 8 2 8 3 dcl max_tty_type fixed bin static init (11); 8 4 8 5 dcl tty_dev_type (0:16) char (8) aligned int static init /* ASCII explanations of terminal type */ 8 6 ("Network", "1050", "2741", "TTY37", "TN300", "ARDS", "CORR2741", "TTY33", 8 7 "TTY38", "G115", "type10", "ASCII", "type12", "type13", "type14", "type15", "type16"); 8 8 8 9 /* Note that device type 0 is used for both absentee and network. Distingush some other way */ 8 10 8 11 /* END INCLUDE FILE ... ttyp.incl.pl1 */ 822 823 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 9 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 9 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 9 8* attribute switches. 9 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 9 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 9 12* be deleted. 9 13* B) Add constants identifying attributes that can be changed by user at 9 14* login, etc. 9 15* END HISTORY COMMENTS */ 9 16 9 17 9 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 9 19 9 20 /* format: style4 */ 9 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 9 22 (2 administrator bit (1), /* 1 system administrator privileges */ 9 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 9 24 2 nobump bit (1), /* 2 user cannot be bumped */ 9 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 9 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 9 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 9 28* . of same project (distinct from "nobump") */ 9 29 2 nolist bit (1), /* 7 don't list user on "who" */ 9 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 9 31 2 multip bit (1), /* 9 user may have several processes */ 9 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 9 33 2 brief bit (1), /* 11 no login or logout message */ 9 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 9 35 2 vhomedir bit (1), /* 13 user may change homedir */ 9 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 9 37 2 sb_ok bit (1), /* 15 user may be standby */ 9 38 2 pm_ok bit (1), /* 16 user may be primary */ 9 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 9 40 2 daemon bit (1), /* 18 user may login as daemon */ 9 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 9 42 2 no_warning bit (1), /* 20 no warning message */ 9 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 9 44* . in PDT: this user has an individual load control group */ 9 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 9 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 9 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 9 48 2 pad bit (12)) unaligned; 9 49 9 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 9 51 ("none", /* 0 */ 9 52 "administrator", /* 1 */ 9 53 "primary_line", /* 2 */ 9 54 "nobump", /* 3 */ 9 55 "guaranteed_login", /* 4 */ 9 56 "anonymous", /* 5 */ 9 57 "nopreempt", /* 6 */ 9 58 "nolist", /* 7 */ 9 59 "dialok", /* 8 */ 9 60 "multip", /* 9 */ 9 61 "bumping", /* 10 */ 9 62 "brief", /* 11 */ 9 63 "vinitproc", /* 12 */ 9 64 "vhomedir", /* 13 */ 9 65 "nostartup", /* 14 */ 9 66 "no_secondary", /* 15 */ 9 67 "no_prime", /* 16 */ 9 68 "no_eo", /* 17 */ 9 69 "daemon", /* 18 */ 9 70 "", /* 19 vdim OBSOLETE */ 9 71 "no_warning", /* 20 */ 9 72 "igroup", /* 21 */ 9 73 "save_pdir", /* 22 */ 9 74 "disconnect_ok", /* 23 */ 9 75 "save_on_disconnect"); /* 24 */ 9 76 9 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 9 78 ("null", /* 0 */ 9 79 "admin", /* 1 */ 9 80 "", "", /* 2 - 3 */ 9 81 "guar", /* 4 */ 9 82 "anon", /* 5 */ 9 83 "", "", /* 6 - 7 */ 9 84 "dial", /* 8 */ 9 85 "multi_login", /* 9 */ 9 86 "preempting", /* 10 */ 9 87 "", /* 11 */ 9 88 "v_process_overseer", /* 12 */ 9 89 "v_home_dir", /* 13 */ 9 90 "no_start_up", /* 14 */ 9 91 "no_sec", /* 15 */ 9 92 "no_primary", /* 16 */ 9 93 "no_edit_only", /* 17 */ 9 94 "op_login", /* 18 */ 9 95 "", /* 19 */ 9 96 "nowarn", /* 20 */ 9 97 "", "", "", /* 21 - 23 */ 9 98 "save"); /* 24 */ 9 99 9 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 9 101 options(constant) init("000000000010000000010000000000000000"b); 9 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 9 103 9 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 9 105 options(constant) init("000000000010000000010000000000000000"b); 9 106 /* PDT value for (brief, no_warning) is default */ 9 107 9 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 9 109 options(constant) init("000100000110010000010000000000000000"b); 9 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 9 111 10 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 10 2 10 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 4 /* */ 10 5 /* This include file describes the attributes of an absentee job. It is */ 10 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 10 7 /* and PIT.incl.pl1. */ 10 8 /* */ 10 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 10 10 11 /****^ HISTORY COMMENTS: 10 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 10 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 14* Separated abs_attributes from the request structure 10 15* (abs_message_format.incl.pl1) so that the identical structure could be 10 16* used in the ute structure (user_table_entry.incl.pl1). 10 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 10 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 19* Added ABS_ATTRIBUTE_NAMES array. 10 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 10 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 10 22* Added the no_start_up flag. SCP6367 10 23* END HISTORY COMMENTS */ 10 24 10 25 dcl 1 user_abs_attributes aligned based, 10 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 10 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 10 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 10 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 10 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 10 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 10 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 10 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 10 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 10 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 10 36 2 attributes_pad bit (26) unaligned; 10 37 10 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 10 39 "restartable", 10 40 "user_deferred_until_time", 10 41 "proxy", 10 42 "set_bit_cnt", 10 43 "time_in_gmt", 10 44 "user_deferred_indefinitely", 10 45 "secondary_ok", 10 46 "truncate_absout", 10 47 "restarted", 10 48 "no_start_up"); 10 49 10 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 10 51 9 112 9 113 9 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 823 824 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 11 2 11 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 4 /* */ 11 5 /* This include file requires that the user include */ 11 6 /* user_attributes.incl.pl1 as well. It also includes */ 11 7 /* abs_attributes.incl.pl1 itself. */ 11 8 /* */ 11 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 11 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 11 11 /* */ 11 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 13 11 14 /****^ HISTORY COMMENTS: 11 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 11 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 11 17* This comment for hcom. 11 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 11 19* anstbl.incl.pl1, and dutbl.incl.pl1. 11 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 11 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 11 22* 84-07-12 BIM added min_process_authorization 11 23* 84-12-31 Keith Loepere added pdir_dir_quota 11 24* 85-01-16 by E. Swenson to add ute.session_uid 11 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 11 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 11 27* Added fields for DSA login server support. 11 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 11 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 11 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 11 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 11 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 11 33* Added disconnection_rel_minutes. 11 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 11 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 36* Changed structure under ute.abs_attributes to use like structure in 11 37* abs_attributes.incl.pl1. This allows the same attributes to be used 11 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 11 39* file. 11 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 11 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 11 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 11 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 45* A) Global reorganization to locate things by type of data. 11 46* B) Eliminate ute.uflags.logged_in. 11 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 11 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 49* A) Reduced overlength person and project fields to proper length. 11 50* B) Adjusted dialed-console section to begin on even word boundary. 11 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 11 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 53* Add ute.line_type. 11 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 11 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 11 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 11 57* for the storage. SCP6367 11 58* END HISTORY COMMENTS */ 11 59 11 60 /* format: style4 */ 11 61 11 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 63 /* */ 11 64 /* Each of the named sections below defines a type of data. Typing comes */ 11 65 /* from data associated with the ute entry itself, with the person, with */ 11 66 /* login argument data, from the main user of the data (eg, dialup_, */ 11 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 11 68 /* and is an even number of words long. The total structure is 300 decimal */ 11 69 /* words long. */ 11 70 /* */ 11 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 72 11 73 11 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 11 75 11 76 dcl utep pointer automatic init (null); 11 77 11 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 11 79 11 80 /* Variables which give state of this entry */ 11 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 11 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 11 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 11 84 2 next_free fixed bin, /* points to previous free entry */ 11 85 11 86 /* Information user gave about person_id associated with this entry. */ 11 87 2 person char (24) unal, /* user's name */ 11 88 2 project char (12) unal, /* project of absentee user */ 11 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 11 90 2 tag_pad bit (27) unal, 11 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 11 92 2 login_flags, /* flags for login data */ 11 93 3 cpw bit (1) unal, /* flag for wish to change password */ 11 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 11 95 3 special_pw unal, /* dial or slave */ 11 96 4 dial_pw bit (1) unal, /* true if dial -user */ 11 97 4 slave_pw bit (1) unal, /* true if slave -user */ 11 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 11 99 3 cda bit (1) unal, /* flag to change default authorization */ 11 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 11 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 11 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 11 103 3 pw_pad bit (25) unal, /* spare parts */ 11 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 11 105 /* Must remain last in pw_flags so it does not */ 11 106 /* appear in PW_FLAG_VALUES array below. */ 11 107 2 generated_pw char (8) unal, /* user must type this as new password */ 11 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 11 109 2 process_authorization bit (72), /* access_authorization of this process */ 11 110 11 111 /* Information user gave about process associated with this entry. */ 11 112 2 outer_module char (32) unal, /* Name of console dim */ 11 113 2 home_dir char (64) unal, /* initial home directory */ 11 114 2 init_proc char (64) unal, /* name of login responder */ 11 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 11 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 11 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 11 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 11 119 2 initial_ring fixed bin, /* ring process will be started in */ 11 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 11 121 2 ln_args fixed bin, /* length of string containing arguments */ 11 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 11 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 11 124 11 125 /* Most of the following information is relevant only to absentee processes */ 11 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 11 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 11 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 11 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 11 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 11 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 11 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 11 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 11 134* (but see uflags.adjust_abs_q_no). */ 11 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 11 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 11 137 2 abs_flags, 11 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 11 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 11 140 3 abs_flags_pad bit (34) unal, 11 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 11 142 2 sender char (32) unal, /* name of RJE station that job is from */ 11 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 11 144 2 proxy_project char (9) unal, 11 145 2 proxy_project_pad char (3) unal, 11 146 2 abs_pad fixed bin, 11 147 11 148 /* Information about process actually created */ 11 149 2 proc_id bit (36), /* process id of absentee process */ 11 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 11 151 2 process_authorization_range (2) bit (72) aligned, 11 152 2 audit bit (36), /* audit flags for user */ 11 153 2 lot_size fixed bin, /* Size of linkage offset table */ 11 154 2 kst_size fixed bin, /* Size of process known segment table */ 11 155 2 cls_size fixed bin, /* Size of process combined linkage */ 11 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 11 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 11 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 11 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 11 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 11 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 11 162 2 pdir_pad fixed bin(17) unal, 11 163 2 process_pad fixed bin, 11 164 11 165 /* Information about primary terminal associated with this entry */ 11 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 11 167 2 terminal_type char (32) unaligned, /* terminal type */ 11 168 2 line_type fixed bin, /* line type */ 11 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 11 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 11 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 11 172 11 173 /* Variables useful for dialed terminals */ 11 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 11 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 11 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 11 177 2 dial_server_flags, 11 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 11 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 11 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 11 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 11 182 11 183 /* Information about usage/accounting. Device usage meters are in a 11 184* separate segment, "devtab" */ 11 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 11 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 11 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 11 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 11 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 11 190 2 last_update_time fixed bin (71), /* time of last account update */ 11 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 11 192 2 ndevices fixed bin, /* Count of attached devices */ 11 193 2 device_head fixed bin, /* Table index of head of device chain */ 11 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 11 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 11 196 2 rs_number_pad bit(30) unal, 11 197 2 usage_pad fixed bin, 11 198 11 199 /* Information for dialup_ (control variables). */ 11 200 2 event fixed bin (71), /* event associated with channel or user manager */ 11 201 2 uprojp ptr, /* ptr to user project sat entry */ 11 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 11 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 11 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 11 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 11 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 11 207 2 count fixed bin, /* counter for logins and dialups */ 11 208 2 n_processes fixed bin, /* number of processes created in this session */ 11 209 2 lock_value fixed bin, /* number of locks set for this entry */ 11 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 11 211 2 login_code char (8) unal, /* login command from LOGIN line */ 11 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 11 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 11 214 2 logout_type char (4) unal, /* type of logout */ 11 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 11 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 11 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 11 218 2 work_class fixed bin, /* work class used by priority scheduler */ 11 219 2 group char (8) unal, /* party group identifier */ 11 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 11 221 11 222 2 uflags, /* Miscellaneous flags */ 11 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 11 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 11 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 11 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 11 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 11 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 11 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 11 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 11 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 11 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 11 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 11 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 11 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 11 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 11 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 11 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 11 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 11 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 11 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 11 242 3 uflags_pad bit (17) unal, 11 243 11 244 /* Information used by load_ctl_ for the process */ 11 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 11 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 11 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 11 248 11 249 11 250 /* Information for login server */ 11 251 2 login_server_info, 11 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 11 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 11 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 11 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 11 256 3 process_id bit (36) aligned, /* process_id of login server */ 11 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 11 258 11 259 /* values for ute.process_type */ 11 260 11 261 dcl (PT_INTERACTIVE initial (1), 11 262 PT_ABSENTEE initial (2), 11 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 11 264 11 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 11 266 "INVALID-TYPE", 11 267 "interactive", 11 268 "absentee", 11 269 "daemon"); 11 270 11 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 11 272 "UNKNOWN-TABLE", 11 273 "answer_table", 11 274 "absentee_user_table", 11 275 "daemon_user_table"); 11 276 11 277 11 278 /* values for ute.pw_flags.mask_ctl */ 11 279 11 280 dcl (DO_MASK init ("00"b), 11 281 DONT_MASK init ("01"b), 11 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 11 283 11 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 11 285 "do_mask", "dont_mask", "derive_mask", ""); 11 286 11 287 11 288 /* names for ute.pw_flags */ 11 289 11 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 11 291 "cpw", 11 292 "generate_pw", 11 293 "dial_pw", 11 294 "slave_pw", 11 295 "cdp", 11 296 "cda", 11 297 "auth_given", 11 298 "noprint", 11 299 "operator"); 11 300 11 301 /* names for ute.uflags */ 11 302 11 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 11 304 "dont_call_init_admin", 11 305 "ip_given", 11 306 "ss_given", 11 307 "lvs_attached", 11 308 "send_initial_string", 11 309 "adjust_abs_q_no", 11 310 "foreground_secondary_ok", 11 311 "foreground_job", 11 312 "sus_sent", 11 313 "suspended", 11 314 "ignore_cpulimit", 11 315 "deferral_logged", 11 316 "save_if_disconnected", 11 317 "disconnected", 11 318 "disconnected_list", 11 319 "proc_create_ok", 11 320 "activity_can_unbump", 11 321 "fpe_causes_logout", 11 322 "user_specified_immediate"); 11 323 11 324 /* names for ute.abs_flags */ 11 325 11 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 11 327 "abs_run", 11 328 "notify"); 11 329 11 330 /* names of ute.dial_server_flags */ 11 331 11 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 11 333 "registered", 11 334 "privileged"); 11 335 11 336 /* values of ute.login_result */ 11 337 11 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 11 339 "logged in", 11 340 "login failed, hangup", 11 341 "login failed, try again"); 11 342 11 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 824 825 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 12 2 12 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 4 /* */ 12 5 /* This include file declares the header shared by the answer_table, */ 12 6 /* absentee_user_table and daemon_user_table include files. */ 12 7 /* */ 12 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 9 12 10 /****^ HISTORY COMMENTS: 12 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 12 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 13* Initial coding. 12 14* END HISTORY COMMENTS */ 12 15 12 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 12 17 2 header_version fixed bin, /* version of the header (3) */ 12 18 2 entry_version fixed bin, /* version of user table entries */ 12 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 12 20 2 header_length fixed bin, /* length of the header */ 12 21 2 max_size fixed bin, /* max number of entries in this table */ 12 22 2 current_size fixed bin, /* actual size of table (in entries) */ 12 23 2 number_free fixed bin, /* number of free entries in the table. */ 12 24 2 first_free fixed bin, /* index of first entry in the free list. */ 12 25 2 as_procid bit (36), /* process ID of user table manager process */ 12 26 2 ut_header_pad fixed bin; 12 27 12 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 825 826 827 dcl 1 uth aligned like ut_header based(uthp), 828 uthp ptr; 829 830 end dump_anstbl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0904.5 dump_anstbl_.pl1 >special_ldd>install>MR12.2-1047>dump_anstbl_.pl1 587 1 12/21/84 1239.8 time_offset.incl.pl1 >ldd>include>time_offset.incl.pl1 816 2 08/06/87 0913.4 absentee_user_table.incl.pl1 >ldd>include>absentee_user_table.incl.pl1 817 3 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 818 4 08/06/87 0912.9 daemon_user_table.incl.pl1 >ldd>include>daemon_user_table.incl.pl1 819 5 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 820 6 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 821 7 08/06/87 0913.5 net_event_message.incl.pl1 >ldd>include>net_event_message.incl.pl1 822 8 08/29/75 0838.6 ttyp.incl.pl1 >ldd>include>ttyp.incl.pl1 823 9 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 9-112 10 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 824 11 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.incl.pl1 825 12 08/06/87 0913.6 user_table_header.incl.pl1 >ldd>include>user_table_header.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ABS_ATTRIBUTE_NAMES 000414 constant varying char(28) initial array dcl 10-38 set ref 383* ABS_FLAG_NAMES 000071 constant varying char(8) initial array dcl 11-326 set ref 385* ACTIVE_VALUES 000775 constant char(18) initial array dcl 5-86 set ref 305* AUTBL_CONTROL_NAMES 001213 constant varying char(20) initial array dcl 2-68 set ref 260* DIAL_SERVER_FLAG_NAMES 000061 constant varying char(12) initial array dcl 11-332 set ref 436* LOGIN_RESULT_VALUES 000034 constant varying char(24) initial array dcl 11-338 set ref 477* MASK_CTL_NAMES 000350 constant varying char(12) initial array dcl 11-284 ref 331 332 NETWORK_TYPE_VALUES 000534 constant varying char(8) initial array dcl 7-38 set ref 426* NL_SP constant char(2) initial packed unaligned dcl 120 ref 201 201 NON_COMMA_CHARS 000000 constant char(97) initial packed unaligned dcl 787 ref 796 NOW_FREE constant fixed bin(17,0) initial dcl 5-76 ref 277 312 PREEMPT_VALUES 000705 constant varying char(28) initial array dcl 5-142 set ref 480* PT_ABSENTEE constant fixed bin(17,0) initial dcl 11-261 ref 173 235 273 368 526 PT_DAEMON constant fixed bin(17,0) initial dcl 11-261 ref 175 265 536 PT_INTERACTIVE constant fixed bin(17,0) initial dcl 11-261 ref 147 171 189 271 PW_FLAG_NAMES 000304 constant varying char(12) initial array dcl 11-290 set ref 337* P_usecs parameter fixed bin(71,0) dcl 561 set ref 558 577* Ptime_offset 001042 automatic pointer dcl 1-77 set ref 571* 572 573 574 575 576 577* 581 581 581 S 000100 automatic char(32) dcl 75 set ref 158* 166* 178* 179* 180* 182* 183* 184* 185* 186* 187* 190* 191* 192* 193* 194* 195* 196* 197* 198* 199* 200* 201* 203* 205* 206* 207* 209* 211* 213* 215* 216* 218* 219* 221* 222* 223* 224* 225* 226* 228* 230* 236* 237* 238* 239* 240* 241* 242* 243* 244* 246* 247* 248* 250* 252* 259* 266* 303* 305* 307* 310* 312* 314* 319* 320* 321* 329* 341* 346* 351* 352* 353* 355* 361* 362* 363* 364* 365* 369* 370* 371* 373* 376* 377* 379* 381* 382* 387* 388* 390* 396* 397* 403* 407* 409* 411* 413* 414* 415* 416* 417* 418* 421* 422* 423* 425* 426* 428* 431* 433* 439* 442* 443* 445* 446* 447* 449* 451* 452* 453* 454* 458* 463* 464* 465* 466* 468* 470* 472* 474* 475* 476* 477* 479* 480* 482* 484* 485* 486* 488* 490* 491* 492* 497* 498* 499* 502* 504* 506* 508* 510* 516* 764* 804* 809* SP_COMMA constant char(2) initial packed unaligned dcl 122 ref 625 627 TABLE_NAMES 000370 constant char(20) initial array packed unaligned dcl 11-271 set ref 180* TRA_VEC_VALUES 001033 constant char(32) initial array dcl 5-54 set ref 482* UFLAG_NAMES 000077 constant varying char(24) initial array dcl 11-303 set ref 493* UTE_SIZE constant fixed bin(17,0) initial dcl 3-120 ref 232 232 232 232 271 271 Vtime_offset_2 000032 constant char(8) initial packed unaligned dcl 1-77 ref 573 abs_attributes 247 based structure level 2 dcl 11-78 ref 383 383 abs_flags 250 based structure level 2 dcl 11-78 ref 385 385 abs_group 251 based char(8) level 2 packed packed unaligned dcl 11-78 set ref 387* abs_units 17 based fixed bin(17,0) level 2 dcl 2-28 set ref 241* absentee_rq_chn 52 based fixed bin(71,0) level 2 dcl 2-28 ref 250 250 acct_alarm_fail 124 based fixed bin(17,0) level 2 dcl 3-55 set ref 215* acct_last_update_time 122 based fixed bin(71,0) level 2 dcl 3-55 set ref 213* acct_update_chn 120 based fixed bin(71,0) level 2 dcl 3-55 ref 211 211 active based fixed bin(17,0) level 2 dcl 11-78 set ref 277 294 296 298 299 305* 305 312 active_count 12 based fixed bin(17,0) level 2 dcl 4-29 set ref 266* addr builtin function dcl 100 ref 232 232 262 262 267 267 271 273 275 357 357 359 359 571 addrel builtin function dcl 100 ref 763 after builtin function dcl 100 ref 163 728 737 802 anonymous 16 based fixed bin(17,0) level 2 dcl 11-78 set ref 325 327 329* anp parameter pointer dcl 67 ref 13 148 524 527 534 537 ansp 000706 automatic pointer initial dcl 3-53 set ref 148* 149 171 190 191 192 193 194 195 196 197 198 199 200 201 201 203 205 206 207 209 209 211 211 213 215 216 218 219 221 222 223 224 225 226 226 228 230 232* 232 232 262* 267* 271 3-53* anstbl based structure level 1 dcl 3-55 arg_count 102 based fixed bin(17,0) level 2 dcl 11-78 set ref 362* arg_lengths_ptr 104 based pointer level 2 dcl 11-78 set ref 364* args_ptr 106 based pointer level 2 dcl 11-78 set ref 365* as_procid 10 based bit(36) level 2 dcl 827 set ref 187* as_tty 42 based char(8) level 2 packed packed unaligned dcl 3-55 set ref 198* at 100 based structure level 2 dcl 11-78 set ref 359 359 audit 304 based bit(36) level 2 dcl 11-78 set ref 401* 403* audit_str 000443 automatic char(512) packed unaligned dcl 75 set ref 401* 406 406 autbl based structure level 1 dcl 2-28 auto_maxu 133 based fixed bin(17,0) level 2 dcl 3-55 set ref 222* autp 000704 automatic pointer initial dcl 2-26 set ref 173 236 237 238 239 240 241 242 243 244 246 247 248 248 250 250 252 255 257 259 260 260 262 262 273 527* 528 2-26* before builtin function dcl 100 ref 162 668 728 729 737 798 binary builtin function dcl 100 ref 331 332 bump_grace 434 based fixed bin(71,0) level 2 dcl 11-78 set ref 499* 499* cant_bump_until 404 based fixed bin(71,0) level 2 dcl 11-78 set ref 466* channel 341 based pointer level 2 packed packed unaligned dcl 11-78 set ref 428* char builtin function dcl 100 ref 707 710 743 746 805 clock builtin function dcl 100 ref 166 166 clock_value parameter fixed bin(71,0) dcl 547 set ref 545 549 551* cls_size 307 based fixed bin(17,0) level 2 dcl 11-78 set ref 411 411* code 000734 automatic fixed bin(35,0) dcl 563 in procedure "cv_usecs" set ref 577* 578 code 000235 automatic fixed bin(35,0) dcl 75 in procedure "dump_anstbl_" set ref 153* 154 283* 285 401* 403 457* continue_col parameter fixed bin(17,0) dcl 779 ref 776 792 805 control 56 based structure level 2 dcl 2-28 ref 260 260 convert builtin function dcl 100 ref 728 737 convert_access_audit_flags_$to_string 000010 constant entry external dcl 106 ref 401 count 412 based fixed bin(17,0) level 2 dcl 11-78 set ref 474* cpu_limit 44 based fixed bin(35,0) array level 2 dcl 2-28 set ref 247* cpu_this_process 356 based fixed bin(71,0) level 2 dcl 11-78 set ref 443* 443* cpu_usage 360 based fixed bin(71,0) level 2 dcl 11-78 set ref 445* 445* cur_ioa 000100 automatic varying char(60) dcl 782 set ref 791* 804* 805* 809* cur_line 000120 automatic varying char(512) dcl 783 set ref 795* 796* 796 797 798* 799 799* 799 802 803* 803 804* current_size 5 based fixed bin(17,0) level 3 in structure "dutbl" dcl 4-29 in procedure "dump_anstbl_" ref 538 current_size 5 based fixed bin(17,0) level 3 in structure "autbl" dcl 2-28 in procedure "dump_anstbl_" ref 528 current_size 5 based fixed bin(17,0) level 3 in structure "anstbl" dcl 3-55 in procedure "dump_anstbl_" ref 149 current_size 5 based fixed bin(17,0) level 2 in structure "uth" dcl 827 in procedure "dump_anstbl_" set ref 184* current_time 126 based fixed bin(71,0) level 2 dcl 3-55 set ref 216* data_region 000321 automatic fixed bin(17,0) dcl 784 set ref 792* 794 795 date_time_$format 000012 constant entry external dcl 107 ref 551 date_time_$from_clock_interval 000036 constant entry external dcl 567 ref 577 debugging 55 based fixed bin(17,0) level 2 dcl 2-28 set ref 255 257 259* defer_channel 50 based fixed bin(71,0) level 2 dcl 2-28 ref 248 248 deferred_time 242 based fixed bin(71,0) level 2 dcl 11-78 set ref 377* destroy_flag 421 based fixed bin(17,0) level 2 dcl 11-78 set ref 482* 482 device_head 372 based fixed bin(17,0) level 2 dcl 11-78 set ref 453* device_tail 373 based fixed bin(17,0) level 2 dcl 11-78 set ref 454* dial_ev_chn 352 based fixed bin(71,0) level 2 dcl 11-78 ref 439 439 dial_qualifier 343 based char(22) level 2 packed packed unaligned dcl 11-78 set ref 432 433* dial_server_flags 351 based structure level 2 dcl 11-78 ref 436 436 dial_server_ring 350(18) based fixed bin(3,0) level 2 packed packed unsigned unaligned dcl 11-78 set ref 433* disconnection_rel_minutes 424 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 486* display_access_class_ 000014 constant entry external dcl 108 ref 347 347 display_access_class_$range 000016 constant entry external dcl 109 ref 398 398 dutbl based structure level 1 dcl 4-29 dutp 000710 automatic pointer initial dcl 4-27 set ref 175 266 267 267 275 537* 538 4-27* entry 200 based structure array level 2 in structure "dutbl" dcl 4-29 in procedure "dump_anstbl_" set ref 267 267 275 entry 200 based structure array level 2 in structure "anstbl" dcl 3-55 in procedure "dump_anstbl_" set ref 232 232 271 entry 200 based structure array level 2 in structure "autbl" dcl 2-28 in procedure "dump_anstbl_" set ref 262 262 273 entry_version 1 based fixed bin(17,0) level 2 dcl 827 set ref 179* event 376 based fixed bin(71,0) level 2 dcl 11-78 ref 463 463 extra_units 134 based fixed bin(17,0) level 2 dcl 3-55 set ref 223* failure_reason 411 based fixed bin(17,0) level 2 dcl 11-78 set ref 472 472* first_free 7 based fixed bin(17,0) level 2 dcl 827 set ref 186* fixed builtin function dcl 100 ref 232 232 262 262 267 267 flag 2 based structure level 2 dcl 1-37 flag_bits parameter bit(36) dcl 601 ref 596 612 616 617 flag_name parameter varying char dcl 648 in procedure "FLAG_emit" set ref 664 666 668 668* 673* 676* 682 flag_name parameter varying char dcl 695 in procedure "FLAG_ARRAY_emit" ref 725 728 729 734 737 flag_names parameter varying char array dcl 602 set ref 596 611 611 612* 614* flag_string parameter varying char(512) dcl 647 in procedure "FLAG_emit" set ref 643 651* 656 659* 664 672* 680* 682* 682 683* 683 flag_string parameter varying char(512) dcl 696 in procedure "FLAG_ARRAY_emit" set ref 692 701* 701 702* 702 704* 704 705* 705 707* 707 709* 709 710* 710 712* 712 713* 713 flag_string_init parameter varying char dcl 646 ref 656 659 flag_x 000112 automatic fixed bin(17,0) dcl 699 set ref 728* 728 730 737* 737 738 738 748 format_attributes_ 000020 constant entry external dcl 110 ref 357 359 generated_pw 20 based char(8) level 2 packed packed unaligned dcl 11-78 set ref 341 341* get_line_length_$switch 000022 constant entry external dcl 111 ref 153 group 426 based char(8) level 2 packed packed unaligned dcl 11-78 set ref 491* hbound builtin function dcl 100 ref 611 hdr 000114 automatic bit(1) packed unaligned dcl 75 set ref 160* 169 header based structure level 2 in structure "autbl" dcl 2-28 in procedure "dump_anstbl_" header based structure level 2 in structure "dutbl" dcl 4-29 in procedure "dump_anstbl_" header based structure level 2 in structure "anstbl" dcl 3-55 in procedure "dump_anstbl_" header_length 3 based fixed bin(17,0) level 2 dcl 827 set ref 182* header_version based fixed bin(17,0) level 2 dcl 827 set ref 178* heading parameter char packed unaligned dcl 603 ref 596 619 630 634 highest_ring 312(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 415* his_handle 440 based bit(72) level 3 dcl 11-78 set ref 504* home_dir 36 based char(64) level 2 packed packed unaligned dcl 11-78 set ref 352* hr 6 based fixed bin(17,0) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 574* hr 42 based float dec(20) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 581* hsw parameter bit(1) packed unaligned dcl 67 ref 13 160 524 534 i 000643 automatic fixed bin(17,0) dcl 75 set ref 270* 271 273 275 303* 310 310* idle_units 16 based fixed bin(17,0) level 2 dcl 2-28 set ref 240* index builtin function dcl 100 ref 666 init_off_flags parameter varying char dcl 600 set ref 596 610* init_on_flags parameter varying char dcl 600 set ref 596 609* init_proc 56 based char(64) level 2 packed packed unaligned dcl 11-78 ref 353 353 355 355 initial_ring 101 based fixed bin(17,0) level 2 dcl 11-78 set ref 361* input_seg 110 based char(168) level 2 packed packed unaligned dcl 11-78 set ref 369* ioa_$ioa_stream 000024 constant entry external dcl 112 ref 159 ioa_$rsnnl 000040 constant entry external dcl 569 ref 581 ioa_ctl parameter char packed unaligned dcl 778 ref 776 791 ip_len 76 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 ref 353 353 355 355 j 001052 automatic fixed bin(17,0) dcl 605 set ref 611* 612 612 614* 616* 616* 617 618* kk 001526 automatic fixed bin(17,0) dcl 760 set ref 762* 763 764* kst_size 306 based fixed bin(17,0) level 2 dcl 11-78 set ref 409 409* last_flag based structure level 1 dcl 124 last_queue_searched 54 based fixed bin(17,0) level 2 dcl 2-28 set ref 252* last_update_time 366 based fixed bin(71,0) level 2 dcl 11-78 set ref 449* lbound builtin function dcl 100 ref 611 length builtin function dcl 100 ref 616 794 lflag parameter structure level 1 dcl 697 in procedure "FLAG_ARRAY_emit" set ref 692 716 725 734 lflag parameter structure level 1 dcl 649 in procedure "FLAG_emit" set ref 643 651* 656 660* 664 668* 672* 673* 676* 680* line_length 000236 automatic fixed bin(17,0) dcl 75 set ref 153* 154* 792 line_type 336 based fixed bin(17,0) level 2 dcl 11-78 set ref 423 423* line_types 000545 constant char(16) initial array packed unaligned dcl 6-54 set ref 423* ln_args 103 based fixed bin(17,0) level 2 dcl 11-78 set ref 363* loc parameter pointer dcl 758 ref 757 763 lock_count 114 based fixed bin(17,0) level 2 dcl 3-55 set ref 206* lock_value 414 based fixed bin(17,0) level 2 dcl 11-78 set ref 297 476* login_code 416 based char(8) level 2 packed packed unaligned dcl 11-78 set ref 479* login_flags 17 based structure level 2 dcl 11-78 ref 337 337 login_result 415 based fixed bin(17,0) level 2 dcl 11-78 set ref 477* 477 login_server_info 436 based structure level 2 dcl 11-78 login_server_present 143 based bit(1) level 2 dcl 3-55 set ref 230* login_time 402 based fixed bin(71,0) level 2 dcl 11-78 set ref 465* login_word 44 based char(8) level 2 packed packed unaligned dcl 3-55 set ref 199* logout_index 423 based fixed bin(17,0) level 2 dcl 11-78 set ref 485* logout_type 422 based char(4) level 2 packed packed unaligned dcl 11-78 set ref 484* lot_size 305 based fixed bin(17,0) level 2 dcl 11-78 set ref 407 407* lower_x 6 parameter fixed bin(17,0) level 2 dcl 697 set ref 707 708 720* 730* 743 744 748* lowest_ring 312 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 414* ls_request_server_event_channel 140 based fixed bin(71,0) level 2 dcl 3-55 ref 226 226 ls_request_server_process_id 142 based bit(36) level 2 dcl 3-55 set ref 228* ltrim builtin function dcl 100 ref 707 710 743 746 803 805 808 mask_ctl 17(34) based bit(2) level 3 packed packed unaligned dcl 11-78 ref 331 332 match_star_name_ 000026 constant entry external dcl 113 ref 283 max_abs_users 13 based fixed bin(17,0) level 2 dcl 2-28 set ref 237* max_cpu_time 244 based fixed bin(35,0) level 2 dcl 11-78 ref 379 379 max_rs_number 000702 automatic fixed bin(17,0) dcl 96 set ref 155* 456 max_size 4 based fixed bin(17,0) level 2 dcl 827 set ref 183* max_units 17 based fixed bin(17,0) level 2 dcl 3-55 set ref 195* max_users 15 based fixed bin(17,0) level 2 dcl 3-55 set ref 193* mem_this_process 364 based fixed bin(71,0) level 2 dcl 11-78 ref 447 mem_usage 362 based fixed bin(71,0) level 2 dcl 11-78 ref 446 message_id 240 based bit(72) level 2 dcl 11-78 set ref 376* message_lng 112 based fixed bin(17,0) level 2 dcl 3-55 set ref 205* message_update_time 110 based fixed bin(71,0) level 2 dcl 3-55 set ref 203* min 50 based float dec(20) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 581* min 7 based fixed bin(17,0) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 575* mode 000116 automatic fixed bin(17,0) dcl 75 set ref 157* 280 280 296 297 298 299 mxlin 13 based fixed bin(17,0) level 2 dcl 3-55 set ref 191* n_abs 20 based fixed bin(17,0) array level 2 dcl 2-28 set ref 242* n_abs_run 12 based fixed bin(17,0) level 2 dcl 2-28 set ref 236* n_background_abs 14 based fixed bin(17,0) level 2 dcl 2-28 set ref 238* n_processes 413 based fixed bin(17,0) level 2 dcl 11-78 set ref 475* n_sec_fg 15 based fixed bin(17,0) level 2 dcl 2-28 set ref 239* n_sessions 20 based fixed bin(17,0) level 2 dcl 3-55 set ref 196* n_units 16 based fixed bin(17,0) level 2 dcl 3-55 set ref 194* n_users 14 based fixed bin(17,0) level 2 dcl 3-55 set ref 192* name parameter varying char(20) level 2 in structure "lflag" dcl 697 in procedure "FLAG_ARRAY_emit" set ref 701 719* 729* name parameter varying char(20) level 2 in structure "lflag" dcl 649 in procedure "FLAG_emit" set ref 651 667 668 680 ndevices 371 based fixed bin(17,0) level 2 dcl 11-78 set ref 452* ndialed_consoles 342 based fixed bin(17,0) level 2 dcl 11-78 set ref 431* network_connection_type 340 based fixed bin(17,0) level 2 dcl 11-78 ref 426 next_disconnected_ate_index 424(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 488* next_free 3 based fixed bin(17,0) level 2 dcl 11-78 set ref 312* 314 314* nlin 12 based fixed bin(17,0) level 2 dcl 3-55 set ref 190* null builtin function dcl 100 ref 153 153 2-26 3-53 4-27 11-76 number_free 6 based fixed bin(17,0) level 2 dcl 827 set ref 185* nw parameter fixed bin(17,0) dcl 758 ref 757 762 oct 000115 automatic bit(1) packed unaligned dcl 75 set ref 161* 232 262 267 512 off_flags 000164 automatic varying char(128) dcl 75 in procedure "dump_anstbl_" set ref 254* 257* 260* 324* 325* 337* off_flags 001254 automatic varying char(512) dcl 606 in procedure "display_flags" set ref 610* 614* 624* 627 627* 627 631 631* 634 634* off_lflags 001476 automatic structure level 1 dcl 607 set ref 610* 614* 624* old_password 22 based char(8) level 2 packed packed unaligned dcl 11-78 ref 343 on_flags 000123 automatic varying char(128) dcl 75 in procedure "dump_anstbl_" set ref 254* 255* 260* 323* 327* 332* 332 334* 334 337* on_flags 001053 automatic varying char(512) dcl 606 in procedure "display_flags" set ref 609* 612* 619* 623* 625 625* 625 629 630* on_lflags 001455 automatic structure level 1 dcl 607 set ref 609* 612* 619* 623* osw parameter bit(1) packed unaligned dcl 67 ref 13 161 524 534 our_handle 436 based bit(72) level 3 dcl 11-78 set ref 502* out 000110 automatic entry variable dcl 75 set ref 159* 166 178 179 180 182 183 184 185 186 187 190 191 192 193 194 195 196 197 198 199 200 201 203 205 206 207 209 211 213 215 216 218 219 221 222 223 224 225 226 228 230 236 237 238 239 240 241 242 243 244 246 247 248 250 252 259 266 303 305 307 310 312 314 319 320 321 329 341 346 351 352 353 355 361 362 363 364 365 369 370 371 373 376 377 379 381 382 387 388 390 396 397 403 407 409 411 413 414 415 416 417 418 421 422 423 425 426 428 431 433 439 442 443 445 446 447 449 451 452 453 454 458 463 464 465 466 468 470 472 474 475 476 477 479 480 482 484 485 486 488 490 491 492 497 498 499 502 504 506 508 510 516 764 804 809 outer_module 26 based char(32) level 2 packed packed unaligned dcl 11-78 set ref 351* output_seg 162 based char(168) level 2 packed packed unaligned dcl 11-78 set ref 370* pdir_dir_quota 314 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 418* pdir_lvix 313 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 416* pdir_quota 313(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 417* pdtep 354 based pointer level 2 dcl 11-78 set ref 442* person 4 based char(24) level 2 packed packed unaligned dcl 11-78 set ref 288 303 303* 319* preempted 420 based fixed bin(17,0) level 2 dcl 11-78 set ref 480* 480 proc_id 276 based bit(36) level 2 dcl 11-78 set ref 396* process_authorization 24 based bit(72) level 2 dcl 11-78 set ref 347* 347* process_authorization_range 300 based bit(72) array level 2 dcl 11-78 set ref 398* 398* process_id 446 based bit(36) level 3 dcl 11-78 set ref 510* process_type 1 based fixed bin(17,0) level 2 dcl 11-78 set ref 307 307* processid_index 130 based fixed bin(18,0) level 2 dcl 3-55 set ref 218* project 12 based char(12) level 2 packed packed unaligned dcl 11-78 set ref 289 292 303 303* 320* proxy_person 263 based char(28) level 2 packed packed unaligned dcl 11-78 set ref 390 390* proxy_project 272 based char(9) level 2 packed packed unaligned dcl 11-78 set ref 390 390* qerr 36 based fixed bin(17,0) array level 2 dcl 2-28 set ref 246* qres 24 based fixed bin(17,0) array level 2 dcl 2-28 set ref 243* queue 245 based fixed bin(17,0) level 2 dcl 11-78 set ref 381* range 10 parameter varying char(32) level 2 dcl 697 set ref 703 704 721* 731* 741 741* 743* 743 745* 745 746* 746 real_queue 246 based fixed bin(17,0) level 2 dcl 11-78 set ref 382* recent_fatal_error_count 410 based fixed bin(17,0) level 2 dcl 11-78 set ref 470* recent_fatal_error_time 406 based fixed bin(71,0) level 2 dcl 11-78 set ref 468* rel builtin function dcl 100 ref 232 232 262 262 267 267 remainder 000322 automatic varying char(512) dcl 785 set ref 793* 794 795 798 799 802* 802 807 808* 808 809* request_id 234 based fixed bin(71,0) level 2 dcl 11-78 set ref 371* 371* request_id_ 000030 constant entry external dcl 114 ref 371 371 reservation_id 236 based fixed bin(71,0) level 2 dcl 11-78 ref 373 373 373 response_event_channel 444 based fixed bin(71,0) level 3 dcl 11-78 ref 508 508 response_high 135 based fixed bin(17,0) level 2 dcl 3-55 set ref 224* response_low 136 based fixed bin(17,0) level 2 dcl 3-55 set ref 225* rs_name 000225 automatic char(32) packed unaligned dcl 75 set ref 457* 458* rs_number 374 based fixed bin(6,0) level 2 packed packed unsigned unaligned dcl 11-78 set ref 457 458* rsc_waiting 30 based fixed bin(17,0) array level 2 dcl 2-28 set ref 244* rtrim builtin function dcl 100 ref 201 201 406 406 625 627 796 sch_project 000664 automatic char(32) packed unaligned dcl 75 set ref 163* 289 289 292 292 sch_tty 000644 automatic char(32) packed unaligned dcl 75 set ref 164* 282 283* sch_user 000654 automatic char(32) packed unaligned dcl 75 set ref 162* 287 288 sct parameter char packed unaligned dcl 67 ref 13 164 524 534 scu parameter char packed unaligned dcl 67 ref 13 162 163 524 534 sec 10 based fixed bin(17,0) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 576* sec 56 based float dec(20) level 3 in structure "time_offset" dcl 1-37 in procedure "cv_usecs" set ref 581* sender 253 based char(32) level 2 packed packed unaligned dcl 11-78 set ref 388 388* session 46 based char(8) level 2 packed packed unaligned dcl 3-55 set ref 200* session_cost 370 based float bin(27) level 2 dcl 11-78 set ref 451* session_uid 277 based fixed bin(35,0) level 2 dcl 11-78 set ref 397* session_uid_counter 131 based fixed bin(35,0) level 2 dcl 3-55 set ref 219* shift 132 based fixed bin(17,0) level 2 dcl 3-55 set ref 221* size builtin function dcl 100 ref 512 512 special_message 50 based char(128) level 2 packed packed unaligned dcl 3-55 ref 201 201 standby_line 433 based fixed bin(17,0) level 2 dcl 11-78 set ref 498* stream parameter char packed unaligned dcl 67 ref 13 158 524 534 string builtin function dcl 100 ref 260 260 337 337 383 383 385 385 436 436 493 493 substr builtin function dcl 100 ref 337 337 353 353 355 355 612 617 795 sus_channel 310 based fixed bin(71,0) level 2 dcl 11-78 ref 413 413 sysdir 22 based char(64) level 2 packed packed unaligned dcl 3-55 set ref 197* system_info_$max_rs_number 000032 constant entry external dcl 115 ref 155 system_info_$rs_name 000034 constant entry external dcl 116 ref 457 table_name 000674 automatic char(13) dcl 93 set ref 151* 166* 516* table_names 001345 constant char(13) initial array dcl 139 ref 151 table_size 000701 automatic fixed bin(17,0) dcl 95 set ref 149* 270 528* 538* table_type 000700 automatic fixed bin(17,0) dcl 94 set ref 147* 151 171 173 175 189 235 265 271 273 307 307* 368 526* 536* tag 15 based char(1) level 2 packed packed unaligned dcl 11-78 set ref 321* terminal_type 326 based char(32) level 2 packed packed unaligned dcl 11-78 set ref 422* termination_event_channel 442 based fixed bin(71,0) level 3 dcl 11-78 ref 506 506 time 000117 automatic char(16) packed unaligned dcl 75 in procedure "dump_anstbl_" set ref 343* 345* 346* time 000735 automatic char(32) packed unaligned dcl 564 in procedure "cv_usecs" set ref 581* 583 time_offset based structure level 1 dcl 1-37 set ref 572* time_offset_auto 000745 automatic structure level 1 dcl 565 set ref 571 to based structure level 1 dcl 129 tp 000240 automatic pointer dcl 75 set ref 763* 764 764 764 764 764 764 764 764 tty_id_code 337 based char(4) level 2 packed packed unaligned dcl 11-78 set ref 425* tty_name 316 based char(32) level 2 packed packed unaligned dcl 11-78 set ref 283* 421* two_digits 000703 automatic picture(2) packed unaligned dcl 144 set ref 618* 619 uflags 431 based structure level 2 dcl 11-78 ref 493 493 unspec builtin function dcl 100 set ref 209 209 211 211 226 226 248 248 250 250 373 373 413 413 439 439 463 463 506 506 508 508 572* update_channel 116 based fixed bin(71,0) level 2 dcl 3-55 ref 209 209 update_pending 115 based bit(1) level 2 dcl 3-55 set ref 207* upper_x 7 parameter fixed bin(17,0) level 2 dcl 697 set ref 708 710 720* 730* 738 738* 744 746 748* uprojp 400 based pointer level 2 dcl 11-78 set ref 464* ur_at 77 based structure level 2 dcl 11-78 set ref 357 357 user_abs_attributes based structure level 1 dcl 10-25 user_attributes based structure level 1 dcl 9-21 user_table_type 2 based fixed bin(17,0) level 2 dcl 827 set ref 180* 180 user_weight 432 based fixed bin(17,0) level 2 dcl 11-78 set ref 497* ut_header based structure level 1 dcl 12-16 ute based structure level 1 dcl 11-78 set ref 512 512 ute_index 2 based fixed bin(17,0) level 2 dcl 11-78 set ref 310* 310 utep 000712 automatic pointer initial dcl 11-76 set ref 271* 273* 275* 277 283 288 289 292 294 296 297 298 299 303* 303 303 303 303 305 305 307 307 310 310 312 312 314 314 319 320 321 325 327 329 331 332 337 337 341 341 343 347 347 351 352 353 353 353 353 355 355 355 355 357 357 359 359 361 362 363 364 365 369 370 371 371 373 373 373 376 377 379 379 381 382 383 383 385 385 387 388 388 390 390 390 390 396 397 398 398 401 403 407 407 409 409 411 411 413 413 414 415 416 417 418 421 422 423 423 425 426 428 431 432 433 433 436 436 439 439 442 443 443 445 445 446 447 449 451 452 453 454 457 458 463 463 464 465 466 468 470 472 472 474 475 476 477 477 479 480 480 482 482 484 485 486 488 490 491 492 493 493 497 498 499 499 502 504 506 506 508 508 510 512* 512 512 11-76* uth based structure level 1 dcl 827 uthp 000714 automatic pointer dcl 827 set ref 171* 173* 175* 178 179 180 180 182 183 184 185 186 187 val 12 based structure level 2 dcl 1-37 value parameter varying char dcl 780 ref 776 793 verb parameter fixed bin(17,0) dcl 67 ref 13 157 524 534 version based char(8) level 2 dcl 1-37 set ref 573* vstr 000242 automatic varying char(512) dcl 75 set ref 357* 358* 359* 360* w1 based fixed bin(17,0) level 2 dcl 129 set ref 764* w2 1 based fixed bin(17,0) level 2 dcl 129 set ref 764* w3 2 based fixed bin(17,0) level 2 dcl 129 set ref 764* w4 3 based fixed bin(17,0) level 2 dcl 129 set ref 764* w5 4 based fixed bin(17,0) level 2 dcl 129 set ref 764* w6 5 based fixed bin(17,0) level 2 dcl 129 set ref 764* w7 6 based fixed bin(17,0) level 2 dcl 129 set ref 764* w8 7 based fixed bin(17,0) level 2 dcl 129 set ref 764* whotabx 430 based fixed bin(17,0) level 2 dcl 11-78 set ref 492* work_class 425 based fixed bin(17,0) level 2 dcl 11-78 set ref 490* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AFTER internal static fixed bin(17,0) initial dcl 1-62 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 9-77 ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 3-51 AT_NORMAL internal static char(8) initial packed unaligned dcl 3-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 3-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 3-116 AUTBL_version_4 internal static fixed bin(17,0) initial dcl 2-24 BEFORE internal static fixed bin(17,0) initial dcl 1-62 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 11-280 DONT_MASK internal static bit(2) initial packed unaligned dcl 11-280 DO_MASK internal static bit(2) initial packed unaligned dcl 11-280 DSA_ATTENTION_MSG internal static fixed bin(8,0) initial unsigned dcl 7-83 DSA_DATA_ATTENTION_MSG internal static fixed bin(8,0) initial unsigned dcl 7-84 DSA_DATA_INPUT_MSG internal static fixed bin(8,0) initial unsigned dcl 7-100 DSA_DATA_OUTPUT_MSG internal static fixed bin(8,0) initial unsigned dcl 7-101 DSA_DEMAND_RELEASE_SRU_MSG internal static fixed bin(8,0) initial unsigned dcl 7-85 DSA_DEMAND_TURN_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 7-87 DSA_DEMAND_TURN_MSG internal static fixed bin(8,0) initial unsigned dcl 7-86 DSA_ESTABLISHMENT_MSG internal static fixed bin(8,0) initial unsigned dcl 7-97 DSA_MSG_TYPE_TO_PNAME internal static char(20) initial array packed unaligned dcl 7-103 DSA_NETWORK_TYPE internal static fixed bin(4,0) initial unsigned dcl 7-35 DSA_PURGE_MSG internal static fixed bin(8,0) initial unsigned dcl 7-88 DSA_RECOVER_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 7-90 DSA_RECOVER_MSG internal static fixed bin(8,0) initial unsigned dcl 7-89 DSA_RELEASE_SRU_MSG internal static fixed bin(8,0) initial unsigned dcl 7-91 DSA_RESUME_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 7-93 DSA_RESUME_MSG internal static fixed bin(8,0) initial unsigned dcl 7-92 DSA_SUSPEND_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 7-95 DSA_SUSPEND_MSG internal static fixed bin(8,0) initial unsigned dcl 7-94 DSA_TERMINATED_MSG internal static fixed bin(8,0) initial unsigned dcl 7-98 DSA_TERM_ABNORMAL_MSG internal static fixed bin(8,0) initial unsigned dcl 7-96 DSA_UNSPECIFIED_MSG internal static fixed bin(8,0) initial unsigned dcl 7-82 DSA_USER_UNASSIGN_MSG internal static fixed bin(8,0) initial unsigned dcl 7-99 DUTBL_version_4 internal static fixed bin(17,0) initial dcl 4-25 FRACTION internal static fixed bin(17,0) initial dcl 1-62 INTEGER internal static fixed bin(17,0) initial dcl 1-62 LINE_1050 internal static fixed bin(17,0) initial dcl 6-22 LINE_2741 internal static fixed bin(17,0) initial dcl 6-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 6-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_BSC internal static fixed bin(17,0) initial dcl 6-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 6-22 LINE_DSA internal static fixed bin(17,0) initial dcl 6-22 LINE_ETX internal static fixed bin(17,0) initial dcl 6-22 LINE_G115 internal static fixed bin(17,0) initial dcl 6-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 6-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 6-22 LINE_MC internal static fixed bin(17,0) initial dcl 6-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 6-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 6-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 6-22 LINE_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 6-22 MAX_DSA_EVENT_MSG_TYPE internal static fixed bin(17,0) initial dcl 7-80 MAX_MCS_EVENT_MSG_TYPE internal static fixed bin(17,0) initial dcl 7-46 MCS_DIALOUT_MSG internal static fixed bin(17,0) initial dcl 7-54 MCS_DIALUP_MSG internal static fixed bin(17,0) initial dcl 7-50 MCS_HANGUP_MSG internal static fixed bin(17,0) initial dcl 7-52 MCS_LINE_STATUS_MSG internal static fixed bin(17,0) initial dcl 7-62 MCS_MASKED_MSG internal static fixed bin(17,0) initial dcl 7-64 MCS_MSG_TYPE_TO_PNAME internal static char(20) initial array packed unaligned dcl 7-67 MCS_NETWORK_TYPE internal static fixed bin(4,0) initial unsigned dcl 7-34 MCS_QUIT_MSG internal static fixed bin(17,0) initial dcl 7-56 MCS_READ_MSG internal static fixed bin(17,0) initial dcl 7-58 MCS_UNSPECIFIED_MSG internal static fixed bin(17,0) initial dcl 7-48 MCS_WRITE_MSG internal static fixed bin(17,0) initial dcl 7-60 MOWSE_NETWORK_TYPE internal static fixed bin(4,0) initial unsigned dcl 7-36 NET_EVENT_MESSAGE_VERSION_1 internal static bit(2) initial packed unaligned dcl 7-20 NOW_DIALED internal static fixed bin(17,0) initial dcl 5-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 5-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 5-76 NOW_HAS_PROCESS internal static fixed bin(17,0) initial dcl 5-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 5-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 5-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 5-76 ON_OR_AFTER internal static fixed bin(17,0) initial dcl 1-62 ON_OR_BEFORE internal static fixed bin(17,0) initial dcl 1-62 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 5-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 5-132 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 11-265 PT_ALARM internal static fixed bin(17,0) initial dcl 5-106 PT_BUMP internal static fixed bin(17,0) initial dcl 5-106 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 5-106 PT_DETACH internal static fixed bin(17,0) initial dcl 5-106 PT_FPE internal static fixed bin(17,0) initial dcl 5-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 5-106 PT_LOGOUT internal static fixed bin(17,0) initial dcl 5-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 5-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 5-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 5-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 5-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 5-106 STATE_VALUES internal static char(15) initial array dcl 5-70 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 5-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 5-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 5-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 5-93 TAG_UFT internal static char(1) initial packed unaligned dcl 5-93 TTY_DIALED internal static fixed bin(17,0) initial dcl 5-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 5-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 5-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 5-64 UNUSED internal static fixed bin(17,0) initial dcl 1-62 USED internal static fixed bin(17,0) initial dcl 1-62 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 9-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 9-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 9-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 9-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 11-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 5-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 5-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 5-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 5-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 5-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 5-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 5-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 5-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 5-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 5-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 5-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 5-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 5-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 5-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 5-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 5-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 5-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 5-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 5-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 5-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 5-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 5-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 5-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 5-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 5-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 5-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 5-25 max_line_type internal static fixed bin(17,0) initial dcl 6-48 max_tty_type internal static fixed bin(17,0) initial dcl 8-3 n_sync_line_types internal static fixed bin(17,0) initial dcl 6-50 net_event_message based structure level 1 dcl 7-22 net_event_message_arg automatic fixed bin(71,0) dcl 7-19 sync_line_type internal static fixed bin(17,0) initial array dcl 6-52 time_offset_array based structure level 1 dcl 1-88 tty_dev_type internal static char(8) initial array dcl 8-5 NAMES DECLARED BY EXPLICIT CONTEXT. FLAG_ARRAY_emit 015224 constant entry internal dcl 692 ref 651 672 680 FLAG_ARRAY_init 015424 constant entry internal dcl 716 ref 660 FLAG_ARRAY_set_lower 015435 constant entry internal dcl 725 ref 673 676 FLAG_ARRAY_set_upper 015531 constant entry internal dcl 734 ref 668 FLAG_emit 014722 constant entry internal dcl 643 ref 623 624 FLAG_init 014753 constant entry internal dcl 656 ref 609 610 FLAG_set 015016 constant entry internal dcl 664 ref 612 614 619 common 003460 constant label dcl 151 ref 529 539 cv_date 013746 constant entry internal dcl 545 ref 166 203 213 216 377 449 465 466 468 cv_usecs 014027 constant entry internal dcl 558 ref 379 379 443 443 445 445 499 499 display_flags 014143 constant entry internal dcl 596 ref 260 337 383 385 436 493 dump_anstbl_ 003422 constant entry external dcl 13 dump_autbl_ 013646 constant entry external dcl 524 dump_dutbl_ 013707 constant entry external dcl 534 ents 006315 constant label dcl 270 ref 169 odump 015727 constant entry internal dcl 757 ref 232 262 267 512 out_line 016027 constant entry internal dcl 776 ref 347 358 360 398 406 630 631 634 skip_entry 013613 constant label dcl 513 ref 277 285 288 289 292 294 296 297 298 299 300 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 17722 17764 17461 17732 Length 20466 17461 42 466 241 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dump_anstbl_ 1212 external procedure is an external procedure. cv_date internal procedure shares stack frame of external procedure dump_anstbl_. cv_usecs internal procedure shares stack frame of external procedure dump_anstbl_. display_flags internal procedure shares stack frame of external procedure dump_anstbl_. FLAG_emit 266 internal procedure is called during a stack extension. FLAG_ARRAY_emit internal procedure shares stack frame of internal procedure FLAG_emit. odump internal procedure shares stack frame of external procedure dump_anstbl_. out_line 362 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME FLAG_emit 000112 flag_x FLAG_ARRAY_emit dump_anstbl_ 000100 S dump_anstbl_ 000110 out dump_anstbl_ 000114 hdr dump_anstbl_ 000115 oct dump_anstbl_ 000116 mode dump_anstbl_ 000117 time dump_anstbl_ 000123 on_flags dump_anstbl_ 000164 off_flags dump_anstbl_ 000225 rs_name dump_anstbl_ 000235 code dump_anstbl_ 000236 line_length dump_anstbl_ 000240 tp dump_anstbl_ 000242 vstr dump_anstbl_ 000443 audit_str dump_anstbl_ 000643 i dump_anstbl_ 000644 sch_tty dump_anstbl_ 000654 sch_user dump_anstbl_ 000664 sch_project dump_anstbl_ 000674 table_name dump_anstbl_ 000700 table_type dump_anstbl_ 000701 table_size dump_anstbl_ 000702 max_rs_number dump_anstbl_ 000703 two_digits dump_anstbl_ 000704 autp dump_anstbl_ 000706 ansp dump_anstbl_ 000710 dutp dump_anstbl_ 000712 utep dump_anstbl_ 000714 uthp dump_anstbl_ 000734 code cv_usecs 000735 time cv_usecs 000745 time_offset_auto cv_usecs 001042 Ptime_offset cv_usecs 001052 j display_flags 001053 on_flags display_flags 001254 off_flags display_flags 001455 on_lflags display_flags 001476 off_lflags display_flags 001526 kk odump out_line 000100 cur_ioa out_line 000120 cur_line out_line 000321 data_region out_line 000322 remainder out_line THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_char_temp realloc_char_temp cat_realloc_chars call_ent_var_desc call_ext_out_desc call_ext_out call_int_this_desc call_int_this return_mac shorten_stack ext_entry_desc int_entry int_entry_desc set_chars_eis any_to_any_truncate_index_after_cs clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_access_audit_flags_$to_string date_time_$format date_time_$from_clock_interval display_access_class_ display_access_class_$range format_attributes_ get_line_length_$switch ioa_$ioa_stream ioa_$rsnnl match_star_name_ request_id_ system_info_$max_rs_number system_info_$rs_name NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 2 26 003405 3 53 003407 4 27 003410 11 76 003411 13 003414 147 003450 148 003452 149 003456 151 003460 153 003471 154 003506 155 003512 157 003521 158 003524 159 003531 160 003536 161 003543 162 003550 163 003562 164 003600 166 003605 169 003640 171 003642 173 003650 175 003655 178 003661 179 003704 180 003730 182 003762 183 004006 184 004032 185 004056 186 004102 187 004131 189 004160 190 004163 191 004210 192 004236 193 004265 194 004314 195 004343 196 004372 197 004416 198 004445 199 004474 200 004523 201 004552 203 004616 205 004653 206 004677 207 004726 209 004752 211 005001 213 005030 215 005064 216 005110 218 005144 219 005170 221 005214 222 005241 223 005270 224 005317 225 005343 226 005372 228 005421 230 005445 232 005471 233 005503 235 005504 236 005506 237 005535 238 005561 239 005605 240 005634 241 005663 242 005712 243 005736 244 005762 246 006006 247 006032 248 006056 250 006105 252 006134 254 006160 255 006162 257 006174 259 006204 260 006232 262 006242 263 006254 265 006255 266 006257 267 006303 270 006315 271 006325 273 006337 275 006347 277 006354 280 006356 282 006362 283 006366 285 006406 286 006410 287 006411 288 006415 289 006421 291 006431 292 006432 294 006442 295 006444 296 006445 297 006451 298 006456 299 006464 300 006472 303 006473 305 006554 307 006610 310 006642 312 006701 314 006733 319 006761 320 007010 321 007037 323 007064 324 007065 325 007066 327 007077 329 007107 331 007135 332 007150 334 007162 337 007174 341 007206 343 007240 345 007253 346 007256 347 007304 351 007350 352 007374 353 007423 355 007463 357 007530 358 007551 359 007577 360 007617 361 007647 362 007673 363 007722 364 007751 365 007775 368 010024 369 010027 370 010056 371 010105 373 010142 376 010173 377 010217 379 010256 381 010306 382 010334 383 010363 385 010401 387 010415 388 010444 390 010477 393 010546 396 010547 397 010573 398 010622 401 010666 403 010710 406 010737 407 011006 409 011040 411 011071 413 011122 414 011151 415 011175 416 011226 417 011255 418 011303 421 011327 422 011356 423 011405 425 011437 426 011463 428 011511 431 011540 432 011564 433 011571 436 011621 439 011640 442 011667 443 011714 445 011747 446 012005 447 012043 449 012076 451 012132 452 012156 453 012205 454 012231 456 012260 457 012262 458 012307 463 012337 464 012371 465 012420 466 012454 468 012510 470 012544 472 012570 474 012616 475 012644 476 012673 477 012717 479 012751 480 013000 482 013032 484 013063 485 013107 486 013136 488 013162 490 013210 491 013234 492 013261 493 013310 497 013322 498 013351 499 013375 502 013433 504 013457 506 013503 508 013532 510 013561 512 013605 513 013613 516 013615 517 013643 524 013644 526 013674 527 013676 528 013702 529 013704 534 013705 536 013735 537 013737 538 013743 539 013745 545 013746 549 013750 551 013761 558 014027 571 014031 572 014033 573 014036 574 014041 575 014043 576 014044 577 014045 578 014065 581 014075 583 014135 596 014143 609 014173 610 014215 611 014237 612 014251 614 014313 615 014346 616 014350 617 014355 618 014363 619 014373 621 014454 622 014455 623 014457 624 014467 625 014477 627 014522 629 014545 630 014552 631 014613 633 014650 634 014651 637 014717 643 014721 651 014734 653 014751 656 014752 659 014773 660 015006 661 015014 664 015015 666 015036 667 015052 668 015060 672 015111 673 015121 675 015137 676 015140 678 015155 680 015156 682 015174 683 015211 685 015223 692 015224 701 015230 702 015243 703 015252 704 015257 705 015271 707 015300 708 015334 709 015337 710 015346 712 015402 713 015411 716 015423 719 015430 720 015431 721 015433 722 015434 725 015435 728 015451 729 015504 730 015524 731 015527 732 015530 734 015531 737 015545 738 015600 741 015610 743 015621 744 015655 745 015660 746 015667 748 015723 750 015726 757 015727 762 015731 763 015741 764 015746 767 016022 769 016025 776 016026 791 016047 792 016061 793 016070 794 016101 795 016105 796 016115 797 016133 798 016140 799 016155 802 016172 803 016213 804 016235 805 016256 806 016334 807 016336 808 016343 809 016365 811 016406 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved