COMPILATION LISTING OF SEGMENT cpg_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/20/88 1023.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 14 cpg_: proc (p, code); 15 16 /* CPG_ - Create Process Group. 17* 18* This program is called by dialup_, absentee_user_manager, and 19* daemon_user_manager_ to create user processes. 20* 21* It fills in the PIT (Process Initialization Table) with arguments and 22* info for the new process, and passes its arguments to the hardcore in 23* a structure called "create_info". 24* 25* The hardcore will allocate an APT entry and fill in the process ID, 26* copy the template PIT into a real PIT for the process, and start the 27* process up. 28* 29* See act_proc_ and initialize_process_ for how a process gets going. 30* 31* Spier 2/13/69 32* modified by Dennis Capps 3/22/72 33* modified by Richard G. Bratt 10/11/72 to pass the offset of pit.homedir to act_proc 34* daemons, kst_size etc added 10/13/72 THVV 35* Modified 740731 by PG for AIM stuff. 36* Modified by T. Casey on 24 Oct 75 to unpack initproc and subsystem from ate.init_proc and copy them into create_info. 37* Modified 760601 by PG to factor installation_parms.abs_cpu_limit into absentee job cpu limit. 38* Modified 761229 by D. M. Wells to put more TTY info into PIT (line_type, etc.) 39* Modified 770623 by Robert Coren to use names instead of numbers for terminal types. 40* Modified August 1977 by FCSmith for separate TTY and connect time charging, 41* . and by T. Casey to give "p" tag to proxy absentee processes, 42* . and to set up an any other handler to catch faults occurring while creating process. 43* Modified January 1978 by T. Casey to fix bugs in previous modification. 44* Modified May 1978 by T. Casey to use ate.pdir_quota in determining process directory quota. 45* Modified November 1978 by T. Casey for MR7.0 absentee control parameters. 46* Modified July 1979 by T. Casey for MR8.0 to add set_pit_tty_info entry point for process preservation across hangups. 47* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). 48* Modified March 1980 by Tom Casey to add metering. 49* Modified May 1980 by R. McDonald to include page charging. (UNCA) 50* Modified December 1980 by E. N. Kittlitz for foreground timax fix. 51* Modified June 1981 by E. N. Kittlitz for UNCA rate structures, page charging. 52* Modified November 1981, E. N. Kittlitz. user_table_entry conversion. 53* Modified April 1982, E. N. Kittlitz. New AS initialization 54* Modified October 1982, E. N. Kittlitz. request_id in pit. 55* Modified 84-04-02 BIM. Removed terminal_access_class from PIT, its 56* available from tty_. 57* Modified 84-09-12 BIM added login auth range, since HC is not interested 58* in min. 59* Modified 1984-10-05 BIM to remove communications. 60* Modified 1984-12-27 Keith Loepere for pdir dir_quota. 61* Modified 1985-01-18 by E. Swenson for new AS auditing. 62* Modified 1985-04-19 by E. Swenson to not catch signal_io_ condition. 63**/ 64 65 /****^ HISTORY COMMENTS: 66* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 67* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1055): 68* Correct error message documentation. 69* 2) change(86-05-19,Gilcrease), approve(86-05-20,MCR7370), 70* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 71* Implement -truncate absout files. SCP6297. 72* 3) change(87-04-27,GDixon), approve(87-07-13,MCR7741), 73* audit(87-07-21,Brunelle), install(87-08-04,MR12.1-1055): 74* Upgraded for change to answer_table.incl.pl1 and user_table_entry.incl.pl1 75* 4) change(87-05-12,GDixon), approve(87-07-13,MCR7741), 76* audit(87-07-21,Brunelle), install(87-08-04,MR12.1-1055): 77* Use constants in dialup_values.incl.pl1 to set instance tag. 78* 5) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 79* audit(87-07-21,Brunelle), install(87-08-04,MR12.1-1055): 80* Reorganized to set structure elements in their order of declaration, and 81* to make code more readable and more similar to that in its login server 82* counterpart, uc_create_process_.pl1. 83* 6) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 84* audit(88-03-01,Lippard), install(88-07-13,MR12.2-1047): 85* Fill in pit.min_ring & pit.max_ring from the equivelent ute elements. 86* SCP6367. 87* END HISTORY COMMENTS */ 88 89 /* Parameters */ 90 91 dcl p ptr parameter; 92 dcl code fixed bin (35) parameter; 93 94 /* External Entries */ 95 96 dcl as_access_audit_$process entry (ptr, fixed bin (17), char (*)); 97 dcl as_dump_ entry (char (*) aligned); 98 dcl as_meter_$enter entry (fixed bin); 99 dcl as_meter_$exit entry (fixed bin); 100 dcl astty_$tty_order entry (ptr, char (*), ptr, fixed bin (35)); 101 dcl condition_ entry (char (*), entry); 102 dcl hcs_$truncate_seg entry (ptr, fixed bin, fixed bin (35)); /* Zero a segment */ 103 dcl hphcs_$create_proc entry (ptr, fixed bin (35)); 104 dcl hphcs_$set_pit_tty_info entry (bit (36) aligned, ptr, fixed bin (35)); 105 dcl ioa_$rsnnl entry options (variable); 106 dcl pdir_volume_manager_$select_pdir_volume entry (ptr, fixed bin (35)); 107 dcl sys_log_ entry options (variable); 108 dcl sys_log_$error_log entry options (variable); 109 110 /* External */ 111 112 dcl error_table_$action_not_performed ext fixed bin (35); 113 114 /* Internal Static */ 115 116 dcl DEFAULT_LOT_SIZE fixed bin int static init (512); /* dft size of linkage offset table */ 117 dcl DEFAULT_KST_SIZE fixed bin int static init (0); /* dft size of known segment table -- let hardcore set */ 118 dcl DEFAULT_CLS_SIZE fixed bin (35) int static init (65536); /* dft size of combined linkage */ 119 dcl static_label label int static; 120 121 /* Builtins */ 122 123 dcl (addr, binary, bit, clock, divide, fixed, length, null, rtrim, rel, 124 string, substr, unspec) builtin; 125 126 /* Automatic */ 127 128 dcl aip ptr; /* arg_info pointer */ 129 dcl argp ptr; 130 dcl ciptr ptr; /* pointer to create_ info_area */ 131 dcl 1 create_info_area like create_info aligned; /* Scratch area for create info structure. */ 132 dcl dummy_code fixed bin (35); 133 dcl i fixed bin; 134 dcl length_of_pit fixed bin; /* size of fixed part of pit */ 135 dcl length_of_arguments fixed bin; 136 dcl number_of_arguments fixed bin; 137 dcl 1 old_terminal_info aligned, /* for use by old info order */ 138 2 junk (3) fixed bin, 139 2 old_type fixed bin; /* only field we're interested in */ 140 dcl pdtep ptr; 141 dcl pit_size fixed bin; /* actual pit size */ 142 dcl timax fixed bin; /* "ti_max" scheduler parameter determines priority */ 143 144 /* Based */ 145 146 dcl lengths (number_of_arguments) based fixed bin aligned; 147 dcl xstring char (length_of_arguments) based aligned; /* For getting absentee arguments */ 148 149 /* Constant */ 150 151 152 /* Program */ 153 154 /* 155*cpg_: proc (p, code); */ 156 cpg_abs: entry (p, code); 157 cpg_daemon: entry (p, code); 158 159 code = 0; /* clear error code */ 160 ansp = as_data_$ansp; 161 static_label = ucs_return; /* place for signal handler to go */ 162 call condition_ ("any_other", ucs_); /* catch faults, take asdump, return to caller */ 163 call as_meter_$enter (CPG_METER); 164 utep = p; /* copy argument */ 165 pdtep = ute.pdtep; 166 pit_ptr = as_data_$pit_ptr; /* copy static ptr to automatic */ 167 168 call hcs_$truncate_seg (pit_ptr, 0, code); /* Clear pit */ 169 if code ^= 0 then do; /* If cannot truncate, we will die. */ 170 call sys_log_$error_log (SL_LOG_BEEP, code, "cpg_", 171 "Cannot truncate pit_temp_"); 172 goto exit; /* Return with error. */ 173 end; 174 175 pit.version = PIT_version_3; /* put in version number of PIT */ 176 pit.process_type = ute.process_type; /* put in type of process */ 177 pit.login_responder = substr (ute.init_proc, 1, ute.ip_len); /* Initial procedure. */ 178 pit.homedir = ute.home_dir; /* set home directory */ 179 pit.project = ute.project; /* project name */ 180 pit.account = " "; /* unused */ 181 pit.n_processes = ute.n_processes; /* set number of processes */ 182 pit.login_time = ute.login_time; /* set time logged in */ 183 pit.proc_creation_time = clock (); /* say when this process was made */ 184 pit.old_proc_cpu = ute.cpu_usage; /* set total cputime for old processes */ 185 pit.user_weight = ute.user_weight; /* 10 for normal user */ 186 pit.anonymous = ute.anonymous; /* 1 if anonymous */ 187 pit.login_name = ute.person; /* user's name */ 188 pit.logout_pid = anstbl.as_procid; /* processid of ans service */ 189 pit.logout_channel = ute.event; /* name of logout event channel */ 190 pit.group = ute.group; /* party group */ 191 pit.min_ring = ute.lowest_ring; /* lowest ring */ 192 pit.max_ring = ute.highest_ring; /* highest ring */ 193 string (pit.at) = string (ute.at); /* copy user-control attributes */ 194 pit.whox = ute.whotabx; /* user's own who table index */ 195 pit.outer_module = ute.outer_module; /* Terminal outer module. */ 196 pit.dont_call_init_admin = ute.uflags.dont_call_init_admin; 197 pit.terminal_access_class = ""b; /* not used */ 198 pit.dollar_charge = user.dollar_charge; 199 pit.dollar_limit = user.dollar_limit; 200 pit.shift_limit (*) = user.shift_limit (*); 201 pit.logins = user.logins; 202 pit.crashes = user.crashes; 203 pit.interactive (*) = user.interactive (*); 204 pit.absentee (*) = user.absentee (*); 205 pit.iod (*) = user.iod (*); 206 pit.devices (*) = user.devices (*); 207 pit.time_last_reset = user.time_last_reset; 208 pit.absolute_limit = user.absolute_limit; /* Non-monthly limit */ 209 pit.absolute_spent = user.absolute_spent; /* Spending */ 210 pit.absolute_cutoff = user.absolute_cutoff; /* Date to reset spending */ 211 pit.absolute_increm = user.absolute_increm; /* Reset code. 0 = don't, 1 = daily, etc. */ 212 pit.rs_number = ute.rs_number; /* make rate structure available to the user */ 213 pit.request_id = ute.request_id; /* absentee request id or 0 */ 214 pit.authorization_range = ute.process_authorization_range; 215 216 if ute.process_type = PT_INTERACTIVE then do; 217 ute.tag = TAG_INTERACTIVE; /* tag for interactive processes is "a" */ 218 timax = -1; /* timax for interactive process is system standard */ 219 pit.cant_bump_until = ute.cant_bump_until; 220 pit.abs_queue = -1; /* not absentee. */ 221 call set_tty_info(); 222 set_tty_info: procedure; 223 cdtep = ute.channel; /* Interactive user has a channel, so */ 224 pit.charge_type = cdte.charge_type; 225 pit.term_type_name = cdte.current_terminal_type; 226 pit.line_type = cdte.cur_line_type; 227 call astty_$tty_order (cdtep, "info", 228 addr (old_terminal_info), dummy_code); 229 pit.tty_type = old_terminal_info.old_type; 230 /* this is here ONLY so that old user_info_$tty_type 231* entry will still work after new_proc */ 232 pit.service_type = cdte.service_type; 233 pit.tty_answerback = cdte.tty_id_code; 234 pit.tty = cdte.name; /* channel id for user's TTY */ 235 pit.old_tty = ""; 236 if length (rtrim (pit.tty)) <= length (pit.old_tty) then 237 pit.old_tty = rtrim (pit.tty); 238 end set_tty_info; 239 end; 240 241 else if ute.process_type = PT_DAEMON then do; /* daemon process */ 242 ute.tag = TAG_DAEMON; 243 timax = -1; 244 pit.cant_bump_until = ute.cant_bump_until; 245 pit.abs_queue = -1; /* not absentee */ 246 pit.charge_type = 0; 247 pit.term_type_name = ""; 248 pit.line_type = LINE_MC; 249 pit.tty_type = 0; 250 pit.service_type = ANS_SERVICE; 251 pit.tty_answerback = rtrim (ute.tty_name); 252 pit.tty = ute.tty_name; /* source name */ 253 pit.old_tty = ""; 254 if length (rtrim (pit.tty)) <= length (pit.old_tty) then 255 pit.old_tty = rtrim (pit.tty); 256 end; 257 258 else do; /* absentee, use abs_user_table entry */ 259 if ute.abs_attributes.proxy then 260 ute.tag = TAG_PROXY; /* tag for proxy absentee processes is "p" */ 261 else ute.tag = TAG_ABSENTEE; /* tag for regular absentee processes is "m" */ 262 if ute.queue > 0 then do; /* in array range ? */ 263 timax = installation_parms.abs_timax (ute.queue); 264 if timax < 1000000 then timax = -1; /* insure value is nice */ 265 end; 266 else timax = -1; /* interactive default */ 267 pit.cant_bump_until = 0; /* Never happen for absentee */ 268 pit.abs_queue = ute.queue; /* might come in handy */ 269 pit.charge_type = 0; 270 pit.term_type_name = "Absentee"; 271 pit.line_type = LINE_UNKNOWN; 272 pit.tty_type = 0; 273 pit.service_type = ANS_SERVICE; 274 pit.tty_answerback = ""; 275 pit.tty = ute.tty_name; 276 pit.old_tty = ""; 277 if length (rtrim (pit.tty)) <= length (pit.old_tty) then 278 pit.old_tty = rtrim (pit.tty); 279 end; 280 281 pit.standby = ute.standby_line; /* 1 if standby. What means for abs and daemon? */ 282 pit.login_line = ""; /* not used */ 283 pit.input_seg = ute.input_seg; /* abs pathname of input stream */ 284 pit.output_seg = ute.output_seg; /* abs pathname of output */ 285 pit.max_cpu_time = ute.max_cpu_time; /* cpu time limit */ 286 string (pit.abs_attributes) = "0"b; /* copy ute abs_attributes bits */ 287 pit.restartable = ute.restartable; 288 pit.user_deferred_until_time = ute.user_deferred_until_time; 289 pit.proxy = ute.proxy; 290 pit.set_bit_cnt = ute.set_bit_cnt; 291 pit.truncate_absout = ute.truncate_absout; 292 pit.restarted = ute.restarted; 293 aip = addr (pit.start_arg_info); 294 pit.arg_info_ptr = fixed (rel (aip)); 295 pit.old_proc_core = ute.mem_usage; /* - and total memory usage */ 296 pit.old_proc_io_ops = 0; /* change when charging for i/o begins */ 297 298 /* login arguments, if any */ 299 number_of_arguments = ute.arg_count; 300 aip -> arg_info.arg_count = number_of_arguments; 301 if number_of_arguments > 0 then do; 302 length_of_arguments = ute.ln_args; 303 aip -> arg_info.ln_args = length_of_arguments; 304 argp = ute.arg_lengths_ptr; 305 do i = 1 to number_of_arguments; /* Set array of arg lengths */ 306 aip -> arg_info.arg_lengths (i) = argp -> lengths (i); 307 end; 308 if length_of_arguments > 0 then do; 309 argp = ute.args_ptr; /* The argument string itself */ 310 aip -> arg_info.args = argp -> xstring; 311 end; 312 end; 313 else length_of_arguments, aip -> arg_info.ln_args = 0; 314 315 length_of_pit = binary (rel (addr (pit.start_arg_info)), 18); 316 /* This works since pp has zero offset. */ 317 i = divide (length_of_arguments + 3, 4, 35, 0); 318 pit_size = length_of_pit + number_of_arguments + i + 2; 319 320 ciptr = addr (create_info_area); /* Get ptr to create-info area */ 321 322 323 /* Fill in create_info structure and call the hardcore to create process */ 324 325 code = 0; /* clear errcode */ 326 327 if anstbl.processid_index > 262140 | anstbl.processid_index < 0 then 328 anstbl.processid_index = 0; /* reset when out of range */ 329 anstbl.processid_index = anstbl.processid_index + 1; /* increment process id index */ 330 /* place in lower 18 bits of process id */ 331 ciptr -> create_info.processid.rel_apte = ""b; 332 ciptr -> create_info.processid.unique_index = bit (fixed (anstbl.processid_index, 18), 18); 333 ciptr -> create_info.version = version_of_create_info; 334 ciptr -> create_info.term_channel = pit.logout_channel; 335 ciptr -> create_info.term_processid = pit.logout_pid; 336 ciptr -> create_info.words_of_pit = pit_size; /* fill in length of PIT */ 337 338 if ute.pdir_quota > 0 then /* if a nonzero pdir quota was given in the PDT and SAT */ 339 ciptr -> create_info.record_quota = ute.pdir_quota; /* use it instead of the default in communications */ 340 else ute.pdir_quota, /* be sure actual quota is in user table entry */ 341 ciptr -> create_info.record_quota = 342 installation_parms.default_pdir_seg_quota; 343 ciptr -> create_info.ppml = 0; /* OBSOLETE */ 344 345 346 ciptr -> create_info.initial_ring = ute.initial_ring; 347 ciptr -> create_info.highest_ring = ute.highest_ring; 348 ciptr -> create_info.timax = timax; /* set timax of process */ 349 ciptr -> create_info.account_ptr = null; /* not used in this implementation */ 350 ciptr -> create_info.pit_ptr = pit_ptr; /* pointer to template of pit */ 351 call ioa_$rsnnl ("^[anonymous^s^;^a^].^a.^a", 352 ciptr -> create_info.process_group_id, (0), ute.anonymous = 1, 353 ute.person, ute.project, ute.tag); 354 ciptr -> create_info.user_processid = ""; /* not used in this implementation */ 355 ciptr -> create_info.account_id = pit.account; /* fill in name of account */ 356 ciptr -> create_info.homedir = rel (addr (pit.homedir)); /* fill in offset of home dir in pit */ 357 ciptr -> create_info.lot_in_stack = "1"b; /* Default is to put lot in stack */ 358 if ute.lot_size = 0 then ciptr -> create_info.lot_size = DEFAULT_LOT_SIZE; 359 else if ute.lot_size > 0 then ciptr -> create_info.lot_size = ute.lot_size; 360 else do; 361 ciptr -> create_info.lot_size = -(ute.lot_size); 362 ciptr -> create_info.lot_in_stack = "0"b; 363 end; 364 ciptr -> create_info.cls_in_stack = "0"b; /* ... and to give cls its own segment */ 365 if ute.cls_size = 0 then ciptr -> create_info.cls_size = DEFAULT_CLS_SIZE; 366 else if ute.cls_size > 0 then ciptr -> create_info.cls_size = ute.cls_size; 367 else do; 368 ciptr -> create_info.cls_size = -(ute.cls_size); 369 ciptr -> create_info.cls_in_stack = "1"b; 370 end; 371 if ute.kst_size = 0 then ciptr -> create_info.kst_size = DEFAULT_KST_SIZE; 372 else ciptr -> create_info.kst_size = ute.kst_size; 373 ciptr -> create_info.dont_call_init_admin = ute.uflags.dont_call_init_admin; 374 ciptr -> create_info.audit = ute.audit; 375 ciptr -> create_info.process_authorization = ute.process_authorization; 376 ciptr -> create_info.max_process_authorization = ute.process_authorization_range (2); 377 ciptr -> create_info.work_class = ute.work_class; /* set work_class of process */ 378 ciptr -> create_info.subsystem = substr (ute.init_proc, ute.ip_len + 1, ute.ss_len); 379 ciptr -> create_info.dir_quota = installation_parms.default_pdir_dir_quota; 380 ute.pdir_dir_quota = ciptr -> create_info.dir_quota; 381 382 383 call pdir_volume_manager_$select_pdir_volume (utep, code); /* choose volume for process directory */ 384 if code ^= 0 then /* if problem, complain */ 385 call sys_log_$error_log (SL_LOG_BEEP, code, "cpg_", "Assigning pdir volume for ^a", 386 ciptr -> create_info.process_group_id); 387 call hphcs_$create_proc (ciptr, code); /* but try to create process anyway. */ 388 389 /* The 36-bit process ID has upper 18 bits = process's APTE index, lower 18 bits unique. 390* Thus we don't know the value until after the call to the harcore. */ 391 392 ute.proc_id = unspec(ciptr -> create_info.processid); 393 394 if code = 0 then /* Caller will log an error in process creation */ 395 call as_access_audit_$process (utep, AS_AUDIT_PROCESS_CREATE, 396 ""); 397 398 exit: call as_meter_$exit (CPG_METER); 399 return; /* done */ 400 401 ucs_return: /* come here via nonlocal goto from any_other handler */ 402 code = error_table_$action_not_performed; /* tell caller we failed */ 403 return; /* don't try the meter exit call - that may have caused the fault */ 404 405 /* To tell existing process about its new tty channel. */ 406 407 set_pit_tty_info: entry (p, code); 408 409 code = 0; /* clear error code */ 410 ansp = as_data_$ansp; 411 static_label = ucs_return; /* place for signal handler to go */ 412 call condition_ ("any_other", ucs_); /* catch faults, take asdump, return to caller */ 413 call as_meter_$enter (CPG_METER); 414 utep = p; /* copy argument */ 415 pdtep = ute.pdtep; 416 pit_ptr = as_data_$pit_ptr; /* copy static ptr to automatic */ 417 length_of_pit = binary (rel (addr (pit.start_arg_info)), 18); 418 /* This works since pp has zero offset. */ 419 420 call hcs_$truncate_seg (pit_ptr, 0, code); /* Clear pit */ 421 if code ^= 0 then do; /* If cannot truncate, we will die. */ 422 call sys_log_$error_log (SL_LOG_BEEP, code, "cpg_", "Cannot truncate pit_temp_"); 423 goto exit; /* Return with error. */ 424 end; 425 426 pit.outer_module = ute.outer_module; /* Terminal outer module, so we can switch on reconnect */ 427 call set_tty_info(); 428 call hphcs_$set_pit_tty_info (ute.proc_id, pit_ptr, code); 429 goto exit; /* code is goto exited to caller */ 430 431 432 ucs_: proc (mcptr, condname, coptr, infoptr, continue); 433 434 dcl mcptr ptr parameter; 435 dcl condname char (*) parameter; 436 dcl coptr ptr parameter; 437 dcl infoptr ptr parameter; 438 dcl continue bit (1) parameter; 439 440 dcl err_msg char (120) aligned; 441 dcl non_local_exit bit (1); 442 dcl as_check_condition_ entry (char (*), bit (1), bit (1)); 443 444 call as_check_condition_ (condname, continue, non_local_exit); 445 if continue | non_local_exit then 446 return; 447 448 call ioa_$rsnnl ("cpg_: Error: ^a attempting to create process for ^a.^a", 449 err_msg, (0), 450 condname, ute.person, ute.project); 451 call sys_log_ (SL_LOG_BEEP, "^a", err_msg); 452 call as_dump_ (err_msg); 453 go to static_label; 454 455 end ucs_; 456 457 /* format: off */ 458 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* The answer table has one entry per "login instance" whether completed or */ 1 6 /* not. It is connected to the Channel Definition Table by the pointer */ 1 7 /* "channel". The header is used mostly by dialup_. */ 1 8 /* */ 1 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 1 10 /* */ 1 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 12 1 13 /****^ HISTORY COMMENTS: 1 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 1 15* Replace anstbl.incl.pl1. 1 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 1 17* Add anstbl.session_uid_counter. 1 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 1 19* Add anstbl.message_update_time and named constants for values of 1 20* anstbl.session, and to make all padding explicit. 1 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 1 22* Change "entry" to a placeholder so as not to require 1 23* user_table_entry.incl.pl1. 1 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 1 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 1 26* Added the flag login_server_present which indicates whether a login 1 27* server request has been received. This is used to determine whether 1 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 1 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 1 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 1 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 32* A) Moved constants for ute.pw_flags.mask_ctl into 1 33* user_table_entry.incl.pl1. 1 34* B) Added common table header to all user tables. 1 35* END HISTORY COMMENTS */ 1 36 1 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 38 /* */ 1 39 /* The anstbl structure below is divided into sections. Each section begins */ 1 40 /* with a comment describing the elements in the section. Elements are */ 1 41 /* placed within a section, based upon their function or the programs that */ 1 42 /* use them. Each section begins on a double word and is an even number of */ 1 43 /* words long. */ 1 44 /* */ 1 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 46 1 47 1 48 1 49 /* format: style4 */ 1 50 1 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 1 52 1 53 dcl ansp ptr automatic init (null); 1 54 1 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 1 56 2 header like ut_header, /* Header common to all user tables. */ 1 57 1 58 /* Counter elements. */ 1 59 2 nlin fixed bin, /* number of active lines */ 1 60 2 mxlin fixed bin, /* maximum number of active lines */ 1 61 2 n_users fixed bin, /* number of logged-in users */ 1 62 2 max_users fixed bin, /* maximum number of users allowed */ 1 63 2 n_units fixed bin, /* number of logged in units */ 1 64 2 max_units fixed bin, /* maximum number of units */ 1 65 2 n_sessions fixed bin, /* number of Multics sessions */ 1 66 2 n_pad fixed bin, 1 67 1 68 /* Name elements. */ 1 69 2 sysdir char (64) unal, /* name of main system control directory */ 1 70 2 as_tty char (8) unal, /* name of main answering service device. */ 1 71 1 72 /* Login elements. */ 1 73 2 login_word char (8) unal, /* login word if special_session=1 */ 1 74 2 session char (8) unal, /* session indicator */ 1 75 2 special_message char (128) unal, /* message to be printed for special session */ 1 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 1 77 2 message_lng fixed bin, /* length of special message */ 1 78 2 login_pad fixed bin, 1 79 1 80 /* Table update elements. */ 1 81 2 lock_count fixed bin, /* global lock for all system control tables */ 1 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 1 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 1 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 1 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 1 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 1 87 2 update_pad fixed bin, 1 88 1 89 /* dialup_ data values. */ 1 90 2 current_time fixed bin (71), /* Time of last transaction */ 1 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 1 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 1 93 1 94 /* load_ctl_ elements. */ 1 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 1 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 1 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 1 98 /* load_ctl_ load leveling desired response range: */ 1 99 2 response_high fixed bin, /* bad if user response time slower than this */ 1 100 2 response_low fixed bin, /* bad if user response time faster than this */ 1 101 2 load_ctl_pad fixed bin, 1 102 1 103 /* Login server request server data. */ 1 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 1 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 1 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 1 107 1 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 1 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 1 110 3 contents (UTE_SIZE) fixed bin; 1 111 1 112 /* constants */ 1 113 1 114 /* values for anstbl.session */ 1 115 1 116 dcl (AT_NORMAL init ("normal "), 1 117 AT_SPECIAL init ("special "), 1 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 1 119 1 120 dcl UTE_SIZE fixed bin internal static initial (300); 1 121 1 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 458 459 /* BEGIN include file access_audit_bin_header.incl.pl1 */ 2 2 2 3 /* format: style4 */ 2 4 2 5 /* NOTE: All changes must also be done to access_audit_bin_header.incl.alm */ 2 6 2 7 /* 85-01-18 E. Swenson - renamed to access_audit_bin_header.incl.pl1 */ 2 8 /* 85-01-17 E. Swenson - restructured, added session_uid, changed 2 9* min and max authorization to authorization range. */ 2 10 /* 85-01-07 EJ Sharpe - added min_authorization, cleanup */ 2 11 /* 84-11-15 EJ Sharpe - added event_flags word */ 2 12 /* 84-11-06 EJ Sharpe - added unaligned attr to version and proxy_flag */ 2 13 /* 84-10-24 EJ Sharpe - added the constants */ 2 14 /* 84-09-04 BIM - created */ 2 15 2 16 declare audit_record_ptr pointer; 2 17 2 18 dcl 1 audit_record_header aligned based (audit_record_ptr), 2 19 2 header aligned like arh_header_, 2 20 2 subject aligned like arh_user_info_; 2 21 2 22 dcl 1 audit_record_header_proxy aligned based (audit_record_ptr), 2 23 2 header aligned like arh_header_, 2 24 2 subjects (2) aligned like arh_user_info_; 2 25 2 26 dcl 1 arh_header_ aligned based, 2 27 2 type fixed bin (9) unsigned unaligned, 2 28 2 version fixed bin (9) unsigned unaligned, 2 29 2 flags unaligned, 2 30 3 ( 2 31 subject_is_process, /* binary data in subject is valid */ 2 32 object_is_valid /* There is an object */ 2 33 ) bit (1) unaligned, 2 34 3 pad bit (16) unaligned, 2 35 2 operation_code bit (36) aligned, /* like access_audit_encoded_op */ 2 36 2 event_flags bit (36) aligned, /* like access_audit_eventflags */ 2 37 2 session_uid fixed bin (35); /* uid for the login session */ 2 38 2 39 dcl 1 arh_user_info_ aligned based, 2 40 2 person char (22) unaligned, /* see anonymous bit */ 2 41 2 project char (9) unaligned, /* blank for nologin w/out proj */ 2 42 2 tag char (1) unaligned, 2 43 2 ring fixed bin (3) uns unaligned, 2 44 2 anonymous bit (1) unaligned, 2 45 2 pad3 bit (32) unaligned, 2 46 2 process_id bit (36) aligned, 2 47 2 authorization bit (72) aligned, 2 48 2 authorization_range (2) bit (72) aligned; 2 49 2 50 dcl ARH_TYPE_PROXY fixed bin init (2) 2 51 static options (constant); 2 52 dcl ARH_TYPE_NO_PROXY fixed bin init (1) 2 53 static options (constant); 2 54 dcl ACCESS_AUDIT_HEADER_VERSION_3 fixed bin (9) unsigned 2 55 init (3) static options (constant); 2 56 2 57 /* End include file access_audit_bin_header.incl.pl1 */ 459 /* not used, but PL/I needs it */ 460 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 3 5* Initial coding. 3 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 3 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 3 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 3 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 3 10* B) Add channel audit actions for dialin, dialout and dial system. 3 11* C) Correct declaration of as_channel_audit_record_.pad2. 3 12* D) Revise channel_audit_info. 3 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 3 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 3 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 3 16* END HISTORY COMMENTS */ 3 17 3 18 /* format: style2 */ 3 19 3 20 /* This include file describes the binary data associated with 3 21* Answering Service audit records. */ 3 22 3 23 /**** This first structure defines the Identification and Authentication 3 24* (I&A) audit records associated with login attempts for interactive 3 25* and daemon logins */ 3 26 3 27 dcl 1 as_ia_audit_record_int_dmn 3 28 structure aligned based, 3 29 2 header like audit_record_header aligned, 3 30 2 record like as_ia_audit_record_; 3 31 3 32 /**** This one is for absentee logins which are not proxy absentees */ 3 33 3 34 dcl 1 as_ia_audit_record_abs 3 35 structure aligned based, 3 36 2 header like audit_record_header aligned, 3 37 2 record like as_ia_audit_record_, 3 38 2 absentee_input_path 3 39 char (168); 3 40 3 41 dcl 1 as_ia_audit_record_abs_proxy 3 42 structure aligned based, 3 43 2 header like audit_record_header aligned, 3 44 2 record like as_ia_audit_record_, 3 45 2 absentee_input_path 3 46 char (168), 3 47 2 proxy_user char (32); 3 48 3 49 /**** The following structure is common to all the I&A records. It 3 50* contains the relevant information about the I&A process. */ 3 51 3 52 dcl 1 as_ia_audit_record_ structure aligned based, 3 53 2 type fixed bin (9) unsigned unaligned, 3 54 2 version fixed bin (9) unsigned unaligned, 3 55 2 process_type fixed bin (3) unsigned unaligned, 3 56 2 min_ring fixed bin (3) unsigned unaligned, 3 57 2 max_ring fixed bin (3) unsigned unaligned, 3 58 2 pad1 bit (9) unaligned, 3 59 2 attributes like user_attributes, 3 60 2 audit_flags bit (36) aligned, 3 61 2 channel char (32) aligned, 3 62 2 terminal_type char (32) aligned, 3 63 2 answerback char (4) aligned; 3 64 3 65 /**** The following structure represents the binary information 3 66* associated with a communications channel access audit message. */ 3 67 3 68 dcl 1 as_channel_audit_record 3 69 structure aligned based, 3 70 2 header like audit_record_header aligned, 3 71 2 record like as_channel_audit_record_; 3 72 3 73 3 74 dcl 1 as_channel_audit_record_ 3 75 structure aligned based, 3 76 2 type fixed bin (9) unsigned unaligned, 3 77 2 version fixed bin (9) unsigned unaligned, 3 78 2 flags unaligned, 3 79 3 channel_info_valid 3 80 bit (1) unaligned, 3 81 3 current_access_class_valid 3 82 bit (1) unaligned, 3 83 3 pad1 bit (16) unaligned, 3 84 2 channel_name char (32), 3 85 2 current_access_class 3 86 (2) bit (72) aligned, 3 87 2 access_class_range (2) bit (72) aligned, 3 88 2 current_service_type 3 89 fixed bin (17) unaligned, 3 90 2 service_type fixed bin (17) unaligned, 3 91 2 terminal_type char (32), 3 92 2 authenticated_user aligned, 3 93 3 personid char (22) unaligned, 3 94 3 projectid char (9) unaligned, 3 95 3 pad2 bit (9) unaligned; 3 96 3 97 /**** The following structure represents the binary information 3 98* associated with a dial service audit record */ 3 99 3 100 dcl 1 as_dial_service_audit_record 3 101 structure aligned based, 3 102 2 header like audit_record_header aligned, 3 103 2 record like as_dial_service_audit_record_; 3 104 3 105 dcl 1 as_dial_service_audit_record_ 3 106 structure aligned based, 3 107 2 type fixed bin (9) unsigned unaligned, 3 108 2 version fixed bin (9) unsigned unaligned, 3 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 3 110 2 flags unaligned, 3 111 3 registered_server 3 112 bit (1) unaligned, 3 113 3 privileged_server 3 114 bit (1) unaligned, 3 115 3 pad1 bit (13) unaligned, 3 116 2 dial_qualifier char (32); 3 117 3 118 /**** The following structure is used by dial_ctl_ to pass the required 3 119* information to as_access_audit_. This structure is necessary since 3 120* the data is not available in the user_table_entry or cdte. */ 3 121 3 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 3 123 3 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 3 125 2 server_ring fixed bin (3) unaligned, 3 126 2 flags unaligned, 3 127 3 registered bit (1) unaligned, 3 128 3 privileged bit (1) unaligned, 3 129 3 pad1 bit (31) unaligned, 3 130 2 dial_qualifier char (32); 3 131 3 132 /**** The following structure is used by dial_ctl_ to pass relevant information 3 133* to as_access_audit_. The channel name is passed here when we do not 3 134* have a cdtep, for instance. */ 3 135 3 136 dcl channel_audit_info_ptr ptr; 3 137 3 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 3 139 2 channel_name char (32), 3 140 2 valid, 3 141 (3 service_info, 3 142 3 access_class, 3 143 3 access_class_range, 3 144 3 user_validation_level) 3 145 bit(1) unal, 3 146 3 mbz bit(32) unal, 3 147 2 service_info char (32), 3 148 2 access_class bit(72) aligned, 3 149 2 access_class_range (2) bit(72) aligned, 3 150 2 user_validation_level 3 151 fixed bin (3); 3 152 3 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 3 154 fixed bin (9) initial (1) internal static options (constant); 3 155 3 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 3 157 fixed bin (9) initial (1) internal static options (constant); 3 158 3 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 3 160 fixed bin (9) initial (1) internal static options (constant); 3 161 3 162 dcl ( 3 163 AS_AUDIT_PROCESS_CREATE 3 164 initial (1), 3 165 AS_AUDIT_PROCESS_DESTROY 3 166 initial (2), 3 167 AS_AUDIT_PROCESS_CONNECT 3 168 initial (3), 3 169 AS_AUDIT_PROCESS_DISCONNECT 3 170 initial (4), 3 171 AS_AUDIT_PROCESS_TERMINATE 3 172 initial (5) 3 173 ) fixed bin (17) internal static options (constant); 3 174 3 175 dcl ( 3 176 AS_AUDIT_CHANNEL_ATTACH 3 177 initial (1), 3 178 AS_AUDIT_CHANNEL_DETACH 3 179 initial (2), 3 180 AS_AUDIT_CHANNEL_DIALIN 3 181 initial (3), 3 182 AS_AUDIT_CHANNEL_DIALOUT 3 183 initial (4), 3 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 3 185 initial (5) 3 186 ) fixed bin (17) internal static options (constant); 3 187 3 188 dcl ( 3 189 AS_AUDIT_DIALID_START initial (1), 3 190 AS_AUDIT_DIALID_STOP initial (2) 3 191 ) fixed bin (17) internal static options (constant); 3 192 3 193 dcl AS_AUDIT_CHANNEL_ACTIONS 3 194 (5) char (12) internal static options (constant) 3 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 3 196 dcl AS_AUDIT_CHANNEL_DIRECTION 3 197 (5) char (4) internal static options (constant) 3 198 initial ("to", "from", "to", "from", "to"); 3 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 3 200 (5) char (12) internal static options (constant) 3 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 3 202 dcl AS_AUDIT_PROCESS_ACTIONS 3 203 (5) char (10) internal static options (constant) 3 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 3 205 3 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 460 461 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 4 2 4 3 /* format: style4 */ 4 4 4 5 /* This file must be kept in sync with as_data_.alm */ 4 6 4 7 /****^ HISTORY COMMENTS: 4 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 4 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 4 10* Remove references to the 963 and 029 preaccess commands and remove support 4 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 4 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 4 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 4 14* Add references to as_data_ entrypoints added for Login Server. 4 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 4 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 4 17* Added new user signal field of inacrcvd (14) to handle inactivity response 4 18* from user. 4 19* END HISTORY COMMENTS */ 4 20 4 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 4 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 4 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 4 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 4 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 4 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 4 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 4 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 4 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 4 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 4 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 4 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 4 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 4 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 4 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 4 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 4 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 4 38 dcl as_data_$g115_dim char (32) ext static; 4 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 4 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 4 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 4 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 4 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 4 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 4 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 4 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 4 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 4 48 dcl as_data_$request_priority fixed bin ext static; 4 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 4 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 4 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 4 52 dcl as_data_$satp ptr ext static; /* SAT */ 4 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 4 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 4 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 4 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 4 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 4 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 4 59 dcl as_data_$version char (8) ext static; /* AS version */ 4 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 4 61 4 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 4 63 2 n_login_args fixed bin, 4 64 2 pad fixed bin, 4 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 4 66 4 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 4 68 2 n_signals fixed bin, 4 69 2 pad fixed bin, 4 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 4 71 4 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 4 73 2 n_system_signals fixed bin, 4 74 2 pad fixed bin, 4 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 4 76 4 77 dcl as_data_$login_words fixed bin ext static aligned, 4 78 /* interactive login words */ 4 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 4 80 2 n_words fixed bin, 4 81 2 pad fixed bin, 4 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 4 83 4 84 dcl as_data_$debug_flag bit (1) aligned external static; 4 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 4 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 4 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 4 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 4 89 4 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 461 462 /* BEGIN INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 5 6* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 7* Removed ansp, autp and dutp from this include file, adding them to 5 8* answer_table.incl.pl1, absentee_user_table.incl.pl1 and 5 9* daemon_user_table.incl.pl1. 5 10* END HISTORY COMMENTS */ 5 11 5 12 5 13 /* This include file requires as_data_.incl.pl1 */ 5 14 5 15 /* format: style4 */ 5 16 5 17 dcl as_procid bit (36) aligned defined (as_data_$as_procid); 5 18 dcl as_tty char (6) based (addr (as_data_$as_tty)); 5 19 dcl asmtp ptr defined (as_data_$asmtp); 5 20 dcl devtabp ptr defined (as_data_$devtabp); 5 21 dcl ip ptr defined (as_data_$rs_ptrs (0)); 5 22 dcl mgtp ptr defined (as_data_$mgtp); 5 23 dcl pdtdir char (168) based (addr (as_data_$pdtdir)); 5 24 dcl rs_ptrs (0:9) ptr based (addr (as_data_$rs_ptrs (0))); 5 25 dcl sat_htp ptr defined (as_data_$sat_htp); 5 26 dcl satp ptr defined (as_data_$satp); 5 27 dcl scdtp ptr defined (as_data_$cdtp); 5 28 dcl sysdir char (168) defined (as_data_$sysdir); 5 29 dcl whoptr ptr defined (as_data_$whoptr); 5 30 5 31 /* END INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 462 463 /* BEGIN INCLUDE FILE as_meter_numbers.incl.pl1 */ 6 2 6 3 /* These are the names and numbers of the slots in as_meter_table 6 4* (see as_meter_table.incl.pl1). 6 5* 6 6* Written March 1980 by Tom Casey 6 7* Modified June 1981 by T. Casey for MR9.0 to add ABS_TRYLOG_METER. 6 8**/ 6 9 6 10 6 11 /****^ HISTORY COMMENTS: 6 12* 1) change(86-01-31,Herbst), approve(87-07-21,MCR7694), 6 13* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 6 14* A) Add NETUP_METER. 6 15* B) Add AS_METER_NAMES array. 6 16* END HISTORY COMMENTS */ 6 17 6 18 6 19 dcl ASINIT_METER fixed bin int static options (constant) init (1); /* as_init_, parts 1 and 2 */ 6 20 dcl DIALUP_METER fixed bin int static options (constant) init (2); /* dialup_ */ 6 21 dcl DUM_METER fixed bin int static options (constant) init (3); /* daemon_user_manager_ */ 6 22 dcl AUM_METER fixed bin int static options (constant) init (4); /* absentee_user_manager_ */ 6 23 dcl AU_METER fixed bin int static options (constant) init (5); /* absentee_utility_ */ 6 24 dcl CPG_METER fixed bin int static options (constant) init (6); /* cpg_ */ 6 25 dcl DPG_METER fixed bin int static options (constant) init (7); /* dpg_ */ 6 26 dcl ACCTUP_METER fixed bin int static options (constant) init (8); /* accounting updates */ 6 27 dcl INSTALL_METER fixed bin int static options (constant) init (9); /* installs (up_sysctl_) */ 6 28 dcl ABSQ_METER fixed bin int static options (constant) init (10); /* absentee queue reads and writes */ 6 29 dcl MSGCORD_METER fixed bin int static options (constant) init (11); /* message coordinator */ 6 30 dcl COMMAND_METER fixed bin int static options (constant) init (12); /* operator commands, other than admin */ 6 31 dcl SAC_METER fixed bin int static options (constant) init (13); /* sac (send_admin_command handling) */ 6 32 dcl ADMIN_METER fixed bin int static options (constant) init (14); /* admin mode */ 6 33 dcl SSU_METER fixed bin int static options (constant) init (15); /* system_start_up.ec, parts 1, 2, and 3 */ 6 34 dcl FIXPDT_METER fixed bin int static options (constant) init (16); /* cleanup of PDTs after crash (act_ctl_$init) */ 6 35 dcl ABS_TRYLOG_METER fixed bin int static options (constant) init (17); /* attempts to login absentees via call lg_ctl_ 6 36* (the attempts might fail because of load control limits) */ 6 37 dcl NETUP_METER fixed bin int static options (constant) init (18); /* a call to network_accounting_update_ */ 6 38 6 39 dcl recursion_possible bit (18) int static options (constant) init ("000000000011000000"b); /* 11 & 12 (MSGCORD and COMMAND) */ 6 40 6 41 /* Bit length of recursion_possible equals highest slot number given above. */ 6 42 6 43 dcl AS_METER_NAMES (18) char (8) int static options (constant) init ( 6 44 "ASINIT", "DIALUP", "DUM", "AUM", "AU", 6 45 "CPG", "DPG", "ACCTUP", "INSTALL", "ABSQ", 6 46 "MSGCORD", "COMMAND", "SAC", "ADMIN", "SSU", 6 47 "FIXPDT", "TRYABSLG", "NETUP"); 6 48 6 49 /* END INCLUDE FILE as_meter_numbers.incl.pl1 */ 463 464 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 7 2 7 3 /* This include file declares the "author" substructure 7 4* in a form suitable for using the PL/I "like" attribute. 7 5* 7 6* Written 750304 by PG 7 7**/ 7 8 7 9 dcl 1 author_dcl aligned based, 8 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 8 2 8 3 /* the "author" items must always be the first ones in the table. The 8 4* module which moves the converted table to the System Control process 8 5* fills in these data items and assumes them to be at the head of the segment 8 6* regardless of the specific table's actual declaration. The variables 8 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 8 8* respectively. For tables installed in multiple processes, these 8 9* are to be used to lock out multiple installations. */ 8 10 8 11 /* Lock should be used as a modification lock. Since, in general, 8 12* entries may not be moved in system tables, even by installations, 8 13* it is sufficient for only installers and programs that change threads 8 14* to set or respect the lock. Simply updating data in an entry 8 15* requires no such protection. 8 16* 8 17* Last_install_time is used by readers of system tables to detect 8 18* installations or other serious modifications. By checking it before 8 19* and after copying a block of data, they can be protected against 8 20* modifications. 8 21* 8 22* Modules that set the lock should save proc_group_id, and then 8 23* put their group id there for the time they hold the lock. 8 24* if they do not actually install the, they should restore the group id. 8 25**/ 8 26 8 27 2 author aligned, /* validation data about table's author */ 8 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 8 29 3 lock bit (36), /* installation lock */ 8 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 8 31 3 update_authorization bit (1) unal, /* update only authorizations */ 8 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 8 33 3 pad bit (33) unaligned, 8 34 3 last_install_time fixed bin (71), 8 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 8 36 3 w_dir char (64), /* author's working directory */ 8 37 8 38 /* END INCLUDE FILE author.incl.pl1 */ 7 10 7 11 2 pad; 7 12 7 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 464 465 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 9 2 9 3 /* format: style3,idind25,indcomtxt */ 9 4 9 5 /* Channel Definition Table. 9 6* This table lists all of the hardware channels (ports) connected 9 7* to the system, and maintains the attributes of each one. 9 8* 9 9* PG 741230 9 10* Modified by Mike Grady 5/6/76 to add FNP info. 9 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 9 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 9 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 9 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 9 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 9 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 9 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 9 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 9 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 9 20* Modified August 1982 by E. N. Kittlitz for check_acs. 9 21* Modified January 1983 by Keith Loepere for generic_destination. 9 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 9 23* Modified 831216 by E. N. Kittlitz for required_access_class. 9 24* Modified 84-04-01 by BIM to finish communications AIM: 9 25* access class ranges, 9 26* access_control flags. 9 27**/ 9 28 9 29 9 30 /****^ HISTORY COMMENTS: 9 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 9 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 9 33* Add support for answering service to use IOCBs when tty_ cannot be 9 34* used to service login channels. 9 35* END HISTORY COMMENTS */ 9 36 9 37 9 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 9 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 9 40 9 41 dcl (cdtp, cdtep, fnpep, mpxep) 9 42 ptr; 9 43 9 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 9 45 2 author like author_dcl.author, /* standard header */ 9 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 9 47 2 current_size fixed bin, /* number of last cdte. */ 9 48 2 version fixed bin, 9 49 2 freep fixed bin, /* chain of free cdte's */ 9 50 2 n_cdtes fixed bin, /* number of used cdte's */ 9 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 9 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 9 53 2 cpu_in_dialup fixed bin (71), /* .. */ 9 54 2 pf_in_dialup fixed bin, /* .. */ 9 55 2 pp_in_dialup fixed bin, /* .. */ 9 56 2 entries_to_dialup fixed bin, /* .. */ 9 57 2 flags, 9 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 9 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 9 60 3 mux_mgr_system_init 9 61 bit (1) unal, /* mux mgr has loaded top-levels */ 9 62 3 pad1 bit (33) unal, 9 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 9 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 9 65 2 threads aligned like channel_threads, 9 66 /* root of non-fnp-top-level-multiplexers */ 9 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 9 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 9 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 9 70 9 71 9 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 9 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 9 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 9 75 2 pad1 bit (36) aligned, 9 76 2 name char (32), /* ASCII name of channel */ 9 77 2 access_class (2) bit (72) aligned, /* access class range */ 9 78 2 comment char (48), /* printable message about channel */ 9 79 2 charge_type fixed bin (17) unal, /* billing group */ 9 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 9 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 9 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 9 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 9 84 2 pad2 bit (18) unaligned, 9 85 2 answerback char (8), /* answerback string expected */ 9 86 2 initial_terminal_type 9 87 char (32) unal, /* as specified in the CMF */ 9 88 2 mpx_data unal, /* data used only for multiplexed channels */ 9 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 9 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 9 91 2 flags, 9 92 ( 3 attributes, 9 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 9 94 4 audit_access_error 9 95 bit (1), /* ON means ck that person auth is inside access class range */ 9 96 /* this implies that the access_class describes a range of 9 97* legitimate user auths. */ 9 98 4 hardwired bit (1), /* ON means it is */ 9 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 9 100 4 dont_read_answerback 9 101 bit (1), /* ON means don't try to read answerback */ 9 102 4 pada bit (4), 9 103 3 access_control unaligned, /* As below */ 9 104 4 dial_out bit (1), /* dialing user must be on ACS */ 9 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 9 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 9 107 4 login bit (1), /* logging in user must be on acs */ 9 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 9 109 4 pado bit (3), 9 110 3 options, 9 111 4 execute_initial_command 9 112 bit (1), /* ON means to do it */ 9 113 4 attached_by_operator 9 114 bit (1), /* ON means temporary attachment. */ 9 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 9 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 9 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 9 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 9 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 9 120 4 generic_destination_present 9 121 bit (1), /* ON means that the initial_command field contains 9 122* a generic destination to match on dial_out or priv attach */ 9 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 9 124 4 pado bit (9) 9 125 ) unaligned, 9 126 2 initial_command char (64), /* pseudo first input line */ 9 127 /**** The following variables represent dynamic control info, and 9 128* are used mostly by dialup_ and asu_ */ 9 129 2 event fixed bin (71), /* event call channel for channel events */ 9 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 9 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 9 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 9 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 9 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 9 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 9 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 9 137 /* 0 = dialup_, 1 = mc_tty_ */ 9 138 3 save_arg bit (1) unal, /* -save login arg given */ 9 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 9 140 3 detach_after_hangup 9 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 9 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 9 143 3 hold_arg bit (1) unal, /* -hold arg given */ 9 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 9 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 9 146 3 current_access_class_valid 9 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 9 148 3 pad bit (7) unal, 9 149 2 twx fixed bin, /* channel device index */ 9 150 2 state fixed bin, /* channel state */ 9 151 2 tty_id_code char (4), /* channel id (answerback) */ 9 152 2 current_terminal_type 9 153 char (32) unal, /* most recently-set terminal type */ 9 154 2 process ptr unal, /* ptr to ATE owning this channel */ 9 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 9 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 9 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 9 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 9 159* We do not yet define multi-class connections, but we will someday. */ 9 160 2 disconnected_ate_index 9 161 fixed bin (17) unal, /* index of ate of disconnected process */ 9 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 9 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 9 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 9 165 2 pad3 bit (14) unaligned, 9 166 /**** The following variables are kept for metering purposes. */ 9 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 9 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 9 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 9 170 2 dialup_time fixed bin (71), /* time of present dialup */ 9 171 2 disconnected_proc_command 9 172 fixed bin (12) unsigned unal, 9 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 9 174 2 disconnected_proc_number 9 175 fixed bin (12) unsigned unal, 9 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 9 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 9 178 /* number of disconnected processes that user has */ 9 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 9 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 9 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 9 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 9 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 9 184 /**** had the space. */ 9 185 2 threads aligned like channel_threads, 9 186 /**** The use name is that of the user who gave the dial or slave ****/ 9 187 /**** preaccess request. ****/ 9 188 2 user_name unaligned, 9 189 3 person char (20) unaligned, 9 190 3 project char (9) unaligned, 9 191 3 pad char (3) unaligned, /* no tag */ 9 192 2 iocbp ptr unaligned; /* 104 words */ 9 193 9 194 9 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 9 196* overlays initial_command field for slave and autocall lines */ 9 197 9 198 9 199 9 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 9 201 /* These variables are filled in from the CMF */ 9 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 9 203 2 memory fixed bin, /* amount of memory on this FNP */ 9 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 9 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 9 206 2 service_type fixed bin, /* service type */ 9 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 9 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 9 209 /**** The following are used during system operation to remember the state of the FNP */ 9 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 9 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 9 212 2 mpxe like mpxe, /* standard multiplexer data */ 9 213 2 threads aligned like channel_threads, 9 214 /* same mpx threads as channel */ 9 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 9 216 9 217 /* This structure describes the data necessary to control a multiplexer. 9 218* For FNP's., a copy appears in the fnpe. For communications lines, it 9 219* overlays the initial_command field in the cdte. */ 9 220 9 221 dcl 1 mpxe based (mpxep) aligned, 9 222 2 state fixed bin, /* current state, up, down, loading */ 9 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 9 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 9 225 2 n_bootloads fixed bin, /* count of load attempts */ 9 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 9 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 9 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 9 229 2 time_load_start fixed bin (71), /* time current load started */ 9 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 9 231 2 flags unal, 9 232 3 go bit (1), /* start MPX after it loads */ 9 233 3 listening bit (1), /* listen has been done on subchannels */ 9 234 3 check bit (1), /* loaded with check option */ 9 235 3 retry_load bit (1), /* reload if load fails */ 9 236 3 pad1 bit (32), 9 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 9 238 9 239 /* These threads define the tree of multiplexers in the cdt. */ 9 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 9 241 /* by alpha sort order of the channel name. Daughter points to the */ 9 242 /* first child of this node, if any. Daughter count is the number */ 9 243 /* of children, as a consistency check. Mother is a back pointer to */ 9 244 /* the parent, present in all the children, not just the first. */ 9 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 9 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 9 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 9 248 9 249 dcl 1 channel_threads aligned based, 9 250 2 next_sister fixed bin unaligned, 9 251 2 prev_sister fixed bin unaligned, 9 252 2 daughter fixed bin unaligned, 9 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 9 254 2 pad bit (18) unaligned, 9 255 2 daughter_count fixed bin unaligned; 9 256 9 257 /* Values for cdte.service_type field */ 9 258 9 259 dcl ( 9 260 ANS_SERVICE init (1), /* login or dial */ 9 261 FTP_SERVICE init (2), /* file transfer service */ 9 262 MC_SERVICE init (3), /* message coordinator */ 9 263 SLAVE_SERVICE init (4), /* special channel */ 9 264 DIAL_SERVICE init (5), /* transient state */ 9 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 9 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 9 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 9 268 ) fixed bin internal static options (constant); 9 269 9 270 /* Values for service type in both cdte and fnpe */ 9 271 9 272 dcl ( 9 273 INACTIVE init (7), /* not to be used, even though configured */ 9 274 ACTIVE init (1) 9 275 ) /* for FNP only, configured and to be used */ 9 276 fixed bin internal static options (constant); 9 277 9 278 /* Value for both cdte.in_use and fnpe.state */ 9 279 9 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 9 281 /* was not configured at Multics bootload time */ 9 282 9 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 9 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 9 285 9 286 /* Value for cdte.in_use */ 9 287 9 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 9 289 /* channel deleted by CDT installation */ 9 290 9 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 9 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 9 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 9 294 9 295 9 296 /* Values for mpxe.state field */ 9 297 9 298 dcl ( 9 299 FNP_FREE init (0), /* this fnpe is not used */ 9 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 9 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 9 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 9 303 FNP_UP init (4) /* FNP is up and running fine */ 9 304 ) fixed bin internal static options (constant); 9 305 9 306 dcl ( 9 307 MPX_FREE init (0), /* this mpxe is not used */ 9 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 9 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 9 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 9 311 MPX_UP init (4) /* MPX is up and running fine */ 9 312 ) fixed bin internal static options (constant); 9 313 10 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 10 2 10 3 10 4 10 5 /****^ HISTORY COMMENTS: 10 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 10 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 10 8* Add data needed for the uncp multiplexer (DSA gateway) interface 10 9* implementation. 10 10* END HISTORY COMMENTS */ 10 11 10 12 10 13 /* Values for fnpe.type field */ 10 14 /* 10 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 10 16* Added in March 1982 - DN7100.fd. 10 17**/ 10 18 10 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 10 20 DN6600 init (2), /* a DataNet 6600 FNP */ 10 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 10 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 10 23 ) fixed bin internal static options (constant); 10 24 10 25 dcl fnp_types (4) char (8) int static options (constant) 10 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 10 27 10 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 10 29 init (355, 6600, 6670, 7100); 10 30 10 31 dcl supported_fnp (4) bit (1) int static options (constant) 10 32 init ("0"b, "0"b, "1"b, "1"b); 10 33 10 34 10 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 9 314 9 315 9 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 465 466 /* BEGIN INCLUDE FILE ... create_info.incl.pl1 */ 11 2 11 3 /* Last Modified on 10/04/72 by Richard G. Bratt to implement "no permanent storage" users 11 4* and to reserve space for lot-in-stack and cls-in-stack modifications */ 11 5 /* Modified 740723 by PG to add AIM & audit info */ 11 6 /* Modified May 1975 by R. Mullen to add work_class and change version from 3 to 4 */ 11 7 /* Modified 24 Oct 75 by T. Casey to add subsystem and change version from 4 to 5 */ 11 8 /* Modified 27 Dec 84 by Keith Loepere to add dir_quota and change version to 6. */ 11 9 11 10 dcl version_of_create_info fixed bin int static init (6); /* Current version number of this structure. */ 11 11 11 12 /* Version history: VERSION CHANGE 11 13* * 1 11 14* * 2 11 15* * 3 added AIM and audit info - PG - July 75 11 16* * 4 added work_class - TAC - Aug 75 11 17* * 5 added subsystem - TAC - Oct 75 11 18* * 6 added dir_quota - KPL - Dec 84 11 19* * 11 20**/ 11 21 11 22 11 23 dcl 1 create_info aligned based, /* structure which is used to transfer */ 11 24 /* information to act_proc */ 11 25 2 processid, /* id of process to be created */ 11 26 3 rel_apte bit (18) unaligned, /* returned from act_proc */ 11 27 3 unique_index bit (18) unaligned, /* unique number supplied by answering service */ 11 28 2 version fixed bin, /* identification of this structure */ 11 29 2 term_channel fixed bin (71), /* channel for signalling process termination */ 11 30 2 term_processid bit (36) aligned, /* process id of answering service */ 11 31 2 words_of_pit fixed bin, /* length in words of PIT */ 11 32 2 record_quota fixed bin, /* disk quota */ 11 33 2 ppml fixed bin, /* drum quota */ 11 34 2 initial_ring fixed bin (3), /* initial ring of created process */ 11 35 2 highest_ring fixed bin (3), /* highest ring a process can transfer out to */ 11 36 2 timax fixed bin, /* scheduling parameter for the process */ 11 37 2 account_ptr ptr, 11 38 2 pit_ptr ptr, /* pointer to pit template */ 11 39 2 process_group_id char (32) aligned, 11 40 2 user_processid char (32) aligned, 11 41 2 account_id char (32) aligned, /* name of account */ 11 42 2 homedir bit (18), /* offset of homedir name in pit */ 11 43 2 lot_size fixed bin, /* size of lot */ 11 44 2 cls_size fixed bin, /* size of initial combined linkage section */ 11 45 2 kst_size fixed bin, /* number of entries in each kst array */ 11 46 2 dont_call_init_admin bit (1) aligned, /* the process overseer of this process should be 11 47* called directly from ring 0 */ 11 48 2 lot_in_stack bit (1) aligned, /* one if lot should go in stack */ 11 49 2 cls_in_stack bit (1) aligned, /* one if initial cls should go in stack */ 11 50 2 audit bit (36), /* audit flags for user */ 11 51 2 process_authorization bit (72), /* access_authorization of this process */ 11 52 2 max_process_authorization bit (72), /* maximum access authorization of this user. */ 11 53 2 work_class fixed bin, /* (0 to 16) specifies scheduler group */ 11 54 2 subsystem char (64), /* directory in which to find prelinked process */ 11 55 2 dir_quota fixed bin; /* dir quota for pdir */ 11 56 11 57 /* END INCLUDE FILE ... create_info.incl.pl1 */ 466 467 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 12 2 12 3 /* format: style4 */ 12 4 12 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 12 6 12 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 12 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 12 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 12 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 12 11* WAIT_DISCARD_WAKEUP 12 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 12 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 12 14**/ 12 15 12 16 /****^ HISTORY COMMENTS: 12 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 12 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 12 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 12 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 22* Add named constants for instance tags. 12 23* END HISTORY COMMENTS */ 12 24 12 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 12 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 12 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 12 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 12 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 12 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 12 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 12 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 12 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 12 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 12 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 12 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 12 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 12 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 12 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 12 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 12 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 12 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 12 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 12 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 12 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 12 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 12 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 12 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 12 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 12 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 12 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 12 52 ) fixed bin internal static options (constant); 12 53 12 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 12 55 /* names of ute.destroy_flag values */ 12 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 12 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 12 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 12 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 12 60 "wait remove"); /* -13 */ 12 61 12 62 /* Values for "cdte.state", typewriter state. */ 12 63 12 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 12 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 12 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 12 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 12 68 ) fixed bin internal static options (constant); 12 69 12 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 12 71 /* names of cdte.state values */ 12 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 12 73 12 74 /* Values for "cdte.in_use" and "ate.active" */ 12 75 12 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 12 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 12 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 12 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 12 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 12 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 12 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 12 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 12 84 ) fixed bin internal static options (constant); 12 85 12 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 12 87 /* names of ute.active values */ 12 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 12 89 12 90 12 91 /**** Values for ute.tag */ 12 92 12 93 dcl (TAG_INTERACTIVE init("a"), 12 94 TAG_UFT init("f"), 12 95 TAG_ABSENTEE init("m"), 12 96 TAG_PROXY init("p"), 12 97 TAG_DAEMON init("z") 12 98 ) char(1) int static options(constant); 12 99 12 100 12 101 /**** Following are constants used to indicate to the process termination 12 102* handler the reason for the process termination. They are used by 12 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 12 104* uc_ls_destroy_request_. */ 12 105 12 106 dcl ( 12 107 PT_FPE initial (1), 12 108 PT_LOGOUT initial (4), 12 109 PT_NEW_PROC_AUTH initial (13), 12 110 PT_HANGUP initial (20), 12 111 PT_SHUTDOWN initial (21), 12 112 PT_BUMP initial (22), 12 113 PT_ALARM initial (23), 12 114 PT_DETACH initial (24), 12 115 PT_UNBUMP initial (25), 12 116 PT_OPERATOR_TERMINATE initial (27), 12 117 PT_DESTROY_REQUEST initial (30), 12 118 PT_NEW_PROC_REQUEST initial (31) 12 119 ) fixed bin (17) internal static options (constant); 12 120 12 121 /**** Values for ute.preempted: 12 122* -1 user unbumped after term signal sent 12 123* 0 user unbumped; ignore alarm___ 12 124* 1 value internally used in load_ctl_ 12 125* 2 user bumped; when alarm___ comes in, send term signal 12 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 12 127* signals come in 12 128* 4 user bumped; process sick, so destroy without sending term signal 12 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 12 130* termsgnl). */ 12 131 12 132 dcl ( 12 133 PREEMPT_UNBUMP initial (-1), 12 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 12 135 PREEMPT_LOAD_CTL initial (1), 12 136 PREEMPT_BUMPED initial (2), 12 137 PREEMPT_TERM_SENT initial (3), 12 138 PREEMPT_BUMPED_NO_TERM initial (4), 12 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 12 140 ) fixed bin (17) internal static options(constant); 12 141 12 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 12 143 "unbumped", 12 144 "not bumped, ignore alarm___", 12 145 "load_ctl_", 12 146 "bumped", 12 147 "bumped, trm_ sent", 12 148 "bumped without trm_", 12 149 "bumped, termsgnl received"); 12 150 12 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 467 468 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 13 2 13 3 /* Modified 740723 by PG to add short AIM access names */ 13 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 13 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 13 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 13 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 13 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 13 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 13 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 13 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 13 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 13 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 13 14* strict_trusted_path. */ 13 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 13 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 13 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 13 18 13 19 13 20 /****^ HISTORY COMMENTS: 13 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 13 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 13 23* added vchn_requires_accept parameter. 13 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 13 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 13 26* Correct formatting problems. 13 27* END HISTORY COMMENTS */ 13 28 13 29 13 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 13 31 13 32 13 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 13 34 2 part_1 like installation_parms_part_1 aligned, 13 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 13 36 13 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 13 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 13 39 13 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 13 41 2 installation_id char (32), /* Name printed at dialup and in who */ 13 42 2 company char (64), /* company name */ 13 43 2 department char (64), /* department */ 13 44 2 companyds char (120), /* company, double spaced */ 13 45 2 departmentds char (120), /* dpeartment double spaced */ 13 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 13 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 13 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 13 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 13 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 13 51 2 ndevices fixed bin, /* number of devices to charge */ 13 52 2 devtab (16), /* Maximum 16 */ 13 53 3 device_id char (8), /* Name of device */ 13 54 3 device_price (0: 7) float bin, /* Price by shift */ 13 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 13 56 2 warning_time fixed bin, /* seconds from warning to logout */ 13 57 2 login_time fixed bin, /* seconds in which to complete login */ 13 58 2 acct_update fixed bin, /* seconds between acct update */ 13 59 2 login_tries fixed bin, /* number of login tries allowed */ 13 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 13 61 2 registration_price float bin, /* fee per month per user */ 13 62 2 dolsign char (1), /* "dollar sign" */ 13 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 13 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 13 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 13 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 13 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 13 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 13 69* Initializer will copy the syserr_log */ 13 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 13 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 13 72 2 fatal_error_loop_count fixed bin (17) unaligned, 13 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 13 74 2 term_real_time_seconds fixed bin (17) unaligned, 13 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 13 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 13 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 13 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 13 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 13 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 13 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 13 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 13 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 13 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 13 85 2 level_names (0:7) char (32), /* Names for security levels. */ 13 86 2 category_names (18) char (32), /* Names for security categories. */ 13 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 13 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 13 89 2 ncon fixed bin, /* Number of config elements. */ 13 90 2 cona (51), /* each entry is 5 words long */ 13 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 13 92 3 shift fixed bin (5) unal, /* Shift number */ 13 93 3 x1 fixed bin (23) unal, 13 94 3 kmem fixed bin (17) unal, /* Memory size */ 13 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 13 96 3 x2 fixed bin (17) unal, 13 97 3 maxa fixed bin (11) unal, /* Max abs users */ 13 98 3 maxq fixed bin (5) unal, /* Max abs q */ 13 99 3 maxu_base fixed bin (17) unal, 13 100 3 response_high fixed bin (17) unal, 13 101 3 response_low fixed bin (17) unal, 13 102 3 x3 fixed bin (17) unal, 13 103 13 104 /* Absentee control parameters. New for MR7.0 */ 13 105 13 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 13 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 13 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 13 109 13 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 13 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 13 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 13 113 13 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 13 115 13 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 13 117 13 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 13 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 13 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 13 121 2 version fixed bin (35), /* must be 2 */ 13 122 2 nrates fixed bin, /* number of rate structures */ 13 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 13 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 13 125 2 require_operator_login bit (1) aligned, /* just what it says */ 13 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 13 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 13 128* mcacs segments for operators */ 13 129 2 password_min_length fixed bin, /* minimum length of passwords */ 13 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 13 131 2 password_change_interval fixed bin, /* number of days until must change */ 13 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 13 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 13 134* "accepted" by operator if personid is not 13 135* signed on system console */ 13 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 13 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 13 138* or someone miscounted when using part of pad2 */ 13 139 13 140 13 141 /* Entries in the following array may be accessed via system_info_$resource_price. 13 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 13 143 13 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 13 145 2 name char (32), 13 146 2 price float bin; 13 147 14 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 14 2 14 3 /* Created on 04/24/78 by Michael R. Jordan */ 14 4 /* Modified 04/10/79 by C. D. Tavares */ 14 5 14 6 dcl rifp ptr; 14 7 14 8 dcl 1 rcp_init_flags based (rifp), 14 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 14 10 2 pad1 bit (2) unaligned, /* obsolete */ 14 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 14 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 14 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 14 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 14 15 14 16 dcl (No_authentication initial (0), 14 17 Nominal_authentication initial (1), 14 18 Automatic_authentication initial (2), 14 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 14 20 14 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 14 22 ("none", "nominal", "automatic", "manual"); 14 23 14 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 13 148 13 149 13 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 468 469 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 15 2 15 3 /* Written November 10 1975 by Paul Green */ 15 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 15 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 15 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 15 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 15 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 15 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 15 10 15 11 15 12 /****^ HISTORY COMMENTS: 15 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 15 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 15* Add a DSA line type. 15 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 15 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 18* Add HASP_OPR to identify HASP workstation consoles with login service. 15 19* END HISTORY COMMENTS */ 15 20 15 21 15 22 declare (LINE_MC initial (-2), 15 23 LINE_TELNET initial (-1), 15 24 LINE_UNKNOWN initial (0), 15 25 LINE_ASCII initial (1), 15 26 LINE_1050 initial (2), 15 27 LINE_2741 initial (3), 15 28 LINE_ARDS initial (4), 15 29 LINE_SYNCH initial (5), 15 30 LINE_G115 initial (6), 15 31 LINE_BSC initial (7), 15 32 LINE_ETX initial (8), 15 33 LINE_VIP initial (9), 15 34 LINE_ASYNC1 initial (10), 15 35 LINE_ASYNC2 initial (11), 15 36 LINE_ASYNC3 initial (12), 15 37 LINE_SYNC1 initial (13), 15 38 LINE_SYNC2 initial (14), 15 39 LINE_SYNC3 initial (15), 15 40 LINE_POLLED_VIP initial (16), 15 41 LINE_X25LAP initial (17), 15 42 LINE_HDLC initial (18), 15 43 LINE_COLTS initial (19), 15 44 LINE_DSA initial (20), 15 45 LINE_HASP_OPR initial (21) 15 46 ) fixed bin internal static options (constant); 15 47 15 48 dcl max_line_type fixed bin int static options (constant) init (21); 15 49 15 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 15 51 15 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 15 53 15 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 15 55 "MC", /* -2 */ 15 56 "TELNET", /* -1 */ 15 57 "none", /* 0 */ 15 58 "ASCII", /* 1 */ 15 59 "1050", /* 2 */ 15 60 "2741", /* 3 */ 15 61 "ARDS", /* 4 */ 15 62 "Sync", /* 5 */ 15 63 "G115", /* 6 */ 15 64 "BSC", /* 7 */ 15 65 "202ETX", /* 8 */ 15 66 "VIP", /* 9 */ 15 67 "ASYNC1", /* 10 */ 15 68 "ASYNC2", /* 11 */ 15 69 "ASYNC3", /* 12 */ 15 70 "SYNC1", /* 13 */ 15 71 "SYNC2", /* 14 */ 15 72 "SYNC3", /* 15 */ 15 73 "POLLED_VIP", /* 16 */ 15 74 "X25LAP", /* 17 */ 15 75 "HDLC", /* 18 */ 15 76 "COLTS", /* 19 */ 15 77 "DSA", /* 20 */ 15 78 "HASP_OPR"); /* 21 */ 15 79 15 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 469 470 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 16 2 /* Requires user_attributes.incl.pl1 */ 16 3 16 4 /* Modified 740723 by PG to add AIM info */ 16 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 16 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 16 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 16 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 16 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 16 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 16 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 16 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 16 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 16 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 16 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 16 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 16 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 16 18 16 19 dcl (PDT_version init (4), /* version of this declaration */ 16 20 PDT_header_lth init (256), /* length in words of PDT head */ 16 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 16 22 16 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 16 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 16 25 ) fixed bin internal static options (constant); 16 26 16 27 dcl 1 pdt based (pdtp) aligned, 16 28 17 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 17 2 17 3 /* the "author" items must always be the first ones in the table. The 17 4* module which moves the converted table to the System Control process 17 5* fills in these data items and assumes them to be at the head of the segment 17 6* regardless of the specific table's actual declaration. The variables 17 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 17 8* respectively. For tables installed in multiple processes, these 17 9* are to be used to lock out multiple installations. */ 17 10 17 11 /* Lock should be used as a modification lock. Since, in general, 17 12* entries may not be moved in system tables, even by installations, 17 13* it is sufficient for only installers and programs that change threads 17 14* to set or respect the lock. Simply updating data in an entry 17 15* requires no such protection. 17 16* 17 17* Last_install_time is used by readers of system tables to detect 17 18* installations or other serious modifications. By checking it before 17 19* and after copying a block of data, they can be protected against 17 20* modifications. 17 21* 17 22* Modules that set the lock should save proc_group_id, and then 17 23* put their group id there for the time they hold the lock. 17 24* if they do not actually install the, they should restore the group id. 17 25**/ 17 26 17 27 2 author aligned, /* validation data about table's author */ 17 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 17 29 3 lock bit (36), /* installation lock */ 17 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 17 31 3 update_authorization bit (1) unal, /* update only authorizations */ 17 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 17 33 3 pad bit (33) unaligned, 17 34 3 last_install_time fixed bin (71), 17 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 17 36 3 w_dir char (64), /* author's working directory */ 17 37 17 38 /* END INCLUDE FILE author.incl.pl1 */ 16 29 16 30 2 max_size fixed bin, /* max number of entries table can grow */ 16 31 2 current_size fixed bin, /* current size of table (in entries) */ 16 32 2 version fixed bin, /* table version */ 16 33 2 freep fixed bin, /* relptr to begin of free chain */ 16 34 2 n_users fixed bin, /* number of entries actually used */ 16 35 2 project_name char (28), /* name of project */ 16 36 2 project_dir char (64), /* treename of project's directory */ 16 37 2 projfile_version fixed bin, 16 38 2 projentry bit (66*36), 16 39 2 pad3 (5) bit (36) aligned, 16 40 2 reqfile_version fixed bin, 16 41 2 reqentry bit (40*36), 16 42 2 pad4 (9) fixed bin, 16 43 2 sat_version fixed bin, 16 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 16 45 2 pad5 (4) bit (36) aligned, 16 46 2 date_reqfile_copied fixed bin (71), 16 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 16 48 2 pad2l bit (27) unaligned, 16 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 16 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 16 51 2 user (1019) aligned, /* the project definition table entries */ 16 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 16 53 16 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 16 55 16 56 16 57 16 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 16 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 16 60 2 lock bit (36), /* update lock */ 16 61 2 person_id char (24) aligned, /* login name of user */ 16 62 2 now_in fixed bin, /* count of users logged in on this entry */ 16 63 2 password char (8) aligned, /* password for anonymous user */ 16 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 16 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 16 66 2 home_dir char (64) aligned, /* user's default working directory */ 16 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 16 68 2 high_ring fixed bin, /* highest ring user may use */ 16 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 16 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 16 71 2 outer_module char (32), /* outer module used if user is interactive */ 16 72 2 lot_size fixed bin, /* size of linkage offset table */ 16 73 2 kst_size fixed bin, /* size of known segment table */ 16 74 2 cls_size fixed bin, /* size of combined linkage */ 16 75 2 uflags, /* various flags */ 16 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 16 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 16 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 16 79 3 flagpad bit (33) unal, 16 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 16 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 16 82 2 dollar_limit float bin, 16 83 2 dollar_charge float bin, /* total dollars spent this month */ 16 84 2 shift_limit (0: 7) float bin, 16 85 2 daton fixed bin (71), /* date user added to system */ 16 86 2 datof fixed bin (71), /* date user deleted */ 16 87 2 last_login_time fixed bin (71), /* time of last login */ 16 88 2 last_login_unit char (4), /* terminal id last used */ 16 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 16 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 16 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 16 92 2 last_update fixed bin (71), /* time of last transaction */ 16 93 2 logins fixed bin, /* number of logins */ 16 94 2 crashes fixed bin, /* sessions abnormally terminated */ 16 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 16 96 3 charge float bin, /* total dollar charge this shift */ 16 97 3 xxx fixed bin, 16 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 16 99 3 core fixed bin (71), /* core demand in page-microseconds */ 16 100 3 connect fixed bin (71), /* total console time in microseconds */ 16 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 16 102 2 absentee (4), /* absentee use, queues 1-4 */ 16 103 3 charge float bin, /* dollar charge this queue */ 16 104 3 jobs fixed bin, /* number of jobs submitted */ 16 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 16 106 3 memory fixed bin (71), /* total memory demand */ 16 107 2 iod (4), /* io daemon use, queues 1-4 */ 16 108 3 charge float bin, /* dollar charge this queue */ 16 109 3 pieces fixed bin, /* pieces of output requested */ 16 110 3 pad fixed bin (35), 16 111 3 pages fixed bin (35), /* number of pages output */ 16 112 3 lines fixed bin (71), /* total record count of output */ 16 113 2 devices (16) float bin, /* device charges */ 16 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 16 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 16 116 2 absolute_spent float bin, /* Spending against this */ 16 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 16 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 16 119 2 pad_was_authorization bit (72) aligned, 16 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 16 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 16 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 16 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 16 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 16 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 16 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 16 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 16 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 16 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 16 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 16 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 16 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 16 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 16 134 2 user_authorization (2) bit (72) aligned, /* range */ 16 135 2 pdtupad (5) fixed bin, 16 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 16 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 16 138 2 chain fixed bin; /* free chain */ 16 139 16 140 /* END INCLUDE FILE ... pdt.incl.pl1 */ 470 471 472 dcl pdtp ptr automatic init (null); /* pdt needs it */ 473 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 18 2 18 3 /****^ ******************************************** 18 4* * * 18 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 18 6* * * 18 7* ******************************************** */ 18 8 18 9 /* Requires user_attributes.incl.pl1 */ 18 10 /* Declaration of the Process Inititalization Table (PIT) */ 18 11 18 12 /****^ HISTORY COMMENTS: 18 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 18 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 18 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 18 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 18 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 18 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 18 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 18 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 18 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 18 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 18 23* copies the pds, but this is the only home of the min. 18 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 18 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 18 26* Add the truncate_absout and restarted bits for the 18 27* -truncate .absout SCP 6297, version 3. 18 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 18 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 18 30* Changed structure under pit.abs_attributes to use like structure in 18 31* abs_attributes.incl.pl1. This allows the same attributes to be used 18 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 18 33* this include file. 18 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 18 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 18 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 18 37* name of pit.incl.pl1. 18 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 18 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 18 40* Removed the ringpad element and added the min_ring & max_ring elements so 18 41* users may access their lowest and/or highest possible login ring value. 18 42* SCP6367. 18 43* END HISTORY COMMENTS */ 18 44 18 45 18 46 /* format: style4 */ 18 47 declare pit_$ bit (36) aligned external static; 18 48 declare pit_ptr pointer; 18 49 18 50 dcl 1 pit aligned based (pit_ptr), 18 51 2 version fixed bin, /* indicates which version of the pit */ 18 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 18 53 2 login_responder char (64) unal, /* path name of login responder */ 18 54 18 55 /* All of these are going to be word aligned whether or not they are declared aligned, 18 56* and unaligning them cleans up code in many places */ 18 57 18 58 2 homedir char (64) unal, /* path name of home directory */ 18 59 2 project char (28) unal, /* name of this process' project affiliation */ 18 60 2 account char (32) unal, /* name of account to which this process is charged */ 18 61 2 n_processes fixed bin, /* number of previous processes for this session */ 18 62 2 login_time fixed bin (71), /* clock time at login */ 18 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 18 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 18 65 2 user_weight fixed bin, /* weight of this process */ 18 66 2 anonymous fixed bin, /* 1 if anonymous user */ 18 67 2 login_name char (28) unal, /* name of user given at login */ 18 68 2 logout_pid bit (36), /* process id of answering service */ 18 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 18 70 2 group char (8) unal, /* party group */ 18 71 2 min_ring fixed bin, /* min ring */ 18 72 2 max_ring fixed bin, /* max ring */ 18 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 18 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 18 75 2 outer_module char (32) unaligned, 18 76 2 pad (2) fixed bin, 18 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 18 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 18 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 18 80 2 dollar_limit float bin, /* Limit stop on usage */ 18 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 18 82 2 logins fixed bin, /* Number of logins this month */ 18 83 2 crashes fixed bin, /* Number of sessions crashed */ 18 84 2 interactive (0:7), /* interactive usage by shift */ 18 85 3 charge float bin, /* Total charge */ 18 86 3 xxx fixed bin, 18 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 18 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 18 89 3 connect fixed bin (71), /* Connect time in microseconds */ 18 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 18 91 2 absentee (4), /* Absentee usage by queue */ 18 92 3 charge float bin, /* Total absentee charge */ 18 93 3 jobs fixed bin, /* Number of jobs */ 18 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 18 95 3 memory fixed bin (71), /* Memory usage in mu */ 18 96 2 iod (4), /* IO Daemon usage, by queue */ 18 97 3 charge float bin, /* Total charge */ 18 98 3 pieces fixed bin, /* Number of requests */ 18 99 3 pad fixed bin (35), 18 100 3 pages fixed bin (35), /* number of pages output */ 18 101 3 lines fixed bin (71), /* Record count */ 18 102 2 devices (16) float bin, /* Usage of attached devices */ 18 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 18 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 18 105 2 absolute_spent float bin, /* Spending against this */ 18 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 18 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 18 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 18 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 18 110 2 request_id fixed bin (71), /* absentee request id */ 18 111 2 authorization_range (2) bit (72) aligned, 18 112 2 pad1 (73) fixed bin, /* extra space */ 18 113 2 charge_type fixed bin, /* device charge type of console */ 18 114 2 term_type_name char (32) unal, /* terminal type name */ 18 115 2 line_type fixed bin, /* line type of user's console */ 18 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 18 117 2 service_type fixed bin, /* type of service console is performing */ 18 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 18 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 18 120 2 standby fixed bin, /* 1 if standby user */ 18 121 2 login_line char (120) unal, /* line typed at login */ 18 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 18 123 2 input_seg char (168) unal, /* path name of absentee input file */ 18 124 2 output_seg char (168) unal, /* path name of absentee output file */ 18 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 18 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 18 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 18 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 18 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 18 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 18 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 18 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 18 133 18 134 18 135 /* Structure to contain information on absentee arguments */ 18 136 dcl 1 arg_info aligned based, 18 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 18 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 18 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 18 140 2 args char (128 refer (arg_info.ln_args)) unal; 18 141 /* Args used for replacement in absentee control segment. */ 18 142 18 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 18 144 18 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 473 474 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 19 2 19 3 19 4 /****^ HISTORY COMMENTS: 19 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 19 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 19 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 19 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 19 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 19 10* Reorganized by type of data to improve readability. 19 11* END HISTORY COMMENTS */ 19 12 19 13 19 14 /* ACCESS NAMES */ 19 15 dcl ( 19 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 19 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 19 18 ) char(32) ext static; 19 19 19 20 /* PATHNAMES */ 19 21 dcl ( 19 22 sc_stat_$info_dir, /* admin info segs directory */ 19 23 sc_stat_$log_dir, /* as log segs directory */ 19 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 19 25 sc_stat_$sysdir /* system control directory */ 19 26 ) char(168) ext static; 19 27 19 28 /* OTHER CHAR STRINGS */ 19 29 dcl ( 19 30 sc_stat_$master_channel /* Master TTY channel. */ 19 31 ) char(6) aligned ext static; 19 32 19 33 /* LABELS */ 19 34 dcl ( 19 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 19 36 /* ssu_$null_label unless */ 19 37 /* admin_listener is active. */ 19 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 19 39 /* attributable to a particular */ 19 40 /* command. */ 19 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 19 42 ) label variable ext static; 19 43 19 44 /* POINTERS TO */ 19 45 dcl ( 19 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 19 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 19 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 19 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 19 50 /* by sys_log_. */ 19 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 19 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 19 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 19 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 19 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 19 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 19 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 19 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 19 59 ) ptr ext static; 19 60 19 61 /* SWITCHES */ 19 62 dcl ( 19 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 19 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 19 65 sc_stat_$Multics, /* TRUE after answering service started */ 19 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 19 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 19 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 19 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 19 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 19 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 19 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 19 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 19 74 /* if PNT not yet available. */ 19 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 19 76 sc_stat_$test_mode, /* TRUE if in test environment */ 19 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 19 78 /* by operator signed on system console*/ 19 79 ) bit(1) aligned ext static; 19 80 19 81 19 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 474 475 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 20 2 20 3 20 4 /****^ HISTORY COMMENTS: 20 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 20 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 20 7* Added sl_info structure and associated named constants for use in calling 20 8* sys_log_$general. 20 9* END HISTORY COMMENTS */ 20 10 20 11 20 12 /* format: style4 */ 20 13 20 14 dcl ( 20 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 20 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 20 17 SL_TYPE init (-1), /* type message */ 20 18 SL_LOG_SILENT init (0), /* log message */ 20 19 SL_LOG init (1), /* log & type message */ 20 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 20 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 20 22 ) fixed bin internal static options (constant); 20 23 20 24 dcl 1 sl_info aligned automatic, 20 25 2 version char(8), /* structure version */ 20 26 2 arg_list_ptr ptr, /* arg_list with values */ 20 27 2 loc, 20 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 20 29 /* These flags control where the corresponding data item is found.*/ 20 30 /* -1: data appears in the corresponding structure element below */ 20 31 /* 0: data is not present anywhere */ 20 32 /* +N: data is Nth item in argument list pointed to by */ 20 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 20 34 /* corresponding structure element. */ 20 35 /* if data = +N: */ 20 36 /* argN is data_ptr, argN+1 is data_len */ 20 37 /* if ioa_msg = +N: */ 20 38 /* argN+1, ... argLAST are arguments substituted into the */ 20 39 /* ioa_msg control string. The formatted msg is returned. */ 20 40 2 flags, 20 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 20 42 3 flags_pad bit(35) unal, 20 43 2 mode fixed bin, /* as-mode, command-mode */ 20 44 2 severity fixed bin, /* error severity */ 20 45 2 code fixed bin(35), /* error table code */ 20 46 2 caller char(65) varying, /* caller refname$entryname*/ 20 47 2 data, /* binary data ptr/length */ 20 48 3 data_ptr ptr, 20 49 3 data_lth fixed bin(21), 20 50 2 class char(10) varying, /* binary data class */ 20 51 2 ioa_msg char(500) varying; /* formatted message text */ 20 52 20 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 20 54 /* */ 20 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 20 56 /* their data types should be as shown in the structure above, except that */ 20 57 /* character strings should be char(*) nonvarying. */ 20 58 /* */ 20 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 20 60 20 61 /* value for sl_info.version */ 20 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 20 63 20 64 /* values for sl_info.mode */ 20 65 dcl (SL_INFO_as_mode init(1), 20 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 20 67 20 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 20 69 dcl (SL_INFO_arg_given_in_structure init(-1), 20 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 20 71 20 72 20 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 20 74 /* */ 20 75 /* The following static structures are commonly used in the Login Server */ 20 76 /* user control software. */ 20 77 /* */ 20 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 20 79 20 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 20 81 20 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 20 83 2 version char(8) init ("sl_info1"), 20 84 2 arg_list_ptr ptr init (null), 20 85 2 loc, 20 86 3 (mode init (-1), 20 87 severity init ( 1), 20 88 code init ( 2), 20 89 caller init (-1), 20 90 data init ( 0), 20 91 class init ( 0), 20 92 ioa_msg init ( 3)) fixed bin, 20 93 2 flags, 20 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 20 95 3 flags_pad bit(35) unal init ("0"b), 20 96 2 mode fixed bin init ( 1), 20 97 2 severity fixed bin init ( 0), 20 98 2 code fixed bin(35) init ( 0), 20 99 2 caller char(65) varying init (""), 20 100 2 data, 20 101 3 data_ptr ptr init (null), 20 102 3 data_lth fixed bin(21) init ( 0), 20 103 2 class char(10) varying init (""), 20 104 2 ioa_msg char(500) varying init (""); 20 105 20 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 20 107 20 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 20 109 2 version char(8) init ("sl_info1"), 20 110 2 arg_list_ptr ptr init (null), 20 111 2 loc, 20 112 3 (mode init (-1), 20 113 severity init ( 1), 20 114 code init ( 0), 20 115 caller init (-1), 20 116 data init ( 0), 20 117 class init ( 0), 20 118 ioa_msg init ( 2)) fixed bin, 20 119 2 flags, 20 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 20 121 3 flags_pad bit(35) unal init ("0"b), 20 122 2 mode fixed bin init ( 1), 20 123 2 severity fixed bin init ( 0), 20 124 2 code fixed bin(35) init ( 0), 20 125 2 caller char(65) varying init (""), 20 126 2 data, 20 127 3 data_ptr ptr init (null), 20 128 3 data_lth fixed bin(21) init ( 0), 20 129 2 class char(10) varying init (""), 20 130 2 ioa_msg char(500) varying init (""); 20 131 20 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 20 133 20 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 20 135 2 version char(8) init ("sl_info1"), 20 136 2 arg_list_ptr ptr init (null), 20 137 2 loc, 20 138 3 (mode init (-1), 20 139 severity init ( 1), 20 140 code init ( 0), 20 141 caller init (-1), 20 142 data init ( 0), 20 143 class init ( 0), 20 144 ioa_msg init ( 2)) fixed bin, 20 145 2 flags, 20 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 20 147 3 flags_pad bit(35) unal init ("0"b), 20 148 2 mode fixed bin init ( 1), 20 149 2 severity fixed bin init ( 0), 20 150 2 code fixed bin(35) init ( 0), 20 151 2 caller char(65) varying init (""), 20 152 2 data, 20 153 3 data_ptr ptr init (null), 20 154 3 data_lth fixed bin(21) init ( 0), 20 155 2 class char(10) varying init (""), 20 156 2 ioa_msg char(500) varying init (""); 20 157 20 158 20 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 20 160 20 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 20 162 2 version char(8) init ("sl_info1"), 20 163 2 arg_list_ptr ptr init (null), 20 164 2 loc, 20 165 3 (mode init (-1), 20 166 severity init ( 1), 20 167 code init ( 2), 20 168 caller init (-1), 20 169 data init ( 0), 20 170 class init ( 0), 20 171 ioa_msg init ( 4)) fixed bin, 20 172 2 flags, 20 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 20 174 3 flags_pad bit(35) unal init ("0"b), 20 175 2 mode fixed bin init ( 1), 20 176 2 severity fixed bin init ( 0), 20 177 2 code fixed bin(35) init ( 0), 20 178 2 caller char(65) varying init (""), 20 179 2 data, 20 180 3 data_ptr ptr init (null), 20 181 3 data_lth fixed bin(21) init ( 0), 20 182 2 class char(10) varying init (""), 20 183 2 ioa_msg char(500) varying init (""); 20 184 20 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 20 186 20 187 dcl 1 sl_info_code_msg aligned int static options(constant), 20 188 2 version char(8) init ("sl_info1"), 20 189 2 arg_list_ptr ptr init (null), 20 190 2 loc, 20 191 3 (mode init (-1), 20 192 severity init (-1), 20 193 code init ( 1), 20 194 caller init (-1), 20 195 data init ( 0), 20 196 class init ( 0), 20 197 ioa_msg init ( 2)) fixed bin, 20 198 2 flags, 20 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 20 200 3 flags_pad bit(35) unal init ("0"b), 20 201 2 mode fixed bin init ( 1), 20 202 2 severity fixed bin init ( 0), 20 203 2 code fixed bin(35) init ( 0), 20 204 2 caller char(65) varying init (""), 20 205 2 data, 20 206 3 data_ptr ptr init (null), 20 207 3 data_lth fixed bin(21) init ( 0), 20 208 2 class char(10) varying init (""), 20 209 2 ioa_msg char(500) varying init (""); 20 210 20 211 20 212 /* Syntax: call Trace (ioa_ctl, args); */ 20 213 20 214 dcl 1 sl_info_msg aligned int static options(constant), 20 215 2 version char(8) init ("sl_info1"), 20 216 2 arg_list_ptr ptr init (null), 20 217 2 loc, 20 218 3 (mode init (-1), 20 219 severity init (-1), 20 220 code init ( 0), 20 221 caller init (-1), 20 222 data init ( 0), 20 223 class init ( 0), 20 224 ioa_msg init ( 1)) fixed bin, 20 225 2 flags, 20 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 20 227 3 flags_pad bit(35) unal init ("0"b), 20 228 2 mode fixed bin init ( 1), 20 229 2 severity fixed bin init ( 0), 20 230 2 code fixed bin(35) init ( 0), 20 231 2 caller char(65) varying init (""), 20 232 2 data, 20 233 3 data_ptr ptr init (null), 20 234 3 data_lth fixed bin(21) init ( 0), 20 235 2 class char(10) varying init (""), 20 236 2 ioa_msg char(500) varying init (""); 20 237 20 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 475 476 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 21 2 21 3 21 4 /****^ HISTORY COMMENTS: 21 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 21 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 21 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 21 8* attribute switches. 21 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 21 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 21 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 21 12* be deleted. 21 13* B) Add constants identifying attributes that can be changed by user at 21 14* login, etc. 21 15* END HISTORY COMMENTS */ 21 16 21 17 21 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 21 19 21 20 /* format: style4 */ 21 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 21 22 (2 administrator bit (1), /* 1 system administrator privileges */ 21 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 21 24 2 nobump bit (1), /* 2 user cannot be bumped */ 21 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 21 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 21 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 21 28* . of same project (distinct from "nobump") */ 21 29 2 nolist bit (1), /* 7 don't list user on "who" */ 21 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 21 31 2 multip bit (1), /* 9 user may have several processes */ 21 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 21 33 2 brief bit (1), /* 11 no login or logout message */ 21 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 21 35 2 vhomedir bit (1), /* 13 user may change homedir */ 21 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 21 37 2 sb_ok bit (1), /* 15 user may be standby */ 21 38 2 pm_ok bit (1), /* 16 user may be primary */ 21 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 21 40 2 daemon bit (1), /* 18 user may login as daemon */ 21 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 21 42 2 no_warning bit (1), /* 20 no warning message */ 21 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 21 44* . in PDT: this user has an individual load control group */ 21 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 21 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 21 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 21 48 2 pad bit (12)) unaligned; 21 49 21 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 21 51 ("none", /* 0 */ 21 52 "administrator", /* 1 */ 21 53 "primary_line", /* 2 */ 21 54 "nobump", /* 3 */ 21 55 "guaranteed_login", /* 4 */ 21 56 "anonymous", /* 5 */ 21 57 "nopreempt", /* 6 */ 21 58 "nolist", /* 7 */ 21 59 "dialok", /* 8 */ 21 60 "multip", /* 9 */ 21 61 "bumping", /* 10 */ 21 62 "brief", /* 11 */ 21 63 "vinitproc", /* 12 */ 21 64 "vhomedir", /* 13 */ 21 65 "nostartup", /* 14 */ 21 66 "no_secondary", /* 15 */ 21 67 "no_prime", /* 16 */ 21 68 "no_eo", /* 17 */ 21 69 "daemon", /* 18 */ 21 70 "", /* 19 vdim OBSOLETE */ 21 71 "no_warning", /* 20 */ 21 72 "igroup", /* 21 */ 21 73 "save_pdir", /* 22 */ 21 74 "disconnect_ok", /* 23 */ 21 75 "save_on_disconnect"); /* 24 */ 21 76 21 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 21 78 ("null", /* 0 */ 21 79 "admin", /* 1 */ 21 80 "", "", /* 2 - 3 */ 21 81 "guar", /* 4 */ 21 82 "anon", /* 5 */ 21 83 "", "", /* 6 - 7 */ 21 84 "dial", /* 8 */ 21 85 "multi_login", /* 9 */ 21 86 "preempting", /* 10 */ 21 87 "", /* 11 */ 21 88 "v_process_overseer", /* 12 */ 21 89 "v_home_dir", /* 13 */ 21 90 "no_start_up", /* 14 */ 21 91 "no_sec", /* 15 */ 21 92 "no_primary", /* 16 */ 21 93 "no_edit_only", /* 17 */ 21 94 "op_login", /* 18 */ 21 95 "", /* 19 */ 21 96 "nowarn", /* 20 */ 21 97 "", "", "", /* 21 - 23 */ 21 98 "save"); /* 24 */ 21 99 21 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 21 101 options(constant) init("000000000010000000010000000000000000"b); 21 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 21 103 21 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 21 105 options(constant) init("000000000010000000010000000000000000"b); 21 106 /* PDT value for (brief, no_warning) is default */ 21 107 21 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 21 109 options(constant) init("000100000110010000010000000000000000"b); 21 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 21 111 22 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 22 2 22 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 22 4 /* */ 22 5 /* This include file describes the attributes of an absentee job. It is */ 22 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 22 7 /* and PIT.incl.pl1. */ 22 8 /* */ 22 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 22 10 22 11 /****^ HISTORY COMMENTS: 22 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 22 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 22 14* Separated abs_attributes from the request structure 22 15* (abs_message_format.incl.pl1) so that the identical structure could be 22 16* used in the ute structure (user_table_entry.incl.pl1). 22 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 22 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 22 19* Added ABS_ATTRIBUTE_NAMES array. 22 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 22 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 22 22* Added the no_start_up flag. SCP6367 22 23* END HISTORY COMMENTS */ 22 24 22 25 dcl 1 user_abs_attributes aligned based, 22 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 22 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 22 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 22 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 22 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 22 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 22 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 22 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 22 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 22 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 22 36 2 attributes_pad bit (26) unaligned; 22 37 22 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 22 39 "restartable", 22 40 "user_deferred_until_time", 22 41 "proxy", 22 42 "set_bit_cnt", 22 43 "time_in_gmt", 22 44 "user_deferred_indefinitely", 22 45 "secondary_ok", 22 46 "truncate_absout", 22 47 "restarted", 22 48 "no_start_up"); 22 49 22 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 22 51 21 112 21 113 21 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 476 477 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 23 2 23 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 23 4 /* */ 23 5 /* This include file requires that the user include */ 23 6 /* user_attributes.incl.pl1 as well. It also includes */ 23 7 /* abs_attributes.incl.pl1 itself. */ 23 8 /* */ 23 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 23 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 23 11 /* */ 23 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 23 13 23 14 /****^ HISTORY COMMENTS: 23 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 23 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 23 17* This comment for hcom. 23 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 23 19* anstbl.incl.pl1, and dutbl.incl.pl1. 23 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 23 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 23 22* 84-07-12 BIM added min_process_authorization 23 23* 84-12-31 Keith Loepere added pdir_dir_quota 23 24* 85-01-16 by E. Swenson to add ute.session_uid 23 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 23 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 23 27* Added fields for DSA login server support. 23 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 23 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 23 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 23 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 23 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 23 33* Added disconnection_rel_minutes. 23 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 23 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 23 36* Changed structure under ute.abs_attributes to use like structure in 23 37* abs_attributes.incl.pl1. This allows the same attributes to be used 23 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 23 39* file. 23 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 23 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 23 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 23 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 23 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 23 45* A) Global reorganization to locate things by type of data. 23 46* B) Eliminate ute.uflags.logged_in. 23 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 23 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 23 49* A) Reduced overlength person and project fields to proper length. 23 50* B) Adjusted dialed-console section to begin on even word boundary. 23 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 23 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 23 53* Add ute.line_type. 23 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 23 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 23 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 23 57* for the storage. SCP6367 23 58* END HISTORY COMMENTS */ 23 59 23 60 /* format: style4 */ 23 61 23 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 23 63 /* */ 23 64 /* Each of the named sections below defines a type of data. Typing comes */ 23 65 /* from data associated with the ute entry itself, with the person, with */ 23 66 /* login argument data, from the main user of the data (eg, dialup_, */ 23 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 23 68 /* and is an even number of words long. The total structure is 300 decimal */ 23 69 /* words long. */ 23 70 /* */ 23 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 23 72 23 73 23 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 23 75 23 76 dcl utep pointer automatic init (null); 23 77 23 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 23 79 23 80 /* Variables which give state of this entry */ 23 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 23 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 23 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 23 84 2 next_free fixed bin, /* points to previous free entry */ 23 85 23 86 /* Information user gave about person_id associated with this entry. */ 23 87 2 person char (24) unal, /* user's name */ 23 88 2 project char (12) unal, /* project of absentee user */ 23 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 23 90 2 tag_pad bit (27) unal, 23 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 23 92 2 login_flags, /* flags for login data */ 23 93 3 cpw bit (1) unal, /* flag for wish to change password */ 23 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 23 95 3 special_pw unal, /* dial or slave */ 23 96 4 dial_pw bit (1) unal, /* true if dial -user */ 23 97 4 slave_pw bit (1) unal, /* true if slave -user */ 23 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 23 99 3 cda bit (1) unal, /* flag to change default authorization */ 23 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 23 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 23 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 23 103 3 pw_pad bit (25) unal, /* spare parts */ 23 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 23 105 /* Must remain last in pw_flags so it does not */ 23 106 /* appear in PW_FLAG_VALUES array below. */ 23 107 2 generated_pw char (8) unal, /* user must type this as new password */ 23 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 23 109 2 process_authorization bit (72), /* access_authorization of this process */ 23 110 23 111 /* Information user gave about process associated with this entry. */ 23 112 2 outer_module char (32) unal, /* Name of console dim */ 23 113 2 home_dir char (64) unal, /* initial home directory */ 23 114 2 init_proc char (64) unal, /* name of login responder */ 23 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 23 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 23 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 23 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 23 119 2 initial_ring fixed bin, /* ring process will be started in */ 23 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 23 121 2 ln_args fixed bin, /* length of string containing arguments */ 23 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 23 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 23 124 23 125 /* Most of the following information is relevant only to absentee processes */ 23 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 23 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 23 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 23 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 23 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 23 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 23 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 23 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 23 134* (but see uflags.adjust_abs_q_no). */ 23 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 23 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 23 137 2 abs_flags, 23 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 23 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 23 140 3 abs_flags_pad bit (34) unal, 23 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 23 142 2 sender char (32) unal, /* name of RJE station that job is from */ 23 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 23 144 2 proxy_project char (9) unal, 23 145 2 proxy_project_pad char (3) unal, 23 146 2 abs_pad fixed bin, 23 147 23 148 /* Information about process actually created */ 23 149 2 proc_id bit (36), /* process id of absentee process */ 23 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 23 151 2 process_authorization_range (2) bit (72) aligned, 23 152 2 audit bit (36), /* audit flags for user */ 23 153 2 lot_size fixed bin, /* Size of linkage offset table */ 23 154 2 kst_size fixed bin, /* Size of process known segment table */ 23 155 2 cls_size fixed bin, /* Size of process combined linkage */ 23 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 23 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 23 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 23 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 23 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 23 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 23 162 2 pdir_pad fixed bin(17) unal, 23 163 2 process_pad fixed bin, 23 164 23 165 /* Information about primary terminal associated with this entry */ 23 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 23 167 2 terminal_type char (32) unaligned, /* terminal type */ 23 168 2 line_type fixed bin, /* line type */ 23 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 23 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 23 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 23 172 23 173 /* Variables useful for dialed terminals */ 23 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 23 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 23 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 23 177 2 dial_server_flags, 23 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 23 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 23 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 23 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 23 182 23 183 /* Information about usage/accounting. Device usage meters are in a 23 184* separate segment, "devtab" */ 23 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 23 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 23 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 23 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 23 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 23 190 2 last_update_time fixed bin (71), /* time of last account update */ 23 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 23 192 2 ndevices fixed bin, /* Count of attached devices */ 23 193 2 device_head fixed bin, /* Table index of head of device chain */ 23 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 23 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 23 196 2 rs_number_pad bit(30) unal, 23 197 2 usage_pad fixed bin, 23 198 23 199 /* Information for dialup_ (control variables). */ 23 200 2 event fixed bin (71), /* event associated with channel or user manager */ 23 201 2 uprojp ptr, /* ptr to user project sat entry */ 23 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 23 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 23 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 23 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 23 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 23 207 2 count fixed bin, /* counter for logins and dialups */ 23 208 2 n_processes fixed bin, /* number of processes created in this session */ 23 209 2 lock_value fixed bin, /* number of locks set for this entry */ 23 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 23 211 2 login_code char (8) unal, /* login command from LOGIN line */ 23 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 23 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 23 214 2 logout_type char (4) unal, /* type of logout */ 23 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 23 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 23 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 23 218 2 work_class fixed bin, /* work class used by priority scheduler */ 23 219 2 group char (8) unal, /* party group identifier */ 23 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 23 221 23 222 2 uflags, /* Miscellaneous flags */ 23 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 23 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 23 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 23 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 23 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 23 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 23 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 23 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 23 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 23 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 23 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 23 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 23 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 23 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 23 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 23 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 23 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 23 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 23 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 23 242 3 uflags_pad bit (17) unal, 23 243 23 244 /* Information used by load_ctl_ for the process */ 23 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 23 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 23 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 23 248 23 249 23 250 /* Information for login server */ 23 251 2 login_server_info, 23 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 23 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 23 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 23 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 23 256 3 process_id bit (36) aligned, /* process_id of login server */ 23 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 23 258 23 259 /* values for ute.process_type */ 23 260 23 261 dcl (PT_INTERACTIVE initial (1), 23 262 PT_ABSENTEE initial (2), 23 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 23 264 23 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 23 266 "INVALID-TYPE", 23 267 "interactive", 23 268 "absentee", 23 269 "daemon"); 23 270 23 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 23 272 "UNKNOWN-TABLE", 23 273 "answer_table", 23 274 "absentee_user_table", 23 275 "daemon_user_table"); 23 276 23 277 23 278 /* values for ute.pw_flags.mask_ctl */ 23 279 23 280 dcl (DO_MASK init ("00"b), 23 281 DONT_MASK init ("01"b), 23 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 23 283 23 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 23 285 "do_mask", "dont_mask", "derive_mask", ""); 23 286 23 287 23 288 /* names for ute.pw_flags */ 23 289 23 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 23 291 "cpw", 23 292 "generate_pw", 23 293 "dial_pw", 23 294 "slave_pw", 23 295 "cdp", 23 296 "cda", 23 297 "auth_given", 23 298 "noprint", 23 299 "operator"); 23 300 23 301 /* names for ute.uflags */ 23 302 23 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 23 304 "dont_call_init_admin", 23 305 "ip_given", 23 306 "ss_given", 23 307 "lvs_attached", 23 308 "send_initial_string", 23 309 "adjust_abs_q_no", 23 310 "foreground_secondary_ok", 23 311 "foreground_job", 23 312 "sus_sent", 23 313 "suspended", 23 314 "ignore_cpulimit", 23 315 "deferral_logged", 23 316 "save_if_disconnected", 23 317 "disconnected", 23 318 "disconnected_list", 23 319 "proc_create_ok", 23 320 "activity_can_unbump", 23 321 "fpe_causes_logout", 23 322 "user_specified_immediate"); 23 323 23 324 /* names for ute.abs_flags */ 23 325 23 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 23 327 "abs_run", 23 328 "notify"); 23 329 23 330 /* names of ute.dial_server_flags */ 23 331 23 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 23 333 "registered", 23 334 "privileged"); 23 335 23 336 /* values of ute.login_result */ 23 337 23 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 23 339 "logged in", 23 340 "login failed, hangup", 23 341 "login failed, try again"); 23 342 23 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 477 478 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 24 2 24 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 24 4 /* */ 24 5 /* This include file declares the header shared by the answer_table, */ 24 6 /* absentee_user_table and daemon_user_table include files. */ 24 7 /* */ 24 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 24 9 24 10 /****^ HISTORY COMMENTS: 24 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 24 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 24 13* Initial coding. 24 14* END HISTORY COMMENTS */ 24 15 24 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 24 17 2 header_version fixed bin, /* version of the header (3) */ 24 18 2 entry_version fixed bin, /* version of user table entries */ 24 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 24 20 2 header_length fixed bin, /* length of the header */ 24 21 2 max_size fixed bin, /* max number of entries in this table */ 24 22 2 current_size fixed bin, /* actual size of table (in entries) */ 24 23 2 number_free fixed bin, /* number of free entries in the table. */ 24 24 2 first_free fixed bin, /* index of first entry in the free list. */ 24 25 2 as_procid bit (36), /* process ID of user table manager process */ 24 26 2 ut_header_pad fixed bin; 24 27 24 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 478 479 /* format: on */ 480 481 /* BEGIN MESSAGE DOCUMENTATION 482* 483* Message: 484* cpg_: ERROR_MESSAGE. Cannot truncate pit_temp_ 485* 486* S: as (severity2) 487* 488* T: $run 489* 490* M: The system was unable to clear its temporary segment while 491* attempting to log in a user. 492* The user will be unable to log in. 493* 494* A: $contact 495* 496* Message: 497* cpg_: ERROR_MESSAGE. Assigning pdir volume for USER 498* 499* S: as (severity2) 500* 501* T: $run 502* 503* M: The system was unable to assign a logical volume on which 504* to place the process directory of a user. The user might not be 505* able to log in 506* 507* A: $contact 508* 509* 510* Message: 511* cpg_: Error: CONDITION attempting to create process for NAME.PROJ 512* 513* S: as (severity1) 514* 515* T: $run 516* 517* M: A supervisor error prevented creation of a process for the 518* user NAME.PROJ. An Answering Service dump was performed and the 519* user was logged out if possible. 520* 521* A: $note 522* If this message is printed at every login, it is probably wise 523* to shut the system down and perform a bootload operation. 524* 525* 526* END MESSAGE DOCUMENTATION */ 527 528 end cpg_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/19/88 1536.6 cpg_.pl1 >special_ldd>install>MR12.2-1061>cpg_.pl1 458 1 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 459 2 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 460 3 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 461 4 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 462 5 08/06/87 0913.4 as_data_definitions_.incl.pl1 >ldd>include>as_data_definitions_.incl.pl1 463 6 08/06/87 0913.4 as_meter_numbers.incl.pl1 >ldd>include>as_meter_numbers.incl.pl1 464 7 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 7-10 8 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 465 9 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 9-314 10 07/19/88 1524.1 fnp_types.incl.pl1 >special_ldd>install>MR12.2-1061>fnp_types.incl.pl1 466 11 01/30/85 1523.9 create_info.incl.pl1 >ldd>include>create_info.incl.pl1 467 12 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 468 13 08/06/87 0913.4 installation_parms.incl.pl1 >ldd>include>installation_parms.incl.pl1 13-148 14 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 469 15 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 470 16 09/13/84 0921.6 pdt.incl.pl1 >ldd>include>pdt.incl.pl1 16-29 17 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 473 18 07/14/88 2015.0 pit.incl.pl1 >ldd>include>pit.incl.pl1 474 19 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.incl.pl1 475 20 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 476 21 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 21-112 22 07/14/88 2015.0 user_abs_attributes.incl.pl1 >ldd>include>user_abs_attributes.incl.pl1 477 23 07/14/88 2015.0 user_table_entry.incl.pl1 >ldd>include>user_table_entry.incl.pl1 478 24 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. ANS_SERVICE constant fixed bin(17,0) initial dcl 9-259 ref 250 273 AS_AUDIT_PROCESS_CREATE 000030 constant fixed bin(17,0) initial dcl 3-162 set ref 394* CPG_METER 000025 constant fixed bin(17,0) initial dcl 6-24 set ref 163* 398* 413* DEFAULT_CLS_SIZE constant fixed bin(35,0) initial dcl 118 ref 365 DEFAULT_KST_SIZE constant fixed bin(17,0) initial dcl 117 ref 371 DEFAULT_LOT_SIZE constant fixed bin(17,0) initial dcl 116 ref 358 LINE_MC constant fixed bin(17,0) initial dcl 15-22 ref 248 LINE_UNKNOWN constant fixed bin(17,0) initial dcl 15-22 ref 271 PIT_version_3 constant fixed bin(17,0) initial dcl 18-143 ref 175 PT_DAEMON constant fixed bin(17,0) initial dcl 23-261 ref 241 PT_INTERACTIVE constant fixed bin(17,0) initial dcl 23-261 ref 216 SL_LOG_BEEP 000026 constant fixed bin(17,0) initial dcl 20-14 set ref 170* 384* 422* 451* TAG_ABSENTEE constant char(1) initial packed unaligned dcl 12-93 ref 261 TAG_DAEMON constant char(1) initial packed unaligned dcl 12-93 ref 242 TAG_INTERACTIVE constant char(1) initial packed unaligned dcl 12-93 ref 217 TAG_PROXY constant char(1) initial packed unaligned dcl 12-93 ref 259 abs_attributes 722 based structure level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 286* abs_attributes 247 based structure level 2 in structure "ute" dcl 23-78 in procedure "cpg_" abs_queue 721 based fixed bin(17,0) level 2 dcl 18-50 set ref 220* 245* 268* abs_timax 525 based fixed bin(35,0) array level 3 dcl 13-33 ref 263 absentee 264 based structure array level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 204* absentee 244 based structure array level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 204 absolute_cutoff 350 based fixed bin(71,0) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 210 absolute_cutoff 370 based fixed bin(71,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 210* absolute_increm 352 based fixed bin(17,0) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 211 absolute_increm 372 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 211* absolute_limit 346 based float bin(27) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 208 absolute_limit 366 based float bin(27) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 208* absolute_spent 367 based float bin(27) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 209* absolute_spent 347 based float bin(27) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 209 account 51 based char(32) level 2 packed packed unaligned dcl 18-50 set ref 180* 355 account_id 40 based char(32) level 2 dcl 11-23 set ref 355* account_ptr 14 based pointer level 2 dcl 11-23 set ref 349* addr builtin function dcl 123 ref 227 227 293 315 320 356 417 aip 000100 automatic pointer dcl 128 set ref 293* 294 300 303 306 310 313 anonymous 71 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 186* anonymous 16 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 186 351 ansp 000232 automatic pointer initial dcl 1-53 set ref 160* 188 327 327 327 329 329 332 410* 1-53* anstbl based structure level 1 dcl 1-55 arg_count 102 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 299 arg_count based fixed bin(17,0) level 2 in structure "arg_info" dcl 18-136 in procedure "cpg_" set ref 300* 310 arg_info based structure level 1 dcl 18-136 arg_info_ptr 723 based fixed bin(18,0) level 2 unsigned dcl 18-50 set ref 294* arg_lengths 2 based fixed bin(17,0) array level 2 dcl 18-136 set ref 306* arg_lengths_ptr 104 based pointer level 2 dcl 23-78 ref 304 argp 000102 automatic pointer dcl 129 set ref 304* 306 309* 310 args based char level 2 packed packed unaligned dcl 18-136 set ref 310* args_ptr 106 based pointer level 2 dcl 23-78 ref 309 arh_header_ based structure level 1 dcl 2-26 arh_user_info_ based structure level 1 dcl 2-39 as_access_audit_$process 000014 constant entry external dcl 96 ref 394 as_channel_audit_record_ based structure level 1 dcl 3-74 as_check_condition_ 000056 constant entry external dcl 442 ref 444 as_data_$ansp 000050 external static pointer dcl 4-26 ref 160 410 as_data_$pit_ptr 000052 external static pointer dcl 4-46 ref 166 416 as_data_$rs_ptrs 000054 external static pointer array dcl 4-49 ref 263 263 340 340 379 379 as_dial_service_audit_record_ based structure level 1 dcl 3-105 as_dump_ 000016 constant entry external dcl 97 ref 452 as_ia_audit_record_ based structure level 1 dcl 3-52 as_meter_$enter 000020 constant entry external dcl 98 ref 163 413 as_meter_$exit 000022 constant entry external dcl 99 ref 398 as_procid 10 based bit(36) level 3 dcl 1-55 ref 188 astty_$tty_order 000024 constant entry external dcl 100 ref 227 at 100 based structure level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 193 at 110 based structure level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 193* audit 57 based bit(36) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 374* audit 304 based bit(36) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 374 audit_record_header based structure level 1 dcl 2-18 author based structure level 2 dcl 7-9 author_dcl based structure level 1 dcl 7-9 authorization_range 376 based bit(72) array level 2 dcl 18-50 set ref 214* binary builtin function dcl 123 ref 315 417 bit builtin function dcl 123 ref 332 cant_bump_until 572 based fixed bin(71,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 219* 244* 267* cant_bump_until 404 based fixed bin(71,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 219 244 cdte based structure level 1 dcl 9-72 cdtep 000234 automatic pointer dcl 9-41 set ref 223* 224 225 226 227* 232 233 234 channel 341 based pointer level 2 packed packed unaligned dcl 23-78 ref 223 channel_threads based structure level 1 dcl 9-249 charge_type 513 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 224* 246* 269* charge_type 32 based fixed bin(17,0) level 2 in structure "cdte" packed packed unaligned dcl 9-72 in procedure "cpg_" ref 224 ciptr 000104 automatic pointer dcl 130 set ref 320* 331 332 333 334 335 336 338 340 343 346 347 348 349 350 351 354 355 356 357 358 359 361 362 364 365 366 368 369 371 372 373 374 375 376 377 378 379 380 384 387* 392 clock builtin function dcl 123 ref 183 cls_in_stack 56 based bit(1) level 2 dcl 11-23 set ref 364* 369* cls_size 307 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 365 366 366 368 cls_size 52 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 365* 366* 368* code parameter fixed bin(35,0) dcl 92 set ref 14 156 157 159* 168* 169 170* 325* 383* 384 384* 387* 394 401* 407 409* 420* 421 422* 428* condition_ 000026 constant entry external dcl 101 ref 162 412 condname parameter char packed unaligned dcl 435 set ref 432 444* 448* continue parameter bit(1) packed unaligned dcl 438 set ref 432 444* 445 coptr parameter pointer dcl 436 ref 432 cpu_usage 360 based fixed bin(71,0) level 2 dcl 23-78 ref 184 crashes 142 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 202* crashes 123 based fixed bin(17,0) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 202 create_info based structure level 1 dcl 11-23 create_info_area 000106 automatic structure level 1 dcl 131 set ref 320 cur_line_type 113(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 9-72 ref 226 current_terminal_type 101 based char(32) level 2 packed packed unaligned dcl 9-72 ref 225 default_pdir_dir_quota 536(18) based fixed bin(17,0) level 3 packed packed unaligned dcl 13-33 ref 379 default_pdir_seg_quota 536 based fixed bin(17,0) level 3 packed packed unaligned dcl 13-33 ref 340 devices 324 based float bin(27) array level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 206 devices 344 based float bin(27) array level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 206* dir_quota 105 based fixed bin(17,0) level 2 dcl 11-23 set ref 379* 380 divide builtin function dcl 123 ref 317 dollar_charge 75 based float bin(27) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 198 dollar_charge 127 based float bin(27) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 198* dollar_limit 74 based float bin(27) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 199 dollar_limit 130 based float bin(27) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 199* dont_call_init_admin 124 based bit(1) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 196* dont_call_init_admin 431 based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 196 373 dont_call_init_admin 54 based bit(1) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 373* dummy_code 000214 automatic fixed bin(35,0) dcl 132 set ref 227* err_msg 000100 automatic char(120) dcl 440 set ref 448* 451* 452* error_table_$action_not_performed 000046 external static fixed bin(35,0) dcl 112 ref 401 event 376 based fixed bin(71,0) level 2 dcl 23-78 ref 189 fixed builtin function dcl 123 ref 294 332 fnpe based structure level 1 dcl 9-200 group 426 based char(8) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 190 group 104 based char(8) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 190* hcs_$truncate_seg 000030 constant entry external dcl 102 ref 168 420 header based structure level 2 dcl 1-55 highest_ring 11 based fixed bin(3,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 347* highest_ring 312(18) based fixed bin(17,0) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 192 347 home_dir 36 based char(64) level 2 packed packed unaligned dcl 23-78 ref 178 homedir 22 based char(64) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 178* 356 homedir 50 based bit(18) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 356* hphcs_$create_proc 000032 constant entry external dcl 103 ref 387 hphcs_$set_pit_tty_info 000034 constant entry external dcl 104 ref 428 i 000215 automatic fixed bin(17,0) dcl 133 set ref 305* 306 306* 317* 318 infoptr parameter pointer dcl 437 ref 432 init_proc 56 based char(64) level 2 packed packed unaligned dcl 23-78 ref 177 378 initial_ring 101 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 346 initial_ring 10 based fixed bin(3,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 346* input_seg 110 based char(168) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 283 input_seg 574 based char(168) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 283* installation_parms based structure level 1 dcl 13-33 installation_parms_part_1 based structure level 1 dcl 13-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 13-144 interactive 124 based structure array level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 203 interactive 144 based structure array level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 203* ioa_$rsnnl 000036 constant entry external dcl 105 ref 351 448 iod 274 based structure array level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 205 iod 314 based structure array level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 205* ip defined pointer dcl 5-21 ref 263 340 379 ip_len 76 based fixed bin(17,0) level 2 packed packed unaligned dcl 23-78 ref 177 378 kst_size 53 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 371* 372* kst_size 306 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 371 372 length builtin function dcl 123 ref 236 236 254 254 277 277 length_of_arguments 000217 automatic fixed bin(17,0) dcl 135 set ref 302* 303 308 310 313* 317 length_of_pit 000216 automatic fixed bin(17,0) dcl 134 set ref 315* 318 417* lengths based fixed bin(17,0) array dcl 146 ref 306 line_type 524 based fixed bin(17,0) level 2 dcl 18-50 set ref 226* 248* 271* ln_args 103 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 302 ln_args 1 based fixed bin(17,0) level 2 in structure "arg_info" dcl 18-136 in procedure "cpg_" set ref 303* 310 313* login_line 533 based char(120) level 2 packed packed unaligned dcl 18-50 set ref 282* login_name 72 based char(28) level 2 packed packed unaligned dcl 18-50 set ref 187* login_responder 2 based char(64) level 2 packed packed unaligned dcl 18-50 set ref 177* login_time 62 based fixed bin(71,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 182* login_time 402 based fixed bin(71,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 182 logins 141 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 201* logins 122 based fixed bin(17,0) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 201 logout_channel 102 based fixed bin(71,0) level 2 dcl 18-50 set ref 189* 334 logout_pid 101 based bit(36) level 2 dcl 18-50 set ref 188* 335 lot_in_stack 55 based bit(1) level 2 dcl 11-23 set ref 357* 362* lot_size 305 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 358 359 359 361 lot_size 51 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 358* 359* 361* lowest_ring 312 based fixed bin(17,0) level 2 packed packed unaligned dcl 23-78 ref 191 max_cpu_time 720 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 285* max_cpu_time 244 based fixed bin(35,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 285 max_process_authorization 62 based bit(72) level 2 dcl 11-23 set ref 376* max_ring 107 based fixed bin(17,0) level 2 dcl 18-50 set ref 192* mcptr parameter pointer dcl 434 ref 432 mem_usage 362 based fixed bin(71,0) level 2 dcl 23-78 ref 295 min_ring 106 based fixed bin(17,0) level 2 dcl 18-50 set ref 191* mpxe based structure level 1 dcl 9-221 n_processes 413 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 181 n_processes 61 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 181* name 2 based char(32) level 2 dcl 9-72 ref 234 non_local_exit 000136 automatic bit(1) packed unaligned dcl 441 set ref 444* 445 null builtin function dcl 123 ref 349 1-53 472 23-76 number_of_arguments 000220 automatic fixed bin(17,0) dcl 136 set ref 299* 300 301 305 318 old_proc_core 724 based fixed bin(71,0) level 2 dcl 18-50 set ref 295* old_proc_cpu 66 based fixed bin(71,0) level 2 dcl 18-50 set ref 184* old_proc_io_ops 726 based fixed bin(71,0) level 2 dcl 18-50 set ref 296* old_terminal_info 000221 automatic structure level 1 dcl 137 set ref 227 227 old_tty 530 based char(6) level 2 dcl 18-50 set ref 235* 236 236* 253* 254 254* 276* 277 277* old_type 3 000221 automatic fixed bin(17,0) level 2 dcl 137 set ref 229 outer_module 26 based char(32) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 195 426 outer_module 112 based char(32) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 195* 426* output_seg 162 based char(168) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 284 output_seg 646 based char(168) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 284* p parameter pointer dcl 91 ref 14 156 157 164 407 414 part_1 based structure level 2 dcl 13-33 pdir_dir_quota 314 based fixed bin(17,0) level 2 packed packed unaligned dcl 23-78 set ref 380* pdir_quota 313(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 23-78 set ref 338 338 340* pdir_volume_manager_$select_pdir_volume 000040 constant entry external dcl 106 ref 383 pdtep 000226 automatic pointer dcl 140 in procedure "cpg_" set ref 165* 198 199 200 201 202 203 204 205 206 207 208 209 210 211 415* pdtep 354 based pointer level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 165 415 pdtp 000236 automatic pointer initial dcl 472 set ref 472* person 4 based char(24) level 2 packed packed unaligned dcl 23-78 set ref 187 351* 448* pit based structure level 1 dcl 18-50 pit_ptr 16 based pointer level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 350* pit_ptr 000240 automatic pointer dcl 18-48 in procedure "cpg_" set ref 166* 168* 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 219 220 224 225 226 229 232 233 234 235 236 236 236 236 244 245 246 247 248 249 250 251 252 253 254 254 254 254 267 268 269 270 271 272 273 274 275 276 277 277 277 277 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 315 334 335 350 355 356 416* 417 420* 426 428* pit_size 000230 automatic fixed bin(17,0) dcl 141 set ref 318* 336 ppml 7 based fixed bin(17,0) level 2 dcl 11-23 set ref 343* proc_creation_time 64 based fixed bin(71,0) level 2 dcl 18-50 set ref 183* proc_id 276 based bit(36) level 2 dcl 23-78 set ref 392* 428* process_authorization 24 based bit(72) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 375 process_authorization 60 based bit(72) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 375* process_authorization_range 300 based bit(72) array level 2 dcl 23-78 ref 214 376 process_group_id 20 based char(32) level 2 dcl 11-23 set ref 351* 384* process_type 1 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 176 216 241 process_type 1 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 176* processid based structure level 2 dcl 11-23 set ref 392 processid_index 130 based fixed bin(18,0) level 2 dcl 1-55 set ref 327 327 327* 329* 329 332 project 12 based char(12) level 2 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" set ref 179 351* 448* project 42 based char(28) level 2 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 179* proxy 722(02) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 289* proxy 247(02) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 259 289 queue 245 based fixed bin(17,0) level 2 dcl 23-78 ref 262 263 268 rcp_init_flags based structure level 1 packed packed unaligned dcl 14-8 record_quota 6 based fixed bin(17,0) level 2 dcl 11-23 set ref 338* 340* rel builtin function dcl 123 ref 294 315 356 417 rel_apte based bit(18) level 3 packed packed unaligned dcl 11-23 set ref 331* request_id 374 based fixed bin(71,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 213* request_id 234 based fixed bin(71,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 213 restartable 247 based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 287 restartable 722 based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 287* restarted 247(08) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 292 restarted 722(08) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 292* rs_number 373 based fixed bin(9,0) level 2 in structure "pit" packed packed unsigned unaligned dcl 18-50 in procedure "cpg_" set ref 212* rs_number 374 based fixed bin(6,0) level 2 in structure "ute" packed packed unsigned unaligned dcl 23-78 in procedure "cpg_" ref 212 rtrim builtin function dcl 123 ref 236 236 251 254 254 277 277 service_type 526 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 232* 250* 273* service_type 32(18) based fixed bin(17,0) level 2 in structure "cdte" packed packed unaligned dcl 9-72 in procedure "cpg_" ref 232 set_bit_cnt 722(03) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 290* set_bit_cnt 247(03) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 290 shift_limit 76 based float bin(27) array level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 200 shift_limit 131 based float bin(27) array level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 200* ss_len 76(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 23-78 ref 378 standby 532 based fixed bin(17,0) level 2 dcl 18-50 set ref 281* standby_line 433 based fixed bin(17,0) level 2 dcl 23-78 ref 281 start_arg_info 740 based fixed bin(17,0) level 2 dcl 18-50 set ref 293 315 417 static_label 000010 internal static label variable dcl 119 set ref 161* 411* 453 string builtin function dcl 123 set ref 193* 193 286* substr builtin function dcl 123 ref 177 378 subsystem 65 based char(64) level 2 dcl 11-23 set ref 378* sys_log_ 000042 constant entry external dcl 107 ref 451 sys_log_$error_log 000044 constant entry external dcl 108 ref 170 384 422 tag 15 based char(1) level 2 packed packed unaligned dcl 23-78 set ref 217* 242* 259* 261* 351* term_channel 2 based fixed bin(71,0) level 2 dcl 11-23 set ref 334* term_processid 4 based bit(36) level 2 dcl 11-23 set ref 335* term_type_name 514 based char(32) level 2 packed packed unaligned dcl 18-50 set ref 225* 247* 270* terminal_access_class 125 based bit(72) level 2 dcl 18-50 set ref 197* timax 000231 automatic fixed bin(17,0) dcl 142 in procedure "cpg_" set ref 218* 243* 263* 264 264* 266* 348 timax 12 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 348* time_last_reset 344 based fixed bin(71,0) level 2 in structure "user" dcl 16-58 in procedure "cpg_" ref 207 time_last_reset 364 based fixed bin(71,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 207* truncate_absout 722(07) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 291* truncate_absout 247(07) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 291 tty 730 based char(32) level 2 packed packed unaligned dcl 18-50 set ref 234* 236 236 252* 254 254 275* 277 277 tty_answerback 527 based char(4) level 2 packed packed unaligned dcl 18-50 set ref 233* 251* 274* tty_id_code 100 based char(4) level 2 dcl 9-72 ref 233 tty_name 316 based char(32) level 2 packed packed unaligned dcl 23-78 ref 251 252 275 tty_type 525 based fixed bin(17,0) level 2 dcl 18-50 set ref 229* 249* 272* uflags 431 based structure level 2 dcl 23-78 unique_index 0(18) based bit(18) level 3 packed packed unaligned dcl 11-23 set ref 332* unspec builtin function dcl 123 ref 392 user based structure level 1 dcl 16-58 user_abs_attributes based structure level 1 dcl 22-25 user_attributes based structure level 1 dcl 21-21 user_deferred_until_time 722(01) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 18-50 in procedure "cpg_" set ref 288* user_deferred_until_time 247(01) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 23-78 in procedure "cpg_" ref 288 user_processid 30 based char(32) level 2 dcl 11-23 set ref 354* user_weight 70 based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 185* user_weight 432 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 185 ut_header based structure level 1 dcl 24-16 ute based structure level 1 dcl 23-78 utep 000242 automatic pointer initial dcl 23-76 set ref 164* 165 176 177 177 178 179 181 182 184 185 186 187 189 190 191 192 193 194 195 196 212 213 214 216 217 219 241 242 244 251 252 259 259 261 262 263 268 275 281 283 284 285 287 288 289 290 291 292 295 299 302 304 309 338 338 340 346 347 351 351 351 351 358 359 359 361 365 366 366 368 371 372 373 374 375 376 377 378 378 378 380 383* 392 394* 414* 415 426 428 23-76* 223 448 448 version based fixed bin(17,0) level 2 in structure "pit" dcl 18-50 in procedure "cpg_" set ref 175* version 1 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 333* version_of_create_info constant fixed bin(17,0) initial dcl 11-10 ref 333 whotabx 430 based fixed bin(17,0) level 2 dcl 23-78 ref 194 whox 111 based fixed bin(17,0) level 2 dcl 18-50 set ref 194* words_of_pit 5 based fixed bin(17,0) level 2 dcl 11-23 set ref 336* work_class 64 based fixed bin(17,0) level 2 in structure "create_info" dcl 11-23 in procedure "cpg_" set ref 377* work_class 425 based fixed bin(17,0) level 2 in structure "ute" dcl 23-78 in procedure "cpg_" ref 377 xstring based char dcl 147 ref 310 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABSQ_METER internal static fixed bin(17,0) initial dcl 6-28 ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 22-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 23-326 ABS_TRYLOG_METER internal static fixed bin(17,0) initial dcl 6-35 ACCESS_AUDIT_HEADER_VERSION_3 internal static fixed bin(9,0) initial unsigned dcl 2-54 ACCTUP_METER internal static fixed bin(17,0) initial dcl 6-26 ACTIVE internal static fixed bin(17,0) initial dcl 9-272 ACTIVE_VALUES internal static char(18) initial array dcl 12-86 ADMIN_METER internal static fixed bin(17,0) initial dcl 6-32 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 21-77 ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 1-51 ARH_TYPE_NO_PROXY internal static fixed bin(17,0) initial dcl 2-52 ARH_TYPE_PROXY internal static fixed bin(17,0) initial dcl 2-50 ASINIT_METER internal static fixed bin(17,0) initial dcl 6-19 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 3-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIALIN internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 3-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 3-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 3-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 3-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 3-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_RECORD_CHN_VERSION_1 internal static fixed bin(9,0) initial dcl 3-156 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 3-159 AS_AUDIT_RECORD_IA_VERSION_1 internal static fixed bin(9,0) initial dcl 3-153 AS_METER_NAMES internal static char(8) initial array packed unaligned dcl 6-43 AT_NORMAL internal static char(8) initial packed unaligned dcl 1-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 1-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 1-116 AUM_METER internal static fixed bin(17,0) initial dcl 6-22 AU_METER internal static fixed bin(17,0) initial dcl 6-23 Automatic_authentication internal static fixed bin(17,0) initial dcl 14-16 CDT_version internal static fixed bin(17,0) initial dcl 9-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 9-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 9-288 COMMAND_METER internal static fixed bin(17,0) initial dcl 6-30 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 23-280 DIALUP_METER internal static fixed bin(17,0) initial dcl 6-20 DIAL_OUT_SERVICE internal static fixed bin(17,0) initial dcl 9-259 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 23-332 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 9-259 DN355 internal static fixed bin(17,0) initial dcl 10-19 DN6600 internal static fixed bin(17,0) initial dcl 10-19 DN6670 internal static fixed bin(17,0) initial dcl 10-19 DN7100 internal static fixed bin(17,0) initial dcl 10-19 DONT_MASK internal static bit(2) initial packed unaligned dcl 23-280 DO_MASK internal static bit(2) initial packed unaligned dcl 23-280 DPG_METER internal static fixed bin(17,0) initial dcl 6-25 DUM_METER internal static fixed bin(17,0) initial dcl 6-21 FIXPDT_METER internal static fixed bin(17,0) initial dcl 6-34 FNP_BOOT internal static fixed bin(17,0) initial dcl 9-298 FNP_DOWN internal static fixed bin(17,0) initial dcl 9-298 FNP_FREE internal static fixed bin(17,0) initial dcl 9-298 FNP_UNKNOWN internal static fixed bin(17,0) initial dcl 9-298 FNP_UP internal static fixed bin(17,0) initial dcl 9-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 9-259 INACTIVE internal static fixed bin(17,0) initial dcl 9-272 INSTALL_METER internal static fixed bin(17,0) initial dcl 6-27 LINE_1050 internal static fixed bin(17,0) initial dcl 15-22 LINE_2741 internal static fixed bin(17,0) initial dcl 15-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 15-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 15-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 15-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 15-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 15-22 LINE_BSC internal static fixed bin(17,0) initial dcl 15-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 15-22 LINE_DSA internal static fixed bin(17,0) initial dcl 15-22 LINE_ETX internal static fixed bin(17,0) initial dcl 15-22 LINE_G115 internal static fixed bin(17,0) initial dcl 15-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 15-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 15-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 15-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 15-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 15-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 15-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 15-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 15-22 LINE_VIP internal static fixed bin(17,0) initial dcl 15-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 15-22 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 23-338 MASK_CTL_NAMES internal static varying char(12) initial array dcl 23-284 MC_SERVICE internal static fixed bin(17,0) initial dcl 9-259 MPX_BOOT internal static fixed bin(17,0) initial dcl 9-306 MPX_DOWN internal static fixed bin(17,0) initial dcl 9-306 MPX_FREE internal static fixed bin(17,0) initial dcl 9-306 MPX_SERVICE internal static fixed bin(17,0) initial dcl 9-259 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 9-306 MPX_UP internal static fixed bin(17,0) initial dcl 9-306 MSGCORD_METER internal static fixed bin(17,0) initial dcl 6-29 Manual_authentication internal static fixed bin(17,0) initial dcl 14-16 NETUP_METER internal static fixed bin(17,0) initial dcl 6-37 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 9-280 NOW_DIALED internal static fixed bin(17,0) initial dcl 12-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 12-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 12-76 NOW_FREE internal static fixed bin(17,0) initial dcl 12-76 NOW_HAS_PROCESS internal static fixed bin(17,0) initial dcl 12-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 12-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 12-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 12-76 No_authentication internal static fixed bin(17,0) initial dcl 14-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 14-16 PDT_entry_lth internal static fixed bin(17,0) initial dcl 16-19 PDT_header_lth internal static fixed bin(17,0) initial dcl 16-19 PDT_person_id_length internal static fixed bin(17,0) initial dcl 16-19 PDT_project_name_length internal static fixed bin(17,0) initial dcl 16-19 PDT_version internal static fixed bin(17,0) initial dcl 16-19 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 12-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 12-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 23-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 23-261 PT_ALARM internal static fixed bin(17,0) initial dcl 12-106 PT_BUMP internal static fixed bin(17,0) initial dcl 12-106 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 12-106 PT_DETACH internal static fixed bin(17,0) initial dcl 12-106 PT_FPE internal static fixed bin(17,0) initial dcl 12-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 12-106 PT_LOGOUT internal static fixed bin(17,0) initial dcl 12-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 12-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 12-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 12-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 12-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 12-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 23-290 SAC_METER internal static fixed bin(17,0) initial dcl 6-31 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 9-259 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 20-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 20-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 20-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 20-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 20-62 SL_LOG internal static fixed bin(17,0) initial dcl 20-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 20-14 SL_LOG_SILENT internal static fixed bin(17,0) initial dcl 20-14 SL_TYPE internal static fixed bin(17,0) initial dcl 20-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 20-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 20-14 SSU_METER internal static fixed bin(17,0) initial dcl 6-33 STATE_VALUES internal static char(15) initial array dcl 12-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 23-271 TAG_UFT internal static char(1) initial packed unaligned dcl 12-93 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 9-259 TRA_VEC_VALUES internal static char(32) initial array dcl 12-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 12-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 12-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 12-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 12-64 UFLAG_NAMES internal static varying char(24) initial array dcl 23-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 21-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 21-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 21-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 21-50 UTE_SIZE internal static fixed bin(17,0) initial dcl 1-120 UTE_version_4 internal static fixed bin(17,0) initial dcl 23-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 12-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 12-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 12-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 12-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 12-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 12-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 12-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 12-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 12-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 12-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 12-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 12-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 12-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 12-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 12-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 12-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 12-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 12-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 12-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 12-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 12-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 12-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 12-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 12-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 12-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 12-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 12-25 as_channel_audit_record based structure level 1 dcl 3-68 as_data_$BS external static char(1) dcl 4-21 as_data_$CR external static char(1) dcl 4-22 as_data_$abs_dim external static char(32) packed unaligned dcl 4-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 4-24 as_data_$acsdir external static char(168) packed unaligned dcl 4-25 as_data_$as_procid external static bit(36) dcl 4-27 as_data_$as_ring external static fixed bin(3,0) dcl 4-28 as_data_$as_tty automatic char(6) packed unaligned dcl 4-29 as_data_$asmtp external static pointer dcl 4-30 as_data_$autp external static pointer dcl 4-31 as_data_$buzzardp external static pointer dcl 4-32 as_data_$cdtp external static pointer dcl 4-33 as_data_$debug_flag external static bit(1) dcl 4-84 as_data_$default_weight external static fixed bin(35,0) dcl 4-34 as_data_$devtabp external static pointer dcl 4-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 4-36 as_data_$dutp external static pointer dcl 4-37 as_data_$g115_dim external static char(32) packed unaligned dcl 4-38 as_data_$lct_initialized external static bit(1) dcl 4-39 as_data_$lct_size external static fixed bin(17,0) dcl 4-40 as_data_$login_args external static structure level 1 dcl 4-62 as_data_$login_words external static fixed bin(17,0) dcl 4-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 4-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 4-87 as_data_$ls_message_buffer_ptr external static pointer dcl 4-88 as_data_$ls_request_server_info_ptr external static pointer dcl 4-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 4-41 as_data_$mgtp external static pointer dcl 4-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 4-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 4-44 as_data_$pdtdir external static char(168) packed unaligned dcl 4-45 as_data_$rcpdir external static char(168) packed unaligned dcl 4-47 as_data_$request_priority external static fixed bin(17,0) dcl 4-48 as_data_$rtdtp external static pointer dcl 4-50 as_data_$sat_htp external static pointer dcl 4-51 as_data_$satp external static pointer dcl 4-52 as_data_$signal_types external static structure level 1 dcl 4-67 as_data_$suffix external static char(2) array packed unaligned dcl 4-53 as_data_$sysdir external static char(168) packed unaligned dcl 4-54 as_data_$system_signal_types external static structure level 1 dcl 4-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 4-55 as_data_$terminet_tabs_string external static varying char(144) dcl 4-56 as_data_$tty_dim external static char(32) packed unaligned dcl 4-57 as_data_$update_priority external static fixed bin(17,0) dcl 4-58 as_data_$version external static char(8) packed unaligned dcl 4-59 as_data_$whoptr external static pointer dcl 4-60 as_data_login_words based structure level 1 dcl 4-77 as_dial_service_audit_record based structure level 1 dcl 3-100 as_ia_audit_record_abs based structure level 1 dcl 3-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 3-41 as_ia_audit_record_int_dmn based structure level 1 dcl 3-27 as_procid defined bit(36) dcl 5-17 as_tty based char(6) packed unaligned dcl 5-18 asmtp defined pointer dcl 5-19 audit_record_header_proxy based structure level 1 dcl 2-22 audit_record_ptr automatic pointer dcl 2-16 authentication_level_names internal static char(12) initial array packed unaligned dcl 14-21 cdt based structure level 1 dcl 9-44 cdtp automatic pointer dcl 9-41 channel_audit_info based structure level 1 dcl 3-138 channel_audit_info_ptr automatic pointer dcl 3-136 devtabp defined pointer dcl 5-20 dial_server_info based structure level 1 dcl 3-124 dial_server_info_ptr automatic pointer dcl 3-122 fnp_models internal static fixed bin(17,0) initial array dcl 10-28 fnp_types internal static char(8) initial array packed unaligned dcl 10-25 fnpep automatic pointer dcl 9-41 generic_destination based char(32) packed unaligned dcl 9-195 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 13-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 13-38 line_types internal static char(16) initial array packed unaligned dcl 15-54 max_line_type internal static fixed bin(17,0) initial dcl 15-48 mgtp defined pointer dcl 5-22 mpxep automatic pointer dcl 9-41 n_sync_line_types internal static fixed bin(17,0) initial dcl 15-50 pdt based structure level 1 dcl 16-27 pdtdir based char(168) packed unaligned dcl 5-23 pit_$ external static bit(36) dcl 18-47 recursion_possible internal static bit(18) initial packed unaligned dcl 6-39 rifp automatic pointer dcl 14-6 rs_ptrs based pointer array dcl 5-24 sat_htp defined pointer dcl 5-25 satp defined pointer dcl 5-26 sc_stat_$Go external static bit(1) dcl 19-62 sc_stat_$Go_typed external static bit(1) dcl 19-62 sc_stat_$Multics external static bit(1) dcl 19-62 sc_stat_$Multics_typed external static bit(1) dcl 19-62 sc_stat_$Star_typed external static bit(1) dcl 19-62 sc_stat_$admin_listener_exit_label external static label variable dcl 19-34 sc_stat_$admin_listener_switch external static bit(1) dcl 19-62 sc_stat_$admin_log_iocb external static pointer dcl 19-45 sc_stat_$admin_log_write_ptr external static pointer dcl 19-45 sc_stat_$admin_sci_ptr external static pointer dcl 19-45 sc_stat_$as_log_write_ptr external static pointer dcl 19-45 sc_stat_$did_part1 external static bit(1) dcl 19-62 sc_stat_$did_part2 external static bit(1) dcl 19-62 sc_stat_$did_part3 external static bit(1) dcl 19-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 19-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 19-21 sc_stat_$initzer_ttyp external static pointer dcl 19-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 19-21 sc_stat_$master_abort_label external static label variable dcl 19-34 sc_stat_$master_channel external static char(6) dcl 19-29 sc_stat_$master_iocb external static pointer dcl 19-45 sc_stat_$master_sci_ptr external static pointer dcl 19-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 19-21 sc_stat_$mc_ansp external static pointer dcl 19-45 sc_stat_$mc_iocb external static pointer dcl 19-45 sc_stat_$mc_is_on external static bit(1) dcl 19-62 sc_stat_$no_operator_login external static bit(1) dcl 19-62 sc_stat_$shutdown_typed external static bit(1) dcl 19-62 sc_stat_$sv1_iocb external static pointer dcl 19-45 sc_stat_$sv2_iocb external static pointer dcl 19-45 sc_stat_$sv3_iocb external static pointer dcl 19-45 sc_stat_$sysdir external static char(168) packed unaligned dcl 19-21 sc_stat_$system_shutdown_label external static label variable dcl 19-34 sc_stat_$test_mode external static bit(1) dcl 19-62 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 19-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 19-62 scdtp defined pointer dcl 5-27 sl_info automatic structure level 1 dcl 20-24 sl_info_code_msg internal static structure level 1 dcl 20-187 sl_info_msg internal static structure level 1 dcl 20-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 20-161 sl_info_sev_code_msg internal static structure level 1 dcl 20-82 sl_info_sev_coded_msg internal static structure level 1 dcl 20-134 sl_info_sev_msg internal static structure level 1 dcl 20-108 supported_fnp internal static bit(1) initial array packed unaligned dcl 10-31 sync_line_type internal static fixed bin(17,0) initial array dcl 15-52 sysdir defined char(168) packed unaligned dcl 5-28 whoptr defined pointer dcl 5-29 NAMES DECLARED BY EXPLICIT CONTEXT. cpg_ 000123 constant entry external dcl 14 cpg_abs 000134 constant entry external dcl 156 cpg_daemon 000145 constant entry external dcl 157 exit 001410 constant label dcl 398 ref 172 423 429 set_pit_tty_info 001427 constant entry external dcl 407 set_tty_info 001615 constant entry internal dcl 222 ref 221 427 ucs_ 001726 constant entry internal dcl 432 ref 162 162 412 412 ucs_return 001420 constant label dcl 401 ref 161 411 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2360 2440 2075 2370 Length 3346 2075 60 672 262 4 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cpg_ 268 external procedure is an external procedure. set_tty_info internal procedure shares stack frame of external procedure cpg_. ucs_ 138 internal procedure is assigned to an entry variable. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 static_label cpg_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cpg_ 000100 aip cpg_ 000102 argp cpg_ 000104 ciptr cpg_ 000106 create_info_area cpg_ 000214 dummy_code cpg_ 000215 i cpg_ 000216 length_of_pit cpg_ 000217 length_of_arguments cpg_ 000220 number_of_arguments cpg_ 000221 old_terminal_info cpg_ 000226 pdtep cpg_ 000230 pit_size cpg_ 000231 timax cpg_ 000232 ansp cpg_ 000234 cdtep cpg_ 000236 pdtp cpg_ 000240 pit_ptr cpg_ 000242 utep cpg_ ucs_ 000100 err_msg ucs_ 000136 non_local_exit ucs_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac tra_ext_2 ext_entry int_entry_desc clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_access_audit_$process as_check_condition_ as_dump_ as_meter_$enter as_meter_$exit astty_$tty_order condition_ hcs_$truncate_seg hphcs_$create_proc hphcs_$set_pit_tty_info ioa_$rsnnl pdir_volume_manager_$select_pdir_volume sys_log_ sys_log_$error_log THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_data_$pit_ptr as_data_$rs_ptrs error_table_$action_not_performed LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 1 53 000111 472 000113 23 76 000114 14 000117 156 000131 157 000142 159 000153 160 000155 161 000161 162 000164 163 000207 164 000216 165 000222 166 000224 168 000230 169 000243 170 000246 172 000300 175 000301 176 000303 177 000307 178 000313 179 000316 180 000321 181 000324 182 000326 183 000330 184 000332 185 000334 186 000336 187 000340 188 000343 189 000346 190 000350 191 000354 192 000357 193 000363 194 000365 195 000367 196 000372 197 000375 198 000400 199 000403 200 000405 201 000410 202 000412 203 000414 204 000417 205 000422 206 000425 207 000430 208 000432 209 000434 210 000436 211 000440 212 000442 213 000445 214 000447 216 000452 217 000455 218 000457 219 000461 220 000463 221 000465 239 000466 241 000467 242 000471 243 000473 244 000475 245 000477 246 000501 247 000502 248 000505 249 000507 250 000510 251 000512 252 000526 253 000531 254 000534 256 000553 259 000554 261 000562 262 000564 263 000566 264 000573 265 000577 266 000600 267 000602 268 000604 269 000606 270 000607 271 000612 272 000614 273 000615 274 000617 275 000621 276 000624 277 000627 281 000647 282 000653 283 000656 284 000661 285 000664 286 000666 287 000667 288 000673 289 000677 290 000703 291 000707 292 000713 293 000717 294 000721 295 000724 296 000726 299 000730 300 000732 301 000733 302 000734 303 000736 304 000737 305 000741 306 000751 307 000756 308 000760 309 000762 310 000765 312 000775 313 000776 315 001000 317 001005 318 001011 320 001016 325 001020 327 001022 329 001032 331 001033 332 001035 333 001042 334 001044 335 001047 336 001051 338 001053 340 001063 343 001073 346 001074 347 001076 348 001102 349 001104 350 001106 351 001110 354 001163 355 001167 356 001173 357 001176 358 001200 359 001207 361 001212 362 001214 364 001215 365 001216 366 001223 368 001226 369 001230 371 001231 372 001236 373 001237 374 001242 375 001244 376 001250 377 001254 378 001256 379 001263 380 001272 383 001274 384 001305 387 001347 392 001361 394 001364 398 001410 399 001417 401 001420 403 001424 407 001425 409 001435 410 001437 411 001443 412 001446 413 001471 414 001500 415 001504 416 001506 417 001512 420 001517 421 001533 422 001536 423 001570 426 001571 427 001576 428 001577 429 001614 222 001615 223 001616 224 001621 225 001625 226 001630 227 001634 229 001664 232 001667 233 001674 234 001676 235 001701 236 001704 238 001724 432 001725 444 001741 445 001761 448 001772 451 002036 452 002061 453 002072 ----------------------------------------------------------- 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