COMPILATION LISTING OF SEGMENT uc_create_process_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1047.1 mst Wed Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* ******************************************** */ 6 7 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 /* */ 9 /* This module is part of the Multics Network Architecture (MNA) version of */ 10 /* user control. MNA user control serves users coming into Multics via */ 11 /* separate networks (eg, the Distributed Systems Architecture (DSA) */ 12 /* network. MNA user control is not used for logins through the Multics */ 13 /* Communications System (MCS). A separate MCS user control system serves */ 14 /* MCS users. */ 15 /* */ 16 /* To Be Supplied: */ 17 /* 1) Brief module description. See MDD010 or MTBs 751 and 752 for details */ 18 /* about this module, and its relationship to modules in the MCS user */ 19 /* control system. */ 20 /* 2) Operator error message documentation. This program calls */ 21 /* sys_log_$general but does not contain the required descriptions of */ 22 /* these messages. This omission was waived for initial installation */ 23 /* of the subsystem by the auditor, security coordinator, and by MDC */ 24 /* management. */ 25 /* */ 26 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 27 28 /****^ HISTORY COMMENTS: 29* 1) change(86-04-27,Swenson), approve(87-07-13,MCR7737), 30* audit(87-05-16,GDixon), install(87-08-04,MR12.1-1055): 31* Initial coding. 32* 2) change(87-04-27,GDixon), approve(87-07-13,MCR7737), 33* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 34* Upgraded for change to answer_table.incl.pl1 and user_table_entry.incl.pl1 35* 3) change(87-05-04,GDixon), approve(87-07-13,MCR7737), 36* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 37* A) Avoid referencing ute.ln_args if ute.arg_count = 0. 38* 4) change(87-05-09,GDixon), approve(87-07-13,MCR7737), 39* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 40* Set number_of_arguments to 0 when ute.arg_count = 0 to avoid unset 41* variable. 42* 5) change(87-05-13,GDixon), approve(87-07-13,MCR7737), 43* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 44* A) Move act_ctl_$open_account call from uc_ls_create_request_ into here. 45* B) Set pit.line_type from ute.line_type. 46* C) Add code to undo steps of process creation when a fatal error occurs. 47* 6) change(87-05-31,GDixon), approve(87-07-13,MCR7737), 48* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 49* A) Assign ute.n_processes+1 to pit.n_processes when filling in the pit, 50* since ute.n_processes hasn't been incremented for the new process at 51* the point of that assignment. (dsa 227 228) 52* 7) change(88-02-02,Parisek), approve(88-02-11,MCR7849), 53* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 54* Added setting of new PIT elements min_ring & max_ring. Eliminated PIT 55* ringpad element. SCP6367 56* END HISTORY COMMENTS */ 57 58 /* format: style4,indattr */ 59 60 uc_create_process_: 61 procedure (P_utep, P_code); 62 63 /* Parameters */ 64 65 dcl P_utep ptr parameter; 66 dcl P_code fixed bin (35) parameter; 67 68 /* Automatic */ 69 70 dcl aip ptr automatic; 71 dcl argp ptr automatic; 72 dcl 1 auto_create_info structure aligned like create_info automatic; 73 dcl code fixed bin (35) automatic; 74 dcl ip ptr automatic; 75 dcl length_of_arguments fixed bin automatic; 76 dcl length_of_pit fixed bin automatic; /* size of fixed portion */ 77 dcl number_of_arguments fixed bin automatic; 78 dcl pdtep ptr automatic; 79 dcl pit_size fixed bin automatic; /* actual size */ 80 dcl reason char (8) aligned automatic; 81 dcl satep ptr automatic; 82 dcl whoptr ptr automatic; 83 84 /* Based */ 85 86 dcl based_arg_string char (length_of_arguments) based aligned; 87 dcl lengths (number_of_arguments) fixed bin based aligned; 88 89 /* Entries */ 90 91 dcl act_ctl_$close_account entry (ptr); 92 dcl act_ctl_$cp entry (ptr); 93 dcl act_ctl_$open_account entry (ptr); 94 dcl as_access_audit_$process entry (ptr, fixed bin, char (*)); 95 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 96 dcl hcs_$truncate_seg entry (ptr, fixed bin (19), fixed bin (35)); 97 dcl hphcs_$create_proc entry (ptr, fixed bin (35)); 98 dcl ioa_$rsnnl entry () options (variable); 99 dcl pdir_volume_manager_$select_pdir_volume entry (ptr, fixed bin (35)); 100 101 /* External */ 102 103 dcl error_table_$out_of_sequence fixed bin (35) ext static; 104 105 /* Constant */ 106 107 dcl DEFAULT_CLS_SIZE fixed bin (35) initial (65536) internal static options (constant); 108 dcl DEFAULT_KST_SIZE fixed bin initial (0) internal static options (constant); 109 dcl DEFAULT_LOT_SIZE fixed bin initial (512) internal static options (constant); 110 dcl (FALSE initial ("0"b), 111 TRUE initial ("1"b)) bit (1) aligned internal static options (constant); 112 dcl ME char (18) initial ("uc_create_process_") internal static options (constant); 113 114 /* Builtins */ 115 116 dcl (addr, binary, bit, clock, divide, fixed, length, null, rel, rtrim, string, 117 substr, unspec) builtin; 118 119 120 /* Program */ 121 122 call Setup (); 123 if ^ute.uflags.proc_create_ok then 124 call Abort (SL_LOG_SILENT, error_table_$out_of_sequence, 125 "Called before process creation variables set for ^a.^a.^a.", 126 ute.person, ute.project, ute.tag); 127 128 call Setup_PIT (); 129 call Setup_Create_Info (); 130 call Select_Process_Directory_Volume (); 131 call Create_Process (); 132 133 call Update_Whotab (); 134 RETURN: 135 P_code = code; 136 return; 137 138 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 139 /* */ 140 /* Abort: Report errors via sys_log_$general and stop execution. */ 141 /* */ 142 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 143 /* */ 144 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 145 146 Abort: 147 procedure options (variable); 148 149 dcl cu_$arg_list_ptr entry returns (ptr); 150 dcl sys_log_$general entry (ptr); 151 152 sl_info = sl_info_sev_code_msg; 153 sl_info.caller = ME; 154 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 155 call sys_log_$general (addr (sl_info)); 156 code = sl_info.code; 157 if code ^= 0 then go to RETURN; 158 159 end Abort; 160 161 Setup: 162 procedure (); 163 utep = P_utep; 164 code = 0; 165 166 ansp = as_data_$ansp; 167 ip = as_data_$rs_ptrs (0); 168 satep = ute.uprojp; 169 pdtep = ute.pdtep; 170 171 anstbl.current_time = clock (); 172 return; 173 end Setup; 174 175 Setup_PIT: 176 procedure (); 177 178 dcl i fixed bin automatic; 179 180 pit_ptr = as_data_$pit_ptr; 181 call hcs_$truncate_seg (pit_ptr, 0, code); 182 if code ^= 0 then 183 call Abort (SL_LOG_BEEP, code, ME, 184 "Truncate pit template failed; creating process for ^a.^a.^a.", 185 ute.person, ute.project, ute.tag); 186 187 pit.version = PIT_version_3; 188 pit.process_type = ute.process_type; 189 pit.login_responder = substr (ute.init_proc, 1, ute.ip_len); 190 pit.homedir = ute.home_dir; 191 pit.project = ute.project; 192 pit.account = ""; /* unused */ 193 pit.n_processes = ute.n_processes + 1; /* ute.n_processes hasn't been incremented yet. */ 194 pit.login_time = ute.login_time; 195 pit.proc_creation_time = clock (); 196 pit.old_proc_cpu = ute.cpu_usage; /* will be zero for first process */ 197 pit.user_weight = ute.user_weight; 198 pit.anonymous = ute.anonymous; 199 pit.login_name = ute.person; 200 pit.logout_pid = anstbl.as_procid; 201 pit.logout_channel = ute.event; 202 pit.group = ute.group; 203 pit.min_ring = ute.lowest_ring; /* minimum ring */ 204 pit.max_ring = ute.highest_ring; /* maximum ring */ 205 206 string (pit.at) = string (ute.at); 207 pit.whox = ute.whotabx; 208 pit.outer_module = ute.outer_module; 209 pit.dont_call_init_admin = ute.uflags.dont_call_init_admin; 210 pit.terminal_access_class = ""b; /* not used */ 211 pit.dollar_charge = user.dollar_charge; 212 pit.dollar_limit = user.dollar_limit; 213 pit.shift_limit (*) = user.shift_limit (*); 214 pit.logins = user.logins; 215 pit.crashes = user.crashes; 216 pit.interactive (*) = user.interactive (*); 217 pit.absentee (*) = user.absentee (*); 218 pit.iod (*) = user.iod (*); 219 pit.devices (*) = user.devices (*); 220 pit.time_last_reset = user.time_last_reset; 221 pit.absolute_limit = user.absolute_limit; 222 pit.absolute_spent = user.absolute_spent; 223 pit.absolute_cutoff = user.absolute_cutoff; 224 pit.absolute_increm = user.absolute_increm; 225 pit.rs_number = ute.rs_number; 226 pit.request_id = ute.request_id; 227 pit.authorization_range = ute.process_authorization_range; 228 /**** TBS: The charge_type is available in the cdte for MCS channels. If 229* this module ever supports MCS, it should be extracted from here. */ 230 pit.charge_type = 0; 231 pit.term_type_name = ute.terminal_type; 232 pit.line_type = ute.line_type; 233 /**** TBS: The tty_type is an obsolete field which is present in the cdte. 234* If this module ever supports MCS, it should be extracted from here. */ 235 pit.tty_type = 0; 236 /**** TBS: If the value of pit.service is type is used, it will have to 237* be conjured up from somewhere. The cdte, of course, has this value 238* for MCS channels. It was probably only used for the old NCP/FTP. */ 239 pit.service_type = 0; 240 pit.tty_answerback = ute.tty_id_code; 241 pit.old_tty = ""; 242 pit.standby = ute.standby_line; 243 pit.login_line = ""; /* unused */ 244 pit.cant_bump_until = ute.cant_bump_until; /* 0 for abs & dmn */ 245 pit.input_seg = ute.input_seg; /* only valid for absentees */ 246 pit.output_seg = ute.output_seg; /* ditto */ 247 pit.max_cpu_time = ute.max_cpu_time; /* ditto */ 248 if ute.process_type = PT_ABSENTEE then 249 pit.abs_queue = ute.queue; 250 else pit.abs_queue = -1; 251 string (pit.abs_attributes) = "0"b; /* copy ute abs_attributes bits */ 252 pit.restartable = ute.restartable; 253 pit.user_deferred_until_time = ute.user_deferred_until_time; 254 pit.proxy = ute.proxy; 255 pit.set_bit_cnt = ute.set_bit_cnt; 256 pit.truncate_absout = ute.truncate_absout; 257 pit.restarted = ute.restarted; 258 259 aip = addr (pit.start_arg_info); 260 pit.arg_info_ptr = fixed (rel (aip)); 261 262 pit.old_proc_core = ute.mem_usage; 263 pit.old_proc_io_ops = 0; 264 pit.tty = ute.tty_name; 265 if length (rtrim (pit.tty)) <= length (pit.old_tty) then 266 pit.old_tty = substr (pit.tty, 1, length (pit.old_tty)); 267 268 number_of_arguments = ute.arg_count; 269 aip -> arg_info.arg_count = number_of_arguments; 270 if number_of_arguments > 0 then do; 271 length_of_arguments = ute.ln_args; 272 aip -> arg_info.ln_args = length_of_arguments; 273 argp = ute.arg_lengths_ptr; 274 do i = 1 to number_of_arguments; 275 aip -> arg_info.arg_lengths (i) = argp -> lengths (i); 276 end; 277 if length_of_arguments > 0 then do; 278 argp = ute.args_ptr; 279 aip -> arg_info.args = argp -> based_arg_string; 280 end; 281 end; 282 else length_of_arguments, aip -> arg_info.ln_args = 0; 283 284 length_of_pit = binary (rel (addr (pit.start_arg_info)), 18); 285 pit_size = length_of_pit + number_of_arguments + 286 divide (length_of_arguments + 3, 4, 35, 0) + 2; 287 return; 288 289 end Setup_PIT; 290 291 Setup_Create_Info: 292 procedure (); 293 294 295 if anstbl.processid_index > 262140 | anstbl.processid_index < 0 then 296 anstbl.processid_index = 0; 297 anstbl.processid_index = anstbl.processid_index + 1; 298 299 auto_create_info.processid.rel_apte = ""b; /* returned from hardcore */ 300 auto_create_info.processid.unique_index = 301 bit (fixed (anstbl.processid_index, 18), 18); 302 auto_create_info.version = version_of_create_info; 303 auto_create_info.term_channel = pit.logout_channel; 304 auto_create_info.term_processid = pit.logout_pid; 305 auto_create_info.words_of_pit = pit_size; 306 307 if ute.pdir_quota > 0 then /* nonzero value in PDT of SAT */ 308 auto_create_info.record_quota = ute.pdir_quota; 309 else do; 310 ute.pdir_quota = installation_parms.default_pdir_seg_quota; 311 auto_create_info.record_quota = ute.pdir_quota; 312 end; 313 auto_create_info.ppml = 0; /* obsolete */ 314 auto_create_info.initial_ring = ute.initial_ring; 315 auto_create_info.highest_ring = ute.highest_ring; 316 317 auto_create_info.timax = -1; /* but see below */ 318 if ute.process_type = PT_ABSENTEE then 319 if ute.queue > 0 then 320 auto_create_info.timax = 321 installation_parms.abs_timax (ute.queue); 322 auto_create_info.account_ptr = null (); /* unused */ 323 auto_create_info.pit_ptr = pit_ptr; 324 325 call ioa_$rsnnl ("^[anonymous^s^;^a^].^a.^a", 326 auto_create_info.process_group_id, (0), 327 (ute.anonymous = 1), ute.person, ute.project, ute.tag); 328 329 auto_create_info.user_processid = ""; /* unused */ 330 auto_create_info.account_id = ""; /* unused */ 331 auto_create_info.homedir = rel (addr (pit.homedir)); 332 333 auto_create_info.lot_in_stack = TRUE; 334 if ute.lot_size = 0 then 335 auto_create_info.lot_size = DEFAULT_LOT_SIZE; 336 else if ute.lot_size > 0 then 337 auto_create_info.lot_size = ute.lot_size; 338 else do; 339 auto_create_info.lot_size = -(ute.lot_size); 340 auto_create_info.lot_in_stack = FALSE; 341 end; 342 343 auto_create_info.cls_in_stack = FALSE; 344 if ute.cls_size = 0 then 345 auto_create_info.cls_size = DEFAULT_CLS_SIZE; 346 else if ute.cls_size > 0 then 347 auto_create_info.cls_size = ute.cls_size; 348 else do; 349 auto_create_info.cls_size = -(ute.cls_size); 350 auto_create_info.cls_in_stack = TRUE; 351 end; 352 353 if ute.kst_size = 0 then 354 auto_create_info.kst_size = DEFAULT_KST_SIZE; 355 else auto_create_info.kst_size = ute.kst_size; 356 357 auto_create_info.dont_call_init_admin = ute.uflags.dont_call_init_admin; 358 auto_create_info.audit = ute.audit; 359 auto_create_info.process_authorization = ute.process_authorization; 360 auto_create_info.max_process_authorization = 361 ute.process_authorization_range (2); 362 auto_create_info.work_class = ute.work_class; 363 auto_create_info.subsystem = substr (ute.init_proc, ute.ip_len + 1, 364 ute.ss_len); 365 366 ute.pdir_dir_quota = installation_parms.default_pdir_dir_quota; 367 auto_create_info.dir_quota = ute.pdir_dir_quota; 368 return; 369 end Setup_Create_Info; 370 371 Select_Process_Directory_Volume: 372 procedure (); 373 374 /**** Chose a process directory logical volume for this process */ 375 376 if ^as_data_$debug_flag then do; 377 call pdir_volume_manager_$select_pdir_volume (utep, code); 378 if code ^= 0 then 379 call Log_Error_with_Code (SL_LOG_BEEP, code, ME, 380 "Assigning pdir volume for ^a.^a.^a", 381 ute.person, ute.project, ute.tag); 382 end; 383 return; 384 end Select_Process_Directory_Volume; 385 386 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 387 /* */ 388 /* Log_Error_with_Code: log an error via sys_log_$general and continue */ 389 /* execution. */ 390 /* */ 391 /* Syntax: call Log_Error_with_Code (severity, code, ioa_ctl, args); */ 392 /* */ 393 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 394 395 Log_Error_with_Code: 396 procedure options (variable); 397 398 dcl cu_$arg_list_ptr entry returns (ptr); 399 dcl sys_log_$general entry (ptr); 400 401 sl_info = sl_info_sev_code_msg; 402 sl_info.caller = ME; 403 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 404 call sys_log_$general (addr (sl_info)); 405 406 end Log_Error_with_Code; 407 408 Create_Process: 409 procedure (); 410 411 ute.n_processes = ute.n_processes + 1; 412 if ute.n_processes = 1 then /* not new proc? */ 413 call act_ctl_$open_account (utep); 414 415 call hphcs_$create_proc (addr (auto_create_info), code); 416 if code ^= 0 then do; 417 ute.active = NOW_LOGGED_IN; 418 ute.uflags.proc_create_ok = FALSE; 419 call convert_status_code_ (code, reason, ""); 420 call as_access_audit_$process (utep, -AS_AUDIT_PROCESS_CREATE, 421 (reason)); 422 call act_ctl_$close_account (utep); 423 call Abort (SL_LOG, code, ME, 424 "Could not create process for ^a.^a.^a.", 425 ute.person, ute.project, ute.tag); 426 end; 427 428 ute.proc_id = unspec (auto_create_info.processid); 429 ute.active = NOW_HAS_PROCESS; 430 ute.destroy_flag = WAIT_LOGOUT_SIG; 431 call as_access_audit_$process (utep, AS_AUDIT_PROCESS_CREATE, ""); 432 call act_ctl_$cp (utep); 433 return; 434 end Create_Process; 435 436 Update_Whotab: 437 procedure (); 438 439 /**** Various items in the whotab entry for the user were not filled in at 440* login time because the values were not known. They are updated now. */ 441 442 dcl whotab_idx fixed bin automatic; 443 444 whoptr = as_data_$whoptr; 445 446 /**** Update the number of load control units in the whotab header */ 447 448 whotab.n_units = whotab.n_units + ute.user_weight; 449 450 /**** Update the per-user whotab values if the user has a whotab entry */ 451 452 if ute.whotabx ^= 0 then do; /* user has a whotab entry */ 453 whotab_idx = ute.whotabx; 454 whotab.e (whotab_idx).units = ute.user_weight; 455 whotab.e (whotab_idx).stby = ute.standby_line; 456 whotab.e (whotab_idx).group = ute.group; 457 whotab.e (whotab_idx).cant_bump_until = ute.cant_bump_until; 458 end; 459 return; 460 end Update_Whotab; 461 /* format: off */ 462 /* 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 */ 462 463 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 2 2 2 3 /* format: style4 */ 2 4 2 5 /* This file must be kept in sync with as_data_.alm */ 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 2 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 2 10* Remove references to the 963 and 029 preaccess commands and remove support 2 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 2 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 2 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 2 14* Add references to as_data_ entrypoints added for Login Server. 2 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 2 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 2 17* Added new user signal field of inacrcvd (14) to handle inactivity response 2 18* from user. 2 19* END HISTORY COMMENTS */ 2 20 2 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 2 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 2 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 2 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 2 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 2 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 2 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 2 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 2 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 2 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 2 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 2 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 2 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 2 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 2 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 2 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 2 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 2 38 dcl as_data_$g115_dim char (32) ext static; 2 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 2 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 2 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 2 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 2 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 2 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 2 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 2 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 2 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 2 48 dcl as_data_$request_priority fixed bin ext static; 2 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 2 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 2 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 2 52 dcl as_data_$satp ptr ext static; /* SAT */ 2 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 2 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 2 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 2 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 2 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 2 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 2 59 dcl as_data_$version char (8) ext static; /* AS version */ 2 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 2 61 2 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 2 63 2 n_login_args fixed bin, 2 64 2 pad fixed bin, 2 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 2 66 2 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 2 68 2 n_signals fixed bin, 2 69 2 pad fixed bin, 2 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 2 71 2 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 2 73 2 n_system_signals fixed bin, 2 74 2 pad fixed bin, 2 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 2 76 2 77 dcl as_data_$login_words fixed bin ext static aligned, 2 78 /* interactive login words */ 2 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 2 80 2 n_words fixed bin, 2 81 2 pad fixed bin, 2 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 2 83 2 84 dcl as_data_$debug_flag bit (1) aligned external static; 2 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 2 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 2 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 2 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 2 89 2 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 463 464 /* BEGIN include file access_audit_bin_header.incl.pl1 */ 3 2 3 3 /* format: style4 */ 3 4 3 5 /* NOTE: All changes must also be done to access_audit_bin_header.incl.alm */ 3 6 3 7 /* 85-01-18 E. Swenson - renamed to access_audit_bin_header.incl.pl1 */ 3 8 /* 85-01-17 E. Swenson - restructured, added session_uid, changed 3 9* min and max authorization to authorization range. */ 3 10 /* 85-01-07 EJ Sharpe - added min_authorization, cleanup */ 3 11 /* 84-11-15 EJ Sharpe - added event_flags word */ 3 12 /* 84-11-06 EJ Sharpe - added unaligned attr to version and proxy_flag */ 3 13 /* 84-10-24 EJ Sharpe - added the constants */ 3 14 /* 84-09-04 BIM - created */ 3 15 3 16 declare audit_record_ptr pointer; 3 17 3 18 dcl 1 audit_record_header aligned based (audit_record_ptr), 3 19 2 header aligned like arh_header_, 3 20 2 subject aligned like arh_user_info_; 3 21 3 22 dcl 1 audit_record_header_proxy aligned based (audit_record_ptr), 3 23 2 header aligned like arh_header_, 3 24 2 subjects (2) aligned like arh_user_info_; 3 25 3 26 dcl 1 arh_header_ aligned based, 3 27 2 type fixed bin (9) unsigned unaligned, 3 28 2 version fixed bin (9) unsigned unaligned, 3 29 2 flags unaligned, 3 30 3 ( 3 31 subject_is_process, /* binary data in subject is valid */ 3 32 object_is_valid /* There is an object */ 3 33 ) bit (1) unaligned, 3 34 3 pad bit (16) unaligned, 3 35 2 operation_code bit (36) aligned, /* like access_audit_encoded_op */ 3 36 2 event_flags bit (36) aligned, /* like access_audit_eventflags */ 3 37 2 session_uid fixed bin (35); /* uid for the login session */ 3 38 3 39 dcl 1 arh_user_info_ aligned based, 3 40 2 person char (22) unaligned, /* see anonymous bit */ 3 41 2 project char (9) unaligned, /* blank for nologin w/out proj */ 3 42 2 tag char (1) unaligned, 3 43 2 ring fixed bin (3) uns unaligned, 3 44 2 anonymous bit (1) unaligned, 3 45 2 pad3 bit (32) unaligned, 3 46 2 process_id bit (36) aligned, 3 47 2 authorization bit (72) aligned, 3 48 2 authorization_range (2) bit (72) aligned; 3 49 3 50 dcl ARH_TYPE_PROXY fixed bin init (2) 3 51 static options (constant); 3 52 dcl ARH_TYPE_NO_PROXY fixed bin init (1) 3 53 static options (constant); 3 54 dcl ACCESS_AUDIT_HEADER_VERSION_3 fixed bin (9) unsigned 3 55 init (3) static options (constant); 3 56 3 57 /* End include file access_audit_bin_header.incl.pl1 */ 464 /* needed by PL/I */ 465 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 4 5* Initial coding. 4 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 4 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 4 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 4 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 4 10* B) Add channel audit actions for dialin, dialout and dial system. 4 11* C) Correct declaration of as_channel_audit_record_.pad2. 4 12* D) Revise channel_audit_info. 4 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 4 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 4 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 4 16* END HISTORY COMMENTS */ 4 17 4 18 /* format: style2 */ 4 19 4 20 /* This include file describes the binary data associated with 4 21* Answering Service audit records. */ 4 22 4 23 /**** This first structure defines the Identification and Authentication 4 24* (I&A) audit records associated with login attempts for interactive 4 25* and daemon logins */ 4 26 4 27 dcl 1 as_ia_audit_record_int_dmn 4 28 structure aligned based, 4 29 2 header like audit_record_header aligned, 4 30 2 record like as_ia_audit_record_; 4 31 4 32 /**** This one is for absentee logins which are not proxy absentees */ 4 33 4 34 dcl 1 as_ia_audit_record_abs 4 35 structure aligned based, 4 36 2 header like audit_record_header aligned, 4 37 2 record like as_ia_audit_record_, 4 38 2 absentee_input_path 4 39 char (168); 4 40 4 41 dcl 1 as_ia_audit_record_abs_proxy 4 42 structure aligned based, 4 43 2 header like audit_record_header aligned, 4 44 2 record like as_ia_audit_record_, 4 45 2 absentee_input_path 4 46 char (168), 4 47 2 proxy_user char (32); 4 48 4 49 /**** The following structure is common to all the I&A records. It 4 50* contains the relevant information about the I&A process. */ 4 51 4 52 dcl 1 as_ia_audit_record_ structure aligned based, 4 53 2 type fixed bin (9) unsigned unaligned, 4 54 2 version fixed bin (9) unsigned unaligned, 4 55 2 process_type fixed bin (3) unsigned unaligned, 4 56 2 min_ring fixed bin (3) unsigned unaligned, 4 57 2 max_ring fixed bin (3) unsigned unaligned, 4 58 2 pad1 bit (9) unaligned, 4 59 2 attributes like user_attributes, 4 60 2 audit_flags bit (36) aligned, 4 61 2 channel char (32) aligned, 4 62 2 terminal_type char (32) aligned, 4 63 2 answerback char (4) aligned; 4 64 4 65 /**** The following structure represents the binary information 4 66* associated with a communications channel access audit message. */ 4 67 4 68 dcl 1 as_channel_audit_record 4 69 structure aligned based, 4 70 2 header like audit_record_header aligned, 4 71 2 record like as_channel_audit_record_; 4 72 4 73 4 74 dcl 1 as_channel_audit_record_ 4 75 structure aligned based, 4 76 2 type fixed bin (9) unsigned unaligned, 4 77 2 version fixed bin (9) unsigned unaligned, 4 78 2 flags unaligned, 4 79 3 channel_info_valid 4 80 bit (1) unaligned, 4 81 3 current_access_class_valid 4 82 bit (1) unaligned, 4 83 3 pad1 bit (16) unaligned, 4 84 2 channel_name char (32), 4 85 2 current_access_class 4 86 (2) bit (72) aligned, 4 87 2 access_class_range (2) bit (72) aligned, 4 88 2 current_service_type 4 89 fixed bin (17) unaligned, 4 90 2 service_type fixed bin (17) unaligned, 4 91 2 terminal_type char (32), 4 92 2 authenticated_user aligned, 4 93 3 personid char (22) unaligned, 4 94 3 projectid char (9) unaligned, 4 95 3 pad2 bit (9) unaligned; 4 96 4 97 /**** The following structure represents the binary information 4 98* associated with a dial service audit record */ 4 99 4 100 dcl 1 as_dial_service_audit_record 4 101 structure aligned based, 4 102 2 header like audit_record_header aligned, 4 103 2 record like as_dial_service_audit_record_; 4 104 4 105 dcl 1 as_dial_service_audit_record_ 4 106 structure aligned based, 4 107 2 type fixed bin (9) unsigned unaligned, 4 108 2 version fixed bin (9) unsigned unaligned, 4 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 4 110 2 flags unaligned, 4 111 3 registered_server 4 112 bit (1) unaligned, 4 113 3 privileged_server 4 114 bit (1) unaligned, 4 115 3 pad1 bit (13) unaligned, 4 116 2 dial_qualifier char (32); 4 117 4 118 /**** The following structure is used by dial_ctl_ to pass the required 4 119* information to as_access_audit_. This structure is necessary since 4 120* the data is not available in the user_table_entry or cdte. */ 4 121 4 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 4 123 4 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 4 125 2 server_ring fixed bin (3) unaligned, 4 126 2 flags unaligned, 4 127 3 registered bit (1) unaligned, 4 128 3 privileged bit (1) unaligned, 4 129 3 pad1 bit (31) unaligned, 4 130 2 dial_qualifier char (32); 4 131 4 132 /**** The following structure is used by dial_ctl_ to pass relevant information 4 133* to as_access_audit_. The channel name is passed here when we do not 4 134* have a cdtep, for instance. */ 4 135 4 136 dcl channel_audit_info_ptr ptr; 4 137 4 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 4 139 2 channel_name char (32), 4 140 2 valid, 4 141 (3 service_info, 4 142 3 access_class, 4 143 3 access_class_range, 4 144 3 user_validation_level) 4 145 bit(1) unal, 4 146 3 mbz bit(32) unal, 4 147 2 service_info char (32), 4 148 2 access_class bit(72) aligned, 4 149 2 access_class_range (2) bit(72) aligned, 4 150 2 user_validation_level 4 151 fixed bin (3); 4 152 4 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 4 154 fixed bin (9) initial (1) internal static options (constant); 4 155 4 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 4 157 fixed bin (9) initial (1) internal static options (constant); 4 158 4 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 4 160 fixed bin (9) initial (1) internal static options (constant); 4 161 4 162 dcl ( 4 163 AS_AUDIT_PROCESS_CREATE 4 164 initial (1), 4 165 AS_AUDIT_PROCESS_DESTROY 4 166 initial (2), 4 167 AS_AUDIT_PROCESS_CONNECT 4 168 initial (3), 4 169 AS_AUDIT_PROCESS_DISCONNECT 4 170 initial (4), 4 171 AS_AUDIT_PROCESS_TERMINATE 4 172 initial (5) 4 173 ) fixed bin (17) internal static options (constant); 4 174 4 175 dcl ( 4 176 AS_AUDIT_CHANNEL_ATTACH 4 177 initial (1), 4 178 AS_AUDIT_CHANNEL_DETACH 4 179 initial (2), 4 180 AS_AUDIT_CHANNEL_DIALIN 4 181 initial (3), 4 182 AS_AUDIT_CHANNEL_DIALOUT 4 183 initial (4), 4 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 4 185 initial (5) 4 186 ) fixed bin (17) internal static options (constant); 4 187 4 188 dcl ( 4 189 AS_AUDIT_DIALID_START initial (1), 4 190 AS_AUDIT_DIALID_STOP initial (2) 4 191 ) fixed bin (17) internal static options (constant); 4 192 4 193 dcl AS_AUDIT_CHANNEL_ACTIONS 4 194 (5) char (12) internal static options (constant) 4 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 4 196 dcl AS_AUDIT_CHANNEL_DIRECTION 4 197 (5) char (4) internal static options (constant) 4 198 initial ("to", "from", "to", "from", "to"); 4 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 4 200 (5) char (12) internal static options (constant) 4 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 4 202 dcl AS_AUDIT_PROCESS_ACTIONS 4 203 (5) char (10) internal static options (constant) 4 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 4 205 4 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 465 466 /* BEGIN INCLUDE FILE ... create_info.incl.pl1 */ 5 2 5 3 /* Last Modified on 10/04/72 by Richard G. Bratt to implement "no permanent storage" users 5 4* and to reserve space for lot-in-stack and cls-in-stack modifications */ 5 5 /* Modified 740723 by PG to add AIM & audit info */ 5 6 /* Modified May 1975 by R. Mullen to add work_class and change version from 3 to 4 */ 5 7 /* Modified 24 Oct 75 by T. Casey to add subsystem and change version from 4 to 5 */ 5 8 /* Modified 27 Dec 84 by Keith Loepere to add dir_quota and change version to 6. */ 5 9 5 10 dcl version_of_create_info fixed bin int static init (6); /* Current version number of this structure. */ 5 11 5 12 /* Version history: VERSION CHANGE 5 13* * 1 5 14* * 2 5 15* * 3 added AIM and audit info - PG - July 75 5 16* * 4 added work_class - TAC - Aug 75 5 17* * 5 added subsystem - TAC - Oct 75 5 18* * 6 added dir_quota - KPL - Dec 84 5 19* * 5 20**/ 5 21 5 22 5 23 dcl 1 create_info aligned based, /* structure which is used to transfer */ 5 24 /* information to act_proc */ 5 25 2 processid, /* id of process to be created */ 5 26 3 rel_apte bit (18) unaligned, /* returned from act_proc */ 5 27 3 unique_index bit (18) unaligned, /* unique number supplied by answering service */ 5 28 2 version fixed bin, /* identification of this structure */ 5 29 2 term_channel fixed bin (71), /* channel for signalling process termination */ 5 30 2 term_processid bit (36) aligned, /* process id of answering service */ 5 31 2 words_of_pit fixed bin, /* length in words of PIT */ 5 32 2 record_quota fixed bin, /* disk quota */ 5 33 2 ppml fixed bin, /* drum quota */ 5 34 2 initial_ring fixed bin (3), /* initial ring of created process */ 5 35 2 highest_ring fixed bin (3), /* highest ring a process can transfer out to */ 5 36 2 timax fixed bin, /* scheduling parameter for the process */ 5 37 2 account_ptr ptr, 5 38 2 pit_ptr ptr, /* pointer to pit template */ 5 39 2 process_group_id char (32) aligned, 5 40 2 user_processid char (32) aligned, 5 41 2 account_id char (32) aligned, /* name of account */ 5 42 2 homedir bit (18), /* offset of homedir name in pit */ 5 43 2 lot_size fixed bin, /* size of lot */ 5 44 2 cls_size fixed bin, /* size of initial combined linkage section */ 5 45 2 kst_size fixed bin, /* number of entries in each kst array */ 5 46 2 dont_call_init_admin bit (1) aligned, /* the process overseer of this process should be 5 47* called directly from ring 0 */ 5 48 2 lot_in_stack bit (1) aligned, /* one if lot should go in stack */ 5 49 2 cls_in_stack bit (1) aligned, /* one if initial cls should go in stack */ 5 50 2 audit bit (36), /* audit flags for user */ 5 51 2 process_authorization bit (72), /* access_authorization of this process */ 5 52 2 max_process_authorization bit (72), /* maximum access authorization of this user. */ 5 53 2 work_class fixed bin, /* (0 to 16) specifies scheduler group */ 5 54 2 subsystem char (64), /* directory in which to find prelinked process */ 5 55 2 dir_quota fixed bin; /* dir quota for pdir */ 5 56 5 57 /* END INCLUDE FILE ... create_info.incl.pl1 */ 466 467 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 6 2 6 3 /* format: style4 */ 6 4 6 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 6 6 6 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 6 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 6 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 6 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 6 11* WAIT_DISCARD_WAKEUP 6 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 6 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 6 14**/ 6 15 6 16 /****^ HISTORY COMMENTS: 6 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 6 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 6 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 6 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 22* Add named constants for instance tags. 6 23* END HISTORY COMMENTS */ 6 24 6 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 6 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 6 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 6 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 6 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 6 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 6 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 6 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 6 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 6 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 6 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 6 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 6 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 6 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 6 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 6 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 6 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 6 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 6 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 6 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 6 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 6 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 6 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 6 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 6 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 6 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 6 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 6 52 ) fixed bin internal static options (constant); 6 53 6 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 6 55 /* names of ute.destroy_flag values */ 6 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 6 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 6 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 6 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 6 60 "wait remove"); /* -13 */ 6 61 6 62 /* Values for "cdte.state", typewriter state. */ 6 63 6 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 6 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 6 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 6 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 6 68 ) fixed bin internal static options (constant); 6 69 6 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 6 71 /* names of cdte.state values */ 6 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 6 73 6 74 /* Values for "cdte.in_use" and "ate.active" */ 6 75 6 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 6 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 6 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 6 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 6 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 6 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 6 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 6 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 6 84 ) fixed bin internal static options (constant); 6 85 6 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 6 87 /* names of ute.active values */ 6 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 6 89 6 90 6 91 /**** Values for ute.tag */ 6 92 6 93 dcl (TAG_INTERACTIVE init("a"), 6 94 TAG_UFT init("f"), 6 95 TAG_ABSENTEE init("m"), 6 96 TAG_PROXY init("p"), 6 97 TAG_DAEMON init("z") 6 98 ) char(1) int static options(constant); 6 99 6 100 6 101 /**** Following are constants used to indicate to the process termination 6 102* handler the reason for the process termination. They are used by 6 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 6 104* uc_ls_destroy_request_. */ 6 105 6 106 dcl ( 6 107 PT_FPE initial (1), 6 108 PT_LOGOUT initial (4), 6 109 PT_NEW_PROC_AUTH initial (13), 6 110 PT_HANGUP initial (20), 6 111 PT_SHUTDOWN initial (21), 6 112 PT_BUMP initial (22), 6 113 PT_ALARM initial (23), 6 114 PT_DETACH initial (24), 6 115 PT_UNBUMP initial (25), 6 116 PT_OPERATOR_TERMINATE initial (27), 6 117 PT_DESTROY_REQUEST initial (30), 6 118 PT_NEW_PROC_REQUEST initial (31) 6 119 ) fixed bin (17) internal static options (constant); 6 120 6 121 /**** Values for ute.preempted: 6 122* -1 user unbumped after term signal sent 6 123* 0 user unbumped; ignore alarm___ 6 124* 1 value internally used in load_ctl_ 6 125* 2 user bumped; when alarm___ comes in, send term signal 6 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 6 127* signals come in 6 128* 4 user bumped; process sick, so destroy without sending term signal 6 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 6 130* termsgnl). */ 6 131 6 132 dcl ( 6 133 PREEMPT_UNBUMP initial (-1), 6 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 6 135 PREEMPT_LOAD_CTL initial (1), 6 136 PREEMPT_BUMPED initial (2), 6 137 PREEMPT_TERM_SENT initial (3), 6 138 PREEMPT_BUMPED_NO_TERM initial (4), 6 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 6 140 ) fixed bin (17) internal static options(constant); 6 141 6 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 6 143 "unbumped", 6 144 "not bumped, ignore alarm___", 6 145 "load_ctl_", 6 146 "bumped", 6 147 "bumped, trm_ sent", 6 148 "bumped without trm_", 6 149 "bumped, termsgnl received"); 6 150 6 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 467 468 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 7 2 7 3 /* Modified 740723 by PG to add short AIM access names */ 7 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 7 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 7 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 7 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 7 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 7 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 7 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 7 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 7 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 7 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 7 14* strict_trusted_path. */ 7 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 7 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 7 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 7 18 7 19 7 20 /****^ HISTORY COMMENTS: 7 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 7 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 7 23* added vchn_requires_accept parameter. 7 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 7 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 7 26* Correct formatting problems. 7 27* END HISTORY COMMENTS */ 7 28 7 29 7 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 7 31 7 32 7 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 7 34 2 part_1 like installation_parms_part_1 aligned, 7 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 7 36 7 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 7 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 7 39 7 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 7 41 2 installation_id char (32), /* Name printed at dialup and in who */ 7 42 2 company char (64), /* company name */ 7 43 2 department char (64), /* department */ 7 44 2 companyds char (120), /* company, double spaced */ 7 45 2 departmentds char (120), /* dpeartment double spaced */ 7 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 7 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 7 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 7 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 7 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 7 51 2 ndevices fixed bin, /* number of devices to charge */ 7 52 2 devtab (16), /* Maximum 16 */ 7 53 3 device_id char (8), /* Name of device */ 7 54 3 device_price (0: 7) float bin, /* Price by shift */ 7 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 7 56 2 warning_time fixed bin, /* seconds from warning to logout */ 7 57 2 login_time fixed bin, /* seconds in which to complete login */ 7 58 2 acct_update fixed bin, /* seconds between acct update */ 7 59 2 login_tries fixed bin, /* number of login tries allowed */ 7 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 7 61 2 registration_price float bin, /* fee per month per user */ 7 62 2 dolsign char (1), /* "dollar sign" */ 7 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 7 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 7 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 7 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 7 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 7 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 7 69* Initializer will copy the syserr_log */ 7 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 7 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 7 72 2 fatal_error_loop_count fixed bin (17) unaligned, 7 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 7 74 2 term_real_time_seconds fixed bin (17) unaligned, 7 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 7 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 7 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 7 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 7 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 7 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 7 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 7 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 7 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 7 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 7 85 2 level_names (0:7) char (32), /* Names for security levels. */ 7 86 2 category_names (18) char (32), /* Names for security categories. */ 7 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 7 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 7 89 2 ncon fixed bin, /* Number of config elements. */ 7 90 2 cona (51), /* each entry is 5 words long */ 7 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 7 92 3 shift fixed bin (5) unal, /* Shift number */ 7 93 3 x1 fixed bin (23) unal, 7 94 3 kmem fixed bin (17) unal, /* Memory size */ 7 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 7 96 3 x2 fixed bin (17) unal, 7 97 3 maxa fixed bin (11) unal, /* Max abs users */ 7 98 3 maxq fixed bin (5) unal, /* Max abs q */ 7 99 3 maxu_base fixed bin (17) unal, 7 100 3 response_high fixed bin (17) unal, 7 101 3 response_low fixed bin (17) unal, 7 102 3 x3 fixed bin (17) unal, 7 103 7 104 /* Absentee control parameters. New for MR7.0 */ 7 105 7 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 7 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 7 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 7 109 7 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 7 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 7 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 7 113 7 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 7 115 7 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 7 117 7 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 7 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 7 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 7 121 2 version fixed bin (35), /* must be 2 */ 7 122 2 nrates fixed bin, /* number of rate structures */ 7 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 7 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 7 125 2 require_operator_login bit (1) aligned, /* just what it says */ 7 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 7 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 7 128* mcacs segments for operators */ 7 129 2 password_min_length fixed bin, /* minimum length of passwords */ 7 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 7 131 2 password_change_interval fixed bin, /* number of days until must change */ 7 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 7 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 7 134* "accepted" by operator if personid is not 7 135* signed on system console */ 7 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 7 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 7 138* or someone miscounted when using part of pad2 */ 7 139 7 140 7 141 /* Entries in the following array may be accessed via system_info_$resource_price. 7 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 7 143 7 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 7 145 2 name char (32), 7 146 2 price float bin; 7 147 8 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 8 2 8 3 /* Created on 04/24/78 by Michael R. Jordan */ 8 4 /* Modified 04/10/79 by C. D. Tavares */ 8 5 8 6 dcl rifp ptr; 8 7 8 8 dcl 1 rcp_init_flags based (rifp), 8 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 8 10 2 pad1 bit (2) unaligned, /* obsolete */ 8 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 8 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 8 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 8 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 8 15 8 16 dcl (No_authentication initial (0), 8 17 Nominal_authentication initial (1), 8 18 Automatic_authentication initial (2), 8 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 8 20 8 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 8 22 ("none", "nominal", "automatic", "manual"); 8 23 8 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 7 148 7 149 7 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 468 469 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 9 2 /* Requires user_attributes.incl.pl1 */ 9 3 9 4 /* Modified 740723 by PG to add AIM info */ 9 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 9 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 9 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 9 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 9 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 9 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 9 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 9 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 9 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 9 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 9 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 9 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 9 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 9 18 9 19 dcl (PDT_version init (4), /* version of this declaration */ 9 20 PDT_header_lth init (256), /* length in words of PDT head */ 9 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 9 22 9 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 9 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 9 25 ) fixed bin internal static options (constant); 9 26 9 27 dcl 1 pdt based (pdtp) aligned, 9 28 10 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 10 2 10 3 /* the "author" items must always be the first ones in the table. The 10 4* module which moves the converted table to the System Control process 10 5* fills in these data items and assumes them to be at the head of the segment 10 6* regardless of the specific table's actual declaration. The variables 10 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 10 8* respectively. For tables installed in multiple processes, these 10 9* are to be used to lock out multiple installations. */ 10 10 10 11 /* Lock should be used as a modification lock. Since, in general, 10 12* entries may not be moved in system tables, even by installations, 10 13* it is sufficient for only installers and programs that change threads 10 14* to set or respect the lock. Simply updating data in an entry 10 15* requires no such protection. 10 16* 10 17* Last_install_time is used by readers of system tables to detect 10 18* installations or other serious modifications. By checking it before 10 19* and after copying a block of data, they can be protected against 10 20* modifications. 10 21* 10 22* Modules that set the lock should save proc_group_id, and then 10 23* put their group id there for the time they hold the lock. 10 24* if they do not actually install the, they should restore the group id. 10 25**/ 10 26 10 27 2 author aligned, /* validation data about table's author */ 10 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 10 29 3 lock bit (36), /* installation lock */ 10 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 10 31 3 update_authorization bit (1) unal, /* update only authorizations */ 10 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 10 33 3 pad bit (33) unaligned, 10 34 3 last_install_time fixed bin (71), 10 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 10 36 3 w_dir char (64), /* author's working directory */ 10 37 10 38 /* END INCLUDE FILE author.incl.pl1 */ 9 29 9 30 2 max_size fixed bin, /* max number of entries table can grow */ 9 31 2 current_size fixed bin, /* current size of table (in entries) */ 9 32 2 version fixed bin, /* table version */ 9 33 2 freep fixed bin, /* relptr to begin of free chain */ 9 34 2 n_users fixed bin, /* number of entries actually used */ 9 35 2 project_name char (28), /* name of project */ 9 36 2 project_dir char (64), /* treename of project's directory */ 9 37 2 projfile_version fixed bin, 9 38 2 projentry bit (66*36), 9 39 2 pad3 (5) bit (36) aligned, 9 40 2 reqfile_version fixed bin, 9 41 2 reqentry bit (40*36), 9 42 2 pad4 (9) fixed bin, 9 43 2 sat_version fixed bin, 9 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 9 45 2 pad5 (4) bit (36) aligned, 9 46 2 date_reqfile_copied fixed bin (71), 9 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 9 48 2 pad2l bit (27) unaligned, 9 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 9 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 9 51 2 user (1019) aligned, /* the project definition table entries */ 9 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 9 53 9 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 9 55 9 56 9 57 9 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 9 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 9 60 2 lock bit (36), /* update lock */ 9 61 2 person_id char (24) aligned, /* login name of user */ 9 62 2 now_in fixed bin, /* count of users logged in on this entry */ 9 63 2 password char (8) aligned, /* password for anonymous user */ 9 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 9 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 9 66 2 home_dir char (64) aligned, /* user's default working directory */ 9 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 9 68 2 high_ring fixed bin, /* highest ring user may use */ 9 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 9 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 9 71 2 outer_module char (32), /* outer module used if user is interactive */ 9 72 2 lot_size fixed bin, /* size of linkage offset table */ 9 73 2 kst_size fixed bin, /* size of known segment table */ 9 74 2 cls_size fixed bin, /* size of combined linkage */ 9 75 2 uflags, /* various flags */ 9 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 9 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 9 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 9 79 3 flagpad bit (33) unal, 9 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 9 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 9 82 2 dollar_limit float bin, 9 83 2 dollar_charge float bin, /* total dollars spent this month */ 9 84 2 shift_limit (0: 7) float bin, 9 85 2 daton fixed bin (71), /* date user added to system */ 9 86 2 datof fixed bin (71), /* date user deleted */ 9 87 2 last_login_time fixed bin (71), /* time of last login */ 9 88 2 last_login_unit char (4), /* terminal id last used */ 9 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 9 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 9 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 9 92 2 last_update fixed bin (71), /* time of last transaction */ 9 93 2 logins fixed bin, /* number of logins */ 9 94 2 crashes fixed bin, /* sessions abnormally terminated */ 9 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 9 96 3 charge float bin, /* total dollar charge this shift */ 9 97 3 xxx fixed bin, 9 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 9 99 3 core fixed bin (71), /* core demand in page-microseconds */ 9 100 3 connect fixed bin (71), /* total console time in microseconds */ 9 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 9 102 2 absentee (4), /* absentee use, queues 1-4 */ 9 103 3 charge float bin, /* dollar charge this queue */ 9 104 3 jobs fixed bin, /* number of jobs submitted */ 9 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 9 106 3 memory fixed bin (71), /* total memory demand */ 9 107 2 iod (4), /* io daemon use, queues 1-4 */ 9 108 3 charge float bin, /* dollar charge this queue */ 9 109 3 pieces fixed bin, /* pieces of output requested */ 9 110 3 pad fixed bin (35), 9 111 3 pages fixed bin (35), /* number of pages output */ 9 112 3 lines fixed bin (71), /* total record count of output */ 9 113 2 devices (16) float bin, /* device charges */ 9 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 9 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 9 116 2 absolute_spent float bin, /* Spending against this */ 9 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 9 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 9 119 2 pad_was_authorization bit (72) aligned, 9 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 9 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 9 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 9 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 9 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 9 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 9 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 9 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 9 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 9 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 9 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 9 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 9 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 9 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 9 134 2 user_authorization (2) bit (72) aligned, /* range */ 9 135 2 pdtupad (5) fixed bin, 9 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 9 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 9 138 2 chain fixed bin; /* free chain */ 9 139 9 140 /* END INCLUDE FILE ... pdt.incl.pl1 */ 469 470 471 dcl pdtp ptr automatic init (null); /* pdt needs it */ 472 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 11 2 11 3 /****^ ******************************************** 11 4* * * 11 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 11 6* * * 11 7* ******************************************** */ 11 8 11 9 /* Requires user_attributes.incl.pl1 */ 11 10 /* Declaration of the Process Inititalization Table (PIT) */ 11 11 11 12 /****^ HISTORY COMMENTS: 11 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 11 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 11 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 11 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 11 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 11 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 11 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 11 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 11 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 11 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 11 23* copies the pds, but this is the only home of the min. 11 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 11 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 11 26* Add the truncate_absout and restarted bits for the 11 27* -truncate .absout SCP 6297, version 3. 11 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 11 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 30* Changed structure under pit.abs_attributes to use like structure in 11 31* abs_attributes.incl.pl1. This allows the same attributes to be used 11 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 11 33* this include file. 11 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 11 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 11 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 11 37* name of pit.incl.pl1. 11 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 11 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 11 40* Removed the ringpad element and added the min_ring & max_ring elements so 11 41* users may access their lowest and/or highest possible login ring value. 11 42* SCP6367. 11 43* END HISTORY COMMENTS */ 11 44 11 45 11 46 /* format: style4 */ 11 47 declare pit_$ bit (36) aligned external static; 11 48 declare pit_ptr pointer; 11 49 11 50 dcl 1 pit aligned based (pit_ptr), 11 51 2 version fixed bin, /* indicates which version of the pit */ 11 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 11 53 2 login_responder char (64) unal, /* path name of login responder */ 11 54 11 55 /* All of these are going to be word aligned whether or not they are declared aligned, 11 56* and unaligning them cleans up code in many places */ 11 57 11 58 2 homedir char (64) unal, /* path name of home directory */ 11 59 2 project char (28) unal, /* name of this process' project affiliation */ 11 60 2 account char (32) unal, /* name of account to which this process is charged */ 11 61 2 n_processes fixed bin, /* number of previous processes for this session */ 11 62 2 login_time fixed bin (71), /* clock time at login */ 11 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 11 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 11 65 2 user_weight fixed bin, /* weight of this process */ 11 66 2 anonymous fixed bin, /* 1 if anonymous user */ 11 67 2 login_name char (28) unal, /* name of user given at login */ 11 68 2 logout_pid bit (36), /* process id of answering service */ 11 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 11 70 2 group char (8) unal, /* party group */ 11 71 2 min_ring fixed bin, /* min ring */ 11 72 2 max_ring fixed bin, /* max ring */ 11 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 11 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 11 75 2 outer_module char (32) unaligned, 11 76 2 pad (2) fixed bin, 11 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 11 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 11 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 11 80 2 dollar_limit float bin, /* Limit stop on usage */ 11 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 11 82 2 logins fixed bin, /* Number of logins this month */ 11 83 2 crashes fixed bin, /* Number of sessions crashed */ 11 84 2 interactive (0:7), /* interactive usage by shift */ 11 85 3 charge float bin, /* Total charge */ 11 86 3 xxx fixed bin, 11 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 11 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 11 89 3 connect fixed bin (71), /* Connect time in microseconds */ 11 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 11 91 2 absentee (4), /* Absentee usage by queue */ 11 92 3 charge float bin, /* Total absentee charge */ 11 93 3 jobs fixed bin, /* Number of jobs */ 11 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 11 95 3 memory fixed bin (71), /* Memory usage in mu */ 11 96 2 iod (4), /* IO Daemon usage, by queue */ 11 97 3 charge float bin, /* Total charge */ 11 98 3 pieces fixed bin, /* Number of requests */ 11 99 3 pad fixed bin (35), 11 100 3 pages fixed bin (35), /* number of pages output */ 11 101 3 lines fixed bin (71), /* Record count */ 11 102 2 devices (16) float bin, /* Usage of attached devices */ 11 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 11 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 11 105 2 absolute_spent float bin, /* Spending against this */ 11 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 11 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 11 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 11 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 11 110 2 request_id fixed bin (71), /* absentee request id */ 11 111 2 authorization_range (2) bit (72) aligned, 11 112 2 pad1 (73) fixed bin, /* extra space */ 11 113 2 charge_type fixed bin, /* device charge type of console */ 11 114 2 term_type_name char (32) unal, /* terminal type name */ 11 115 2 line_type fixed bin, /* line type of user's console */ 11 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 11 117 2 service_type fixed bin, /* type of service console is performing */ 11 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 11 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 11 120 2 standby fixed bin, /* 1 if standby user */ 11 121 2 login_line char (120) unal, /* line typed at login */ 11 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 11 123 2 input_seg char (168) unal, /* path name of absentee input file */ 11 124 2 output_seg char (168) unal, /* path name of absentee output file */ 11 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 11 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 11 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 11 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 11 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 11 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 11 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 11 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 11 133 11 134 11 135 /* Structure to contain information on absentee arguments */ 11 136 dcl 1 arg_info aligned based, 11 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 11 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 11 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 11 140 2 args char (128 refer (arg_info.ln_args)) unal; 11 141 /* Args used for replacement in absentee control segment. */ 11 142 11 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 11 144 11 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 472 473 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 12 2 12 3 12 4 /****^ HISTORY COMMENTS: 12 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 12 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 12 7* Added sl_info structure and associated named constants for use in calling 12 8* sys_log_$general. 12 9* END HISTORY COMMENTS */ 12 10 12 11 12 12 /* format: style4 */ 12 13 12 14 dcl ( 12 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 12 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 12 17 SL_TYPE init (-1), /* type message */ 12 18 SL_LOG_SILENT init (0), /* log message */ 12 19 SL_LOG init (1), /* log & type message */ 12 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 12 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 12 22 ) fixed bin internal static options (constant); 12 23 12 24 dcl 1 sl_info aligned automatic, 12 25 2 version char(8), /* structure version */ 12 26 2 arg_list_ptr ptr, /* arg_list with values */ 12 27 2 loc, 12 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 12 29 /* These flags control where the corresponding data item is found.*/ 12 30 /* -1: data appears in the corresponding structure element below */ 12 31 /* 0: data is not present anywhere */ 12 32 /* +N: data is Nth item in argument list pointed to by */ 12 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 12 34 /* corresponding structure element. */ 12 35 /* if data = +N: */ 12 36 /* argN is data_ptr, argN+1 is data_len */ 12 37 /* if ioa_msg = +N: */ 12 38 /* argN+1, ... argLAST are arguments substituted into the */ 12 39 /* ioa_msg control string. The formatted msg is returned. */ 12 40 2 flags, 12 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 12 42 3 flags_pad bit(35) unal, 12 43 2 mode fixed bin, /* as-mode, command-mode */ 12 44 2 severity fixed bin, /* error severity */ 12 45 2 code fixed bin(35), /* error table code */ 12 46 2 caller char(65) varying, /* caller refname$entryname*/ 12 47 2 data, /* binary data ptr/length */ 12 48 3 data_ptr ptr, 12 49 3 data_lth fixed bin(21), 12 50 2 class char(10) varying, /* binary data class */ 12 51 2 ioa_msg char(500) varying; /* formatted message text */ 12 52 12 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 54 /* */ 12 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 12 56 /* their data types should be as shown in the structure above, except that */ 12 57 /* character strings should be char(*) nonvarying. */ 12 58 /* */ 12 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 60 12 61 /* value for sl_info.version */ 12 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 12 63 12 64 /* values for sl_info.mode */ 12 65 dcl (SL_INFO_as_mode init(1), 12 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 12 67 12 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 12 69 dcl (SL_INFO_arg_given_in_structure init(-1), 12 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 12 71 12 72 12 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 74 /* */ 12 75 /* The following static structures are commonly used in the Login Server */ 12 76 /* user control software. */ 12 77 /* */ 12 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 79 12 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 12 81 12 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 12 83 2 version char(8) init ("sl_info1"), 12 84 2 arg_list_ptr ptr init (null), 12 85 2 loc, 12 86 3 (mode init (-1), 12 87 severity init ( 1), 12 88 code init ( 2), 12 89 caller init (-1), 12 90 data init ( 0), 12 91 class init ( 0), 12 92 ioa_msg init ( 3)) fixed bin, 12 93 2 flags, 12 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 12 95 3 flags_pad bit(35) unal init ("0"b), 12 96 2 mode fixed bin init ( 1), 12 97 2 severity fixed bin init ( 0), 12 98 2 code fixed bin(35) init ( 0), 12 99 2 caller char(65) varying init (""), 12 100 2 data, 12 101 3 data_ptr ptr init (null), 12 102 3 data_lth fixed bin(21) init ( 0), 12 103 2 class char(10) varying init (""), 12 104 2 ioa_msg char(500) varying init (""); 12 105 12 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 12 107 12 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 12 109 2 version char(8) init ("sl_info1"), 12 110 2 arg_list_ptr ptr init (null), 12 111 2 loc, 12 112 3 (mode init (-1), 12 113 severity init ( 1), 12 114 code init ( 0), 12 115 caller init (-1), 12 116 data init ( 0), 12 117 class init ( 0), 12 118 ioa_msg init ( 2)) fixed bin, 12 119 2 flags, 12 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 12 121 3 flags_pad bit(35) unal init ("0"b), 12 122 2 mode fixed bin init ( 1), 12 123 2 severity fixed bin init ( 0), 12 124 2 code fixed bin(35) init ( 0), 12 125 2 caller char(65) varying init (""), 12 126 2 data, 12 127 3 data_ptr ptr init (null), 12 128 3 data_lth fixed bin(21) init ( 0), 12 129 2 class char(10) varying init (""), 12 130 2 ioa_msg char(500) varying init (""); 12 131 12 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 12 133 12 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 12 135 2 version char(8) init ("sl_info1"), 12 136 2 arg_list_ptr ptr init (null), 12 137 2 loc, 12 138 3 (mode init (-1), 12 139 severity init ( 1), 12 140 code init ( 0), 12 141 caller init (-1), 12 142 data init ( 0), 12 143 class init ( 0), 12 144 ioa_msg init ( 2)) fixed bin, 12 145 2 flags, 12 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 12 147 3 flags_pad bit(35) unal init ("0"b), 12 148 2 mode fixed bin init ( 1), 12 149 2 severity fixed bin init ( 0), 12 150 2 code fixed bin(35) init ( 0), 12 151 2 caller char(65) varying init (""), 12 152 2 data, 12 153 3 data_ptr ptr init (null), 12 154 3 data_lth fixed bin(21) init ( 0), 12 155 2 class char(10) varying init (""), 12 156 2 ioa_msg char(500) varying init (""); 12 157 12 158 12 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 12 160 12 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 12 162 2 version char(8) init ("sl_info1"), 12 163 2 arg_list_ptr ptr init (null), 12 164 2 loc, 12 165 3 (mode init (-1), 12 166 severity init ( 1), 12 167 code init ( 2), 12 168 caller init (-1), 12 169 data init ( 0), 12 170 class init ( 0), 12 171 ioa_msg init ( 4)) fixed bin, 12 172 2 flags, 12 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 12 174 3 flags_pad bit(35) unal init ("0"b), 12 175 2 mode fixed bin init ( 1), 12 176 2 severity fixed bin init ( 0), 12 177 2 code fixed bin(35) init ( 0), 12 178 2 caller char(65) varying init (""), 12 179 2 data, 12 180 3 data_ptr ptr init (null), 12 181 3 data_lth fixed bin(21) init ( 0), 12 182 2 class char(10) varying init (""), 12 183 2 ioa_msg char(500) varying init (""); 12 184 12 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 12 186 12 187 dcl 1 sl_info_code_msg aligned int static options(constant), 12 188 2 version char(8) init ("sl_info1"), 12 189 2 arg_list_ptr ptr init (null), 12 190 2 loc, 12 191 3 (mode init (-1), 12 192 severity init (-1), 12 193 code init ( 1), 12 194 caller init (-1), 12 195 data init ( 0), 12 196 class init ( 0), 12 197 ioa_msg init ( 2)) fixed bin, 12 198 2 flags, 12 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 12 200 3 flags_pad bit(35) unal init ("0"b), 12 201 2 mode fixed bin init ( 1), 12 202 2 severity fixed bin init ( 0), 12 203 2 code fixed bin(35) init ( 0), 12 204 2 caller char(65) varying init (""), 12 205 2 data, 12 206 3 data_ptr ptr init (null), 12 207 3 data_lth fixed bin(21) init ( 0), 12 208 2 class char(10) varying init (""), 12 209 2 ioa_msg char(500) varying init (""); 12 210 12 211 12 212 /* Syntax: call Trace (ioa_ctl, args); */ 12 213 12 214 dcl 1 sl_info_msg aligned int static options(constant), 12 215 2 version char(8) init ("sl_info1"), 12 216 2 arg_list_ptr ptr init (null), 12 217 2 loc, 12 218 3 (mode init (-1), 12 219 severity init (-1), 12 220 code init ( 0), 12 221 caller init (-1), 12 222 data init ( 0), 12 223 class init ( 0), 12 224 ioa_msg init ( 1)) fixed bin, 12 225 2 flags, 12 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 12 227 3 flags_pad bit(35) unal init ("0"b), 12 228 2 mode fixed bin init ( 1), 12 229 2 severity fixed bin init ( 0), 12 230 2 code fixed bin(35) init ( 0), 12 231 2 caller char(65) varying init (""), 12 232 2 data, 12 233 3 data_ptr ptr init (null), 12 234 3 data_lth fixed bin(21) init ( 0), 12 235 2 class char(10) varying init (""), 12 236 2 ioa_msg char(500) varying init (""); 12 237 12 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 473 474 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 13 2 13 3 13 4 /****^ HISTORY COMMENTS: 13 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 13 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 13 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 13 8* attribute switches. 13 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 13 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 13 12* be deleted. 13 13* B) Add constants identifying attributes that can be changed by user at 13 14* login, etc. 13 15* END HISTORY COMMENTS */ 13 16 13 17 13 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 13 19 13 20 /* format: style4 */ 13 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 13 22 (2 administrator bit (1), /* 1 system administrator privileges */ 13 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 13 24 2 nobump bit (1), /* 2 user cannot be bumped */ 13 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 13 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 13 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 13 28* . of same project (distinct from "nobump") */ 13 29 2 nolist bit (1), /* 7 don't list user on "who" */ 13 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 13 31 2 multip bit (1), /* 9 user may have several processes */ 13 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 13 33 2 brief bit (1), /* 11 no login or logout message */ 13 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 13 35 2 vhomedir bit (1), /* 13 user may change homedir */ 13 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 13 37 2 sb_ok bit (1), /* 15 user may be standby */ 13 38 2 pm_ok bit (1), /* 16 user may be primary */ 13 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 13 40 2 daemon bit (1), /* 18 user may login as daemon */ 13 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 13 42 2 no_warning bit (1), /* 20 no warning message */ 13 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 13 44* . in PDT: this user has an individual load control group */ 13 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 13 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 13 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 13 48 2 pad bit (12)) unaligned; 13 49 13 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 13 51 ("none", /* 0 */ 13 52 "administrator", /* 1 */ 13 53 "primary_line", /* 2 */ 13 54 "nobump", /* 3 */ 13 55 "guaranteed_login", /* 4 */ 13 56 "anonymous", /* 5 */ 13 57 "nopreempt", /* 6 */ 13 58 "nolist", /* 7 */ 13 59 "dialok", /* 8 */ 13 60 "multip", /* 9 */ 13 61 "bumping", /* 10 */ 13 62 "brief", /* 11 */ 13 63 "vinitproc", /* 12 */ 13 64 "vhomedir", /* 13 */ 13 65 "nostartup", /* 14 */ 13 66 "no_secondary", /* 15 */ 13 67 "no_prime", /* 16 */ 13 68 "no_eo", /* 17 */ 13 69 "daemon", /* 18 */ 13 70 "", /* 19 vdim OBSOLETE */ 13 71 "no_warning", /* 20 */ 13 72 "igroup", /* 21 */ 13 73 "save_pdir", /* 22 */ 13 74 "disconnect_ok", /* 23 */ 13 75 "save_on_disconnect"); /* 24 */ 13 76 13 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 13 78 ("null", /* 0 */ 13 79 "admin", /* 1 */ 13 80 "", "", /* 2 - 3 */ 13 81 "guar", /* 4 */ 13 82 "anon", /* 5 */ 13 83 "", "", /* 6 - 7 */ 13 84 "dial", /* 8 */ 13 85 "multi_login", /* 9 */ 13 86 "preempting", /* 10 */ 13 87 "", /* 11 */ 13 88 "v_process_overseer", /* 12 */ 13 89 "v_home_dir", /* 13 */ 13 90 "no_start_up", /* 14 */ 13 91 "no_sec", /* 15 */ 13 92 "no_primary", /* 16 */ 13 93 "no_edit_only", /* 17 */ 13 94 "op_login", /* 18 */ 13 95 "", /* 19 */ 13 96 "nowarn", /* 20 */ 13 97 "", "", "", /* 21 - 23 */ 13 98 "save"); /* 24 */ 13 99 13 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 13 101 options(constant) init("000000000010000000010000000000000000"b); 13 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 13 103 13 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 13 105 options(constant) init("000000000010000000010000000000000000"b); 13 106 /* PDT value for (brief, no_warning) is default */ 13 107 13 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 13 109 options(constant) init("000100000110010000010000000000000000"b); 13 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 13 111 14 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 14 2 14 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 4 /* */ 14 5 /* This include file describes the attributes of an absentee job. It is */ 14 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 14 7 /* and PIT.incl.pl1. */ 14 8 /* */ 14 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 10 14 11 /****^ HISTORY COMMENTS: 14 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 14 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 14* Separated abs_attributes from the request structure 14 15* (abs_message_format.incl.pl1) so that the identical structure could be 14 16* used in the ute structure (user_table_entry.incl.pl1). 14 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 14 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 19* Added ABS_ATTRIBUTE_NAMES array. 14 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 14 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 14 22* Added the no_start_up flag. SCP6367 14 23* END HISTORY COMMENTS */ 14 24 14 25 dcl 1 user_abs_attributes aligned based, 14 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 14 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 14 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 14 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 14 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 14 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 14 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 14 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 14 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 14 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 14 36 2 attributes_pad bit (26) unaligned; 14 37 14 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 14 39 "restartable", 14 40 "user_deferred_until_time", 14 41 "proxy", 14 42 "set_bit_cnt", 14 43 "time_in_gmt", 14 44 "user_deferred_indefinitely", 14 45 "secondary_ok", 14 46 "truncate_absout", 14 47 "restarted", 14 48 "no_start_up"); 14 49 14 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 14 51 13 112 13 113 13 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 474 475 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 15 2 15 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 4 /* */ 15 5 /* This include file requires that the user include */ 15 6 /* user_attributes.incl.pl1 as well. It also includes */ 15 7 /* abs_attributes.incl.pl1 itself. */ 15 8 /* */ 15 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 15 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 15 11 /* */ 15 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 13 15 14 /****^ HISTORY COMMENTS: 15 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 15 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 15 17* This comment for hcom. 15 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 15 19* anstbl.incl.pl1, and dutbl.incl.pl1. 15 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 15 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 15 22* 84-07-12 BIM added min_process_authorization 15 23* 84-12-31 Keith Loepere added pdir_dir_quota 15 24* 85-01-16 by E. Swenson to add ute.session_uid 15 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 15 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 15 27* Added fields for DSA login server support. 15 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 15 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 15 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 15 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 15 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 15 33* Added disconnection_rel_minutes. 15 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 15 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 36* Changed structure under ute.abs_attributes to use like structure in 15 37* abs_attributes.incl.pl1. This allows the same attributes to be used 15 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 15 39* file. 15 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 15 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 15 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 15 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 45* A) Global reorganization to locate things by type of data. 15 46* B) Eliminate ute.uflags.logged_in. 15 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 15 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 49* A) Reduced overlength person and project fields to proper length. 15 50* B) Adjusted dialed-console section to begin on even word boundary. 15 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 15 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 53* Add ute.line_type. 15 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 15 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 15 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 15 57* for the storage. SCP6367 15 58* END HISTORY COMMENTS */ 15 59 15 60 /* format: style4 */ 15 61 15 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 63 /* */ 15 64 /* Each of the named sections below defines a type of data. Typing comes */ 15 65 /* from data associated with the ute entry itself, with the person, with */ 15 66 /* login argument data, from the main user of the data (eg, dialup_, */ 15 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 15 68 /* and is an even number of words long. The total structure is 300 decimal */ 15 69 /* words long. */ 15 70 /* */ 15 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 72 15 73 15 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 15 75 15 76 dcl utep pointer automatic init (null); 15 77 15 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 15 79 15 80 /* Variables which give state of this entry */ 15 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 15 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 15 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 15 84 2 next_free fixed bin, /* points to previous free entry */ 15 85 15 86 /* Information user gave about person_id associated with this entry. */ 15 87 2 person char (24) unal, /* user's name */ 15 88 2 project char (12) unal, /* project of absentee user */ 15 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 15 90 2 tag_pad bit (27) unal, 15 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 15 92 2 login_flags, /* flags for login data */ 15 93 3 cpw bit (1) unal, /* flag for wish to change password */ 15 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 15 95 3 special_pw unal, /* dial or slave */ 15 96 4 dial_pw bit (1) unal, /* true if dial -user */ 15 97 4 slave_pw bit (1) unal, /* true if slave -user */ 15 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 15 99 3 cda bit (1) unal, /* flag to change default authorization */ 15 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 15 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 15 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 15 103 3 pw_pad bit (25) unal, /* spare parts */ 15 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 15 105 /* Must remain last in pw_flags so it does not */ 15 106 /* appear in PW_FLAG_VALUES array below. */ 15 107 2 generated_pw char (8) unal, /* user must type this as new password */ 15 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 15 109 2 process_authorization bit (72), /* access_authorization of this process */ 15 110 15 111 /* Information user gave about process associated with this entry. */ 15 112 2 outer_module char (32) unal, /* Name of console dim */ 15 113 2 home_dir char (64) unal, /* initial home directory */ 15 114 2 init_proc char (64) unal, /* name of login responder */ 15 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 15 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 15 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 15 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 15 119 2 initial_ring fixed bin, /* ring process will be started in */ 15 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 15 121 2 ln_args fixed bin, /* length of string containing arguments */ 15 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 15 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 15 124 15 125 /* Most of the following information is relevant only to absentee processes */ 15 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 15 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 15 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 15 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 15 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 15 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 15 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 15 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 15 134* (but see uflags.adjust_abs_q_no). */ 15 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 15 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 15 137 2 abs_flags, 15 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 15 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 15 140 3 abs_flags_pad bit (34) unal, 15 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 15 142 2 sender char (32) unal, /* name of RJE station that job is from */ 15 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 15 144 2 proxy_project char (9) unal, 15 145 2 proxy_project_pad char (3) unal, 15 146 2 abs_pad fixed bin, 15 147 15 148 /* Information about process actually created */ 15 149 2 proc_id bit (36), /* process id of absentee process */ 15 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 15 151 2 process_authorization_range (2) bit (72) aligned, 15 152 2 audit bit (36), /* audit flags for user */ 15 153 2 lot_size fixed bin, /* Size of linkage offset table */ 15 154 2 kst_size fixed bin, /* Size of process known segment table */ 15 155 2 cls_size fixed bin, /* Size of process combined linkage */ 15 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 15 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 15 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 15 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 15 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 15 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 15 162 2 pdir_pad fixed bin(17) unal, 15 163 2 process_pad fixed bin, 15 164 15 165 /* Information about primary terminal associated with this entry */ 15 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 15 167 2 terminal_type char (32) unaligned, /* terminal type */ 15 168 2 line_type fixed bin, /* line type */ 15 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 15 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 15 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 15 172 15 173 /* Variables useful for dialed terminals */ 15 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 15 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 15 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 15 177 2 dial_server_flags, 15 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 15 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 15 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 15 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 15 182 15 183 /* Information about usage/accounting. Device usage meters are in a 15 184* separate segment, "devtab" */ 15 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 15 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 15 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 15 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 15 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 15 190 2 last_update_time fixed bin (71), /* time of last account update */ 15 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 15 192 2 ndevices fixed bin, /* Count of attached devices */ 15 193 2 device_head fixed bin, /* Table index of head of device chain */ 15 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 15 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 15 196 2 rs_number_pad bit(30) unal, 15 197 2 usage_pad fixed bin, 15 198 15 199 /* Information for dialup_ (control variables). */ 15 200 2 event fixed bin (71), /* event associated with channel or user manager */ 15 201 2 uprojp ptr, /* ptr to user project sat entry */ 15 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 15 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 15 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 15 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 15 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 15 207 2 count fixed bin, /* counter for logins and dialups */ 15 208 2 n_processes fixed bin, /* number of processes created in this session */ 15 209 2 lock_value fixed bin, /* number of locks set for this entry */ 15 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 15 211 2 login_code char (8) unal, /* login command from LOGIN line */ 15 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 15 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 15 214 2 logout_type char (4) unal, /* type of logout */ 15 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 15 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 15 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 15 218 2 work_class fixed bin, /* work class used by priority scheduler */ 15 219 2 group char (8) unal, /* party group identifier */ 15 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 15 221 15 222 2 uflags, /* Miscellaneous flags */ 15 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 15 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 15 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 15 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 15 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 15 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 15 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 15 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 15 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 15 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 15 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 15 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 15 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 15 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 15 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 15 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 15 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 15 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 15 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 15 242 3 uflags_pad bit (17) unal, 15 243 15 244 /* Information used by load_ctl_ for the process */ 15 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 15 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 15 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 15 248 15 249 15 250 /* Information for login server */ 15 251 2 login_server_info, 15 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 15 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 15 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 15 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 15 256 3 process_id bit (36) aligned, /* process_id of login server */ 15 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 15 258 15 259 /* values for ute.process_type */ 15 260 15 261 dcl (PT_INTERACTIVE initial (1), 15 262 PT_ABSENTEE initial (2), 15 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 15 264 15 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 15 266 "INVALID-TYPE", 15 267 "interactive", 15 268 "absentee", 15 269 "daemon"); 15 270 15 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 15 272 "UNKNOWN-TABLE", 15 273 "answer_table", 15 274 "absentee_user_table", 15 275 "daemon_user_table"); 15 276 15 277 15 278 /* values for ute.pw_flags.mask_ctl */ 15 279 15 280 dcl (DO_MASK init ("00"b), 15 281 DONT_MASK init ("01"b), 15 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 15 283 15 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 15 285 "do_mask", "dont_mask", "derive_mask", ""); 15 286 15 287 15 288 /* names for ute.pw_flags */ 15 289 15 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 15 291 "cpw", 15 292 "generate_pw", 15 293 "dial_pw", 15 294 "slave_pw", 15 295 "cdp", 15 296 "cda", 15 297 "auth_given", 15 298 "noprint", 15 299 "operator"); 15 300 15 301 /* names for ute.uflags */ 15 302 15 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 15 304 "dont_call_init_admin", 15 305 "ip_given", 15 306 "ss_given", 15 307 "lvs_attached", 15 308 "send_initial_string", 15 309 "adjust_abs_q_no", 15 310 "foreground_secondary_ok", 15 311 "foreground_job", 15 312 "sus_sent", 15 313 "suspended", 15 314 "ignore_cpulimit", 15 315 "deferral_logged", 15 316 "save_if_disconnected", 15 317 "disconnected", 15 318 "disconnected_list", 15 319 "proc_create_ok", 15 320 "activity_can_unbump", 15 321 "fpe_causes_logout", 15 322 "user_specified_immediate"); 15 323 15 324 /* names for ute.abs_flags */ 15 325 15 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 15 327 "abs_run", 15 328 "notify"); 15 329 15 330 /* names of ute.dial_server_flags */ 15 331 15 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 15 333 "registered", 15 334 "privileged"); 15 335 15 336 /* values of ute.login_result */ 15 337 15 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 15 339 "logged in", 15 340 "login failed, hangup", 15 341 "login failed, try again"); 15 342 15 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 475 476 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 16 2 16 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 16 4 /* */ 16 5 /* This include file declares the header shared by the answer_table, */ 16 6 /* absentee_user_table and daemon_user_table include files. */ 16 7 /* */ 16 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 16 9 16 10 /****^ HISTORY COMMENTS: 16 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 16 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 16 13* Initial coding. 16 14* END HISTORY COMMENTS */ 16 15 16 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 16 17 2 header_version fixed bin, /* version of the header (3) */ 16 18 2 entry_version fixed bin, /* version of user table entries */ 16 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 16 20 2 header_length fixed bin, /* length of the header */ 16 21 2 max_size fixed bin, /* max number of entries in this table */ 16 22 2 current_size fixed bin, /* actual size of table (in entries) */ 16 23 2 number_free fixed bin, /* number of free entries in the table. */ 16 24 2 first_free fixed bin, /* index of first entry in the free list. */ 16 25 2 as_procid bit (36), /* process ID of user table manager process */ 16 26 2 ut_header_pad fixed bin; 16 27 16 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 476 477 /* BEGIN INCLUDE FILE ... whotab.incl.pl1 */ 17 2 17 3 /* Modified 740723 by PG to add security info */ 17 4 /* Modified April 1976 by T. Casey to add shift and shift start and end times */ 17 5 /* Modified May 1979 by T. Casey for MR7.0a to add foreground absentee variables */ 17 6 /* Modified June 1981 by E. N. Kittlitz to add n_rate_structures. */ 17 7 /* Modified December 1981 by E. N. Kittlitz to expand header. */ 17 8 /* Modified 84-11-14 by E. A. Ranzenbach to add "session" fiedld in place of obsolete system ID... */ 17 9 17 10 dcl 1 whotab based (whoptr) aligned, 17 11 2 mxusers fixed bin, /* max. number of users on system */ 17 12 2 n_users fixed bin, /* current number of users */ 17 13 2 mxunits fixed bin, /* maximun "load units" allowed */ 17 14 2 n_units fixed bin, /* current load */ 17 15 2 timeup fixed bin (71), /* time system was started */ 17 16 2 session char (8), /* AS state, same as anstbl.session */ 17 17 2 nextsd fixed bin (71), /* time we will shutdown */ 17 18 2 until fixed bin (71), /* projected time we start up again */ 17 19 2 lastsd fixed bin (71), /* time of last crash or shutdown */ 17 20 2 erfno char (8), /* if a crash, the error number */ 17 21 2 obsolete_why char (32), /* reason for last shutdown */ 17 22 2 installation_id char (32), /* name of installation */ 17 23 2 obsolete_message char (32), /* message for all users */ 17 24 2 abs_event fixed bin (71), /* event channel associated with absentee */ 17 25 2 abs_procid bit (36) aligned, /* process to whom messages about absentee are signalled */ 17 26 2 max_abs_users fixed bin, /* max number of absentee users */ 17 27 2 abs_users fixed bin, /* number of absentee users logged-in */ 17 28 2 n_daemons fixed bin, /* Number of daemon users logged in */ 17 29 2 request_channel fixed bin (71), /* System master channel for requests to AS. */ 17 30 2 request_process_id bit (36), /* Process ID of request dispatcher */ 17 31 2 shift fixed bin, /* current shift (copied from anstbl, for users to see) */ 17 32 2 next_shift_change_time fixed bin (71), /* time current shift ends */ 17 33 2 last_shift_change_time fixed bin (71), /* time current shift started */ 17 34 2 fg_abs_users fixed bin (17) unal, /* number of foreground absentee users */ 17 35 2 n_rate_structures fixed bin (9) unsigned unal, /* number of rate_structures defined at bootload */ 17 36 2 pad1 bit (9) unal, 17 37 2 pad (3) fixed bin, 17 38 2 version fixed bin, /* structure version */ 17 39 2 header_size fixed bin, /* length of header in words */ 17 40 2 entry_size fixed bin, /* length of entry in words */ 17 41 /* laste_adjust is used only by Answering Service programs */ 17 42 2 laste_adjust fixed bin, /* count of 32 wd blocks in hdr from header_extension_mbz1 */ 17 43 2 laste fixed bin, /* index of last entry in use (includes laste_adjust) */ 17 44 2 freep fixed bin (18) unsigned, /* index of first free entry. chained thru "chain" */ 17 45 17 46 /* whotab header extension: The header is extended from 64 words by 17 47* annexing whole user entries from the 'e' array. Each 'e' entry is 32 words 17 48* long. Each annexed block has its first word set to zero, indicating that no user entry is 17 49* present. This allows existing programs to function with old definitions of 17 50* whotab. Obviously no new header field can be more than 31 contiguous words in 17 51* length. In the Answering Service, all programs using whotab must be compiled 17 52* with the latest version. Only lg_ctl_ uses laste_adjust. */ 17 53 17 54 2 header_extension_mbz1 fixed bin, /* location 100o */ 17 55 2 n_abs (4) fixed bin, /* number of processes from each background queue */ 17 56 2 abs_qres (4) fixed bin, /* number of absentee positions reserved for each queue */ 17 57 2 abs_cpu_limit (4) fixed bin (35), /* current absentee cpu limits */ 17 58 2 abs_control, /* see absentee_user_table */ 17 59 3 mnbz bit (1) unal, /* must not be zero */ 17 60 3 abs_maxu_auto bit (1) unal, /* 1 if automatic */ 17 61 3 abs_maxq_auto bit (1) unal, /* 1 if automatic */ 17 62 3 abs_qres_auto bit (1) unal, /* 1 if automatic */ 17 63 3 abs_cpu_limit_auto bit (1) unal, /* 1 if automatic */ 17 64 3 queue_dropped (-1:4) bit (1) unal, /* 1 if queue dropped */ 17 65 3 abs_up bit (1) unal, /* 1 if absentee facility is running */ 17 66 3 abs_stopped bit (1) unal, /* 1 if absentee facility is stopped */ 17 67 3 control_pad bit (23) unal, 17 68 2 installation_request_channel fixed bin (71), /* IPC channel for install command */ 17 69 2 installation_request_pid bit (36), /* installation process identifier */ 17 70 2 sysid char (32), /* current system name */ 17 71 2 header_extension_pad1 (7) fixed bin, /* pad to size of e element, offset 137o */ 17 72 2 header_extension_mbz2 fixed bin, /* offset 140o */ 17 73 2 message char (124), /* message for all users */ 17 74 2 header_extension_mbz3 fixed bin, /* offset 200o */ 17 75 2 why char (124), /* reason for last shutdown */ 17 76 2 e (1000), /* offset 240o */ 17 77 3 active fixed bin, /* nonzero means logged in */ 17 78 3 person char (28) aligned, /* person name */ 17 79 3 project char (28), /* project id */ 17 80 3 anon fixed bin, /* 1 if anonymous user */ 17 81 3 padding fixed bin (71), 17 82 3 timeon fixed bin (71), /* time of login */ 17 83 3 units fixed bin, /* load units */ 17 84 3 stby fixed bin, /* 1 if stby */ 17 85 3 idcode char (4), /* tty id code */ 17 86 3 chain fixed bin (18) unsigned, /* chain for free list */ 17 87 3 proc_type fixed bin, /* 1 = interactive, 2 = absentee, 3 = daemon */ 17 88 3 group char (8), /* party-line group */ 17 89 3 fg_abs bit (1) unal, /* "1"b if foreground absentee user */ 17 90 3 disconnected bit (1) unaligned, /* "1"b if process is disconnected */ 17 91 3 suspended bit (1) unaligned, /* "1"b if process is suspended */ 17 92 3 pad2 bit (33) unal, 17 93 3 cant_bump_until fixed bin (71), /* protected from primary bump till here */ 17 94 3 process_authorization bit (72); /* access authorization of process */ 17 95 17 96 dcl WHOTAB_VERSION_1 fixed bin init (1) static options (constant); 17 97 17 98 /* END INCLUDE FILE ... whotab.incl.pl1 */ 477 478 479 end uc_create_process_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0906.6 uc_create_process_.pl1 >special_ldd>install>MR12.2-1047>uc_create_process_.pl1 462 1 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 463 2 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 464 3 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 465 4 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 466 5 01/30/85 1523.9 create_info.incl.pl1 >ldd>include>create_info.incl.pl1 467 6 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 468 7 08/06/87 0913.4 installation_parms.incl.pl1 >ldd>include>installation_parms.incl.pl1 7-148 8 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 469 9 09/13/84 0921.6 pdt.incl.pl1 >ldd>include>pdt.incl.pl1 9-29 10 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 472 11 07/13/88 0930.5 pit.incl.pl1 >special_ldd>install>MR12.2-1047>pit.incl.pl1 473 12 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 474 13 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 13-112 14 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 475 15 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.incl.pl1 476 16 08/06/87 0913.6 user_table_header.incl.pl1 >ldd>include>user_table_header.incl.pl1 477 17 01/18/85 0953.2 whotab.incl.pl1 >ldd>include>whotab.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. AS_AUDIT_PROCESS_CREATE 000275 constant fixed bin(17,0) initial dcl 4-162 set ref 420 431* DEFAULT_CLS_SIZE constant fixed bin(35,0) initial dcl 107 ref 344 DEFAULT_KST_SIZE constant fixed bin(17,0) initial dcl 108 ref 353 DEFAULT_LOT_SIZE constant fixed bin(17,0) initial dcl 109 ref 334 FALSE constant bit(1) initial dcl 110 ref 340 343 418 ME 000247 constant char(18) initial packed unaligned dcl 112 set ref 153 182* 378* 402 423* NOW_HAS_PROCESS constant fixed bin(17,0) initial dcl 6-76 ref 429 NOW_LOGGED_IN constant fixed bin(17,0) initial dcl 6-76 ref 417 PIT_version_3 constant fixed bin(17,0) initial dcl 11-143 ref 187 PT_ABSENTEE constant fixed bin(17,0) initial dcl 15-261 ref 248 318 P_code parameter fixed bin(35,0) dcl 66 set ref 60 134* P_utep parameter pointer dcl 65 ref 60 163 SL_LOG 000275 constant fixed bin(17,0) initial dcl 12-14 set ref 423* SL_LOG_BEEP 000273 constant fixed bin(17,0) initial dcl 12-14 set ref 182* 378* SL_LOG_SILENT 000302 constant fixed bin(17,0) initial dcl 12-14 set ref 123* TRUE constant bit(1) initial dcl 110 ref 333 350 WAIT_LOGOUT_SIG constant fixed bin(17,0) initial dcl 6-25 ref 430 abs_attributes 247 based structure level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" abs_attributes 722 based structure level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 251* abs_queue 721 based fixed bin(17,0) level 2 dcl 11-50 set ref 248* 250* abs_timax 525 based fixed bin(35,0) array level 3 dcl 7-33 ref 318 absentee 244 based structure array level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 217 absentee 264 based structure array level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 217* absolute_cutoff 350 based fixed bin(71,0) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 223 absolute_cutoff 370 based fixed bin(71,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 223* absolute_increm 372 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 224* absolute_increm 352 based fixed bin(17,0) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 224 absolute_limit 346 based float bin(27) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 221 absolute_limit 366 based float bin(27) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 221* absolute_spent 367 based float bin(27) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 222* absolute_spent 347 based float bin(27) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 222 account 51 based char(32) level 2 packed packed unaligned dcl 11-50 set ref 192* account_id 40 000104 automatic char(32) level 2 dcl 72 set ref 330* account_ptr 14 000104 automatic pointer level 2 dcl 72 set ref 322* act_ctl_$close_account 000010 constant entry external dcl 91 ref 422 act_ctl_$cp 000012 constant entry external dcl 92 ref 432 act_ctl_$open_account 000014 constant entry external dcl 93 ref 412 active based fixed bin(17,0) level 2 dcl 15-78 set ref 417* 429* addr builtin function dcl 116 ref 155 155 259 284 331 404 404 415 415 aip 000100 automatic pointer dcl 70 set ref 259* 260 269 272 275 279 282 anonymous 16 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 198 325 anonymous 71 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 198* ansp 000234 automatic pointer initial dcl 1-53 set ref 1-53* 166* 171 200 295 295 295 297 297 300 anstbl based structure level 1 dcl 1-55 arg_count 102 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 268 arg_count based fixed bin(17,0) level 2 in structure "arg_info" dcl 11-136 in procedure "uc_create_process_" set ref 269* 279 arg_info based structure level 1 dcl 11-136 arg_info_ptr 723 based fixed bin(18,0) level 2 unsigned dcl 11-50 set ref 260* arg_lengths 2 based fixed bin(17,0) array level 2 dcl 11-136 set ref 275* arg_lengths_ptr 104 based pointer level 2 dcl 15-78 ref 273 arg_list_ptr 2 000242 automatic pointer level 2 dcl 12-24 set ref 154* 403* argp 000102 automatic pointer dcl 71 set ref 273* 275 278* 279 args based char level 2 packed packed unaligned dcl 11-136 set ref 279* args_ptr 106 based pointer level 2 dcl 15-78 ref 278 arh_header_ based structure level 1 dcl 3-26 arh_user_info_ based structure level 1 dcl 3-39 as_access_audit_$process 000016 constant entry external dcl 94 ref 420 431 as_channel_audit_record_ based structure level 1 dcl 4-74 as_data_$ansp 000034 external static pointer dcl 2-26 ref 166 as_data_$debug_flag 000044 external static bit(1) dcl 2-84 ref 376 as_data_$pit_ptr 000036 external static pointer dcl 2-46 ref 180 as_data_$rs_ptrs 000040 external static pointer array dcl 2-49 ref 167 as_data_$whoptr 000042 external static pointer dcl 2-60 ref 444 as_dial_service_audit_record_ based structure level 1 dcl 4-105 as_ia_audit_record_ based structure level 1 dcl 4-52 as_procid 10 based bit(36) level 3 dcl 1-55 ref 200 at 110 based structure level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 206* at 100 based structure level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 206 audit 57 000104 automatic bit(36) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 358* audit 304 based bit(36) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 358 audit_record_header based structure level 1 dcl 3-18 authorization_range 376 based bit(72) array level 2 dcl 11-50 set ref 227* auto_create_info 000104 automatic structure level 1 dcl 72 set ref 415 415 based_arg_string based char dcl 86 ref 279 binary builtin function dcl 116 ref 284 bit builtin function dcl 116 ref 300 caller 17 000242 automatic varying char(65) level 2 dcl 12-24 set ref 153* 402* cant_bump_until 572 based fixed bin(71,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 244* cant_bump_until 404 based fixed bin(71,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 244 457 cant_bump_until 274 based fixed bin(71,0) array level 3 in structure "whotab" dcl 17-10 in procedure "uc_create_process_" set ref 457* charge_type 513 based fixed bin(17,0) level 2 dcl 11-50 set ref 230* clock builtin function dcl 116 ref 171 195 cls_in_stack 56 000104 automatic bit(1) level 2 dcl 72 set ref 343* 350* cls_size 307 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 344 346 346 349 cls_size 52 000104 automatic fixed bin(17,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 344* 346* 349* code 000212 automatic fixed bin(35,0) dcl 73 in procedure "uc_create_process_" set ref 134 156* 157 164* 181* 182 182* 377* 378 378* 415* 416 419* 423* code 16 000242 automatic fixed bin(35,0) level 2 in structure "sl_info" dcl 12-24 in procedure "uc_create_process_" set ref 156 convert_status_code_ 000020 constant entry external dcl 95 ref 419 cpu_usage 360 based fixed bin(71,0) level 2 dcl 15-78 ref 196 crashes 123 based fixed bin(17,0) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 215 crashes 142 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 215* create_info based structure level 1 dcl 5-23 cu_$arg_list_ptr 000052 constant entry external dcl 398 in procedure "Log_Error_with_Code" ref 403 cu_$arg_list_ptr 000046 constant entry external dcl 149 in procedure "Abort" ref 154 current_time 126 based fixed bin(71,0) level 2 dcl 1-55 set ref 171* default_pdir_dir_quota 536(18) based fixed bin(17,0) level 3 packed packed unaligned dcl 7-33 ref 366 default_pdir_seg_quota 536 based fixed bin(17,0) level 3 packed packed unaligned dcl 7-33 ref 310 destroy_flag 421 based fixed bin(17,0) level 2 dcl 15-78 set ref 430* devices 344 based float bin(27) array level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 219* devices 324 based float bin(27) array level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 219 dir_quota 105 000104 automatic fixed bin(17,0) level 2 dcl 72 set ref 367* divide builtin function dcl 116 ref 285 dollar_charge 127 based float bin(27) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 211* dollar_charge 75 based float bin(27) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 211 dollar_limit 74 based float bin(27) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 212 dollar_limit 130 based float bin(27) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 212* dont_call_init_admin 54 000104 automatic bit(1) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 357* dont_call_init_admin 431 based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 209 357 dont_call_init_admin 124 based bit(1) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 209* e 240 based structure array level 2 dcl 17-10 error_table_$out_of_sequence 000032 external static fixed bin(35,0) dcl 103 set ref 123* event 376 based fixed bin(71,0) level 2 dcl 15-78 ref 201 fixed builtin function dcl 116 ref 260 300 group 271 based char(8) array level 3 in structure "whotab" dcl 17-10 in procedure "uc_create_process_" set ref 456* group 104 based char(8) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 202* group 426 based char(8) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 202 456 hcs_$truncate_seg 000022 constant entry external dcl 96 ref 181 header based structure level 2 dcl 1-55 highest_ring 11 000104 automatic fixed bin(3,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 315* highest_ring 312(18) based fixed bin(17,0) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 204 315 home_dir 36 based char(64) level 2 packed packed unaligned dcl 15-78 ref 190 homedir 22 based char(64) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 190* 331 homedir 50 000104 automatic bit(18) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 331* hphcs_$create_proc 000024 constant entry external dcl 97 ref 415 i 000530 automatic fixed bin(17,0) dcl 178 set ref 274* 275 275* init_proc 56 based char(64) level 2 packed packed unaligned dcl 15-78 ref 189 363 initial_ring 101 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 314 initial_ring 10 000104 automatic fixed bin(3,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 314* input_seg 110 based char(168) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 245 input_seg 574 based char(168) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 245* installation_parms based structure level 1 dcl 7-33 installation_parms_part_1 based structure level 1 dcl 7-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 7-144 interactive 144 based structure array level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 216* interactive 124 based structure array level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 216 ioa_$rsnnl 000026 constant entry external dcl 98 ref 325 iod 274 based structure array level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 218 iod 314 based structure array level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 218* ip 000214 automatic pointer dcl 74 set ref 167* 310 318 366 ip_len 76 based fixed bin(17,0) level 2 packed packed unaligned dcl 15-78 ref 189 363 kst_size 306 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 353 355 kst_size 53 000104 automatic fixed bin(17,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 353* 355* length builtin function dcl 116 ref 265 265 265 length_of_arguments 000216 automatic fixed bin(17,0) dcl 75 set ref 271* 272 277 279 282* 285 length_of_pit 000217 automatic fixed bin(17,0) dcl 76 set ref 284* 285 lengths based fixed bin(17,0) array dcl 87 ref 275 line_type 336 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 232 line_type 524 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 232* ln_args 1 based fixed bin(17,0) level 2 in structure "arg_info" dcl 11-136 in procedure "uc_create_process_" set ref 272* 279 282* ln_args 103 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 271 login_line 533 based char(120) level 2 packed packed unaligned dcl 11-50 set ref 243* login_name 72 based char(28) level 2 packed packed unaligned dcl 11-50 set ref 199* login_responder 2 based char(64) level 2 packed packed unaligned dcl 11-50 set ref 189* login_time 62 based fixed bin(71,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 194* login_time 402 based fixed bin(71,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 194 logins 122 based fixed bin(17,0) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 214 logins 141 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 214* logout_channel 102 based fixed bin(71,0) level 2 dcl 11-50 set ref 201* 303 logout_pid 101 based bit(36) level 2 dcl 11-50 set ref 200* 304 lot_in_stack 55 000104 automatic bit(1) level 2 dcl 72 set ref 333* 340* lot_size 305 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 334 336 336 339 lot_size 51 000104 automatic fixed bin(17,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 334* 336* 339* lowest_ring 312 based fixed bin(17,0) level 2 packed packed unaligned dcl 15-78 ref 203 max_cpu_time 720 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 247* max_cpu_time 244 based fixed bin(35,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 247 max_process_authorization 62 000104 automatic bit(72) level 2 dcl 72 set ref 360* max_ring 107 based fixed bin(17,0) level 2 dcl 11-50 set ref 204* mem_usage 362 based fixed bin(71,0) level 2 dcl 15-78 ref 262 min_ring 106 based fixed bin(17,0) level 2 dcl 11-50 set ref 203* n_processes 413 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" set ref 193 411* 411 412 n_processes 61 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 193* n_units 3 based fixed bin(17,0) level 2 dcl 17-10 set ref 448* 448 null builtin function dcl 116 ref 1-53 471 15-76 322 number_of_arguments 000220 automatic fixed bin(17,0) dcl 77 set ref 268* 269 270 274 285 old_proc_core 724 based fixed bin(71,0) level 2 dcl 11-50 set ref 262* old_proc_cpu 66 based fixed bin(71,0) level 2 dcl 11-50 set ref 196* old_proc_io_ops 726 based fixed bin(71,0) level 2 dcl 11-50 set ref 263* old_tty 530 based char(6) level 2 dcl 11-50 set ref 241* 265 265* 265 outer_module 112 based char(32) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 208* outer_module 26 based char(32) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 208 output_seg 162 based char(168) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 246 output_seg 646 based char(168) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 246* part_1 based structure level 2 dcl 7-33 pdir_dir_quota 314 based fixed bin(17,0) level 2 packed packed unaligned dcl 15-78 set ref 366* 367 pdir_quota 313(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 15-78 set ref 307 307 310* 311 pdir_volume_manager_$select_pdir_volume 000030 constant entry external dcl 99 ref 377 pdtep 000222 automatic pointer dcl 78 in procedure "uc_create_process_" set ref 169* 211 212 213 214 215 216 217 218 219 220 221 222 223 224 pdtep 354 based pointer level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 169 pdtp 000236 automatic pointer initial dcl 471 set ref 471* person 4 based char(24) level 2 packed packed unaligned dcl 15-78 set ref 123* 182* 199 325* 378* 423* pit based structure level 1 dcl 11-50 pit_ptr 000240 automatic pointer dcl 11-48 in procedure "uc_create_process_" set ref 180* 181* 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 230 231 232 235 239 240 241 242 243 244 245 246 247 248 250 251 252 253 254 255 256 257 259 260 262 263 264 265 265 265 265 265 284 303 304 323 331 pit_ptr 16 000104 automatic pointer level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 323* pit_size 000224 automatic fixed bin(17,0) dcl 79 set ref 285* 305 ppml 7 000104 automatic fixed bin(17,0) level 2 dcl 72 set ref 313* proc_create_ok 431(15) based bit(1) level 3 packed packed unaligned dcl 15-78 set ref 123 418* proc_creation_time 64 based fixed bin(71,0) level 2 dcl 11-50 set ref 195* proc_id 276 based bit(36) level 2 dcl 15-78 set ref 428* process_authorization 24 based bit(72) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 359 process_authorization 60 000104 automatic bit(72) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 359* process_authorization_range 300 based bit(72) array level 2 dcl 15-78 ref 227 360 process_group_id 20 000104 automatic char(32) level 2 dcl 72 set ref 325* process_type 1 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 188* process_type 1 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 188 248 318 processid 000104 automatic structure level 2 dcl 72 set ref 428 processid_index 130 based fixed bin(18,0) level 2 dcl 1-55 set ref 295 295 295* 297* 297 300 project 12 based char(12) level 2 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" set ref 123* 182* 191 325* 378* 423* project 42 based char(28) level 2 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 191* proxy 247(02) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 254 proxy 722(02) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 254* queue 245 based fixed bin(17,0) level 2 dcl 15-78 ref 248 318 318 rcp_init_flags based structure level 1 packed packed unaligned dcl 8-8 reason 000226 automatic char(8) dcl 80 set ref 419* 420 record_quota 6 000104 automatic fixed bin(17,0) level 2 dcl 72 set ref 307* 311* rel builtin function dcl 116 ref 260 284 331 rel_apte 000104 automatic bit(18) level 3 packed packed unaligned dcl 72 set ref 299* request_id 234 based fixed bin(71,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 226 request_id 374 based fixed bin(71,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 226* restartable 247 based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 252 restartable 722 based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 252* restarted 722(08) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 257* restarted 247(08) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 257 rs_number 373 based fixed bin(9,0) level 2 in structure "pit" packed packed unsigned unaligned dcl 11-50 in procedure "uc_create_process_" set ref 225* rs_number 374 based fixed bin(6,0) level 2 in structure "ute" packed packed unsigned unaligned dcl 15-78 in procedure "uc_create_process_" ref 225 rtrim builtin function dcl 116 ref 265 satep 000230 automatic pointer dcl 81 set ref 168* service_type 526 based fixed bin(17,0) level 2 dcl 11-50 set ref 239* set_bit_cnt 722(03) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 255* set_bit_cnt 247(03) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 255 shift_limit 131 based float bin(27) array level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 213* shift_limit 76 based float bin(27) array level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 213 sl_info 000242 automatic structure level 1 dcl 12-24 set ref 152* 155 155 401* 404 404 sl_info_sev_code_msg 000000 constant structure level 1 dcl 12-82 ref 152 401 ss_len 76(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 15-78 ref 363 standby 532 based fixed bin(17,0) level 2 dcl 11-50 set ref 242* standby_line 433 based fixed bin(17,0) level 2 dcl 15-78 ref 242 455 start_arg_info 740 based fixed bin(17,0) level 2 dcl 11-50 set ref 259 284 stby 265 based fixed bin(17,0) array level 3 dcl 17-10 set ref 455* string builtin function dcl 116 set ref 206* 206 251* substr builtin function dcl 116 ref 189 265 363 subsystem 65 000104 automatic char(64) level 2 dcl 72 set ref 363* sys_log_$general 000054 constant entry external dcl 399 in procedure "Log_Error_with_Code" ref 404 sys_log_$general 000050 constant entry external dcl 150 in procedure "Abort" ref 155 tag 15 based char(1) level 2 packed packed unaligned dcl 15-78 set ref 123* 182* 325* 378* 423* term_channel 2 000104 automatic fixed bin(71,0) level 2 dcl 72 set ref 303* term_processid 4 000104 automatic bit(36) level 2 dcl 72 set ref 304* term_type_name 514 based char(32) level 2 packed packed unaligned dcl 11-50 set ref 231* terminal_access_class 125 based bit(72) level 2 dcl 11-50 set ref 210* terminal_type 326 based char(32) level 2 packed packed unaligned dcl 15-78 ref 231 timax 12 000104 automatic fixed bin(17,0) level 2 dcl 72 set ref 317* 318* time_last_reset 364 based fixed bin(71,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 220* time_last_reset 344 based fixed bin(71,0) level 2 in structure "user" dcl 9-58 in procedure "uc_create_process_" ref 220 truncate_absout 722(07) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 256* truncate_absout 247(07) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 256 tty 730 based char(32) level 2 packed packed unaligned dcl 11-50 set ref 264* 265 265 tty_answerback 527 based char(4) level 2 packed packed unaligned dcl 11-50 set ref 240* tty_id_code 337 based char(4) level 2 packed packed unaligned dcl 15-78 ref 240 tty_name 316 based char(32) level 2 packed packed unaligned dcl 15-78 ref 264 tty_type 525 based fixed bin(17,0) level 2 dcl 11-50 set ref 235* uflags 431 based structure level 2 dcl 15-78 unique_index 0(18) 000104 automatic bit(18) level 3 packed packed unaligned dcl 72 set ref 300* units 264 based fixed bin(17,0) array level 3 dcl 17-10 set ref 454* unspec builtin function dcl 116 ref 428 uprojp 400 based pointer level 2 dcl 15-78 ref 168 user based structure level 1 dcl 9-58 user_abs_attributes based structure level 1 dcl 14-25 user_attributes based structure level 1 dcl 13-21 user_deferred_until_time 722(01) based bit(1) level 3 in structure "pit" packed packed unaligned dcl 11-50 in procedure "uc_create_process_" set ref 253* user_deferred_until_time 247(01) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 15-78 in procedure "uc_create_process_" ref 253 user_processid 30 000104 automatic char(32) level 2 dcl 72 set ref 329* user_weight 432 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 197 448 454 user_weight 70 based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 197* ut_header based structure level 1 dcl 16-16 ute based structure level 1 dcl 15-78 utep 000512 automatic pointer initial dcl 15-76 set ref 123 123 123 123 15-76* 163* 168 169 182 182 182 188 189 189 190 191 193 194 196 197 198 199 201 202 203 204 206 207 208 209 225 226 227 231 232 240 242 244 245 246 247 248 248 252 253 254 255 256 257 262 264 268 271 273 278 307 307 310 311 314 315 318 318 318 325 325 325 325 334 336 336 339 344 346 346 349 353 355 357 358 359 360 362 363 363 363 366 367 377* 378 378 378 411 411 412 412* 417 418 420* 422* 423 423 423 428 429 430 431* 432* 448 452 453 454 455 456 457 version based fixed bin(17,0) level 2 in structure "pit" dcl 11-50 in procedure "uc_create_process_" set ref 187* version 1 000104 automatic fixed bin(17,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 302* version_of_create_info constant fixed bin(17,0) initial dcl 5-10 ref 302 whoptr 000232 automatic pointer dcl 82 set ref 444* 448 448 454 455 456 457 whotab based structure level 1 dcl 17-10 whotab_idx 000562 automatic fixed bin(17,0) dcl 442 set ref 453* 454 455 456 457 whotabx 430 based fixed bin(17,0) level 2 dcl 15-78 ref 207 452 453 whox 111 based fixed bin(17,0) level 2 dcl 11-50 set ref 207* words_of_pit 5 000104 automatic fixed bin(17,0) level 2 dcl 72 set ref 305* work_class 425 based fixed bin(17,0) level 2 in structure "ute" dcl 15-78 in procedure "uc_create_process_" ref 362 work_class 64 000104 automatic fixed bin(17,0) level 2 in structure "auto_create_info" dcl 72 in procedure "uc_create_process_" set ref 362* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 14-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 15-326 ACCESS_AUDIT_HEADER_VERSION_3 internal static fixed bin(9,0) initial unsigned dcl 3-54 ACTIVE_VALUES internal static char(18) initial array dcl 6-86 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 13-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 3-52 ARH_TYPE_PROXY internal static fixed bin(17,0) initial dcl 3-50 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 4-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 4-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 4-175 AS_AUDIT_CHANNEL_DIALIN internal static fixed bin(17,0) initial dcl 4-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 4-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 4-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 4-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 4-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 4-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 4-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 4-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 4-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 4-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 4-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 4-162 AS_AUDIT_RECORD_CHN_VERSION_1 internal static fixed bin(9,0) initial dcl 4-156 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 4-159 AS_AUDIT_RECORD_IA_VERSION_1 internal static fixed bin(9,0) initial dcl 4-153 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 Automatic_authentication internal static fixed bin(17,0) initial dcl 8-16 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 15-280 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 15-332 DONT_MASK internal static bit(2) initial packed unaligned dcl 15-280 DO_MASK internal static bit(2) initial packed unaligned dcl 15-280 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 15-338 MASK_CTL_NAMES internal static varying char(12) initial array dcl 15-284 Manual_authentication internal static fixed bin(17,0) initial dcl 8-16 NOW_DIALED internal static fixed bin(17,0) initial dcl 6-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 6-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 6-76 NOW_FREE internal static fixed bin(17,0) initial dcl 6-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 6-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 6-76 No_authentication internal static fixed bin(17,0) initial dcl 8-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 8-16 PDT_entry_lth internal static fixed bin(17,0) initial dcl 9-19 PDT_header_lth internal static fixed bin(17,0) initial dcl 9-19 PDT_person_id_length internal static fixed bin(17,0) initial dcl 9-19 PDT_project_name_length internal static fixed bin(17,0) initial dcl 9-19 PDT_version internal static fixed bin(17,0) initial dcl 9-19 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 6-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 6-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 15-265 PT_ALARM internal static fixed bin(17,0) initial dcl 6-106 PT_BUMP internal static fixed bin(17,0) initial dcl 6-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 15-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 6-106 PT_DETACH internal static fixed bin(17,0) initial dcl 6-106 PT_FPE internal static fixed bin(17,0) initial dcl 6-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 6-106 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 15-261 PT_LOGOUT internal static fixed bin(17,0) initial dcl 6-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 6-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 6-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 6-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 6-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 6-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 15-290 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 12-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 12-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 12-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 12-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 12-62 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 12-14 SL_TYPE internal static fixed bin(17,0) initial dcl 12-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 12-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 12-14 STATE_VALUES internal static char(15) initial array dcl 6-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 15-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 6-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 6-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 6-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 6-93 TAG_UFT internal static char(1) initial packed unaligned dcl 6-93 TRA_VEC_VALUES internal static char(32) initial array dcl 6-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 6-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 6-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 6-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 6-64 UFLAG_NAMES internal static varying char(24) initial array dcl 15-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 13-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 13-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 13-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 13-50 UTE_SIZE internal static fixed bin(17,0) initial dcl 1-120 UTE_version_4 internal static fixed bin(17,0) initial dcl 15-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 6-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 6-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 6-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 6-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 6-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 6-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 6-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 6-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 6-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 6-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 6-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 6-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 6-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 6-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 6-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 6-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 6-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 6-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 6-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 6-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 6-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 6-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 6-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 6-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 6-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 6-25 WHOTAB_VERSION_1 internal static fixed bin(17,0) initial dcl 17-96 as_channel_audit_record based structure level 1 dcl 4-68 as_data_$BS external static char(1) dcl 2-21 as_data_$CR external static char(1) dcl 2-22 as_data_$abs_dim external static char(32) packed unaligned dcl 2-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 2-24 as_data_$acsdir external static char(168) packed unaligned dcl 2-25 as_data_$as_procid external static bit(36) dcl 2-27 as_data_$as_ring external static fixed bin(3,0) dcl 2-28 as_data_$as_tty automatic char(6) packed unaligned dcl 2-29 as_data_$asmtp external static pointer dcl 2-30 as_data_$autp external static pointer dcl 2-31 as_data_$buzzardp external static pointer dcl 2-32 as_data_$cdtp external static pointer dcl 2-33 as_data_$default_weight external static fixed bin(35,0) dcl 2-34 as_data_$devtabp external static pointer dcl 2-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 2-36 as_data_$dutp external static pointer dcl 2-37 as_data_$g115_dim external static char(32) packed unaligned dcl 2-38 as_data_$lct_initialized external static bit(1) dcl 2-39 as_data_$lct_size external static fixed bin(17,0) dcl 2-40 as_data_$login_args external static structure level 1 dcl 2-62 as_data_$login_words external static fixed bin(17,0) dcl 2-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 2-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 2-87 as_data_$ls_message_buffer_ptr external static pointer dcl 2-88 as_data_$ls_request_server_info_ptr external static pointer dcl 2-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 2-41 as_data_$mgtp external static pointer dcl 2-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 2-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 2-44 as_data_$pdtdir external static char(168) packed unaligned dcl 2-45 as_data_$rcpdir external static char(168) packed unaligned dcl 2-47 as_data_$request_priority external static fixed bin(17,0) dcl 2-48 as_data_$rtdtp external static pointer dcl 2-50 as_data_$sat_htp external static pointer dcl 2-51 as_data_$satp external static pointer dcl 2-52 as_data_$signal_types external static structure level 1 dcl 2-67 as_data_$suffix external static char(2) array packed unaligned dcl 2-53 as_data_$sysdir external static char(168) packed unaligned dcl 2-54 as_data_$system_signal_types external static structure level 1 dcl 2-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 2-55 as_data_$terminet_tabs_string external static varying char(144) dcl 2-56 as_data_$tty_dim external static char(32) packed unaligned dcl 2-57 as_data_$update_priority external static fixed bin(17,0) dcl 2-58 as_data_$version external static char(8) packed unaligned dcl 2-59 as_data_login_words based structure level 1 dcl 2-77 as_dial_service_audit_record based structure level 1 dcl 4-100 as_ia_audit_record_abs based structure level 1 dcl 4-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 4-41 as_ia_audit_record_int_dmn based structure level 1 dcl 4-27 audit_record_header_proxy based structure level 1 dcl 3-22 audit_record_ptr automatic pointer dcl 3-16 authentication_level_names internal static char(12) initial array packed unaligned dcl 8-21 channel_audit_info based structure level 1 dcl 4-138 channel_audit_info_ptr automatic pointer dcl 4-136 dial_server_info based structure level 1 dcl 4-124 dial_server_info_ptr automatic pointer dcl 4-122 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 7-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 7-38 pdt based structure level 1 dcl 9-27 pit_$ external static bit(36) dcl 11-47 rifp automatic pointer dcl 8-6 sl_info_code_msg internal static structure level 1 dcl 12-187 sl_info_msg internal static structure level 1 dcl 12-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 12-161 sl_info_sev_coded_msg internal static structure level 1 dcl 12-134 sl_info_sev_msg internal static structure level 1 dcl 12-108 NAMES DECLARED BY EXPLICIT CONTEXT. Abort 000472 constant entry internal dcl 146 ref 123 182 423 Create_Process 001647 constant entry internal dcl 408 ref 131 Log_Error_with_Code 001610 constant entry internal dcl 395 ref 378 RETURN 000465 constant label dcl 134 ref 157 Select_Process_Directory_Volume 001524 constant entry internal dcl 371 ref 130 Setup 000540 constant entry internal dcl 161 ref 122 Setup_Create_Info 001247 constant entry internal dcl 291 ref 129 Setup_PIT 000565 constant entry internal dcl 175 ref 128 Update_Whotab 002064 constant entry internal dcl 436 ref 133 uc_create_process_ 000402 constant entry external dcl 60 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2376 2454 2116 2406 Length 3244 2116 56 553 257 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_create_process_ 643 external procedure is an external procedure. Abort 70 internal procedure is declared options(variable). Setup internal procedure shares stack frame of external procedure uc_create_process_. Setup_PIT internal procedure shares stack frame of external procedure uc_create_process_. Setup_Create_Info internal procedure shares stack frame of external procedure uc_create_process_. Select_Process_Directory_Volume internal procedure shares stack frame of external procedure uc_create_process_. Log_Error_with_Code 70 internal procedure is declared options(variable). Create_Process internal procedure shares stack frame of external procedure uc_create_process_. Update_Whotab internal procedure shares stack frame of external procedure uc_create_process_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME uc_create_process_ 000100 aip uc_create_process_ 000102 argp uc_create_process_ 000104 auto_create_info uc_create_process_ 000212 code uc_create_process_ 000214 ip uc_create_process_ 000216 length_of_arguments uc_create_process_ 000217 length_of_pit uc_create_process_ 000220 number_of_arguments uc_create_process_ 000222 pdtep uc_create_process_ 000224 pit_size uc_create_process_ 000226 reason uc_create_process_ 000230 satep uc_create_process_ 000232 whoptr uc_create_process_ 000234 ansp uc_create_process_ 000236 pdtp uc_create_process_ 000240 pit_ptr uc_create_process_ 000242 sl_info uc_create_process_ 000512 utep uc_create_process_ 000530 i Setup_PIT 000562 whotab_idx Update_Whotab THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out call_int_this_desc return_mac tra_ext_1 ext_entry int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. act_ctl_$close_account act_ctl_$cp act_ctl_$open_account as_access_audit_$process convert_status_code_ cu_$arg_list_ptr cu_$arg_list_ptr hcs_$truncate_seg hphcs_$create_proc ioa_$rsnnl pdir_volume_manager_$select_pdir_volume sys_log_$general sys_log_$general THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_data_$debug_flag as_data_$pit_ptr as_data_$rs_ptrs as_data_$whoptr error_table_$out_of_sequence LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 60 000376 1 53 000407 471 000411 15 76 000412 122 000413 123 000414 128 000460 129 000461 130 000462 131 000463 133 000464 134 000465 136 000470 146 000471 152 000477 153 000503 154 000510 155 000516 156 000530 157 000533 159 000537 161 000540 163 000541 164 000545 166 000546 167 000552 168 000555 169 000557 171 000561 172 000564 175 000565 180 000566 181 000572 182 000605 187 000653 188 000655 189 000661 190 000665 191 000670 192 000673 193 000676 194 000701 195 000703 196 000705 197 000710 198 000712 199 000714 200 000717 201 000722 202 000724 203 000730 204 000733 206 000737 207 000741 208 000743 209 000746 210 000751 211 000754 212 000757 213 000761 214 000764 215 000766 216 000770 217 000773 218 000776 219 001001 220 001004 221 001006 222 001010 223 001012 224 001014 225 001016 226 001021 227 001023 230 001026 231 001027 232 001032 235 001034 239 001035 240 001036 241 001040 242 001043 243 001045 244 001050 245 001052 246 001055 247 001060 248 001062 250 001070 251 001072 252 001073 253 001077 254 001103 255 001107 256 001113 257 001117 259 001123 260 001125 262 001130 263 001132 264 001134 265 001137 268 001157 269 001161 270 001162 271 001163 272 001165 273 001166 274 001170 275 001177 276 001204 277 001206 278 001210 279 001213 281 001223 282 001224 284 001226 285 001233 287 001246 291 001247 295 001250 297 001257 299 001260 300 001262 302 001267 303 001271 304 001274 305 001276 307 001300 310 001310 311 001314 313 001320 314 001321 315 001323 317 001327 318 001331 322 001341 323 001343 325 001345 329 001417 330 001422 331 001425 333 001431 334 001433 336 001442 339 001445 340 001447 343 001450 344 001451 346 001456 349 001461 350 001463 353 001464 355 001471 357 001472 358 001475 359 001477 360 001502 362 001505 363 001507 366 001514 367 001520 368 001523 371 001524 376 001525 377 001530 378 001540 383 001606 395 001607 401 001615 402 001621 403 001626 404 001634 406 001646 408 001647 411 001650 412 001652 415 001664 416 001677 417 001701 418 001703 419 001706 420 001724 422 001751 423 001760 428 002024 429 002027 430 002031 431 002033 432 002054 433 002063 436 002064 444 002065 448 002071 452 002075 453 002077 454 002100 455 002104 456 002106 457 002112 459 002114 ----------------------------------------------------------- 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