COMPILATION LISTING OF SEGMENT uc_dial_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1029.0 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-18,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-18,GDixon), approve(87-07-13,MCR7737), 36* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 37* A) Correct coding standard violations. 38* B) Standardize format of audit messages. 39* 4) change(87-06-01,GDixon), approve(87-07-13,MCR7737), 40* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 41* A) Expand aliases in "dial DIAL_ID person.project". 42* 5) change(87-06-11,GDixon), approve(87-07-13,MCR7737), 43* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 44* A) Change to call as_access_audit_$channel to audit dialins. 45* END HISTORY COMMENTS */ 46 47 /* format: style4,indattr,insnl */ 48 49 uc_dial_: 50 procedure (P_utep, P_dial_qualifier, P_person_id, P_project_id, 51 P_connection_name, P_connection_access_class_range, P_target_utep, 52 P_code); 53 54 /* Parameters */ 55 56 dcl P_utep ptr parameter; 57 dcl P_dial_qualifier char (*) parameter; 58 dcl P_person_id char (*) parameter; 59 dcl P_project_id char (*) parameter; 60 dcl P_connection_name char (*) parameter; 61 dcl P_connection_access_class_range 62 (2) bit (72) aligned parameter; 63 dcl P_target_utep ptr parameter; 64 dcl P_code fixed bin (35) parameter; 65 66 /* Automatic */ 67 68 dcl 1 auto_channel_audit_info 69 aligned like channel_audit_info automatic; 70 dcl code fixed bin (35) automatic; 71 dcl dial_qualifier char (32) automatic; 72 dcl find_person_project bit (1) aligned automatic; 73 dcl target_person_id char (32) automatic; 74 dcl target_project_id char (32) automatic; 75 dcl target_utep ptr automatic; 76 dcl user_validated bit (1) aligned automatic; 77 78 /* Based */ 79 80 dcl 1 target_ute aligned like ute based (target_utep); 81 82 83 /* Entries */ 84 85 dcl aim_check_$in_range entry (bit (72) aligned, (2) bit (72) aligned) returns (bit (1) aligned); 86 dcl as_access_audit_$channel 87 entry (ptr, ptr, ptr, fixed bin, ptr, char(*)); 88 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 89 dcl hash_$search entry (ptr, char (*), fixed bin (35), fixed bin (35)); 90 dcl pnt_manager_$admin_get_entry 91 entry (char (*), ptr, fixed bin (35)); 92 93 94 /* External */ 95 96 dcl ( 97 as_error_table_$dialnoline, 98 as_error_table_$dialnotup, 99 error_table_$action_not_performed, 100 error_table_$ai_restricted, 101 error_table_$id_not_found 102 ) fixed bin (35) ext static; 103 104 /* Constant */ 105 106 dcl DENIED bit (1) aligned initial ("0"b) internal static options (constant); 107 dcl FALSE bit (1) aligned initial ("0"b) internal static options (constant); 108 dcl GRANTED bit (1) aligned initial ("1"b) internal static options (constant); 109 dcl ME char (8) initial ("uc_dial_") int static options (constant); 110 dcl TRUE bit (1) aligned initial ("1"b) internal static options (constant); 111 112 /* Builtin */ 113 114 dcl (addr, length, null, rtrim, substr) 115 builtin; 116 117 /* Program */ 118 119 code = 0; 120 utep = P_utep; 121 if utep = null () 122 then 123 user_validated = FALSE; 124 else user_validated = TRUE; 125 126 ansp = as_data_$ansp; 127 dutp = as_data_$dutp; 128 autp = as_data_$autp; 129 130 dial_qualifier = P_dial_qualifier; 131 if dial_qualifier = "" 132 then 133 call Abort (as_error_table_$dialnoline); 134 135 if dial_qualifier = "system" 136 then 137 call Abort (error_table_$action_not_performed); 138 139 target_person_id = P_person_id; 140 target_project_id = P_project_id; 141 if target_person_id = "" 142 then 143 find_person_project = FALSE; 144 else do; 145 find_person_project = TRUE; 146 if ^convert_aliases (target_person_id, target_project_id) 147 then call Abort (as_error_table_$dialnotup); 148 end; 149 150 target_utep = find_dialable_process (); 151 if target_utep = null () 152 then 153 call Abort (as_error_table_$dialnotup); 154 155 /**** Mark the UTE has having a client */ 156 target_ute.ndialed_consoles = 157 target_ute.ndialed_consoles + 1; 158 159 /**** Audit the DIALIN */ 160 161 call Audit_dialin (target_utep, GRANTED, ""); 162 163 code = 0; 164 165 RETURN: 166 if code = 0 167 then 168 P_target_utep = target_utep; 169 else P_target_utep = null (); 170 171 P_code = code; 172 return; 173 174 convert_aliases: 175 procedure (rq_person, rq_project) returns (bit (1)); 176 177 dcl rq_person char (32); 178 dcl rq_project char (32); 179 180 dcl code fixed bin (35); 181 dcl satx fixed bin (35); 182 183 call pnt_manager_$admin_get_entry (rq_person, addr (pnte), code); 184 if code = error_table_$id_not_found 185 then return (FALSE); 186 else if code ^= 0 187 then do; 188 call Log_Error (code, 189 "Can't find PNT entry: ^a", rq_person); 190 return (FALSE); 191 end; 192 else rq_person = substr (pnte.user_id, 1, length (rq_person)); 193 194 if rq_project = "" 195 then 196 rq_project = pnte.default_project; 197 else do; 198 call hash_$search (as_data_$sat_htp, rq_project, satx, code); 199 if code ^= 0 200 then return (FALSE); 201 satp = as_data_$satp; 202 satep = addr (sat.project (satx)); 203 if rq_project ^= project.project_id 204 then if rq_project ^= project.alias 205 then do; 206 call Log_Error (-1, 207 "^a: sat.ht has ""^a"", sat has ""^a"" at ^p", rq_project, 208 project.project_id, satep); 209 return (FALSE); 210 end; 211 rq_project = project.project_id; 212 end; 213 214 return (TRUE); 215 end convert_aliases; 216 217 find_dialable_process: 218 procedure () returns (ptr); 219 220 dcl i fixed bin automatic; 221 dcl temp_utep ptr automatic; 222 223 do i = 1 to anstbl.current_size; 224 temp_utep = addr (anstbl.entry (i)); 225 if ok_for_dial (temp_utep) 226 then 227 return (temp_utep); 228 end; 229 230 do i = 1 to dutbl.current_size; 231 temp_utep = addr (dutbl.entry (i)); 232 if ok_for_dial (temp_utep) 233 then 234 return (temp_utep); 235 end; 236 237 do i = 1 to autbl.current_size; 238 temp_utep = addr (autbl.entry (i)); 239 if ok_for_dial (temp_utep) 240 then 241 return (temp_utep); 242 end; 243 244 return (null ()); /* couldn't find any dialable process */ 245 246 ok_for_dial: 247 procedure (P_utep) returns (bit (1) aligned); 248 249 dcl P_utep ptr parameter; 250 251 if P_utep -> ute.active ^= NOW_HAS_PROCESS 252 then 253 return (FALSE); 254 if find_person_project 255 then 256 do; 257 if P_utep -> ute.person ^= target_person_id 258 then 259 return (FALSE); 260 if P_utep -> ute.project ^= target_project_id 261 then 262 return (FALSE); 263 end; 264 else do; /* we want a registered dial server */ 265 if ^P_utep -> ute.registered_dial_server 266 then 267 return (FALSE); 268 end; 269 270 if P_utep -> ute.dial_qualifier ^= dial_qualifier 271 then 272 return (FALSE); 273 if ^P_utep -> ute.at.dialok 274 then 275 return (FALSE); 276 if P_utep -> ute.dial_ev_chn = 0 277 then 278 return (FALSE); 279 280 /**** Now perform access checks (these should be done first) */ 281 if ^aim_check_$in_range (P_utep -> ute.process_authorization, 282 P_connection_access_class_range) 283 then 284 do; 285 code = error_table_$ai_restricted; 286 call Audit_denied_dialin (P_utep, code); 287 return (FALSE); 288 end; 289 290 /**** TBS: We should perform discretionary access control checks too. */ 291 return (TRUE); 292 end ok_for_dial; 293 294 end find_dialable_process; 295 296 Abort: 297 procedure (P_code); 298 299 dcl P_code fixed bin (35) parameter; 300 301 code = P_code; 302 goto RETURN; 303 304 end Abort; 305 306 Audit_denied_dialin: 307 procedure (P_utep, P_code); 308 309 dcl P_utep pointer parameter; 310 dcl P_code fixed bin (35) parameter; 311 dcl reason char (100) aligned automatic; 312 313 if P_code = 0 314 then 315 reason = ""; 316 else 317 call convert_status_code_ (P_code, (""), reason); 318 319 call Audit_dialin (P_utep, DENIED, rtrim(reason)); 320 return; 321 322 end Audit_denied_dialin; 323 324 Audit_dialin: 325 procedure (P_target_utep, grant_sw, reason); 326 327 dcl P_target_utep ptr parameter; 328 dcl grant_sw bit(1) aligned parameter; 329 dcl reason char(*) parameter; 330 331 dcl action fixed bin(17) automatic; 332 dcl target_utep ptr automatic; 333 dcl 1 target_ute aligned like ute based (target_utep); 334 335 target_utep = P_target_utep; 336 337 channel_audit_info_ptr = addr(auto_channel_audit_info); 338 channel_audit_info.channel_name = P_connection_name; 339 channel_audit_info.valid = FALSE; 340 channel_audit_info.valid.service_info = TRUE; 341 channel_audit_info.valid.user_validation_level = TRUE; 342 channel_audit_info.valid.access_class = TRUE; 343 channel_audit_info.valid.access_class_range = TRUE; 344 channel_audit_info.service_info = dial_qualifier; 345 channel_audit_info.user_validation_level = target_ute.initial_ring; 346 channel_audit_info.access_class = target_ute.process_authorization; 347 channel_audit_info.access_class_range = 348 P_connection_access_class_range; 349 350 action = AS_AUDIT_CHANNEL_DIALIN; 351 if ^grant_sw then action = -action; 352 353 call as_access_audit_$channel (null, utep, target_utep, 354 action, addr(channel_audit_info), reason); 355 356 end Audit_dialin; 357 358 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 359 /* */ 360 /* Log_Error: Report errors via sys_log_$general. */ 361 /* */ 362 /* Syntax: call Log_Error (code, ioa_ctl, args); */ 363 /* */ 364 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 365 366 367 Log_Error: 368 procedure options (variable); 369 370 dcl cu_$arg_list_ptr entry returns (ptr); 371 dcl sys_log_$general entry (ptr); 372 373 sl_info = sl_info_code_msg; 374 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 375 sl_info.severity = SL_LOG_BEEP; 376 sl_info.caller = ME; 377 call sys_log_$general (addr (sl_info)); 378 return; 379 380 end Log_Error; 381 382 383 /* format: off */ 384 /* BEGIN INCLUDE FILE ... absentee_user_table.incl.pl1 */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* The absentee user table is the control data base for the absentee */ 1 6 /* facility. It has a header, with scheduling parameters, then one user */ 1 7 /* table entry for each logged-in absentee job. */ 1 8 /* */ 1 9 /* Programs which use this table must also include */ 1 10 /* user_table_header.incl.pl1 and user_table_entry.incl.pl1. */ 1 11 /* */ 1 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 13 1 14 1 15 /****^ HISTORY COMMENTS: 1 16* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 1 17* Replace abs_user_tab.incl.pl1. 1 18* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 1 19* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 20* Use ut_header common to all user control tables. 1 21* END HISTORY COMMENTS */ 1 22 1 23 1 24 dcl AUTBL_version_4 fixed bin int static options (constant) init (4); 1 25 1 26 dcl autp ptr automatic init (null); 1 27 1 28 dcl 1 autbl based (autp) aligned, /* a per system table to store info on absentee processes */ 1 29 2 header like ut_header, /* Header common to all user tables. */ 1 30 1 31 /* Counter elements */ 1 32 2 n_abs_run fixed bin, /* actual number of absentee processes current */ 1 33 2 max_abs_users fixed bin, /* max number of background absentee processes permitted */ 1 34 2 n_background_abs fixed bin, /* number of absentee processes not from foreground queue */ 1 35 2 n_sec_fg fixed bin, /* number of secondary foreground absentee jobs */ 1 36 2 idle_units fixed bin, /* used in adjusting abs_maxu dynamically */ 1 37 2 abs_units fixed bin, /* part of anstbl.n_units used by background absentees */ 1 38 2 n_abs (4) fixed bin, /* number of processes from each background queue */ 1 39 2 qres (4) fixed bin, /* number of slots reserved for each background queue */ 1 40 2 rsc_waiting (-1:4) fixed bin, /* number of requests waiting for resources, from each queue */ 1 41 2 qerr (-1:4) fixed bin, /* number of consecutive errors for q (dropped if > QERR_MAX) */ 1 42 2 cpu_limit (4) fixed bin (35), /* current per-queue cpu time limits */ 1 43 1 44 /* absentee user manager values. */ 1 45 2 defer_channel fixed bin (71), /* IPC for time-defered queue entries */ 1 46 2 absentee_rq_chn fixed bin (71), /* IPC channel for absentee requests */ 1 47 2 last_queue_searched fixed bin, /* highest queue looked at by scheduler */ 1 48 2 debugging fixed bin, /* take asdumps at strategic places */ 1 49 2 control, /* see also whotab.incl.pl1 */ 1 50 3 mnbz bit (1) unal, /* must not be zero */ 1 51 3 abs_maxu_auto bit (1) unal, /* 1 if abs maxu has not been set by operator command */ 1 52 3 abs_maxq_auto bit (1) unal, /* 1 if abs maxq has not been set by operator command */ 1 53 3 abs_qres_auto bit (1) unal, /* 1 if abs qres has not been set by operator command */ 1 54 3 abs_cpu_limit_auto bit (1) unal, /* 1 if abs cpu_limit has not been set by operator command */ 1 55 3 queue_dropped (-1:4) bit (1) unal, /* 1 if queue has been dropped because of errors */ 1 56 3 abs_up bit (1) unal, /* 1 if absentee facility is running */ 1 57 3 abs_stopped bit (1) unal, /* 1 if abs stop command was issued */ 1 58 /* both 1 if we're waiting for the last jobs to log out */ 1 59 3 aum_ctl bit (1) unal, /* for AUM to tell AU to start a new sequence */ 1 60 3 lc_list bit (1) unal, /* for AU to tell AUM that the lc list is non-empty */ 1 61 /* comments in AU and AUM explain aum_ctl and lc_list */ 1 62 3 control_pad (21) bit (1) unal, /* fill out rest of word */ 1 63 2 aum_pad fixed bin, 1 64 1 65 2 entry_pad (80) fixed bin, /* pad table header to 128 words */ 1 66 2 entry (0 refer (autbl.current_size)) like ute; 1 67 1 68 dcl AUTBL_CONTROL_NAMES (15) char(20) varying int static options(constant) init( 1 69 "mnbz", 1 70 "abs_maxu_auto", 1 71 "abs_maxq_auto", 1 72 "abs_qres_auto", 1 73 "abs_cpu_limit_auto", 1 74 "queue_dropped(-1)", 1 75 "queue_dropped( 0)", 1 76 "queue_dropped( 1)", 1 77 "queue_dropped( 2)", 1 78 "queue_dropped( 3)", 1 79 "queue_dropped( 4)", 1 80 "abs_up", 1 81 "abs_stopped", 1 82 "aum_ctl", 1 83 "lc_list"); 1 84 1 85 /* END INCLUDE FILE ... absentee_user_table.incl.pl1 */ 384 385 /* BEGIN include file access_audit_bin_header.incl.pl1 */ 2 2 2 3 /* format: style4 */ 2 4 2 5 /* NOTE: All changes must also be done to access_audit_bin_header.incl.alm */ 2 6 2 7 /* 85-01-18 E. Swenson - renamed to access_audit_bin_header.incl.pl1 */ 2 8 /* 85-01-17 E. Swenson - restructured, added session_uid, changed 2 9* min and max authorization to authorization range. */ 2 10 /* 85-01-07 EJ Sharpe - added min_authorization, cleanup */ 2 11 /* 84-11-15 EJ Sharpe - added event_flags word */ 2 12 /* 84-11-06 EJ Sharpe - added unaligned attr to version and proxy_flag */ 2 13 /* 84-10-24 EJ Sharpe - added the constants */ 2 14 /* 84-09-04 BIM - created */ 2 15 2 16 declare audit_record_ptr pointer; 2 17 2 18 dcl 1 audit_record_header aligned based (audit_record_ptr), 2 19 2 header aligned like arh_header_, 2 20 2 subject aligned like arh_user_info_; 2 21 2 22 dcl 1 audit_record_header_proxy aligned based (audit_record_ptr), 2 23 2 header aligned like arh_header_, 2 24 2 subjects (2) aligned like arh_user_info_; 2 25 2 26 dcl 1 arh_header_ aligned based, 2 27 2 type fixed bin (9) unsigned unaligned, 2 28 2 version fixed bin (9) unsigned unaligned, 2 29 2 flags unaligned, 2 30 3 ( 2 31 subject_is_process, /* binary data in subject is valid */ 2 32 object_is_valid /* There is an object */ 2 33 ) bit (1) unaligned, 2 34 3 pad bit (16) unaligned, 2 35 2 operation_code bit (36) aligned, /* like access_audit_encoded_op */ 2 36 2 event_flags bit (36) aligned, /* like access_audit_eventflags */ 2 37 2 session_uid fixed bin (35); /* uid for the login session */ 2 38 2 39 dcl 1 arh_user_info_ aligned based, 2 40 2 person char (22) unaligned, /* see anonymous bit */ 2 41 2 project char (9) unaligned, /* blank for nologin w/out proj */ 2 42 2 tag char (1) unaligned, 2 43 2 ring fixed bin (3) uns unaligned, 2 44 2 anonymous bit (1) unaligned, 2 45 2 pad3 bit (32) unaligned, 2 46 2 process_id bit (36) aligned, 2 47 2 authorization bit (72) aligned, 2 48 2 authorization_range (2) bit (72) aligned; 2 49 2 50 dcl ARH_TYPE_PROXY fixed bin init (2) 2 51 static options (constant); 2 52 dcl ARH_TYPE_NO_PROXY fixed bin init (1) 2 53 static options (constant); 2 54 dcl ACCESS_AUDIT_HEADER_VERSION_3 fixed bin (9) unsigned 2 55 init (3) static options (constant); 2 56 2 57 /* End include file access_audit_bin_header.incl.pl1 */ 385 386 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* The answer table has one entry per "login instance" whether completed or */ 3 6 /* not. It is connected to the Channel Definition Table by the pointer */ 3 7 /* "channel". The header is used mostly by dialup_. */ 3 8 /* */ 3 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 3 10 /* */ 3 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 12 3 13 /****^ HISTORY COMMENTS: 3 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 3 15* Replace anstbl.incl.pl1. 3 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 3 17* Add anstbl.session_uid_counter. 3 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 3 19* Add anstbl.message_update_time and named constants for values of 3 20* anstbl.session, and to make all padding explicit. 3 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 3 22* Change "entry" to a placeholder so as not to require 3 23* user_table_entry.incl.pl1. 3 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 3 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 3 26* Added the flag login_server_present which indicates whether a login 3 27* server request has been received. This is used to determine whether 3 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 3 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 3 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 3 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 32* A) Moved constants for ute.pw_flags.mask_ctl into 3 33* user_table_entry.incl.pl1. 3 34* B) Added common table header to all user tables. 3 35* END HISTORY COMMENTS */ 3 36 3 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 38 /* */ 3 39 /* The anstbl structure below is divided into sections. Each section begins */ 3 40 /* with a comment describing the elements in the section. Elements are */ 3 41 /* placed within a section, based upon their function or the programs that */ 3 42 /* use them. Each section begins on a double word and is an even number of */ 3 43 /* words long. */ 3 44 /* */ 3 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 46 3 47 3 48 3 49 /* format: style4 */ 3 50 3 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 3 52 3 53 dcl ansp ptr automatic init (null); 3 54 3 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 3 56 2 header like ut_header, /* Header common to all user tables. */ 3 57 3 58 /* Counter elements. */ 3 59 2 nlin fixed bin, /* number of active lines */ 3 60 2 mxlin fixed bin, /* maximum number of active lines */ 3 61 2 n_users fixed bin, /* number of logged-in users */ 3 62 2 max_users fixed bin, /* maximum number of users allowed */ 3 63 2 n_units fixed bin, /* number of logged in units */ 3 64 2 max_units fixed bin, /* maximum number of units */ 3 65 2 n_sessions fixed bin, /* number of Multics sessions */ 3 66 2 n_pad fixed bin, 3 67 3 68 /* Name elements. */ 3 69 2 sysdir char (64) unal, /* name of main system control directory */ 3 70 2 as_tty char (8) unal, /* name of main answering service device. */ 3 71 3 72 /* Login elements. */ 3 73 2 login_word char (8) unal, /* login word if special_session=1 */ 3 74 2 session char (8) unal, /* session indicator */ 3 75 2 special_message char (128) unal, /* message to be printed for special session */ 3 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 3 77 2 message_lng fixed bin, /* length of special message */ 3 78 2 login_pad fixed bin, 3 79 3 80 /* Table update elements. */ 3 81 2 lock_count fixed bin, /* global lock for all system control tables */ 3 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 3 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 3 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 3 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 3 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 3 87 2 update_pad fixed bin, 3 88 3 89 /* dialup_ data values. */ 3 90 2 current_time fixed bin (71), /* Time of last transaction */ 3 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 3 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 3 93 3 94 /* load_ctl_ elements. */ 3 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 3 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 3 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 3 98 /* load_ctl_ load leveling desired response range: */ 3 99 2 response_high fixed bin, /* bad if user response time slower than this */ 3 100 2 response_low fixed bin, /* bad if user response time faster than this */ 3 101 2 load_ctl_pad fixed bin, 3 102 3 103 /* Login server request server data. */ 3 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 3 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 3 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 3 107 3 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 3 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 3 110 3 contents (UTE_SIZE) fixed bin; 3 111 3 112 /* constants */ 3 113 3 114 /* values for anstbl.session */ 3 115 3 116 dcl (AT_NORMAL init ("normal "), 3 117 AT_SPECIAL init ("special "), 3 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 3 119 3 120 dcl UTE_SIZE fixed bin internal static initial (300); 3 121 3 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 386 387 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 4 2 4 3 /* format: style4 */ 4 4 4 5 /* This file must be kept in sync with as_data_.alm */ 4 6 4 7 /****^ HISTORY COMMENTS: 4 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 4 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 4 10* Remove references to the 963 and 029 preaccess commands and remove support 4 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 4 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 4 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 4 14* Add references to as_data_ entrypoints added for Login Server. 4 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 4 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 4 17* Added new user signal field of inacrcvd (14) to handle inactivity response 4 18* from user. 4 19* END HISTORY COMMENTS */ 4 20 4 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 4 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 4 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 4 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 4 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 4 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 4 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 4 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 4 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 4 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 4 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 4 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 4 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 4 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 4 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 4 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 4 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 4 38 dcl as_data_$g115_dim char (32) ext static; 4 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 4 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 4 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 4 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 4 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 4 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 4 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 4 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 4 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 4 48 dcl as_data_$request_priority fixed bin ext static; 4 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 4 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 4 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 4 52 dcl as_data_$satp ptr ext static; /* SAT */ 4 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 4 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 4 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 4 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 4 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 4 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 4 59 dcl as_data_$version char (8) ext static; /* AS version */ 4 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 4 61 4 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 4 63 2 n_login_args fixed bin, 4 64 2 pad fixed bin, 4 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 4 66 4 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 4 68 2 n_signals fixed bin, 4 69 2 pad fixed bin, 4 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 4 71 4 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 4 73 2 n_system_signals fixed bin, 4 74 2 pad fixed bin, 4 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 4 76 4 77 dcl as_data_$login_words fixed bin ext static aligned, 4 78 /* interactive login words */ 4 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 4 80 2 n_words fixed bin, 4 81 2 pad fixed bin, 4 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 4 83 4 84 dcl as_data_$debug_flag bit (1) aligned external static; 4 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 4 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 4 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 4 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 4 89 4 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 387 388 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 5 2 5 3 /****^ HISTORY COMMENTS: 5 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 5 5* Initial coding. 5 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 5 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 5 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 5 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 5 10* B) Add channel audit actions for dialin, dialout and dial system. 5 11* C) Correct declaration of as_channel_audit_record_.pad2. 5 12* D) Revise channel_audit_info. 5 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 5 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 5 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 5 16* END HISTORY COMMENTS */ 5 17 5 18 /* format: style2 */ 5 19 5 20 /* This include file describes the binary data associated with 5 21* Answering Service audit records. */ 5 22 5 23 /**** This first structure defines the Identification and Authentication 5 24* (I&A) audit records associated with login attempts for interactive 5 25* and daemon logins */ 5 26 5 27 dcl 1 as_ia_audit_record_int_dmn 5 28 structure aligned based, 5 29 2 header like audit_record_header aligned, 5 30 2 record like as_ia_audit_record_; 5 31 5 32 /**** This one is for absentee logins which are not proxy absentees */ 5 33 5 34 dcl 1 as_ia_audit_record_abs 5 35 structure aligned based, 5 36 2 header like audit_record_header aligned, 5 37 2 record like as_ia_audit_record_, 5 38 2 absentee_input_path 5 39 char (168); 5 40 5 41 dcl 1 as_ia_audit_record_abs_proxy 5 42 structure aligned based, 5 43 2 header like audit_record_header aligned, 5 44 2 record like as_ia_audit_record_, 5 45 2 absentee_input_path 5 46 char (168), 5 47 2 proxy_user char (32); 5 48 5 49 /**** The following structure is common to all the I&A records. It 5 50* contains the relevant information about the I&A process. */ 5 51 5 52 dcl 1 as_ia_audit_record_ structure aligned based, 5 53 2 type fixed bin (9) unsigned unaligned, 5 54 2 version fixed bin (9) unsigned unaligned, 5 55 2 process_type fixed bin (3) unsigned unaligned, 5 56 2 min_ring fixed bin (3) unsigned unaligned, 5 57 2 max_ring fixed bin (3) unsigned unaligned, 5 58 2 pad1 bit (9) unaligned, 5 59 2 attributes like user_attributes, 5 60 2 audit_flags bit (36) aligned, 5 61 2 channel char (32) aligned, 5 62 2 terminal_type char (32) aligned, 5 63 2 answerback char (4) aligned; 5 64 5 65 /**** The following structure represents the binary information 5 66* associated with a communications channel access audit message. */ 5 67 5 68 dcl 1 as_channel_audit_record 5 69 structure aligned based, 5 70 2 header like audit_record_header aligned, 5 71 2 record like as_channel_audit_record_; 5 72 5 73 5 74 dcl 1 as_channel_audit_record_ 5 75 structure aligned based, 5 76 2 type fixed bin (9) unsigned unaligned, 5 77 2 version fixed bin (9) unsigned unaligned, 5 78 2 flags unaligned, 5 79 3 channel_info_valid 5 80 bit (1) unaligned, 5 81 3 current_access_class_valid 5 82 bit (1) unaligned, 5 83 3 pad1 bit (16) unaligned, 5 84 2 channel_name char (32), 5 85 2 current_access_class 5 86 (2) bit (72) aligned, 5 87 2 access_class_range (2) bit (72) aligned, 5 88 2 current_service_type 5 89 fixed bin (17) unaligned, 5 90 2 service_type fixed bin (17) unaligned, 5 91 2 terminal_type char (32), 5 92 2 authenticated_user aligned, 5 93 3 personid char (22) unaligned, 5 94 3 projectid char (9) unaligned, 5 95 3 pad2 bit (9) unaligned; 5 96 5 97 /**** The following structure represents the binary information 5 98* associated with a dial service audit record */ 5 99 5 100 dcl 1 as_dial_service_audit_record 5 101 structure aligned based, 5 102 2 header like audit_record_header aligned, 5 103 2 record like as_dial_service_audit_record_; 5 104 5 105 dcl 1 as_dial_service_audit_record_ 5 106 structure aligned based, 5 107 2 type fixed bin (9) unsigned unaligned, 5 108 2 version fixed bin (9) unsigned unaligned, 5 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 5 110 2 flags unaligned, 5 111 3 registered_server 5 112 bit (1) unaligned, 5 113 3 privileged_server 5 114 bit (1) unaligned, 5 115 3 pad1 bit (13) unaligned, 5 116 2 dial_qualifier char (32); 5 117 5 118 /**** The following structure is used by dial_ctl_ to pass the required 5 119* information to as_access_audit_. This structure is necessary since 5 120* the data is not available in the user_table_entry or cdte. */ 5 121 5 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 5 123 5 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 5 125 2 server_ring fixed bin (3) unaligned, 5 126 2 flags unaligned, 5 127 3 registered bit (1) unaligned, 5 128 3 privileged bit (1) unaligned, 5 129 3 pad1 bit (31) unaligned, 5 130 2 dial_qualifier char (32); 5 131 5 132 /**** The following structure is used by dial_ctl_ to pass relevant information 5 133* to as_access_audit_. The channel name is passed here when we do not 5 134* have a cdtep, for instance. */ 5 135 5 136 dcl channel_audit_info_ptr ptr; 5 137 5 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 5 139 2 channel_name char (32), 5 140 2 valid, 5 141 (3 service_info, 5 142 3 access_class, 5 143 3 access_class_range, 5 144 3 user_validation_level) 5 145 bit(1) unal, 5 146 3 mbz bit(32) unal, 5 147 2 service_info char (32), 5 148 2 access_class bit(72) aligned, 5 149 2 access_class_range (2) bit(72) aligned, 5 150 2 user_validation_level 5 151 fixed bin (3); 5 152 5 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 5 154 fixed bin (9) initial (1) internal static options (constant); 5 155 5 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 5 157 fixed bin (9) initial (1) internal static options (constant); 5 158 5 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 5 160 fixed bin (9) initial (1) internal static options (constant); 5 161 5 162 dcl ( 5 163 AS_AUDIT_PROCESS_CREATE 5 164 initial (1), 5 165 AS_AUDIT_PROCESS_DESTROY 5 166 initial (2), 5 167 AS_AUDIT_PROCESS_CONNECT 5 168 initial (3), 5 169 AS_AUDIT_PROCESS_DISCONNECT 5 170 initial (4), 5 171 AS_AUDIT_PROCESS_TERMINATE 5 172 initial (5) 5 173 ) fixed bin (17) internal static options (constant); 5 174 5 175 dcl ( 5 176 AS_AUDIT_CHANNEL_ATTACH 5 177 initial (1), 5 178 AS_AUDIT_CHANNEL_DETACH 5 179 initial (2), 5 180 AS_AUDIT_CHANNEL_DIALIN 5 181 initial (3), 5 182 AS_AUDIT_CHANNEL_DIALOUT 5 183 initial (4), 5 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 5 185 initial (5) 5 186 ) fixed bin (17) internal static options (constant); 5 187 5 188 dcl ( 5 189 AS_AUDIT_DIALID_START initial (1), 5 190 AS_AUDIT_DIALID_STOP initial (2) 5 191 ) fixed bin (17) internal static options (constant); 5 192 5 193 dcl AS_AUDIT_CHANNEL_ACTIONS 5 194 (5) char (12) internal static options (constant) 5 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 5 196 dcl AS_AUDIT_CHANNEL_DIRECTION 5 197 (5) char (4) internal static options (constant) 5 198 initial ("to", "from", "to", "from", "to"); 5 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 5 200 (5) char (12) internal static options (constant) 5 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 5 202 dcl AS_AUDIT_PROCESS_ACTIONS 5 203 (5) char (10) internal static options (constant) 5 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 5 205 5 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 388 389 /* BEGIN INCLUDE FILE ... daemon_user_table.incl.pl1 */ 6 2 6 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 6 4 /* */ 6 5 /* The daemon_user_table has one entry per daemon. Daemons are logged in by */ 6 6 /* operator command or automatically. If they do any I/O, it is done via */ 6 7 /* the message coordinator. */ 6 8 /* */ 6 9 /* Programs using this include file must also use user_table_header.incl.pl1 */ 6 10 /* and user_table_entry.incl.pl1. */ 6 11 /* */ 6 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 6 13 6 14 6 15 /****^ HISTORY COMMENTS: 6 16* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 6 17* Initially coded from dutbl.incl.pl1. 6 18* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 6 19* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 20* A) Add use of ut_header common to all user control tables. 6 21* B) Corrected padding prior to first ute entry. 6 22* END HISTORY COMMENTS */ 6 23 6 24 6 25 dcl DUTBL_version_4 fixed bin int static init (4); /* version of this declaration */ 6 26 6 27 dcl dutp ptr automatic init (null); 6 28 6 29 dcl 1 dutbl based (dutp) aligned, /* Daemon user table */ 6 30 2 header like ut_header, /* Header common to all user tables. */ 6 31 6 32 2 active_count fixed bin, /* the count of active daemons managed by DUM_ */ 6 33 6 34 2 entry_pad (117) fixed bin, /* pad to 128 words */ 6 35 2 entry (0 refer (dutbl.current_size)) like ute; /* daemon user entries */ 6 36 6 37 /* END INCLUDE FILE ... daemon_user_table.incl.pl1 */ 389 390 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 7 2 7 3 /* format: style4 */ 7 4 7 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 7 6 7 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 7 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 7 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 7 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 7 11* WAIT_DISCARD_WAKEUP 7 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 7 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 7 14**/ 7 15 7 16 /****^ HISTORY COMMENTS: 7 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 7 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 7 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 7 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 22* Add named constants for instance tags. 7 23* END HISTORY COMMENTS */ 7 24 7 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 7 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 7 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 7 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 7 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 7 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 7 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 7 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 7 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 7 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 7 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 7 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 7 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 7 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 7 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 7 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 7 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 7 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 7 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 7 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 7 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 7 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 7 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 7 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 7 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 7 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 7 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 7 52 ) fixed bin internal static options (constant); 7 53 7 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 7 55 /* names of ute.destroy_flag values */ 7 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 7 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 7 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 7 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 7 60 "wait remove"); /* -13 */ 7 61 7 62 /* Values for "cdte.state", typewriter state. */ 7 63 7 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 7 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 7 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 7 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 7 68 ) fixed bin internal static options (constant); 7 69 7 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 7 71 /* names of cdte.state values */ 7 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 7 73 7 74 /* Values for "cdte.in_use" and "ate.active" */ 7 75 7 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 7 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 7 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 7 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 7 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 7 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 7 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 7 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 7 84 ) fixed bin internal static options (constant); 7 85 7 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 7 87 /* names of ute.active values */ 7 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 7 89 7 90 7 91 /**** Values for ute.tag */ 7 92 7 93 dcl (TAG_INTERACTIVE init("a"), 7 94 TAG_UFT init("f"), 7 95 TAG_ABSENTEE init("m"), 7 96 TAG_PROXY init("p"), 7 97 TAG_DAEMON init("z") 7 98 ) char(1) int static options(constant); 7 99 7 100 7 101 /**** Following are constants used to indicate to the process termination 7 102* handler the reason for the process termination. They are used by 7 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 7 104* uc_ls_destroy_request_. */ 7 105 7 106 dcl ( 7 107 PT_FPE initial (1), 7 108 PT_LOGOUT initial (4), 7 109 PT_NEW_PROC_AUTH initial (13), 7 110 PT_HANGUP initial (20), 7 111 PT_SHUTDOWN initial (21), 7 112 PT_BUMP initial (22), 7 113 PT_ALARM initial (23), 7 114 PT_DETACH initial (24), 7 115 PT_UNBUMP initial (25), 7 116 PT_OPERATOR_TERMINATE initial (27), 7 117 PT_DESTROY_REQUEST initial (30), 7 118 PT_NEW_PROC_REQUEST initial (31) 7 119 ) fixed bin (17) internal static options (constant); 7 120 7 121 /**** Values for ute.preempted: 7 122* -1 user unbumped after term signal sent 7 123* 0 user unbumped; ignore alarm___ 7 124* 1 value internally used in load_ctl_ 7 125* 2 user bumped; when alarm___ comes in, send term signal 7 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 7 127* signals come in 7 128* 4 user bumped; process sick, so destroy without sending term signal 7 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 7 130* termsgnl). */ 7 131 7 132 dcl ( 7 133 PREEMPT_UNBUMP initial (-1), 7 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 7 135 PREEMPT_LOAD_CTL initial (1), 7 136 PREEMPT_BUMPED initial (2), 7 137 PREEMPT_TERM_SENT initial (3), 7 138 PREEMPT_BUMPED_NO_TERM initial (4), 7 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 7 140 ) fixed bin (17) internal static options(constant); 7 141 7 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 7 143 "unbumped", 7 144 "not bumped, ignore alarm___", 7 145 "load_ctl_", 7 146 "bumped", 7 147 "bumped, trm_ sent", 7 148 "bumped without trm_", 7 149 "bumped, termsgnl received"); 7 150 7 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 390 391 /* BEGIN INCLUDE FILE ... pnt_entry.incl.pl1 */ 8 2 8 3 /* Modified 790702 by C. Hornig for MSF PNT */ 8 4 /* Modified 84-07-18 BIM for V2, aim ranges, long passwords. */ 8 5 /* Modified 84-09-25 for operator attribute... -E. A. Ranzenbach */ 8 6 /* Modified 85-03-05 E. Swenson for user_validated_time */ 8 7 8 8 /**** The ms_table_mgr_ has fixed sized entries, for now. 8 9* The presence of a version field and some pad allow 8 10* us to have incrementally-upgraded PNTE's in a future change. 8 11**/ 8 12 8 13 /**** The conversion to V2 copies the existing encrypted passwords. 8 14* Since the 32 character scrambling algorithm will not give the 8 15* same results, the short_XX flags indicate that the old scrambler 8 16* should be used. The short flags are automatically turned off 8 17* by calls to update the password with the long-scrambled form. */ 8 18 8 19 /* format: style4,insnl,delnl */ 8 20 8 21 declare pntep pointer automatic; 8 22 declare 1 pnt_entry based (pntep) aligned, /* declaration of a single PNT entry */ 8 23 2 version fixed bin, 8 24 2 private aligned, 8 25 3 pw_flags aligned, 8 26 4 short_pw bit (1) unal, /* ON password is eight-character form */ 8 27 4 short_network_pw bit (1) unal, /* ON card password is eight character form. */ 8 28 3 password character (32), /* person's password */ 8 29 3 network_password character (32), 8 30 2 public, 8 31 3 user_id character (32), /* user ID (for alias entries */ 8 32 3 alias character (8), 8 33 3 default_project character (16), /* user's default project */ 8 34 3 flags, /* one-bit flags */ 8 35 4 has_password bit (1) unaligned, 8 36 4 has_network_password bit (1) unaligned, 8 37 4 trap bit (1) unal, /* If this password is used, holler */ 8 38 4 lock bit (1) unal, /* prevent login if on. */ 8 39 4 nochange bit (1) unal, /* user cannot change password */ 8 40 4 must_change bit unal, /* user must change password at next login */ 8 41 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 8 42 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 8 43 4 last_bad_pw_reported bit (1) unal, /* ON if user has NOT been told about last bad password */ 8 44 4 operator bit (1) unal, /* ON if user can login as an operator... */ 8 45 4 pads bit (26) unal, 8 46 3 n_good_pw fixed bin, /* Number of good passwords */ 8 47 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 8 48 3 n_bad_pw_since_good fixed bin, /* Number of wrong passwords since good */ 8 49 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 8 50 8 51 3 time_last_good_pw fixed bin (71), 8 52 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 8 53 3 bad_pw_term_id character (4), /* where bad password from */ 8 54 3 bad_pw_line_type fixed bin (17), /* ... */ 8 55 3 bad_pw_term_type character (32), 8 56 3 password_timelock fixed bin (71), /* Password is locked up until here */ 8 57 3 person_authorization (2) bit (72), /* authorization of this person */ 8 58 3 default_person_authorization bit (72), /* default authorization of this person */ 8 59 3 audit bit (36), /* audit flags for person */ 8 60 3 pad1 bit (36), /* pad to even word boundary */ 8 61 3 user_validated_time fixed bin (71), /* time this PNT entry was last validated by an administrator */ 8 62 2 pad (80 - 64) bit (36) aligned; 8 63 8 64 declare PNT_ENTRY_VERSION_2 fixed bin init (2) int static options (constant); 8 65 8 66 /* END INCLUDE FILE ... pnte.incl.pl1 */ 391 392 393 dcl 1 pnte structure aligned like pnt_entry; 394 /* BEGIN INCLUDE FILE ... sat.incl.pl1 */ 9 2 9 3 9 4 9 5 9 6 /****^ HISTORY COMMENTS: 9 7* 1) change(86-09-05,Parisek), approve(87-06-17,MCR7570), 9 8* audit(87-06-15,Hirneisen), install(87-08-06,MR12.1-1066): 9 9* Expand comment line of project.state to include the renamed state (state = 9 10* 3). 9 11* END HISTORY COMMENTS */ 9 12 9 13 9 14 9 15 /* Modified 740723 by PG to add AIM info */ 9 16 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 9 17 /* Modified May 1976 by T. Casey to add project cutoff limits */ 9 18 /* Modified May 1978 by T. Casey to add pdir_quota */ 9 19 /* Modified November 1978 by T. Casey to add max_(fore back)ground and abs_foreground_cpu_limit */ 9 20 /* Modified July 1979 by J. N. R. Barnecut to support multiple rate structures. (UNCA) */ 9 21 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 9 22 /* Modified 1984-07-05 BIM range of authorizations, version 3 */ 9 23 9 24 dcl (SAT_version init (3), /* version 2 of this declaration */ 9 25 9 26 SAT_header_lth init (466), /* length in words of SAT header */ 9 27 SAT_entry_lth init (80), /* length in words of SAT entry */ 9 28 9 29 SAT_project_name_length init (9) /* proper length of project.project_id */ 9 30 ) fixed bin internal static options (constant); 9 31 9 32 dcl 1 sat based (satp) aligned, 9 33 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 34 9 35 2 max_size fixed bin, /* max number of entries table can grow */ 9 36 2 current_size fixed bin, /* current size of table (in entries) */ 9 37 2 version fixed bin, /* version number of table (word 32) */ 9 38 2 freep fixed bin, /* free chain ptr. 0 if no free entries */ 9 39 2 n_projects fixed bin, /* number of entries actually used */ 9 40 2 pad_was_max_users bit (36) aligned, 9 41 2 max_units fixed bin, /* maximum number of login-units per session */ 9 42 2 pad_was_max_prim bit (36) aligned, 9 43 2 uwt_size fixed bin, /* size of User Weight Table */ 9 44 2 uwt (24) aligned, /* User Weight Table */ 9 45 3 initproc char (64) unaligned, /* user's initial procedure */ 9 46 3 units fixed bin, /* weight of initial procedure */ 9 47 2 system_admin (2) char (32) unal, /* system administrator ID */ 9 48 2 pad1 (4) fixed bin, /* padding to 466 wds */ 9 49 2 project (3258), /* The SAT entries. 255K segment. */ 9 50 3 pad (80) fixed bin; /* each entry is 80 words long */ 9 51 9 52 9 53 dcl 1 project based (satep) aligned, /* declaration of a single SAT entry */ 9 54 2 state fixed bin, /* state 1 = normal, 0 = free, 2 = deleted, 3 = renamed */ 9 55 2 project_id char (12) unaligned, /* project's name */ 9 56 2 project_dir char (64) unaligned, /* project's directory */ 9 57 2 pdt_ptr pointer, /* pointer to current PDT */ 9 58 2 max_users fixed bin, /* maximum number of users from project */ 9 59 2 n_users fixed bin, /* current number */ 9 60 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 9 61 2 admin (4) aligned, /* list of project's administrators */ 9 62 3 userid char (30) unal, /* administrator's user-id (personid.projectid) */ 9 63 3 pad char (2) unal, 9 64 2 cutoff char (1), /* if project is cut off, why. */ 9 65 2 min_ring fixed bin, /* lowest ring for project */ 9 66 2 max_ring fixed bin, /* highest ring for project */ 9 67 2 alias char (8) unal, /* project alias */ 9 68 2 group char (8) unal, /* default group for this project */ 9 69 2 grace_max fixed bin, /* maximum bump grace */ 9 70 2 audit bit (36), /* audit flags for project */ 9 71 2 project_authorization (2) bit (72), /* authorization of this project */ 9 72 2 groups (2) char (8) unal, /* authorized groups for this project */ 9 73 2 days_to_cutoff fixed bin (17) unaligned, /* these figures are as of last running of daily_summary */ 9 74 2 pct_balance fixed bin (17) unaligned, /* they are used for warning message printing only */ 9 75 2 dollars_to_cutoff float bin, /* and are not to be taken as up-to-date figures */ 9 76 2 pdir_quota fixed bin (17) unaligned, /* max pdir quota allowed for project */ 9 77 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and background */ 9 78 2 max_background fixed bin (9) unsigned unaligned, /* processes that a user on this project can have */ 9 79 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit on foreground absentee jobs */ 9 80 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0=default rates ) */ 9 81 2 satpad1 fixed bin (9) unsigned unaligned, 9 82 2 satpad (1) bit (36) aligned, /* pad to 80 words */ 9 83 2 chain fixed bin; /* if free entry, chain */ 9 84 9 85 /* END INCLUDE FILE ... sat.incl.pl1 */ 394 395 396 dcl satep ptr; 397 dcl satp ptr; 398 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 11 2 11 3 11 4 /****^ HISTORY COMMENTS: 11 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 11 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 11 7* Added sl_info structure and associated named constants for use in calling 11 8* sys_log_$general. 11 9* END HISTORY COMMENTS */ 11 10 11 11 11 12 /* format: style4 */ 11 13 11 14 dcl ( 11 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 11 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 11 17 SL_TYPE init (-1), /* type message */ 11 18 SL_LOG_SILENT init (0), /* log message */ 11 19 SL_LOG init (1), /* log & type message */ 11 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 11 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 11 22 ) fixed bin internal static options (constant); 11 23 11 24 dcl 1 sl_info aligned automatic, 11 25 2 version char(8), /* structure version */ 11 26 2 arg_list_ptr ptr, /* arg_list with values */ 11 27 2 loc, 11 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 11 29 /* These flags control where the corresponding data item is found.*/ 11 30 /* -1: data appears in the corresponding structure element below */ 11 31 /* 0: data is not present anywhere */ 11 32 /* +N: data is Nth item in argument list pointed to by */ 11 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 11 34 /* corresponding structure element. */ 11 35 /* if data = +N: */ 11 36 /* argN is data_ptr, argN+1 is data_len */ 11 37 /* if ioa_msg = +N: */ 11 38 /* argN+1, ... argLAST are arguments substituted into the */ 11 39 /* ioa_msg control string. The formatted msg is returned. */ 11 40 2 flags, 11 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 11 42 3 flags_pad bit(35) unal, 11 43 2 mode fixed bin, /* as-mode, command-mode */ 11 44 2 severity fixed bin, /* error severity */ 11 45 2 code fixed bin(35), /* error table code */ 11 46 2 caller char(65) varying, /* caller refname$entryname*/ 11 47 2 data, /* binary data ptr/length */ 11 48 3 data_ptr ptr, 11 49 3 data_lth fixed bin(21), 11 50 2 class char(10) varying, /* binary data class */ 11 51 2 ioa_msg char(500) varying; /* formatted message text */ 11 52 11 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 54 /* */ 11 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 11 56 /* their data types should be as shown in the structure above, except that */ 11 57 /* character strings should be char(*) nonvarying. */ 11 58 /* */ 11 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 60 11 61 /* value for sl_info.version */ 11 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 11 63 11 64 /* values for sl_info.mode */ 11 65 dcl (SL_INFO_as_mode init(1), 11 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 11 67 11 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 11 69 dcl (SL_INFO_arg_given_in_structure init(-1), 11 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 11 71 11 72 11 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 74 /* */ 11 75 /* The following static structures are commonly used in the Login Server */ 11 76 /* user control software. */ 11 77 /* */ 11 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 79 11 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 11 81 11 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 11 83 2 version char(8) init ("sl_info1"), 11 84 2 arg_list_ptr ptr init (null), 11 85 2 loc, 11 86 3 (mode init (-1), 11 87 severity init ( 1), 11 88 code init ( 2), 11 89 caller init (-1), 11 90 data init ( 0), 11 91 class init ( 0), 11 92 ioa_msg init ( 3)) fixed bin, 11 93 2 flags, 11 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 95 3 flags_pad bit(35) unal init ("0"b), 11 96 2 mode fixed bin init ( 1), 11 97 2 severity fixed bin init ( 0), 11 98 2 code fixed bin(35) init ( 0), 11 99 2 caller char(65) varying init (""), 11 100 2 data, 11 101 3 data_ptr ptr init (null), 11 102 3 data_lth fixed bin(21) init ( 0), 11 103 2 class char(10) varying init (""), 11 104 2 ioa_msg char(500) varying init (""); 11 105 11 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 11 107 11 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 11 109 2 version char(8) init ("sl_info1"), 11 110 2 arg_list_ptr ptr init (null), 11 111 2 loc, 11 112 3 (mode init (-1), 11 113 severity init ( 1), 11 114 code init ( 0), 11 115 caller init (-1), 11 116 data init ( 0), 11 117 class init ( 0), 11 118 ioa_msg init ( 2)) fixed bin, 11 119 2 flags, 11 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 121 3 flags_pad bit(35) unal init ("0"b), 11 122 2 mode fixed bin init ( 1), 11 123 2 severity fixed bin init ( 0), 11 124 2 code fixed bin(35) init ( 0), 11 125 2 caller char(65) varying init (""), 11 126 2 data, 11 127 3 data_ptr ptr init (null), 11 128 3 data_lth fixed bin(21) init ( 0), 11 129 2 class char(10) varying init (""), 11 130 2 ioa_msg char(500) varying init (""); 11 131 11 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 11 133 11 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 11 135 2 version char(8) init ("sl_info1"), 11 136 2 arg_list_ptr ptr init (null), 11 137 2 loc, 11 138 3 (mode init (-1), 11 139 severity init ( 1), 11 140 code init ( 0), 11 141 caller init (-1), 11 142 data init ( 0), 11 143 class init ( 0), 11 144 ioa_msg init ( 2)) fixed bin, 11 145 2 flags, 11 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 11 147 3 flags_pad bit(35) unal init ("0"b), 11 148 2 mode fixed bin init ( 1), 11 149 2 severity fixed bin init ( 0), 11 150 2 code fixed bin(35) init ( 0), 11 151 2 caller char(65) varying init (""), 11 152 2 data, 11 153 3 data_ptr ptr init (null), 11 154 3 data_lth fixed bin(21) init ( 0), 11 155 2 class char(10) varying init (""), 11 156 2 ioa_msg char(500) varying init (""); 11 157 11 158 11 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 11 160 11 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 11 162 2 version char(8) init ("sl_info1"), 11 163 2 arg_list_ptr ptr init (null), 11 164 2 loc, 11 165 3 (mode init (-1), 11 166 severity init ( 1), 11 167 code init ( 2), 11 168 caller init (-1), 11 169 data init ( 0), 11 170 class init ( 0), 11 171 ioa_msg init ( 4)) fixed bin, 11 172 2 flags, 11 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 174 3 flags_pad bit(35) unal init ("0"b), 11 175 2 mode fixed bin init ( 1), 11 176 2 severity fixed bin init ( 0), 11 177 2 code fixed bin(35) init ( 0), 11 178 2 caller char(65) varying init (""), 11 179 2 data, 11 180 3 data_ptr ptr init (null), 11 181 3 data_lth fixed bin(21) init ( 0), 11 182 2 class char(10) varying init (""), 11 183 2 ioa_msg char(500) varying init (""); 11 184 11 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 11 186 11 187 dcl 1 sl_info_code_msg aligned int static options(constant), 11 188 2 version char(8) init ("sl_info1"), 11 189 2 arg_list_ptr ptr init (null), 11 190 2 loc, 11 191 3 (mode init (-1), 11 192 severity init (-1), 11 193 code init ( 1), 11 194 caller init (-1), 11 195 data init ( 0), 11 196 class init ( 0), 11 197 ioa_msg init ( 2)) fixed bin, 11 198 2 flags, 11 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 200 3 flags_pad bit(35) unal init ("0"b), 11 201 2 mode fixed bin init ( 1), 11 202 2 severity fixed bin init ( 0), 11 203 2 code fixed bin(35) init ( 0), 11 204 2 caller char(65) varying init (""), 11 205 2 data, 11 206 3 data_ptr ptr init (null), 11 207 3 data_lth fixed bin(21) init ( 0), 11 208 2 class char(10) varying init (""), 11 209 2 ioa_msg char(500) varying init (""); 11 210 11 211 11 212 /* Syntax: call Trace (ioa_ctl, args); */ 11 213 11 214 dcl 1 sl_info_msg aligned int static options(constant), 11 215 2 version char(8) init ("sl_info1"), 11 216 2 arg_list_ptr ptr init (null), 11 217 2 loc, 11 218 3 (mode init (-1), 11 219 severity init (-1), 11 220 code init ( 0), 11 221 caller init (-1), 11 222 data init ( 0), 11 223 class init ( 0), 11 224 ioa_msg init ( 1)) fixed bin, 11 225 2 flags, 11 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 227 3 flags_pad bit(35) unal init ("0"b), 11 228 2 mode fixed bin init ( 1), 11 229 2 severity fixed bin init ( 0), 11 230 2 code fixed bin(35) init ( 0), 11 231 2 caller char(65) varying init (""), 11 232 2 data, 11 233 3 data_ptr ptr init (null), 11 234 3 data_lth fixed bin(21) init ( 0), 11 235 2 class char(10) varying init (""), 11 236 2 ioa_msg char(500) varying init (""); 11 237 11 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 398 399 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 12 2 12 3 12 4 /****^ HISTORY COMMENTS: 12 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 12 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 12 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 12 8* attribute switches. 12 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 12 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 12 12* be deleted. 12 13* B) Add constants identifying attributes that can be changed by user at 12 14* login, etc. 12 15* END HISTORY COMMENTS */ 12 16 12 17 12 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 12 19 12 20 /* format: style4 */ 12 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 12 22 (2 administrator bit (1), /* 1 system administrator privileges */ 12 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 12 24 2 nobump bit (1), /* 2 user cannot be bumped */ 12 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 12 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 12 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 12 28* . of same project (distinct from "nobump") */ 12 29 2 nolist bit (1), /* 7 don't list user on "who" */ 12 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 12 31 2 multip bit (1), /* 9 user may have several processes */ 12 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 12 33 2 brief bit (1), /* 11 no login or logout message */ 12 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 12 35 2 vhomedir bit (1), /* 13 user may change homedir */ 12 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 12 37 2 sb_ok bit (1), /* 15 user may be standby */ 12 38 2 pm_ok bit (1), /* 16 user may be primary */ 12 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 12 40 2 daemon bit (1), /* 18 user may login as daemon */ 12 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 12 42 2 no_warning bit (1), /* 20 no warning message */ 12 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 12 44* . in PDT: this user has an individual load control group */ 12 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 12 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 12 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 12 48 2 pad bit (12)) unaligned; 12 49 12 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 12 51 ("none", /* 0 */ 12 52 "administrator", /* 1 */ 12 53 "primary_line", /* 2 */ 12 54 "nobump", /* 3 */ 12 55 "guaranteed_login", /* 4 */ 12 56 "anonymous", /* 5 */ 12 57 "nopreempt", /* 6 */ 12 58 "nolist", /* 7 */ 12 59 "dialok", /* 8 */ 12 60 "multip", /* 9 */ 12 61 "bumping", /* 10 */ 12 62 "brief", /* 11 */ 12 63 "vinitproc", /* 12 */ 12 64 "vhomedir", /* 13 */ 12 65 "nostartup", /* 14 */ 12 66 "no_secondary", /* 15 */ 12 67 "no_prime", /* 16 */ 12 68 "no_eo", /* 17 */ 12 69 "daemon", /* 18 */ 12 70 "", /* 19 vdim OBSOLETE */ 12 71 "no_warning", /* 20 */ 12 72 "igroup", /* 21 */ 12 73 "save_pdir", /* 22 */ 12 74 "disconnect_ok", /* 23 */ 12 75 "save_on_disconnect"); /* 24 */ 12 76 12 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 12 78 ("null", /* 0 */ 12 79 "admin", /* 1 */ 12 80 "", "", /* 2 - 3 */ 12 81 "guar", /* 4 */ 12 82 "anon", /* 5 */ 12 83 "", "", /* 6 - 7 */ 12 84 "dial", /* 8 */ 12 85 "multi_login", /* 9 */ 12 86 "preempting", /* 10 */ 12 87 "", /* 11 */ 12 88 "v_process_overseer", /* 12 */ 12 89 "v_home_dir", /* 13 */ 12 90 "no_start_up", /* 14 */ 12 91 "no_sec", /* 15 */ 12 92 "no_primary", /* 16 */ 12 93 "no_edit_only", /* 17 */ 12 94 "op_login", /* 18 */ 12 95 "", /* 19 */ 12 96 "nowarn", /* 20 */ 12 97 "", "", "", /* 21 - 23 */ 12 98 "save"); /* 24 */ 12 99 12 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 12 101 options(constant) init("000000000010000000010000000000000000"b); 12 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 12 103 12 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 12 105 options(constant) init("000000000010000000010000000000000000"b); 12 106 /* PDT value for (brief, no_warning) is default */ 12 107 12 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 12 109 options(constant) init("000100000110010000010000000000000000"b); 12 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 12 111 13 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 13 2 13 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 4 /* */ 13 5 /* This include file describes the attributes of an absentee job. It is */ 13 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 13 7 /* and PIT.incl.pl1. */ 13 8 /* */ 13 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 10 13 11 /****^ HISTORY COMMENTS: 13 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 13 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 14* Separated abs_attributes from the request structure 13 15* (abs_message_format.incl.pl1) so that the identical structure could be 13 16* used in the ute structure (user_table_entry.incl.pl1). 13 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 13 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 19* Added ABS_ATTRIBUTE_NAMES array. 13 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 13 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 13 22* Added the no_start_up flag. SCP6367 13 23* END HISTORY COMMENTS */ 13 24 13 25 dcl 1 user_abs_attributes aligned based, 13 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 13 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 13 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 13 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 13 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 13 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 13 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 13 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 13 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 13 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 13 36 2 attributes_pad bit (26) unaligned; 13 37 13 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 13 39 "restartable", 13 40 "user_deferred_until_time", 13 41 "proxy", 13 42 "set_bit_cnt", 13 43 "time_in_gmt", 13 44 "user_deferred_indefinitely", 13 45 "secondary_ok", 13 46 "truncate_absout", 13 47 "restarted", 13 48 "no_start_up"); 13 49 13 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 13 51 12 112 12 113 12 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 399 400 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 14 2 14 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 4 /* */ 14 5 /* This include file requires that the user include */ 14 6 /* user_attributes.incl.pl1 as well. It also includes */ 14 7 /* abs_attributes.incl.pl1 itself. */ 14 8 /* */ 14 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 14 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 14 11 /* */ 14 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 13 14 14 /****^ HISTORY COMMENTS: 14 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 14 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 14 17* This comment for hcom. 14 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 14 19* anstbl.incl.pl1, and dutbl.incl.pl1. 14 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 14 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 14 22* 84-07-12 BIM added min_process_authorization 14 23* 84-12-31 Keith Loepere added pdir_dir_quota 14 24* 85-01-16 by E. Swenson to add ute.session_uid 14 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 14 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 14 27* Added fields for DSA login server support. 14 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 14 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 14 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 14 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 14 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 14 33* Added disconnection_rel_minutes. 14 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 14 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 36* Changed structure under ute.abs_attributes to use like structure in 14 37* abs_attributes.incl.pl1. This allows the same attributes to be used 14 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 14 39* file. 14 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 14 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 14 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 14 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 45* A) Global reorganization to locate things by type of data. 14 46* B) Eliminate ute.uflags.logged_in. 14 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 14 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 49* A) Reduced overlength person and project fields to proper length. 14 50* B) Adjusted dialed-console section to begin on even word boundary. 14 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 14 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 53* Add ute.line_type. 14 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 14 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 14 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 14 57* for the storage. SCP6367 14 58* END HISTORY COMMENTS */ 14 59 14 60 /* format: style4 */ 14 61 14 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 63 /* */ 14 64 /* Each of the named sections below defines a type of data. Typing comes */ 14 65 /* from data associated with the ute entry itself, with the person, with */ 14 66 /* login argument data, from the main user of the data (eg, dialup_, */ 14 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 14 68 /* and is an even number of words long. The total structure is 300 decimal */ 14 69 /* words long. */ 14 70 /* */ 14 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 72 14 73 14 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 14 75 14 76 dcl utep pointer automatic init (null); 14 77 14 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 14 79 14 80 /* Variables which give state of this entry */ 14 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 14 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 14 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 14 84 2 next_free fixed bin, /* points to previous free entry */ 14 85 14 86 /* Information user gave about person_id associated with this entry. */ 14 87 2 person char (24) unal, /* user's name */ 14 88 2 project char (12) unal, /* project of absentee user */ 14 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 14 90 2 tag_pad bit (27) unal, 14 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 14 92 2 login_flags, /* flags for login data */ 14 93 3 cpw bit (1) unal, /* flag for wish to change password */ 14 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 14 95 3 special_pw unal, /* dial or slave */ 14 96 4 dial_pw bit (1) unal, /* true if dial -user */ 14 97 4 slave_pw bit (1) unal, /* true if slave -user */ 14 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 14 99 3 cda bit (1) unal, /* flag to change default authorization */ 14 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 14 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 14 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 14 103 3 pw_pad bit (25) unal, /* spare parts */ 14 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 14 105 /* Must remain last in pw_flags so it does not */ 14 106 /* appear in PW_FLAG_VALUES array below. */ 14 107 2 generated_pw char (8) unal, /* user must type this as new password */ 14 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 14 109 2 process_authorization bit (72), /* access_authorization of this process */ 14 110 14 111 /* Information user gave about process associated with this entry. */ 14 112 2 outer_module char (32) unal, /* Name of console dim */ 14 113 2 home_dir char (64) unal, /* initial home directory */ 14 114 2 init_proc char (64) unal, /* name of login responder */ 14 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 14 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 14 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 14 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 14 119 2 initial_ring fixed bin, /* ring process will be started in */ 14 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 14 121 2 ln_args fixed bin, /* length of string containing arguments */ 14 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 14 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 14 124 14 125 /* Most of the following information is relevant only to absentee processes */ 14 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 14 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 14 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 14 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 14 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 14 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 14 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 14 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 14 134* (but see uflags.adjust_abs_q_no). */ 14 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 14 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 14 137 2 abs_flags, 14 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 14 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 14 140 3 abs_flags_pad bit (34) unal, 14 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 14 142 2 sender char (32) unal, /* name of RJE station that job is from */ 14 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 14 144 2 proxy_project char (9) unal, 14 145 2 proxy_project_pad char (3) unal, 14 146 2 abs_pad fixed bin, 14 147 14 148 /* Information about process actually created */ 14 149 2 proc_id bit (36), /* process id of absentee process */ 14 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 14 151 2 process_authorization_range (2) bit (72) aligned, 14 152 2 audit bit (36), /* audit flags for user */ 14 153 2 lot_size fixed bin, /* Size of linkage offset table */ 14 154 2 kst_size fixed bin, /* Size of process known segment table */ 14 155 2 cls_size fixed bin, /* Size of process combined linkage */ 14 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 14 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 14 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 14 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 14 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 14 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 14 162 2 pdir_pad fixed bin(17) unal, 14 163 2 process_pad fixed bin, 14 164 14 165 /* Information about primary terminal associated with this entry */ 14 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 14 167 2 terminal_type char (32) unaligned, /* terminal type */ 14 168 2 line_type fixed bin, /* line type */ 14 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 14 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 14 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 14 172 14 173 /* Variables useful for dialed terminals */ 14 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 14 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 14 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 14 177 2 dial_server_flags, 14 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 14 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 14 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 14 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 14 182 14 183 /* Information about usage/accounting. Device usage meters are in a 14 184* separate segment, "devtab" */ 14 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 14 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 14 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 14 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 14 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 14 190 2 last_update_time fixed bin (71), /* time of last account update */ 14 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 14 192 2 ndevices fixed bin, /* Count of attached devices */ 14 193 2 device_head fixed bin, /* Table index of head of device chain */ 14 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 14 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 14 196 2 rs_number_pad bit(30) unal, 14 197 2 usage_pad fixed bin, 14 198 14 199 /* Information for dialup_ (control variables). */ 14 200 2 event fixed bin (71), /* event associated with channel or user manager */ 14 201 2 uprojp ptr, /* ptr to user project sat entry */ 14 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 14 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 14 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 14 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 14 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 14 207 2 count fixed bin, /* counter for logins and dialups */ 14 208 2 n_processes fixed bin, /* number of processes created in this session */ 14 209 2 lock_value fixed bin, /* number of locks set for this entry */ 14 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 14 211 2 login_code char (8) unal, /* login command from LOGIN line */ 14 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 14 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 14 214 2 logout_type char (4) unal, /* type of logout */ 14 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 14 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 14 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 14 218 2 work_class fixed bin, /* work class used by priority scheduler */ 14 219 2 group char (8) unal, /* party group identifier */ 14 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 14 221 14 222 2 uflags, /* Miscellaneous flags */ 14 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 14 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 14 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 14 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 14 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 14 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 14 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 14 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 14 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 14 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 14 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 14 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 14 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 14 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 14 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 14 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 14 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 14 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 14 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 14 242 3 uflags_pad bit (17) unal, 14 243 14 244 /* Information used by load_ctl_ for the process */ 14 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 14 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 14 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 14 248 14 249 14 250 /* Information for login server */ 14 251 2 login_server_info, 14 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 14 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 14 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 14 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 14 256 3 process_id bit (36) aligned, /* process_id of login server */ 14 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 14 258 14 259 /* values for ute.process_type */ 14 260 14 261 dcl (PT_INTERACTIVE initial (1), 14 262 PT_ABSENTEE initial (2), 14 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 14 264 14 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 14 266 "INVALID-TYPE", 14 267 "interactive", 14 268 "absentee", 14 269 "daemon"); 14 270 14 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 14 272 "UNKNOWN-TABLE", 14 273 "answer_table", 14 274 "absentee_user_table", 14 275 "daemon_user_table"); 14 276 14 277 14 278 /* values for ute.pw_flags.mask_ctl */ 14 279 14 280 dcl (DO_MASK init ("00"b), 14 281 DONT_MASK init ("01"b), 14 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 14 283 14 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 14 285 "do_mask", "dont_mask", "derive_mask", ""); 14 286 14 287 14 288 /* names for ute.pw_flags */ 14 289 14 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 14 291 "cpw", 14 292 "generate_pw", 14 293 "dial_pw", 14 294 "slave_pw", 14 295 "cdp", 14 296 "cda", 14 297 "auth_given", 14 298 "noprint", 14 299 "operator"); 14 300 14 301 /* names for ute.uflags */ 14 302 14 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 14 304 "dont_call_init_admin", 14 305 "ip_given", 14 306 "ss_given", 14 307 "lvs_attached", 14 308 "send_initial_string", 14 309 "adjust_abs_q_no", 14 310 "foreground_secondary_ok", 14 311 "foreground_job", 14 312 "sus_sent", 14 313 "suspended", 14 314 "ignore_cpulimit", 14 315 "deferral_logged", 14 316 "save_if_disconnected", 14 317 "disconnected", 14 318 "disconnected_list", 14 319 "proc_create_ok", 14 320 "activity_can_unbump", 14 321 "fpe_causes_logout", 14 322 "user_specified_immediate"); 14 323 14 324 /* names for ute.abs_flags */ 14 325 14 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 14 327 "abs_run", 14 328 "notify"); 14 329 14 330 /* names of ute.dial_server_flags */ 14 331 14 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 14 333 "registered", 14 334 "privileged"); 14 335 14 336 /* values of ute.login_result */ 14 337 14 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 14 339 "logged in", 14 340 "login failed, hangup", 14 341 "login failed, try again"); 14 342 14 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 400 401 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 15 2 15 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 4 /* */ 15 5 /* This include file declares the header shared by the answer_table, */ 15 6 /* absentee_user_table and daemon_user_table include files. */ 15 7 /* */ 15 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 9 15 10 /****^ HISTORY COMMENTS: 15 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 15 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 15 13* Initial coding. 15 14* END HISTORY COMMENTS */ 15 15 15 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 15 17 2 header_version fixed bin, /* version of the header (3) */ 15 18 2 entry_version fixed bin, /* version of user table entries */ 15 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 15 20 2 header_length fixed bin, /* length of the header */ 15 21 2 max_size fixed bin, /* max number of entries in this table */ 15 22 2 current_size fixed bin, /* actual size of table (in entries) */ 15 23 2 number_free fixed bin, /* number of free entries in the table. */ 15 24 2 first_free fixed bin, /* index of first entry in the free list. */ 15 25 2 as_procid bit (36), /* process ID of user table manager process */ 15 26 2 ut_header_pad fixed bin; 15 27 15 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 401 402 403 end uc_dial_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0938.1 uc_dial_.pl1 >special_ldd>install>MR12.2-1047>uc_dial_.pl1 384 1 08/06/87 0913.4 absentee_user_table.incl.pl1 >ldd>include>absentee_user_table.incl.pl1 385 2 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 386 3 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 387 4 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 388 5 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 389 6 08/06/87 0912.9 daemon_user_table.incl.pl1 >ldd>include>daemon_user_table.incl.pl1 390 7 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 391 8 03/15/85 0953.1 pnt_entry.incl.pl1 >ldd>include>pnt_entry.incl.pl1 394 9 08/06/87 1416.6 sat.incl.pl1 >ldd>include>sat.incl.pl1 9-34 10 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 398 11 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 399 12 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 12-112 13 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 400 14 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.incl.pl1 401 15 08/06/87 0913.6 user_table_header.incl.pl1 >ldd>include>user_table_header.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. AS_AUDIT_CHANNEL_DIALIN constant fixed bin(17,0) initial dcl 5-175 ref 350 DENIED 000262 constant bit(1) initial dcl 106 set ref 319* FALSE constant bit(1) initial dcl 107 ref 121 141 184 190 199 209 251 257 260 265 270 273 276 287 339 GRANTED 000252 constant bit(1) initial dcl 108 set ref 161* ME 000250 constant char(8) initial packed unaligned dcl 109 ref 376 NOW_HAS_PROCESS constant fixed bin(17,0) initial dcl 7-76 ref 251 P_code parameter fixed bin(35,0) dcl 64 in procedure "uc_dial_" set ref 49 171* P_code parameter fixed bin(35,0) dcl 299 in procedure "Abort" ref 296 301 P_code parameter fixed bin(35,0) dcl 310 in procedure "Audit_denied_dialin" set ref 306 313 316* P_connection_access_class_range parameter bit(72) array dcl 61 set ref 49 281* 347 P_connection_name parameter char packed unaligned dcl 60 ref 49 338 P_dial_qualifier parameter char packed unaligned dcl 57 ref 49 130 P_person_id parameter char packed unaligned dcl 58 ref 49 139 P_project_id parameter char packed unaligned dcl 59 ref 49 140 P_target_utep parameter pointer dcl 63 in procedure "uc_dial_" set ref 49 165* 169* P_target_utep parameter pointer dcl 327 in procedure "Audit_dialin" ref 324 335 P_utep parameter pointer dcl 56 in procedure "uc_dial_" ref 49 120 P_utep parameter pointer dcl 249 in procedure "ok_for_dial" set ref 246 251 257 260 265 270 273 276 281 286* P_utep parameter pointer dcl 309 in procedure "Audit_denied_dialin" set ref 306 319* SL_LOG_BEEP constant fixed bin(17,0) initial dcl 11-14 ref 375 TRUE constant bit(1) initial dcl 110 ref 124 145 214 291 340 341 342 343 UTE_SIZE constant fixed bin(17,0) initial dcl 3-120 ref 224 224 access_class 21 based bit(72) level 2 in structure "channel_audit_info" dcl 5-138 in procedure "uc_dial_" set ref 346* access_class 10(01) based bit(1) level 3 in structure "channel_audit_info" packed packed unaligned dcl 5-138 in procedure "uc_dial_" set ref 342* access_class_range 23 based bit(72) array level 2 in structure "channel_audit_info" dcl 5-138 in procedure "uc_dial_" set ref 347* access_class_range 10(02) based bit(1) level 3 in structure "channel_audit_info" packed packed unaligned dcl 5-138 in procedure "uc_dial_" set ref 343* action 000100 automatic fixed bin(17,0) dcl 331 set ref 350* 351* 351 353* active based fixed bin(17,0) level 2 dcl 14-78 ref 251 addr builtin function dcl 114 ref 183 183 202 224 231 238 337 353 353 377 377 aim_check_$in_range 000010 constant entry external dcl 85 ref 281 alias 74 based char(8) level 2 packed packed unaligned dcl 9-53 ref 203 ansp 000170 automatic pointer initial dcl 3-53 set ref 126* 3-53* 223 224 anstbl based structure level 1 dcl 3-55 arg_list_ptr 2 000322 automatic pointer level 2 dcl 11-24 set ref 374* arh_header_ based structure level 1 dcl 2-26 arh_user_info_ based structure level 1 dcl 2-39 as_access_audit_$channel 000012 constant entry external dcl 86 ref 353 as_channel_audit_record_ based structure level 1 dcl 5-74 as_data_$ansp 000034 external static pointer dcl 4-26 ref 126 as_data_$autp 000036 external static pointer dcl 4-31 ref 128 as_data_$dutp 000040 external static pointer dcl 4-37 ref 127 as_data_$sat_htp 000042 external static pointer dcl 4-51 set ref 198* as_data_$satp 000044 external static pointer dcl 4-52 ref 201 as_dial_service_audit_record_ based structure level 1 dcl 5-105 as_error_table_$dialnoline 000022 external static fixed bin(35,0) dcl 96 set ref 131* as_error_table_$dialnotup 000024 external static fixed bin(35,0) dcl 96 set ref 146* 151* as_ia_audit_record_ based structure level 1 dcl 5-52 at 100 based structure level 2 dcl 14-78 audit_record_header based structure level 1 dcl 2-18 autbl based structure level 1 dcl 1-28 auto_channel_audit_info 000100 automatic structure level 1 dcl 68 set ref 337 autp 000166 automatic pointer initial dcl 1-26 set ref 128* 1-26* 237 238 caller 17 000322 automatic varying char(65) level 2 dcl 11-24 set ref 376* channel_audit_info based structure level 1 dcl 5-138 set ref 353 353 channel_audit_info_ptr 000172 automatic pointer dcl 5-136 set ref 337* 338 339 340 341 342 343 344 345 346 347 353 353 channel_name based char(32) level 2 dcl 5-138 set ref 338* code 000602 automatic fixed bin(35,0) dcl 180 in procedure "convert_aliases" set ref 183* 184 186 188* 198* 199 code 000130 automatic fixed bin(35,0) dcl 70 in procedure "uc_dial_" set ref 119* 163* 165 171 285* 286* 301* convert_status_code_ 000014 constant entry external dcl 88 ref 316 cu_$arg_list_ptr 000046 constant entry external dcl 370 ref 374 current_size 5 based fixed bin(17,0) level 3 in structure "anstbl" dcl 3-55 in procedure "uc_dial_" ref 223 current_size 5 based fixed bin(17,0) level 3 in structure "autbl" dcl 1-28 in procedure "uc_dial_" ref 237 current_size 5 based fixed bin(17,0) level 3 in structure "dutbl" dcl 6-29 in procedure "uc_dial_" ref 230 default_project 34 000176 automatic char(16) level 3 dcl 393 set ref 194 dial_ev_chn 352 based fixed bin(71,0) level 2 dcl 14-78 ref 276 dial_qualifier 343 based char(22) level 2 in structure "ute" packed packed unaligned dcl 14-78 in procedure "uc_dial_" ref 270 dial_qualifier 000131 automatic char(32) packed unaligned dcl 71 in procedure "uc_dial_" set ref 130* 131 135 270 dial_qualifier 343 based char(22) level 2 in structure "target_ute" packed packed unaligned dcl 333 in procedure "Audit_dialin" ref 344 dial_server_flags 351 based structure level 2 dcl 14-78 dialok 100(07) based bit(1) level 3 packed packed unaligned dcl 14-78 ref 273 dutbl based structure level 1 dcl 6-29 dutp 000174 automatic pointer initial dcl 6-27 set ref 127* 6-27* 230 231 entry 200 based structure array level 2 in structure "dutbl" dcl 6-29 in procedure "uc_dial_" set ref 231 entry 200 based structure array level 2 in structure "autbl" dcl 1-28 in procedure "uc_dial_" set ref 238 entry 200 based structure array level 2 in structure "anstbl" dcl 3-55 in procedure "uc_dial_" set ref 224 error_table_$action_not_performed 000026 external static fixed bin(35,0) dcl 96 set ref 135* error_table_$ai_restricted 000030 external static fixed bin(35,0) dcl 96 ref 285 error_table_$id_not_found 000032 external static fixed bin(35,0) dcl 96 ref 184 find_person_project 000141 automatic bit(1) dcl 72 set ref 141* 145* 254 grant_sw parameter bit(1) dcl 328 ref 324 351 hash_$search 000016 constant entry external dcl 89 ref 198 header based structure level 2 in structure "autbl" dcl 1-28 in procedure "uc_dial_" header based structure level 2 in structure "anstbl" dcl 3-55 in procedure "uc_dial_" header based structure level 2 in structure "dutbl" dcl 6-29 in procedure "uc_dial_" i 000612 automatic fixed bin(17,0) dcl 220 set ref 223* 224* 230* 231* 237* 238* initial_ring 101 based fixed bin(17,0) level 2 dcl 333 ref 345 length builtin function dcl 114 ref 192 ndialed_consoles 342 based fixed bin(17,0) level 2 dcl 80 set ref 156* 156 null builtin function dcl 114 ref 121 151 169 1-26 3-53 6-27 14-76 244 353 353 person 4 based char(24) level 2 packed packed unaligned dcl 14-78 ref 257 pnt_entry based structure level 1 dcl 8-22 pnt_manager_$admin_get_entry 000020 constant entry external dcl 90 ref 183 pnte 000176 automatic structure level 1 dcl 393 set ref 183 183 process_authorization 24 based bit(72) level 2 in structure "target_ute" dcl 333 in procedure "Audit_dialin" ref 346 process_authorization 24 based bit(72) level 2 in structure "ute" dcl 14-78 in procedure "uc_dial_" set ref 281* project 722 based structure array level 2 in structure "sat" dcl 9-32 in procedure "uc_dial_" set ref 202 project based structure level 1 dcl 9-53 in procedure "uc_dial_" project 12 based char(12) level 2 in structure "ute" packed packed unaligned dcl 14-78 in procedure "uc_dial_" ref 260 project_id 1 based char(12) level 2 packed packed unaligned dcl 9-53 set ref 203 206* 211 public 22 000176 automatic structure level 2 dcl 393 reason parameter char packed unaligned dcl 329 in procedure "Audit_dialin" set ref 324 353* reason 000644 automatic char(100) dcl 311 in procedure "Audit_denied_dialin" set ref 313* 316* 319 319 registered_dial_server 351 based bit(1) level 3 packed packed unaligned dcl 14-78 ref 265 rq_person parameter char(32) packed unaligned dcl 177 set ref 174 183* 188* 192* 192 rq_project parameter char(32) packed unaligned dcl 178 set ref 174 194 194* 198* 203 203 206* 211* rtrim builtin function dcl 114 ref 319 319 sat based structure level 1 dcl 9-32 satep 000316 automatic pointer dcl 396 set ref 202* 203 203 206 206* 211 satp 000320 automatic pointer dcl 397 set ref 201* 202 satx 000603 automatic fixed bin(35,0) dcl 181 set ref 198* 202 service_info 10 based bit(1) level 3 in structure "channel_audit_info" packed packed unaligned dcl 5-138 in procedure "uc_dial_" set ref 340* service_info 11 based char(32) level 2 in structure "channel_audit_info" dcl 5-138 in procedure "uc_dial_" set ref 344* severity 15 000322 automatic fixed bin(17,0) level 2 dcl 11-24 set ref 375* sl_info 000322 automatic structure level 1 dcl 11-24 set ref 373* 377 377 sl_info_code_msg 000000 constant structure level 1 dcl 11-187 ref 373 substr builtin function dcl 114 ref 192 sys_log_$general 000050 constant entry external dcl 371 ref 377 target_person_id 000142 automatic char(32) packed unaligned dcl 73 set ref 139* 141 146* 257 target_project_id 000152 automatic char(32) packed unaligned dcl 74 set ref 140* 146* 260 target_ute based structure level 1 dcl 333 in procedure "Audit_dialin" target_ute based structure level 1 dcl 80 in procedure "uc_dial_" target_utep 000102 automatic pointer dcl 332 in procedure "Audit_dialin" set ref 335* 344 345 346 353* target_utep 000162 automatic pointer dcl 75 in procedure "uc_dial_" set ref 150* 151 156 156 161* 165 temp_utep 000614 automatic pointer dcl 221 set ref 224* 225* 225 231* 232* 232 238* 239* 239 user_abs_attributes based structure level 1 dcl 13-25 user_attributes based structure level 1 dcl 12-21 user_id 22 000176 automatic char(32) level 3 dcl 393 set ref 192 user_validated 000164 automatic bit(1) dcl 76 set ref 121* 124* user_validation_level 10(03) based bit(1) level 3 in structure "channel_audit_info" packed packed unaligned dcl 5-138 in procedure "uc_dial_" set ref 341* user_validation_level 27 based fixed bin(3,0) level 2 in structure "channel_audit_info" dcl 5-138 in procedure "uc_dial_" set ref 345* ut_header based structure level 1 dcl 15-16 ute based structure level 1 dcl 14-78 utep 000572 automatic pointer initial dcl 14-76 set ref 120* 121 14-76* 353* valid 10 based structure level 2 dcl 5-138 set ref 339* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 13-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 14-326 ACCESS_AUDIT_HEADER_VERSION_3 internal static fixed bin(9,0) initial unsigned dcl 2-54 ACTIVE_VALUES internal static char(18) initial array dcl 7-86 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 12-77 ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 3-51 ARH_TYPE_NO_PROXY internal static fixed bin(17,0) initial dcl 2-52 ARH_TYPE_PROXY internal static fixed bin(17,0) initial dcl 2-50 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 5-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 5-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 5-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 5-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 5-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 5-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 5-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 5-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 5-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 5-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 5-162 AS_AUDIT_PROCESS_CREATE internal static fixed bin(17,0) initial dcl 5-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 5-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 5-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 5-162 AS_AUDIT_RECORD_CHN_VERSION_1 internal static fixed bin(9,0) initial dcl 5-156 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 5-159 AS_AUDIT_RECORD_IA_VERSION_1 internal static fixed bin(9,0) initial dcl 5-153 AT_NORMAL internal static char(8) initial packed unaligned dcl 3-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 3-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 3-116 AUTBL_CONTROL_NAMES internal static varying char(20) initial array dcl 1-68 AUTBL_version_4 internal static fixed bin(17,0) initial dcl 1-24 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 14-280 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 14-332 DONT_MASK internal static bit(2) initial packed unaligned dcl 14-280 DO_MASK internal static bit(2) initial packed unaligned dcl 14-280 DUTBL_version_4 internal static fixed bin(17,0) initial dcl 6-25 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 14-338 MASK_CTL_NAMES internal static varying char(12) initial array dcl 14-284 NOW_DIALED internal static fixed bin(17,0) initial dcl 7-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 7-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 7-76 NOW_FREE internal static fixed bin(17,0) initial dcl 7-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 7-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 7-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 7-76 PNT_ENTRY_VERSION_2 internal static fixed bin(17,0) initial dcl 8-64 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 7-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 7-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 14-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 14-261 PT_ALARM internal static fixed bin(17,0) initial dcl 7-106 PT_BUMP internal static fixed bin(17,0) initial dcl 7-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 14-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 7-106 PT_DETACH internal static fixed bin(17,0) initial dcl 7-106 PT_FPE internal static fixed bin(17,0) initial dcl 7-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 7-106 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 14-261 PT_LOGOUT internal static fixed bin(17,0) initial dcl 7-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 7-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 7-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 7-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 7-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 7-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 14-290 SAT_entry_lth internal static fixed bin(17,0) initial dcl 9-24 SAT_header_lth internal static fixed bin(17,0) initial dcl 9-24 SAT_project_name_length internal static fixed bin(17,0) initial dcl 9-24 SAT_version internal static fixed bin(17,0) initial dcl 9-24 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 11-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 11-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 11-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 11-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 11-62 SL_LOG internal static fixed bin(17,0) initial dcl 11-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 11-14 SL_LOG_SILENT internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 11-14 STATE_VALUES internal static char(15) initial array dcl 7-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 14-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 7-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 7-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 7-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 7-93 TAG_UFT internal static char(1) initial packed unaligned dcl 7-93 TRA_VEC_VALUES internal static char(32) initial array dcl 7-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 7-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 7-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 7-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 7-64 UFLAG_NAMES internal static varying char(24) initial array dcl 14-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 12-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 12-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 12-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 12-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 14-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 7-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 7-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 7-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 7-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 7-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 7-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 7-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 7-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 7-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 7-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 7-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 7-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 7-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 7-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 7-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 7-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 7-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 7-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 7-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 7-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 7-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 7-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 7-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 7-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 7-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 7-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 7-25 as_channel_audit_record based structure level 1 dcl 5-68 as_data_$BS external static char(1) dcl 4-21 as_data_$CR external static char(1) dcl 4-22 as_data_$abs_dim external static char(32) packed unaligned dcl 4-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 4-24 as_data_$acsdir external static char(168) packed unaligned dcl 4-25 as_data_$as_procid external static bit(36) dcl 4-27 as_data_$as_ring external static fixed bin(3,0) dcl 4-28 as_data_$as_tty automatic char(6) packed unaligned dcl 4-29 as_data_$asmtp external static pointer dcl 4-30 as_data_$buzzardp external static pointer dcl 4-32 as_data_$cdtp external static pointer dcl 4-33 as_data_$debug_flag external static bit(1) dcl 4-84 as_data_$default_weight external static fixed bin(35,0) dcl 4-34 as_data_$devtabp external static pointer dcl 4-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 4-36 as_data_$g115_dim external static char(32) packed unaligned dcl 4-38 as_data_$lct_initialized external static bit(1) dcl 4-39 as_data_$lct_size external static fixed bin(17,0) dcl 4-40 as_data_$login_args external static structure level 1 dcl 4-62 as_data_$login_words external static fixed bin(17,0) dcl 4-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 4-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 4-87 as_data_$ls_message_buffer_ptr external static pointer dcl 4-88 as_data_$ls_request_server_info_ptr external static pointer dcl 4-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 4-41 as_data_$mgtp external static pointer dcl 4-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 4-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 4-44 as_data_$pdtdir external static char(168) packed unaligned dcl 4-45 as_data_$pit_ptr external static pointer dcl 4-46 as_data_$rcpdir external static char(168) packed unaligned dcl 4-47 as_data_$request_priority external static fixed bin(17,0) dcl 4-48 as_data_$rs_ptrs external static pointer array dcl 4-49 as_data_$rtdtp external static pointer dcl 4-50 as_data_$signal_types external static structure level 1 dcl 4-67 as_data_$suffix external static char(2) array packed unaligned dcl 4-53 as_data_$sysdir external static char(168) packed unaligned dcl 4-54 as_data_$system_signal_types external static structure level 1 dcl 4-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 4-55 as_data_$terminet_tabs_string external static varying char(144) dcl 4-56 as_data_$tty_dim external static char(32) packed unaligned dcl 4-57 as_data_$update_priority external static fixed bin(17,0) dcl 4-58 as_data_$version external static char(8) packed unaligned dcl 4-59 as_data_$whoptr external static pointer dcl 4-60 as_data_login_words based structure level 1 dcl 4-77 as_dial_service_audit_record based structure level 1 dcl 5-100 as_ia_audit_record_abs based structure level 1 dcl 5-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 5-41 as_ia_audit_record_int_dmn based structure level 1 dcl 5-27 audit_record_header_proxy based structure level 1 dcl 2-22 audit_record_ptr automatic pointer dcl 2-16 dial_server_info based structure level 1 dcl 5-124 dial_server_info_ptr automatic pointer dcl 5-122 pntep automatic pointer dcl 8-21 sl_info_msg internal static structure level 1 dcl 11-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 11-161 sl_info_sev_code_msg internal static structure level 1 dcl 11-82 sl_info_sev_coded_msg internal static structure level 1 dcl 11-134 sl_info_sev_msg internal static structure level 1 dcl 11-108 NAMES DECLARED BY EXPLICIT CONTEXT. Abort 001270 constant entry internal dcl 296 ref 131 135 146 151 Audit_denied_dialin 001275 constant entry internal dcl 306 ref 286 Audit_dialin 001366 constant entry internal dcl 324 ref 161 319 Log_Error 001527 constant entry internal dcl 367 ref 188 206 RETURN 000546 constant label dcl 165 ref 302 convert_aliases 000563 constant entry internal dcl 174 ref 146 find_dialable_process 001030 constant entry internal dcl 217 ref 150 ok_for_dial 001146 constant entry internal dcl 246 ref 225 232 239 uc_dial_ 000331 constant entry external dcl 49 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2064 2136 1616 2074 Length 2664 1616 52 512 246 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_dial_ 586 external procedure is an external procedure. convert_aliases internal procedure shares stack frame of external procedure uc_dial_. find_dialable_process internal procedure shares stack frame of external procedure uc_dial_. ok_for_dial internal procedure shares stack frame of external procedure uc_dial_. Abort internal procedure shares stack frame of external procedure uc_dial_. Audit_denied_dialin internal procedure shares stack frame of external procedure uc_dial_. Audit_dialin 100 internal procedure is called during a stack extension. Log_Error 70 internal procedure is declared options(variable). STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME Audit_dialin 000100 action Audit_dialin 000102 target_utep Audit_dialin uc_dial_ 000100 auto_channel_audit_info uc_dial_ 000130 code uc_dial_ 000131 dial_qualifier uc_dial_ 000141 find_person_project uc_dial_ 000142 target_person_id uc_dial_ 000152 target_project_id uc_dial_ 000162 target_utep uc_dial_ 000164 user_validated uc_dial_ 000166 autp uc_dial_ 000170 ansp uc_dial_ 000172 channel_audit_info_ptr uc_dial_ 000174 dutp uc_dial_ 000176 pnte uc_dial_ 000316 satep uc_dial_ 000320 satp uc_dial_ 000322 sl_info uc_dial_ 000572 utep uc_dial_ 000602 code convert_aliases 000603 satx convert_aliases 000612 i find_dialable_process 000614 temp_utep find_dialable_process 000644 reason Audit_denied_dialin THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this_desc return_mac shorten_stack ext_entry_desc int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. aim_check_$in_range as_access_audit_$channel convert_status_code_ cu_$arg_list_ptr hash_$search pnt_manager_$admin_get_entry sys_log_$general THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_data_$autp as_data_$dutp as_data_$sat_htp as_data_$satp as_error_table_$dialnoline as_error_table_$dialnotup error_table_$action_not_performed error_table_$ai_restricted error_table_$id_not_found LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 49 000322 1 26 000363 3 53 000365 6 27 000366 14 76 000367 119 000370 120 000371 121 000375 124 000402 126 000404 127 000407 128 000412 130 000415 131 000422 135 000434 139 000447 140 000455 141 000462 145 000470 146 000472 150 000506 151 000510 156 000523 161 000525 163 000545 165 000546 169 000554 171 000557 172 000562 174 000563 183 000565 184 000610 186 000622 188 000624 190 000653 192 000661 194 000666 198 000677 199 000722 201 000732 202 000736 203 000743 206 000755 209 001012 211 001020 214 001023 217 001030 223 001032 224 001043 225 001050 228 001061 230 001063 231 001073 232 001077 235 001110 237 001112 238 001123 239 001127 242 001140 244 001142 246 001146 251 001150 254 001156 257 001160 260 001167 263 001175 265 001176 270 001204 273 001215 276 001222 281 001226 285 001245 286 001250 287 001261 291 001264 296 001270 301 001272 302 001274 306 001275 313 001277 316 001305 319 001322 320 001363 324 001365 335 001401 337 001405 338 001411 339 001417 340 001431 341 001433 342 001435 343 001437 344 001441 345 001445 346 001447 347 001453 350 001457 351 001461 353 001467 356 001525 367 001526 373 001534 374 001540 375 001546 376 001551 377 001555 378 001566 ----------------------------------------------------------- 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