COMPILATION LISTING OF SEGMENT as_request_note_pnt_change_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 08/29/88 0928.9 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 /* format: off */ 10 11 as_request_note_pnt_change_: 12 procedure (P_asr_note_pnt_change_info_ptr, P_asr_sender_ptr); 13 14 /**** This procedure in invoked by as_request_server_ upon receipt of 15* an answering service request of type NOTE_PNT_CHANGE. This request 16* is used by the Ring-1 PNT software to notify the answering service 17* of security relevant changes to the PNT. */ 18 19 /* 20* Modification History: 21* Written 1985-01-23 by E. Swenson. 22**/ 23 24 /****^ HISTORY COMMENTS: 25* 1) change(86-10-14,Lippard), approve(85-12-30,MCR7326), 26* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 27* Modified to use version 2 as_request_sender. 28* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 29* audit(87-07-27,Brunelle), install(87-08-04,MR12.1-1055): 30* Upgraded for change to answer_table.incl.pl1 and user_table_entry.incl.pl1 31* 3) change(87-07-24,Dickson), approve(87-07-24,MCR7722), 32* audit(87-07-27,Brunelle), install(87-08-04,MR12.1-1055): 33* Changed the VALIDATE_REQUEST procedure to audit grants as well as 34* failures. 35* 4) change(87-12-03,GDixon), approve(88-08-15,MCR7969), 36* audit(88-08-03,Lippard), install(88-08-29,MR12.2-1093): 37* A) Modify UPDATE_UTE_AND_MAYBE_BUMP_USER to bump the user if his 38* password is time-locked. A prior modification had bumped the user 39* if his password was locked, but time-locking was overlooked. See 40* aref of ii.forum [782] for details. A TR may be entered on this 41* subject. This change deserves and SRB NOTICE. 42* B) Modify BUMP_USER to honor the ute.at.nobump attribute for all 43* bump attempted except deletion of the user's PNT entry. For password 44* locking and authorization range changes, users with nobump should 45* not be bumped immediately. Reason: such users are usually System 46* Administrators attempting to thwart breakin attempts on their 47* personid, or to adjust their own auth ranges; they should not be 48* bumped in such cases. 49* END HISTORY COMMENTS */ 50 51 /* Parameters */ 52 53 dcl P_asr_note_pnt_change_info_ptr ptr parameter; 54 dcl P_asr_sender_ptr ptr parameter; 55 56 /* Automatic */ 57 58 dcl code fixed bin (35); /* status code */ 59 dcl person_id char (32); /* person_id we are processing */ 60 61 /* Entries */ 62 63 dcl aim_check_$in_range entry (bit (72) aligned, (2) bit (72) aligned) returns (bit (1) aligned); 64 dcl as_access_audit_$as_rqt_nt_pnt_chg entry (char (*), ptr, fixed bin (35)); 65 dcl as_any_other_handler_ entry (char(*), entry, label, label); 66 dcl asu_$blast_user entry (ptr, char(*), char(*), fixed bin(35)); 67 dcl asu_$bump_user entry (ptr, char(*), fixed bin(35), fixed bin); 68 dcl display_access_class_ entry (bit (72) aligned) returns (char (32) aligned); 69 dcl pnt_manager_$admin_get_entry entry (char (*), ptr, fixed bin (35)); 70 dcl sys_log_ entry options (variable); 71 dcl sys_log_$error_log entry options (variable); 72 73 /* External */ 74 75 dcl error_table_$id_not_found fixed bin (35) external static; 76 dcl error_table_$not_privileged fixed bin (35) external static; 77 dcl error_table_$unimplemented_version fixed bin (35) external static; 78 79 /* Builtins */ 80 81 dcl (addr, clock, null) builtin; 82 83 /* Constants */ 84 85 dcl (DO_HONOR_NOBUMP initial ("1"b), 86 DONT_HONOR_NOBUMP initial ("0"b)) bit(1) int static options(constant); 87 dcl ME char (32) initial ("as_request_note_pnt_change_") internal static options (constant); 88 dcl RING_1 fixed bin (3) initial (1) internal static options (constant); 89 90 /* Conditions */ 91 92 dcl any_other condition; 93 94 /* Program */ 95 96 /**** Since we are using as_data_ pointers, ensure they have been 97* initialized before proceeding. If they haven't, return 98* with no logging because the answering service must not have 99* been initialized properly. This should never happen though. */ 100 101 if as_data_$ansp = null () | as_data_$autp = null () | 102 as_data_$dutp = null () 103 then return; 104 ansp = as_data_$ansp; 105 autp = as_data_$autp; 106 dutp = as_data_$dutp; 107 108 109 /**** First, establish an any other handler in case of faults */ 110 111 on any_other 112 call as_any_other_handler_ (ME, NULL_PROC, MAIN_RETURN, MAIN_RETURN); 113 114 /**** Copy arguments into automatic storage */ 115 116 asr_note_pnt_change_info_ptr = P_asr_note_pnt_change_info_ptr; 117 as_request_sender_ptr = P_asr_sender_ptr; 118 119 /**** Validate the request in terms of access and reasonability of data */ 120 121 call VALIDATE_REQUEST (code); 122 if code = 0 then 123 do; 124 person_id = asr_note_pnt_change_info.person_id; 125 call SCAN_USER_TABLES_AND_UPDATE (); 126 end; 127 else; /* we've already logged any errors */ 128 129 MAIN_RETURN: 130 return; 131 132 VALIDATE_REQUEST: 133 procedure (P_code); 134 135 dcl P_code fixed bin (35) parameter; 136 137 /**** Validate the request. Check the version numbers of the structures 138* and verify that the request came from Ring-1. Log any invalid 139* requests */ 140 141 if as_request_sender.version ^= AS_REQUEST_SENDER_VERSION_2 then do; 142 P_code = error_table_$unimplemented_version; 143 call sys_log_$error_log (SL_LOG_SILENT, P_code, ME, 144 "Rejected NOTE_PNT_CHANGE request from ^a. Invalid version (^a) in as_request_sender structure.", 145 as_request_sender.group_id, as_request_sender.version); 146 return; 147 end; 148 else if asr_note_pnt_change_info.version ^= ASR_NPC_INFO_VERSION_1 then do; 149 P_code = error_table_$unimplemented_version; 150 call sys_log_$error_log (SL_LOG_SILENT, P_code, ME, 151 "Rejected NOTE_PNT_CHANGE request from ^a. Invalid version number (^a) in asr_note_pnt_change_info structure.", 152 as_request_sender.group_id, asr_note_pnt_change_info.version); 153 return; 154 end; 155 156 /* Check access after we've determined that */ 157 /* the data is correct for checking access. */ 158 159 if as_request_sender.validation_level ^= RING_1 then P_code = error_table_$not_privileged; 160 else P_code = 0; /* request is ok */ 161 162 call as_access_audit_$as_rqt_nt_pnt_chg (ME, addr(as_request_sender), P_code); 163 164 return; 165 166 end VALIDATE_REQUEST; 167 168 SCAN_USER_TABLES_AND_UPDATE: 169 procedure (); 170 171 /**** Scan the answer table, daemon user table, and absentee user table 172* logged in processes for the specified personid. If any are found, 173* get the new pnt entry and update the info in the user tables, 174* bumping any processes which are incompatible with the new PNT entry. */ 175 176 dcl pnt_entry_status fixed bin(2); /* tells us whether we've retrieved the PNT entry yet */ 177 dcl (PNT_ENTRY_NOT_RETRIEVED init(0), 178 PNT_ENTRY_RETRIEVED init(1), 179 PNT_ENTRY_DELETED init(2), 180 PNT_ENTRY_RETRIEVE_ERROR init(3)) fixed bin(2) int static options(constant); 181 dcl i fixed bin (17); /* index into user_table_entry array */ 182 183 pnt_entry_status = PNT_ENTRY_NOT_RETRIEVED; 184 185 /**** Scan interactive user table (answer_table) */ 186 do i = 1 to anstbl.current_size; 187 utep = addr (anstbl.entry (i)); 188 call PROCESS_UTE (); 189 end; 190 /**** Scan absentee user table */ 191 do i = 1 to autbl.current_size; 192 utep = addr (autbl.entry (i)); 193 call PROCESS_UTE (); 194 end; 195 /**** Scan daemon user table */ 196 do i = 1 to dutbl.current_size; 197 utep = addr (dutbl.entry (i)); 198 call PROCESS_UTE (); 199 end; 200 return; 201 202 PROCESS_UTE: 203 procedure (); 204 205 dcl 1 pnte aligned like pnt_entry automatic; 206 207 if ute.active = NOW_HAS_PROCESS 208 then if ute.person = person_id 209 then do; 210 if pnt_entry_status = PNT_ENTRY_NOT_RETRIEVED 211 then call RETRIEVE_PNT_ENTRY (); 212 if pnt_entry_status = PNT_ENTRY_DELETED /* user deleted */ 213 then call BUMP_USER ("Deleted from PNT", DONT_HONOR_NOBUMP); 214 else if pnt_entry_status = PNT_ENTRY_RETRIEVED 215 then call UPDATE_UTE_AND_MAYBE_BUMP_USER (); 216 else; /* error from RETRIEVE_PNT_ENTRY */ 217 end; 218 else; /* non matching person_id */ 219 else; /* non active process */ 220 return; 221 222 RETRIEVE_PNT_ENTRY: 223 procedure (); 224 225 call pnt_manager_$admin_get_entry (person_id, addr (pnte), code); 226 if code = error_table_$id_not_found 227 then pnt_entry_status = PNT_ENTRY_DELETED; 228 else if code ^= 0 229 then do; 230 call sys_log_$error_log (SL_LOG_SILENT, code, ME, 231 "Unable to retrieve PNT entry for ^a.", person_id); 232 pnt_entry_status = PNT_ENTRY_RETRIEVE_ERROR; 233 end; 234 else pnt_entry_status = PNT_ENTRY_RETRIEVED; /* everything is ok */ 235 return; 236 237 end RETRIEVE_PNT_ENTRY; 238 239 240 BUMP_USER: 241 procedure (P_reason, honor_nobump); 242 243 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 244 /* */ 245 /* Bump this user since his PNT entry was deleted or password was locked. */ 246 /* */ 247 /* Bump will be prevented if password being locked and the user has nobump */ 248 /* attribute. Usually this is the System Administrator locking his own */ 249 /* password to thwart a break-in attempt. */ 250 /* */ 251 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 252 253 dcl P_reason char (*) parameter; /* reason for bumping */ 254 dcl honor_nobump bit(1) parameter; /* on: nobump stops bumping*/ 255 dcl NO_GRACE fixed bin (17) initial (0) internal static options (constant); 256 257 if honor_nobump & ute.at.nobump then do; 258 call sys_log_ (SL_LOG_SILENT, 259 "^a: User has ""nobump"" attribute. Did not bump ^a.^a.^a ^12.3b on channel ^a (^a)", 260 ME, ute.person, ute.project, ute.tag, ute.proc_id, ute.tty_name, 261 P_reason); 262 if ^ute.uflags.disconnected then 263 call asu_$blast_user (utep, 264 """nobump"" attribute prevented bump attempt when: " || 265 P_reason, (""), (0)); 266 end; 267 268 else do; 269 call sys_log_ (SL_LOG_SILENT, 270 "^a: Bumping user ^a.^a.^a ^12.3b on channel ^a (^a)", 271 ME, ute.person, ute.project, ute.tag, ute.proc_id, ute.tty_name, 272 P_reason); 273 274 call asu_$bump_user (utep, P_reason, code, NO_GRACE); 275 if code ^= 0 then 276 call sys_log_$error_log (SL_LOG_SILENT, code, ME, 277 "Error from asu_$bump_user. Did not bump ^a.^a.^a ^12.3b on channel ^a (^a)", 278 ute.person, ute.project, ute.tag, ute.proc_id, ute.tty_name, 279 P_reason); 280 end; 281 282 end BUMP_USER; 283 284 285 UPDATE_UTE_AND_MAYBE_BUMP_USER: 286 procedure (); 287 288 if pnte.flags.lock /* user's password has been locked */ 289 then call BUMP_USER ("Password locked", DO_HONOR_NOBUMP); 290 else if pnte.flags.pw_time_lock then 291 if clock() <= pnte.password_timelock then 292 call BUMP_USER ("Password time_locked", DO_HONOR_NOBUMP); 293 else go to OTHER_TESTS; 294 else do; 295 OTHER_TESTS: 296 if pnte.person_authorization (2) 297 < ute.process_authorization_range (2) /* lowered max auth */ 298 then do; 299 call sys_log_ (SL_LOG_SILENT, 300 "^a: Lowered maximum authorization for ^a.^a.^a on channel ^a from ^a to ^a. PNT change.", 301 ME, ute.person, ute.project, ute.tag, ute.tty_name, 302 display_access_class_ (ute.process_authorization_range (2)), 303 display_access_class_ (pnte.person_authorization (2))); 304 ute.process_authorization_range (2) = pnte.person_authorization (2); 305 end; 306 else; 307 if pnte.person_authorization (1) 308 > ute.process_authorization_range (1) /* raised min auth */ 309 then do; 310 call sys_log_ (SL_LOG_SILENT, 311 "^a: Raised minimum authorization for ^a.^a.^a on channel ^a from ^a to ^a. PNT change.", 312 ME, ute.person, ute.project, ute.tag, ute.tty_name, 313 display_access_class_ (ute.process_authorization_range (1)), 314 display_access_class_ (pnte.person_authorization (1))); 315 ute.process_authorization_range (1) = pnte.person_authorization (1); 316 end; 317 else; 318 if ^aim_check_$in_range (ute.process_authorization, ute.process_authorization_range) 319 then call BUMP_USER ("Authorization range changed by System Administrator", DO_HONOR_NOBUMP); 320 else; 321 end; 322 return; 323 end UPDATE_UTE_AND_MAYBE_BUMP_USER; 324 325 end PROCESS_UTE; 326 327 end SCAN_USER_TABLES_AND_UPDATE; 328 329 NULL_PROC: 330 procedure (); 331 332 /**** This is a dummy cleanup handler, for as_any_other_handler_'s sake. 333* It does nothing, but is required by as_any_other_handler_. */ 334 335 return; 336 end NULL_PROC; 337 338 /* format: off */ 339 /* 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 */ 339 340 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* The answer table has one entry per "login instance" whether completed or */ 2 6 /* not. It is connected to the Channel Definition Table by the pointer */ 2 7 /* "channel". The header is used mostly by dialup_. */ 2 8 /* */ 2 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 2 10 /* */ 2 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 12 2 13 /****^ HISTORY COMMENTS: 2 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 2 15* Replace anstbl.incl.pl1. 2 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 2 17* Add anstbl.session_uid_counter. 2 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 2 19* Add anstbl.message_update_time and named constants for values of 2 20* anstbl.session, and to make all padding explicit. 2 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 2 22* Change "entry" to a placeholder so as not to require 2 23* user_table_entry.incl.pl1. 2 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 2 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 2 26* Added the flag login_server_present which indicates whether a login 2 27* server request has been received. This is used to determine whether 2 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 2 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 2 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 2 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 32* A) Moved constants for ute.pw_flags.mask_ctl into 2 33* user_table_entry.incl.pl1. 2 34* B) Added common table header to all user tables. 2 35* END HISTORY COMMENTS */ 2 36 2 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 38 /* */ 2 39 /* The anstbl structure below is divided into sections. Each section begins */ 2 40 /* with a comment describing the elements in the section. Elements are */ 2 41 /* placed within a section, based upon their function or the programs that */ 2 42 /* use them. Each section begins on a double word and is an even number of */ 2 43 /* words long. */ 2 44 /* */ 2 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 46 2 47 2 48 2 49 /* format: style4 */ 2 50 2 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 2 52 2 53 dcl ansp ptr automatic init (null); 2 54 2 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 2 56 2 header like ut_header, /* Header common to all user tables. */ 2 57 2 58 /* Counter elements. */ 2 59 2 nlin fixed bin, /* number of active lines */ 2 60 2 mxlin fixed bin, /* maximum number of active lines */ 2 61 2 n_users fixed bin, /* number of logged-in users */ 2 62 2 max_users fixed bin, /* maximum number of users allowed */ 2 63 2 n_units fixed bin, /* number of logged in units */ 2 64 2 max_units fixed bin, /* maximum number of units */ 2 65 2 n_sessions fixed bin, /* number of Multics sessions */ 2 66 2 n_pad fixed bin, 2 67 2 68 /* Name elements. */ 2 69 2 sysdir char (64) unal, /* name of main system control directory */ 2 70 2 as_tty char (8) unal, /* name of main answering service device. */ 2 71 2 72 /* Login elements. */ 2 73 2 login_word char (8) unal, /* login word if special_session=1 */ 2 74 2 session char (8) unal, /* session indicator */ 2 75 2 special_message char (128) unal, /* message to be printed for special session */ 2 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 2 77 2 message_lng fixed bin, /* length of special message */ 2 78 2 login_pad fixed bin, 2 79 2 80 /* Table update elements. */ 2 81 2 lock_count fixed bin, /* global lock for all system control tables */ 2 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 2 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 2 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 2 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 2 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 2 87 2 update_pad fixed bin, 2 88 2 89 /* dialup_ data values. */ 2 90 2 current_time fixed bin (71), /* Time of last transaction */ 2 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 2 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 2 93 2 94 /* load_ctl_ elements. */ 2 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 2 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 2 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 2 98 /* load_ctl_ load leveling desired response range: */ 2 99 2 response_high fixed bin, /* bad if user response time slower than this */ 2 100 2 response_low fixed bin, /* bad if user response time faster than this */ 2 101 2 load_ctl_pad fixed bin, 2 102 2 103 /* Login server request server data. */ 2 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 2 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 2 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 2 107 2 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 2 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 2 110 3 contents (UTE_SIZE) fixed bin; 2 111 2 112 /* constants */ 2 113 2 114 /* values for anstbl.session */ 2 115 2 116 dcl (AT_NORMAL init ("normal "), 2 117 AT_SPECIAL init ("special "), 2 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 2 119 2 120 dcl UTE_SIZE fixed bin internal static initial (300); 2 121 2 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 340 341 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 3 2 3 3 /* format: style4 */ 3 4 3 5 /* This file must be kept in sync with as_data_.alm */ 3 6 3 7 /****^ HISTORY COMMENTS: 3 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 3 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 3 10* Remove references to the 963 and 029 preaccess commands and remove support 3 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 3 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 3 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 3 14* Add references to as_data_ entrypoints added for Login Server. 3 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 3 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 3 17* Added new user signal field of inacrcvd (14) to handle inactivity response 3 18* from user. 3 19* END HISTORY COMMENTS */ 3 20 3 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 3 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 3 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 3 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 3 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 3 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 3 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 3 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 3 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 3 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 3 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 3 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 3 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 3 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 3 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 3 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 3 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 3 38 dcl as_data_$g115_dim char (32) ext static; 3 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 3 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 3 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 3 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 3 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 3 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 3 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 3 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 3 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 3 48 dcl as_data_$request_priority fixed bin ext static; 3 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 3 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 3 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 3 52 dcl as_data_$satp ptr ext static; /* SAT */ 3 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 3 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 3 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 3 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 3 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 3 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 3 59 dcl as_data_$version char (8) ext static; /* AS version */ 3 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 3 61 3 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 3 63 2 n_login_args fixed bin, 3 64 2 pad fixed bin, 3 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 3 66 3 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 3 68 2 n_signals fixed bin, 3 69 2 pad fixed bin, 3 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 3 71 3 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 3 73 2 n_system_signals fixed bin, 3 74 2 pad fixed bin, 3 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 3 76 3 77 dcl as_data_$login_words fixed bin ext static aligned, 3 78 /* interactive login words */ 3 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 3 80 2 n_words fixed bin, 3 81 2 pad fixed bin, 3 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 3 83 3 84 dcl as_data_$debug_flag bit (1) aligned external static; 3 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 3 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 3 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 3 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 3 89 3 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 341 342 /* BEGIN INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 4 6* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 7* Removed ansp, autp and dutp from this include file, adding them to 4 8* answer_table.incl.pl1, absentee_user_table.incl.pl1 and 4 9* daemon_user_table.incl.pl1. 4 10* END HISTORY COMMENTS */ 4 11 4 12 4 13 /* This include file requires as_data_.incl.pl1 */ 4 14 4 15 /* format: style4 */ 4 16 4 17 dcl as_procid bit (36) aligned defined (as_data_$as_procid); 4 18 dcl as_tty char (6) based (addr (as_data_$as_tty)); 4 19 dcl asmtp ptr defined (as_data_$asmtp); 4 20 dcl devtabp ptr defined (as_data_$devtabp); 4 21 dcl ip ptr defined (as_data_$rs_ptrs (0)); 4 22 dcl mgtp ptr defined (as_data_$mgtp); 4 23 dcl pdtdir char (168) based (addr (as_data_$pdtdir)); 4 24 dcl rs_ptrs (0:9) ptr based (addr (as_data_$rs_ptrs (0))); 4 25 dcl sat_htp ptr defined (as_data_$sat_htp); 4 26 dcl satp ptr defined (as_data_$satp); 4 27 dcl scdtp ptr defined (as_data_$cdtp); 4 28 dcl sysdir char (168) defined (as_data_$sysdir); 4 29 dcl whoptr ptr defined (as_data_$whoptr); 4 30 4 31 /* END INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 342 343 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 5 2 5 3 /* DESCRIPTION: 5 4* Answering Service request information. 5 5**/ 5 6 5 7 5 8 /****^ HISTORY COMMENTS: 5 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 5 10* Written by someone, at sometime. 5 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 5 12* R. Michael Tague: Added ASR_BUMP_USER request. 5 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 5 14* BIM: ASR_ADMIN_COMMAND. 5 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 5 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 5 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 5 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 5 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 5 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 5 21* Jim Lippard: Added ASR_ABS_COMMAND request. 5 22* END HISTORY COMMENTS */ 5 23 5 24 5 25 /* format: style4 */ 5 26 5 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 5 28 5 29 dcl ( 5 30 ASR_FIRST_TYPE initial (1), 5 31 ASR_DIAL_SERVER initial (1), 5 32 ASR_DIAL_OUT initial (2), 5 33 ASR_FPE_CAUSES_LOGOUT initial (3), 5 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 5 35 ASR_PROC_TERM_NOTIFY initial (5), 5 36 ASR_BUMP_USER initial (6), 5 37 ASR_ADMIN_COMMAND initial (7), 5 38 ASR_NOTE_PNT_CHANGE initial (8), 5 39 ASR_DAEMON_COMMAND initial (9), 5 40 ASR_COM_CHANNEL_INFO initial (10), 5 41 ASR_ABS_COMMAND initial (11), 5 42 ASR_LAST_TYPE initial (11) 5 43 ) fixed bin internal static options (constant); 5 44 5 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 5 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 5 47 5 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 5 49 char (40) init ( 5 50 "Dial request", 5 51 "Dial out request", 5 52 "Logout on fatal process error", 5 53 "New process on fatal process error", 5 54 "Monitor process terminations", 5 55 "Bump user", 5 56 "Execute admin command", 5 57 "Note PNT change", 5 58 "Daemon command", 5 59 "Communications channel info", 5 60 "Absentee command"); 5 61 5 62 dcl 1 as_request_header based aligned, 5 63 2 version fixed bin, /* version number */ 5 64 2 type fixed bin, /* what to do */ 5 65 2 reply_channel fixed bin (71); /* who to tell */ 5 66 5 67 5 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 343 344 /* Begin include file as_request_sender_.incl.pl1 84-06-06 BIM */ 6 2 6 3 /****^ HISTORY COMMENTS: 6 4* 1) change(86-10-14,Lippard), approve(85-12-30,MCR7326), 6 5* audit(86-10-24,GDixon), install(86-10-28,MR12.0-1200): 6 6* Added max_authorization and audit_flags. 6 7* END HISTORY COMMENTS */ 6 8 6 9 /* Structure passed from as_request_server_ to the various 6 10* requests to identify requester. */ 6 11 /* format: style3,indcomtxt */ 6 12 6 13 declare as_request_sender_ptr 6 14 pointer; 6 15 declare 1 as_request_sender aligned based (as_request_sender_ptr), 6 16 2 version char (8) aligned, 6 17 2 reply_message fixed bin (71), 6 18 2 group_id char (32) unaligned, 6 19 2 process_id bit (36), 6 20 2 validation_level 6 21 fixed bin (3), 6 22 2 authorization bit (72), 6 23 2 max_authorization 6 24 bit (72), 6 25 2 audit_flags bit (36); 6 26 6 27 declare AS_REQUEST_SENDER_VERSION_2 6 28 char (8) init ("asrqs002") internal static options (constant); 6 29 6 30 /* End include file as_request_sender_.incl.pl1 */ 344 345 /* BEGIN INCLUDE FILE ... as_requests.incl.pl1 */ 7 2 /* DESCRIPTION: 7 3* This include file is the repository of as_request_ structures which are 7 4* not so complicated or arcane as to require their own include file. 7 5* It requires as_request_header.incl.pl1 7 6**/ 7 7 7 8 /* HISTORY: 7 9* Written by someone, at sometime. 7 10* Modified: 7 11* 09/10/84 by R. Michael Tague: Add the structure asr_bump_user_info 7 12* and asr_reply_bump_user. 7 13* 01/23/85 by E. Swenson: Add the asr_note_pnt_change_info structure. 7 14**/ 7 15 7 16 /* format: style4 */ 7 17 7 18 /*** return status from an as_request_ call. ***/ 7 19 7 20 dcl asr_replyp ptr; 7 21 dcl 1 asr_reply aligned based (asr_replyp), /* IPC status return for a.s. request */ 7 22 2 code fixed bin (35), /* standard error code */ 7 23 2 data bit (36); /* other data */ 7 24 7 25 /*** request to monitor process destructions, and the destruction notification ***/ 7 26 7 27 dcl asr_buzzard_info_version_1 char (8) init ("buzzard1") int static options (constant); 7 28 dcl asr_buzzard_infop ptr; 7 29 dcl 1 asr_buzzard_info aligned based (asr_buzzard_infop), /* for watching dying processes */ 7 30 2 header aligned like as_request_header, 7 31 2 version char (8), 7 32 2 info_channel fixed bin (71), /* IPC channel to send processid wakeup messges */ 7 33 2 my_reference_id bit (36); /* becomes top 36 bits of death notice */ 7 34 7 35 dcl 1 asr_buzzard_notification aligned based (asr_replyp), /* message on process destruction */ 7 36 2 your_reference_id bit (36), /* from asr_buzzard_info.my_reference_id */ 7 37 2 process_id bit (36); /* process id of dead process */ 7 38 7 39 /* *********************************************************************** 7 40* * asr_bump_user_info - Message segment info structure for the * 7 41* * ASR_BUMP_USER requests. * 7 42* * process-id - process_id of process to be bumped. * 7 43* * message - message to be splat across user terminal when * 7 44* * the bump is begun, i.e., the grace time starts. * 7 45* * No message is sent if message = "". * 7 46* * grace_time_in_seconds * 7 47* * - Amount of time given to the user before the * 7 48* * user's process is actually terminated. * 7 49* * reply_reference_id * 7 50* * - Reference id that will be returned in the * 7 51* * as_reply_bump_user structure. A reply channel * 7 52* * must be specified in reply_channel in the * 7 53* * header of this structure. The reply message * 7 54* * will have the sturcture of asr_reply_bump_user. * 7 55* *********************************************************************** */ 7 56 7 57 dcl asr_bump_user_info_version_1 char (8) init ("asrbump1") int static options (constant); 7 58 7 59 dcl asr_bump_user_info_ptr ptr; 7 60 dcl 1 asr_bump_user_info aligned based (asr_bump_user_info_ptr), 7 61 2 header aligned like as_request_header, 7 62 2 version char (8), 7 63 2 process_id bit (36), 7 64 2 message char (100) unaligned, 7 65 2 grace_time_in_seconds fixed bin, 7 66 2 reply_reference_id bit (36); 7 67 7 68 /* *********************************************************************** 7 69* * asr_reply_bump_user - Structure sent with the IPC reply upon * 7 70* * initiating the bump. Note: the actual * 7 71* * bump does not take place until after the * 7 72* * given of default grace time. * 7 73* * code - Standard system status code. * 7 74* * reference_id * 7 75* * - Reference id supplied in asr_bump_user_info when * 7 76* * bump user request was made. * 7 77* *********************************************************************** */ 7 78 7 79 dcl 1 asr_reply_bump_user aligned based (asr_replyp), 7 80 2 code fixed bin (35), 7 81 2 reference_id bit (36); 7 82 7 83 7 84 dcl asr_admin_command_info_ptr pointer; 7 85 dcl 1 asr_admin_command_info aligned based (asr_admin_command_info_ptr), 7 86 2 header aligned like as_request_header, 7 87 2 version char (8), 7 88 2 flags aligned, 7 89 3 send_start_wakeup bit (1) unaligned, /* over reply channel */ 7 90 3 send_completion_wakeup bit (1) unaligned, /* over reply channel */ 7 91 3 send_completion_message bit (1) unaligned, 7 92 3 send_completion_mail bit (1) unaligned, 7 93 3 dialog bit (1) unaligned, /* NOT YET IMPLEMENTED */ 7 94 3 pad bit (31) unaligned, 7 95 2 dialog_info aligned, /* NOT YET IMPLEMENTED */ 7 96 3 event_channel fixed bin (71), /* NOTIFY ME ON READ/RIGHT */ 7 97 3 output_message_segment_pathname char (200) unaligned, /* Writes go here */ 7 98 3 input_message_segment_pathname char (200) unaligned, /* Reads come here */ 7 99 2 mail_destination char (200) unaligned, 7 100 2 command_length fixed bin (21), 7 101 2 command char (asr_ac_length refer (asr_admin_command_info.command_length)) unaligned; 7 102 7 103 /* See admin_dialog_info.incl.pl1 for related structures */ 7 104 7 105 dcl asr_ac_length fixed bin (21); 7 106 dcl ASR_AC_VERSION_1 char (8) init ("asrac001") int static options (constant); 7 107 7 108 dcl 1 asr_reply_admin_command aligned based (asr_replyp), 7 109 2 code fixed bin (35), 7 110 2 flags aligned, 7 111 3 command_refused bit (1) unaligned, 7 112 3 command_started bit (1) unaligned, 7 113 3 command_completed bit (1) unaligned, /* with or without errors */ 7 114 3 command_aborted bit (1) unaligned, 7 115 3 command_had_errors bit (1) unaligned, /* at least one error */ 7 116 3 pad bit (31) unaligned; 7 117 7 118 /**** The following structure is used by the Ring-1 PNT software to 7 119* notify the answering service of a PNT change which might affect 7 120* logged in processes. */ 7 121 7 122 dcl asr_note_pnt_change_info_ptr ptr; 7 123 7 124 dcl 1 asr_note_pnt_change_info structure aligned based (asr_note_pnt_change_info_ptr), 7 125 2 header aligned like as_request_header, 7 126 2 version char (8), 7 127 2 person_id char (32); 7 128 7 129 dcl ASR_NPC_INFO_VERSION_1 char (8) initial ("asrnpc01") internal static options (constant); 7 130 7 131 /* END INCLUDE FILE ... as_requests.incl.pl1 */ 345 346 /* BEGIN INCLUDE FILE ... daemon_user_table.incl.pl1 */ 8 2 8 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 4 /* */ 8 5 /* The daemon_user_table has one entry per daemon. Daemons are logged in by */ 8 6 /* operator command or automatically. If they do any I/O, it is done via */ 8 7 /* the message coordinator. */ 8 8 /* */ 8 9 /* Programs using this include file must also use user_table_header.incl.pl1 */ 8 10 /* and user_table_entry.incl.pl1. */ 8 11 /* */ 8 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 13 8 14 8 15 /****^ HISTORY COMMENTS: 8 16* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 8 17* Initially coded from dutbl.incl.pl1. 8 18* 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 8 19* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 20* A) Add use of ut_header common to all user control tables. 8 21* B) Corrected padding prior to first ute entry. 8 22* END HISTORY COMMENTS */ 8 23 8 24 8 25 dcl DUTBL_version_4 fixed bin int static init (4); /* version of this declaration */ 8 26 8 27 dcl dutp ptr automatic init (null); 8 28 8 29 dcl 1 dutbl based (dutp) aligned, /* Daemon user table */ 8 30 2 header like ut_header, /* Header common to all user tables. */ 8 31 8 32 2 active_count fixed bin, /* the count of active daemons managed by DUM_ */ 8 33 8 34 2 entry_pad (117) fixed bin, /* pad to 128 words */ 8 35 2 entry (0 refer (dutbl.current_size)) like ute; /* daemon user entries */ 8 36 8 37 /* END INCLUDE FILE ... daemon_user_table.incl.pl1 */ 346 347 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 9 2 9 3 /* format: style4 */ 9 4 9 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 9 6 9 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 9 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 9 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 9 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 9 11* WAIT_DISCARD_WAKEUP 9 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 9 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 9 14**/ 9 15 9 16 /****^ HISTORY COMMENTS: 9 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 9 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 9 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 9 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 22* Add named constants for instance tags. 9 23* END HISTORY COMMENTS */ 9 24 9 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 9 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 9 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 9 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 9 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 9 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 9 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 9 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 9 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 9 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 9 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 9 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 9 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 9 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 9 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 9 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 9 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 9 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 9 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 9 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 9 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 9 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 9 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 9 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 9 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 9 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 9 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 9 52 ) fixed bin internal static options (constant); 9 53 9 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 9 55 /* names of ute.destroy_flag values */ 9 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 9 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 9 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 9 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 9 60 "wait remove"); /* -13 */ 9 61 9 62 /* Values for "cdte.state", typewriter state. */ 9 63 9 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 9 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 9 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 9 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 9 68 ) fixed bin internal static options (constant); 9 69 9 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 9 71 /* names of cdte.state values */ 9 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 9 73 9 74 /* Values for "cdte.in_use" and "ate.active" */ 9 75 9 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 9 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 9 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 9 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 9 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 9 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 9 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 9 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 9 84 ) fixed bin internal static options (constant); 9 85 9 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 9 87 /* names of ute.active values */ 9 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 9 89 9 90 9 91 /**** Values for ute.tag */ 9 92 9 93 dcl (TAG_INTERACTIVE init("a"), 9 94 TAG_UFT init("f"), 9 95 TAG_ABSENTEE init("m"), 9 96 TAG_PROXY init("p"), 9 97 TAG_DAEMON init("z") 9 98 ) char(1) int static options(constant); 9 99 9 100 9 101 /**** Following are constants used to indicate to the process termination 9 102* handler the reason for the process termination. They are used by 9 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 9 104* uc_ls_destroy_request_. */ 9 105 9 106 dcl ( 9 107 PT_FPE initial (1), 9 108 PT_LOGOUT initial (4), 9 109 PT_NEW_PROC_AUTH initial (13), 9 110 PT_HANGUP initial (20), 9 111 PT_SHUTDOWN initial (21), 9 112 PT_BUMP initial (22), 9 113 PT_ALARM initial (23), 9 114 PT_DETACH initial (24), 9 115 PT_UNBUMP initial (25), 9 116 PT_OPERATOR_TERMINATE initial (27), 9 117 PT_DESTROY_REQUEST initial (30), 9 118 PT_NEW_PROC_REQUEST initial (31) 9 119 ) fixed bin (17) internal static options (constant); 9 120 9 121 /**** Values for ute.preempted: 9 122* -1 user unbumped after term signal sent 9 123* 0 user unbumped; ignore alarm___ 9 124* 1 value internally used in load_ctl_ 9 125* 2 user bumped; when alarm___ comes in, send term signal 9 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 9 127* signals come in 9 128* 4 user bumped; process sick, so destroy without sending term signal 9 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 9 130* termsgnl). */ 9 131 9 132 dcl ( 9 133 PREEMPT_UNBUMP initial (-1), 9 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 9 135 PREEMPT_LOAD_CTL initial (1), 9 136 PREEMPT_BUMPED initial (2), 9 137 PREEMPT_TERM_SENT initial (3), 9 138 PREEMPT_BUMPED_NO_TERM initial (4), 9 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 9 140 ) fixed bin (17) internal static options(constant); 9 141 9 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 9 143 "unbumped", 9 144 "not bumped, ignore alarm___", 9 145 "load_ctl_", 9 146 "bumped", 9 147 "bumped, trm_ sent", 9 148 "bumped without trm_", 9 149 "bumped, termsgnl received"); 9 150 9 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 347 348 /* BEGIN INCLUDE FILE ... pnt_entry.incl.pl1 */ 10 2 10 3 /* Modified 790702 by C. Hornig for MSF PNT */ 10 4 /* Modified 84-07-18 BIM for V2, aim ranges, long passwords. */ 10 5 /* Modified 84-09-25 for operator attribute... -E. A. Ranzenbach */ 10 6 /* Modified 85-03-05 E. Swenson for user_validated_time */ 10 7 10 8 /**** The ms_table_mgr_ has fixed sized entries, for now. 10 9* The presence of a version field and some pad allow 10 10* us to have incrementally-upgraded PNTE's in a future change. 10 11**/ 10 12 10 13 /**** The conversion to V2 copies the existing encrypted passwords. 10 14* Since the 32 character scrambling algorithm will not give the 10 15* same results, the short_XX flags indicate that the old scrambler 10 16* should be used. The short flags are automatically turned off 10 17* by calls to update the password with the long-scrambled form. */ 10 18 10 19 /* format: style4,insnl,delnl */ 10 20 10 21 declare pntep pointer automatic; 10 22 declare 1 pnt_entry based (pntep) aligned, /* declaration of a single PNT entry */ 10 23 2 version fixed bin, 10 24 2 private aligned, 10 25 3 pw_flags aligned, 10 26 4 short_pw bit (1) unal, /* ON password is eight-character form */ 10 27 4 short_network_pw bit (1) unal, /* ON card password is eight character form. */ 10 28 3 password character (32), /* person's password */ 10 29 3 network_password character (32), 10 30 2 public, 10 31 3 user_id character (32), /* user ID (for alias entries */ 10 32 3 alias character (8), 10 33 3 default_project character (16), /* user's default project */ 10 34 3 flags, /* one-bit flags */ 10 35 4 has_password bit (1) unaligned, 10 36 4 has_network_password bit (1) unaligned, 10 37 4 trap bit (1) unal, /* If this password is used, holler */ 10 38 4 lock bit (1) unal, /* prevent login if on. */ 10 39 4 nochange bit (1) unal, /* user cannot change password */ 10 40 4 must_change bit unal, /* user must change password at next login */ 10 41 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 10 42 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 10 43 4 last_bad_pw_reported bit (1) unal, /* ON if user has NOT been told about last bad password */ 10 44 4 operator bit (1) unal, /* ON if user can login as an operator... */ 10 45 4 pads bit (26) unal, 10 46 3 n_good_pw fixed bin, /* Number of good passwords */ 10 47 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 10 48 3 n_bad_pw_since_good fixed bin, /* Number of wrong passwords since good */ 10 49 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 10 50 10 51 3 time_last_good_pw fixed bin (71), 10 52 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 10 53 3 bad_pw_term_id character (4), /* where bad password from */ 10 54 3 bad_pw_line_type fixed bin (17), /* ... */ 10 55 3 bad_pw_term_type character (32), 10 56 3 password_timelock fixed bin (71), /* Password is locked up until here */ 10 57 3 person_authorization (2) bit (72), /* authorization of this person */ 10 58 3 default_person_authorization bit (72), /* default authorization of this person */ 10 59 3 audit bit (36), /* audit flags for person */ 10 60 3 pad1 bit (36), /* pad to even word boundary */ 10 61 3 user_validated_time fixed bin (71), /* time this PNT entry was last validated by an administrator */ 10 62 2 pad (80 - 64) bit (36) aligned; 10 63 10 64 declare PNT_ENTRY_VERSION_2 fixed bin init (2) int static options (constant); 10 65 10 66 /* END INCLUDE FILE ... pnte.incl.pl1 */ 348 349 /* 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 */ 349 350 /* 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 */ 350 351 /* 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 */ 351 352 /* 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 */ 352 353 354 355 /* BEGIN MESSAGE DOCUMENTATION 356* 357* Message: 358* as_request_note_pnt_change_: ERROR_MSG. Rejected NOTE_PNT_CHANGE request 359* from PERS.PROJ. REASON 360* 361* S: as (severity 0) 362* 363* T: $run 364* 365* M: An answering service request to note a change to the PNT sent 366* by PERS.PROJ failed because of REASON. $err 367* 368* A: $contact 369* 370* Message: 371* as_request_note_pnt_change_: ERROR_MSG. Unable to retrieve PNT entry for 372* PERS. 373* 374* S: as (severity 0) 375* 376* T: $run 377* 378* M: An error (ERROR_MSG) occurred while getting the PNT entry for person 379* PERS. 380* 381* A: $contact_sa 382* 383* Message: 384* as_request_note_pnt_change_: Bumping user PERS.PROJ.TAG PROCESSID on 385* channel CHN. (REASON) 386* 387* S: as (severity 0) 388* 389* T: $run 390* 391* M: Process PERS.PROJ.TAG on channel CHN was bumped by a change to the 392* PNT entry for PERS. REASON describes the type of PNT change. 393* 394* A: $ignore 395* 396* Message: 397* as_request_note_pnt_change_: ERROR_MSG. Error from asu_$bump user. 398* Did not bump PERS.PROJ.TAG PROCESSID on channel CHN (REASON) 399* 400* S: as (severity 0) 401* 402* T: $run 403* 404* M: An error occurred attempting to bump process PERS.PROJ.TAG PROCESSID 405* on channel CHN. REASON indicates why bumping was attempted. 406* 407* A: $contact_sa 408* 409* Message: 410* as_request_note_pnt_change_: User has "nobump" attribute. 411* Did not bump PERS.PROJ.TAG PROCESSID on channel CHN. (REASON) 412* 413* S: as (severity 0) 414* 415* T: $run 416* 417* M: Bump attempt for process PERS.PROJ.TAG with PROCESSID on channel CHN 418* failed, because the user has the nobump attribute. REASON indicates why 419* bumping was attempted. 420* 421* A: $contact_sa 422* 423* 424* Message: 425* as_request_note_pnt_change_: Lowered maximum authorization for PERS.PROJ.TAG 426* on channel CHN from OLD_MAX_AUTH to NEW_MAX_AUTH. PNT change. 427* 428* S: as (severity 0) 429* 430* T: $run 431* 432* M: A change to the PNT entry for PERS lowered the maximum authorization 433* associated with the process PERS.PROJ.TAG on channel CHN. The 434* authorization was changed from OLD_MAX_AUTH to NEW_MAX_AUTH. 435* 436* A: $ignore 437* 438* Message: 439* as_request_note_pnt_change_: Raised minimum authorization for PERS.PROJ.TAG 440* on channel CHN from OLD_MIN_AUTH to NEW_MIN_AUTH. PNT change. 441* 442* S: as (severity 0) 443* 444* T: $run 445* 446* M: A change to the PNT entry for PERS raised the minimum authorization 447* associated with the process PERS.PROJ.TAG on channel CHN. The 448* authorization was changed from OLD_MIN_AUTH to NEW_MIN_AUTH. 449* 450* A: $ignore 451* 452* END MESSAGE DOCUMENTATION */ 453 454 /* format: on */ 455 456 end as_request_note_pnt_change_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/29/88 0858.7 as_request_note_pnt_change_.pl1 >spec>install>1093>as_request_note_pnt_change_.pl1 339 1 08/06/87 0913.4 absentee_user_table.incl.pl1 >ldd>include>absentee_user_table.incl.pl1 340 2 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 341 3 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 342 4 08/06/87 0913.4 as_data_definitions_.incl.pl1 >ldd>include>as_data_definitions_.incl.pl1 343 5 10/30/86 2010.5 as_request_header.incl.pl1 >ldd>include>as_request_header.incl.pl1 344 6 10/30/86 2010.5 as_request_sender_.incl.pl1 >ldd>include>as_request_sender_.incl.pl1 345 7 02/12/85 1429.5 as_requests.incl.pl1 >ldd>include>as_requests.incl.pl1 346 8 08/06/87 0912.9 daemon_user_table.incl.pl1 >ldd>include>daemon_user_table.incl.pl1 347 9 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 348 10 03/15/85 0953.1 pnt_entry.incl.pl1 >ldd>include>pnt_entry.incl.pl1 349 11 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 350 12 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 12-112 13 07/14/88 2015.0 user_abs_attributes.incl.pl1 >ldd>include>user_abs_attributes.incl.pl1 351 14 07/14/88 2015.0 user_table_entry.incl.pl1 >ldd>include>user_table_entry.incl.pl1 352 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. ASR_NPC_INFO_VERSION_1 000000 constant char(8) initial packed unaligned dcl 7-129 ref 148 AS_REQUEST_SENDER_VERSION_2 000002 constant char(8) initial packed unaligned dcl 6-27 ref 141 DONT_HONOR_NOBUMP constant bit(1) initial packed unaligned dcl 85 set ref 212* DO_HONOR_NOBUMP 000014 constant bit(1) initial packed unaligned dcl 85 set ref 288* 290* 318* ME 000004 constant char(32) initial packed unaligned dcl 87 set ref 111* 143* 150* 162* 230* 258* 269* 275* 299* 310* NOW_HAS_PROCESS constant fixed bin(17,0) initial dcl 9-76 ref 207 NO_GRACE 000045 constant fixed bin(17,0) initial dcl 255 set ref 274* PNT_ENTRY_DELETED constant fixed bin(2,0) initial dcl 177 ref 212 226 PNT_ENTRY_NOT_RETRIEVED constant fixed bin(2,0) initial dcl 177 ref 183 210 PNT_ENTRY_RETRIEVED constant fixed bin(2,0) initial dcl 177 ref 214 234 PNT_ENTRY_RETRIEVE_ERROR constant fixed bin(2,0) initial dcl 177 ref 232 P_asr_note_pnt_change_info_ptr parameter pointer dcl 53 ref 11 116 P_asr_sender_ptr parameter pointer dcl 54 ref 11 117 P_code parameter fixed bin(35,0) dcl 135 set ref 132 142* 143* 149* 150* 159* 160* 162* P_reason parameter char packed unaligned dcl 253 set ref 240 258* 262 269* 274* 275* RING_1 constant fixed bin(3,0) initial dcl 88 ref 159 SL_LOG_SILENT 000045 constant fixed bin(17,0) initial dcl 11-14 set ref 143* 150* 230* 258* 269* 275* 299* 310* UTE_SIZE constant fixed bin(17,0) initial dcl 2-120 ref 187 187 active based fixed bin(17,0) level 2 dcl 14-78 ref 207 addr builtin function dcl 81 ref 162 162 187 192 197 225 225 aim_check_$in_range 000010 constant entry external dcl 63 ref 318 ansp 000122 automatic pointer initial dcl 2-53 set ref 104* 2-53* 186 187 anstbl based structure level 1 dcl 2-55 any_other 000112 stack reference condition dcl 92 ref 111 as_access_audit_$as_rqt_nt_pnt_chg 000012 constant entry external dcl 64 ref 162 as_any_other_handler_ 000014 constant entry external dcl 65 ref 111 as_data_$ansp 000040 external static pointer dcl 3-26 ref 101 104 as_data_$autp 000042 external static pointer dcl 3-31 ref 101 105 as_data_$dutp 000044 external static pointer dcl 3-37 ref 101 106 as_request_header based structure level 1 dcl 5-62 as_request_sender based structure level 1 dcl 6-15 set ref 162 162 as_request_sender_ptr 000124 automatic pointer dcl 6-13 set ref 117* 141 143 143 150 159 162 162 asr_note_pnt_change_info based structure level 1 dcl 7-124 asr_note_pnt_change_info_ptr 000126 automatic pointer dcl 7-122 set ref 116* 124 148 150 asu_$blast_user 000016 constant entry external dcl 66 ref 262 asu_$bump_user 000020 constant entry external dcl 67 ref 274 at 100 based structure level 2 dcl 14-78 autbl based structure level 1 dcl 1-28 autp 000120 automatic pointer initial dcl 1-26 set ref 105* 1-26* 191 192 clock builtin function dcl 81 ref 290 code 000100 automatic fixed bin(35,0) dcl 58 set ref 121* 122 225* 226 228 230* 274* 275 275* current_size 5 based fixed bin(17,0) level 3 in structure "anstbl" dcl 2-55 in procedure "as_request_note_pnt_change_" ref 186 current_size 5 based fixed bin(17,0) level 3 in structure "dutbl" dcl 8-29 in procedure "as_request_note_pnt_change_" ref 196 current_size 5 based fixed bin(17,0) level 3 in structure "autbl" dcl 1-28 in procedure "as_request_note_pnt_change_" ref 191 disconnected 431(13) based bit(1) level 3 packed packed unaligned dcl 14-78 ref 262 display_access_class_ 000022 constant entry external dcl 68 ref 299 299 299 299 310 310 310 310 dutbl based structure level 1 dcl 8-29 dutp 000130 automatic pointer initial dcl 8-27 set ref 106* 8-27* 196 197 entry 200 based structure array level 2 in structure "autbl" dcl 1-28 in procedure "as_request_note_pnt_change_" set ref 192 entry 200 based structure array level 2 in structure "dutbl" dcl 8-29 in procedure "as_request_note_pnt_change_" set ref 197 entry 200 based structure array level 2 in structure "anstbl" dcl 2-55 in procedure "as_request_note_pnt_change_" set ref 187 error_table_$id_not_found 000032 external static fixed bin(35,0) dcl 75 ref 226 error_table_$not_privileged 000034 external static fixed bin(35,0) dcl 76 ref 159 error_table_$unimplemented_version 000036 external static fixed bin(35,0) dcl 77 ref 142 149 flags 40 000164 automatic structure level 3 dcl 205 group_id 4 based char(32) level 2 packed packed unaligned dcl 6-15 set ref 143* 150* header based structure level 2 in structure "autbl" dcl 1-28 in procedure "as_request_note_pnt_change_" header based structure level 2 in structure "anstbl" dcl 2-55 in procedure "as_request_note_pnt_change_" header based structure level 2 in structure "dutbl" dcl 8-29 in procedure "as_request_note_pnt_change_" honor_nobump parameter bit(1) packed unaligned dcl 254 ref 240 257 i 000151 automatic fixed bin(17,0) dcl 181 set ref 186* 187* 191* 192* 196* 197* lock 40(03) 000164 automatic bit(1) level 4 packed packed unaligned dcl 205 set ref 288 nobump 100(02) based bit(1) level 3 packed packed unaligned dcl 14-78 ref 257 null builtin function dcl 81 ref 101 101 101 1-26 2-53 8-27 14-76 password_timelock 64 000164 automatic fixed bin(71,0) level 3 dcl 205 set ref 290 person 4 based char(24) level 2 packed packed unaligned dcl 14-78 set ref 207 258* 269* 275* 299* 310* person_authorization 66 000164 automatic bit(72) array level 3 dcl 205 set ref 295 299* 299* 304 307 310* 310* 315 person_id 000101 automatic char(32) packed unaligned dcl 59 in procedure "as_request_note_pnt_change_" set ref 124* 207 225* 230* person_id 6 based char(32) level 2 in structure "asr_note_pnt_change_info" dcl 7-124 in procedure "as_request_note_pnt_change_" ref 124 pnt_entry based structure level 1 dcl 10-22 pnt_entry_status 000150 automatic fixed bin(2,0) dcl 176 set ref 183* 210 212 214 226* 232* 234* pnt_manager_$admin_get_entry 000024 constant entry external dcl 69 ref 225 pnte 000164 automatic structure level 1 dcl 205 set ref 225 225 proc_id 276 based bit(36) level 2 dcl 14-78 set ref 258* 269* 275* process_authorization 24 based bit(72) level 2 dcl 14-78 set ref 318* process_authorization_range 300 based bit(72) array level 2 dcl 14-78 set ref 295 299* 299* 304* 307 310* 310* 315* 318* project 12 based char(12) level 2 packed packed unaligned dcl 14-78 set ref 258* 269* 275* 299* 310* public 22 000164 automatic structure level 2 dcl 205 pw_time_lock 40(06) 000164 automatic bit(1) level 4 packed packed unaligned dcl 205 set ref 290 sys_log_ 000026 constant entry external dcl 70 ref 258 269 299 310 sys_log_$error_log 000030 constant entry external dcl 71 ref 143 150 230 275 tag 15 based char(1) level 2 packed packed unaligned dcl 14-78 set ref 258* 269* 275* 299* 310* tty_name 316 based char(32) level 2 packed packed unaligned dcl 14-78 set ref 258* 269* 275* 299* 310* uflags 431 based structure level 2 dcl 14-78 user_abs_attributes based structure level 1 dcl 13-25 user_attributes based structure level 1 dcl 12-21 ut_header based structure level 1 dcl 15-16 ute based structure level 1 dcl 14-78 utep 000132 automatic pointer initial dcl 14-76 set ref 14-76* 187* 192* 197* 207 207 257 258 258 258 258 258 262 262* 269 269 269 269 269 274* 275 275 275 275 275 295 299 299 299 299 299 299 304 307 310 310 310 310 310 310 315 318 318 validation_level 15 based fixed bin(3,0) level 2 dcl 6-15 set ref 159 version 4 based char(8) level 2 in structure "asr_note_pnt_change_info" dcl 7-124 in procedure "as_request_note_pnt_change_" set ref 148 150* version based char(8) level 2 in structure "as_request_sender" dcl 6-15 in procedure "as_request_note_pnt_change_" set ref 141 143* 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 ACTIVE_VALUES internal static char(18) initial array dcl 9-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 2-51 ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 5-29 ASR_AC_VERSION_1 internal static char(8) initial packed unaligned dcl 7-106 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 5-29 ASR_BUMP_USER internal static fixed bin(17,0) initial dcl 5-29 ASR_COM_CHANNEL_INFO internal static fixed bin(17,0) initial dcl 5-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 5-29 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array packed unaligned dcl 5-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 5-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 5-29 ASR_FIRST_TYPE internal static fixed bin(17,0) initial dcl 5-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 5-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 5-29 ASR_LAST_TYPE internal static fixed bin(17,0) initial dcl 5-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 5-29 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 5-29 ASR_REQUEST_NAMES internal static char(40) initial array packed unaligned dcl 5-48 AT_NORMAL internal static char(8) initial packed unaligned dcl 2-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 2-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 2-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 8-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 9-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 9-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 9-76 NOW_FREE internal static fixed bin(17,0) initial dcl 9-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 9-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 9-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 9-76 PNT_ENTRY_VERSION_2 internal static fixed bin(17,0) initial dcl 10-64 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 9-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 9-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 9-106 PT_BUMP internal static fixed bin(17,0) initial dcl 9-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 14-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 9-106 PT_DETACH internal static fixed bin(17,0) initial dcl 9-106 PT_FPE internal static fixed bin(17,0) initial dcl 9-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 9-106 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 14-261 PT_LOGOUT internal static fixed bin(17,0) initial dcl 9-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 9-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 9-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 9-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 9-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 9-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 14-290 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_BEEP internal static fixed bin(17,0) initial dcl 11-14 SL_LOG_CRASH 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 9-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 14-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 9-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 9-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 9-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 9-93 TAG_UFT internal static char(1) initial packed unaligned dcl 9-93 TRA_VEC_VALUES internal static char(32) initial array dcl 9-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 9-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 9-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 9-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 9-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 9-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 9-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 9-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 9-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 9-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 9-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 9-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 9-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 9-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 9-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 9-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 9-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 9-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 9-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 9-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 9-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 9-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 9-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 9-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 9-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 9-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 9-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 9-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 9-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 9-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 9-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 9-25 as_data_$BS external static char(1) dcl 3-21 as_data_$CR external static char(1) dcl 3-22 as_data_$abs_dim external static char(32) packed unaligned dcl 3-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 3-24 as_data_$acsdir external static char(168) packed unaligned dcl 3-25 as_data_$as_procid external static bit(36) dcl 3-27 as_data_$as_ring external static fixed bin(3,0) dcl 3-28 as_data_$as_tty automatic char(6) packed unaligned dcl 3-29 as_data_$asmtp external static pointer dcl 3-30 as_data_$buzzardp external static pointer dcl 3-32 as_data_$cdtp external static pointer dcl 3-33 as_data_$debug_flag external static bit(1) dcl 3-84 as_data_$default_weight external static fixed bin(35,0) dcl 3-34 as_data_$devtabp external static pointer dcl 3-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 3-36 as_data_$g115_dim external static char(32) packed unaligned dcl 3-38 as_data_$lct_initialized external static bit(1) dcl 3-39 as_data_$lct_size external static fixed bin(17,0) dcl 3-40 as_data_$login_args external static structure level 1 dcl 3-62 as_data_$login_words external static fixed bin(17,0) dcl 3-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 3-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 3-87 as_data_$ls_message_buffer_ptr external static pointer dcl 3-88 as_data_$ls_request_server_info_ptr external static pointer dcl 3-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 3-41 as_data_$mgtp external static pointer dcl 3-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 3-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 3-44 as_data_$pdtdir external static char(168) packed unaligned dcl 3-45 as_data_$pit_ptr external static pointer dcl 3-46 as_data_$rcpdir external static char(168) packed unaligned dcl 3-47 as_data_$request_priority external static fixed bin(17,0) dcl 3-48 as_data_$rs_ptrs external static pointer array dcl 3-49 as_data_$rtdtp external static pointer dcl 3-50 as_data_$sat_htp external static pointer dcl 3-51 as_data_$satp external static pointer dcl 3-52 as_data_$signal_types external static structure level 1 dcl 3-67 as_data_$suffix external static char(2) array packed unaligned dcl 3-53 as_data_$sysdir external static char(168) packed unaligned dcl 3-54 as_data_$system_signal_types external static structure level 1 dcl 3-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 3-55 as_data_$terminet_tabs_string external static varying char(144) dcl 3-56 as_data_$tty_dim external static char(32) packed unaligned dcl 3-57 as_data_$update_priority external static fixed bin(17,0) dcl 3-58 as_data_$version external static char(8) packed unaligned dcl 3-59 as_data_$whoptr external static pointer dcl 3-60 as_data_login_words based structure level 1 dcl 3-77 as_procid defined bit(36) dcl 4-17 as_request_version_1 internal static fixed bin(17,0) initial dcl 5-27 as_tty based char(6) packed unaligned dcl 4-18 asmtp defined pointer dcl 4-19 asr_ac_length automatic fixed bin(21,0) dcl 7-105 asr_admin_command_info based structure level 1 dcl 7-85 asr_admin_command_info_ptr automatic pointer dcl 7-84 asr_bump_user_info based structure level 1 dcl 7-60 asr_bump_user_info_ptr automatic pointer dcl 7-59 asr_bump_user_info_version_1 internal static char(8) initial packed unaligned dcl 7-57 asr_buzzard_info based structure level 1 dcl 7-29 asr_buzzard_info_version_1 internal static char(8) initial packed unaligned dcl 7-27 asr_buzzard_infop automatic pointer dcl 7-28 asr_buzzard_notification based structure level 1 dcl 7-35 asr_reply based structure level 1 dcl 7-21 asr_reply_admin_command based structure level 1 dcl 7-108 asr_reply_bump_user based structure level 1 dcl 7-79 asr_replyp automatic pointer dcl 7-20 devtabp defined pointer dcl 4-20 ip defined pointer dcl 4-21 mgtp defined pointer dcl 4-22 pdtdir based char(168) packed unaligned dcl 4-23 pntep automatic pointer dcl 10-21 rs_ptrs based pointer array dcl 4-24 sat_htp defined pointer dcl 4-25 satp defined pointer dcl 4-26 scdtp defined pointer dcl 4-27 sl_info automatic structure level 1 dcl 11-24 sl_info_code_msg internal static structure level 1 dcl 11-187 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 sysdir defined char(168) packed unaligned dcl 4-28 whoptr defined pointer dcl 4-29 NAMES DECLARED BY EXPLICIT CONTEXT. BUMP_USER 001121 constant entry internal dcl 240 ref 212 288 290 318 MAIN_RETURN 000524 constant label dcl 129 ref 111 111 111 111 NULL_PROC 001763 constant entry internal dcl 329 ref 111 111 OTHER_TESTS 001517 constant label dcl 295 ref 290 PROCESS_UTE 000767 constant entry internal dcl 202 ref 188 193 198 RETRIEVE_PNT_ENTRY 001024 constant entry internal dcl 222 ref 210 SCAN_USER_TABLES_AND_UPDATE 000704 constant entry internal dcl 168 ref 125 UPDATE_UTE_AND_MAYBE_BUMP_USER 001464 constant entry internal dcl 285 ref 214 VALIDATE_REQUEST 000525 constant entry internal dcl 132 ref 121 as_request_note_pnt_change_ 000367 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2304 2352 2046 2314 Length 3106 2046 46 517 236 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_request_note_pnt_change_ 536 external procedure is an external procedure. on unit on line 111 94 on unit VALIDATE_REQUEST internal procedure shares stack frame of external procedure as_request_note_pnt_change_. SCAN_USER_TABLES_AND_UPDATE internal procedure shares stack frame of external procedure as_request_note_pnt_change_. PROCESS_UTE internal procedure shares stack frame of external procedure as_request_note_pnt_change_. RETRIEVE_PNT_ENTRY internal procedure shares stack frame of external procedure as_request_note_pnt_change_. BUMP_USER internal procedure shares stack frame of external procedure as_request_note_pnt_change_. UPDATE_UTE_AND_MAYBE_BUMP_USER internal procedure shares stack frame of external procedure as_request_note_pnt_change_. NULL_PROC 64 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_request_note_pnt_change_ 000100 code as_request_note_pnt_change_ 000101 person_id as_request_note_pnt_change_ 000120 autp as_request_note_pnt_change_ 000122 ansp as_request_note_pnt_change_ 000124 as_request_sender_ptr as_request_note_pnt_change_ 000126 asr_note_pnt_change_info_ptr as_request_note_pnt_change_ 000130 dutp as_request_note_pnt_change_ 000132 utep as_request_note_pnt_change_ 000150 pnt_entry_status SCAN_USER_TABLES_AND_UPDATE 000151 i SCAN_USER_TABLES_AND_UPDATE 000164 pnte PROCESS_UTE THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac move_label_var make_label_var enable_op shorten_stack ext_entry int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. aim_check_$in_range as_access_audit_$as_rqt_nt_pnt_chg as_any_other_handler_ asu_$blast_user asu_$bump_user display_access_class_ pnt_manager_$admin_get_entry sys_log_ sys_log_$error_log THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_data_$autp as_data_$dutp error_table_$id_not_found error_table_$not_privileged error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000363 1 26 000374 2 53 000376 8 27 000377 14 76 000400 101 000401 104 000414 105 000417 106 000422 111 000425 116 000504 117 000510 121 000513 122 000515 124 000517 125 000523 129 000524 132 000525 141 000527 142 000534 143 000537 146 000576 148 000577 149 000604 150 000607 153 000646 159 000647 160 000656 162 000657 164 000703 168 000704 183 000705 186 000707 187 000717 188 000724 189 000725 191 000727 192 000737 193 000743 194 000744 196 000746 197 000757 198 000763 199 000764 200 000766 202 000767 207 000770 210 001000 212 001003 214 001020 220 001023 222 001024 225 001025 226 001050 228 001057 230 001061 232 001113 233 001115 234 001116 235 001120 240 001121 257 001132 258 001144 262 001220 266 001271 269 001273 274 001350 275 001377 282 001463 285 001464 288 001465 290 001502 295 001517 299 001525 304 001622 307 001626 310 001634 315 001731 318 001735 322 001761 329 001762 335 001770 ----------------------------------------------------------- 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