COMPILATION LISTING OF SEGMENT as_request_bump_user_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1017.7 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(86-10-14,Lippard), approve(85-12-30,MCR7326), 11* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 12* Use version 2 of as_request_sender. 13* 2) change(87-04-28,GDixon), approve(87-07-13,MCR7741), 14* audit(87-07-27,Brunelle), install(87-08-04,MR12.1-1055): 15* Updated for change to user_table_entry.incl.pl1. 16* END HISTORY COMMENTS */ 17 18 /* format: ^indcom */ 19 20 /* DESCRIPTION: 21* This procedure is called by as_request_server_ to request that a process be 22* bumped from the system. Privledge for a user to bump a process is 23* controled by the user's access to the ACS segment: bump_user.acs in 24* as_data_$acsdir. A grace time and a message to be sent to the user's 25* terminal can be specified. All successful and unsuccessful attempts are 26* logged. 27* 28* P_asr_bump_user_info_ptr - points to the asr_bump_user_info structure which 29* contains the process id of the process to be bumped, a message to be 30* printed on the user's terminal, and a grace time. 31* 32* P_as_request_sender_ptr - points to the as_request_sender structure which 33* describes the sender of the bump_user request. 34**/ 35 36 /* HISTORY: 37*Written by R. Michael Tague, 08/28/84. 38*Modified: 39*11/02/84 by R. Michael Tague: up_sysctl_$check_acs now returns a bit (36) 40* mode string instead of a fixed bin (5) and no longer takes a 41* directoy arg. 42*11/20/84 by R. Michael Tague: Added person.project.tag information to several 43* error messages. Fixed omission of code setting in 44* VALIDATE_REQUESTER. Fixed a few comments. 45**/ 46 47 /* format: style5 */ 48 49 as_request_bump_user_: 50 procedure (P_asr_bump_user_info_ptr, P_as_request_sender_ptr); 51 52 /* DECLARATIONS */ 53 /* parameters */ 54 55 dcl P_asr_bump_user_info_ptr 56 ptr parameter; 57 dcl P_as_request_sender_ptr ptr parameter; 58 59 /* automatic */ 60 61 dcl mode bit (36) aligned; 62 dcl code fixed bin (35); 63 dcl type fixed bin; 64 65 /* builtin functions */ 66 67 dcl (null, addr) builtin; 68 69 /* constants */ 70 71 dcl myname init ("as_request_bump_user_") 72 char (21) internal static 73 options (constant); 74 75 /* entries */ 76 77 dcl aim_check_$equal entry (bit (72) aligned, 78 bit (72) aligned) 79 returns (bit (1) aligned); 80 dcl up_sysctl_$check_acs entry (char (*), char (*), fixed bin, 81 bit (36) aligned, fixed bin (35)); 82 dcl asu_$find_process entry (bit (36) aligned, fixed bin, ptr) 83 ; 84 dcl asu_$bump_user entry (ptr, char (*), fixed bin (35), 85 fixed bin); 86 dcl sys_log_ entry options (variable); 87 dcl sys_log_$error_log entry options (variable); 88 89 /* external static */ 90 91 dcl error_table_$ai_restricted 92 fixed bin (35) external static; 93 dcl error_table_$as_bump_user_not_found 94 fixed bin (35) external static; 95 dcl error_table_$as_request_invalid_request 96 fixed bin (35) external static; 97 dcl error_table_$insufficient_access 98 fixed bin (35) external static; 99 100 /* END OF DECLARATIONS */ 101 102 /* program */ 103 asr_bump_user_info_ptr = P_asr_bump_user_info_ptr; 104 as_request_sender_ptr = P_as_request_sender_ptr; 105 call VALIDATE_REQUESTER (code); 106 if code = 0 then 107 do; 108 call FIND_REQUESTEE_AND_DO_AIM_CHECK (code); 109 if code = 0 then 110 call REGISTER_FOR_BUMP (code); 111 end; 112 asr_replyp = addr (as_request_sender.reply_message); 113 asr_reply_bump_user.reference_id = 114 asr_bump_user_info.reply_reference_id; 115 asr_reply_bump_user.code = code; 116 return; 117 118 /* ************************************************************************ 119* * VALIDATE_REQUESTER - This routine checks the requester's access to * 120* * the ACS segment: bump_user.acs in as_data_$acsdir. The requester * 121* * must have read/write access. This routine also checks structure * 122* * versions. * 123* ************************************************************************ */ 124 125 VALIDATE_REQUESTER: 126 proc (code); 127 dcl code fixed bin (35); 128 129 if asr_bump_user_info.version = asr_bump_user_info_version_1 130 & as_request_sender.version = AS_REQUEST_SENDER_VERSION_2 then 131 do; 132 call up_sysctl_$check_acs ("bump_user.acs", 133 as_request_sender.group_id, 134 (as_request_sender.validation_level), mode, code); 135 if code = 0 then 136 if (mode & RW_ACCESS) = RW_ACCESS then 137 ; /* Access is ok */ 138 else 139 do; 140 code = error_table_$insufficient_access; 141 call sys_log_$error_log (SL_LOG_SILENT, code, 142 myname, 143 "Rejected BUMP_USER request from ^a to bump process ^12.3b. Requestor does not have sufficient access to the bump_user.acs segment.", 144 as_request_sender.group_id, 145 asr_bump_user_info.process_id); 146 end; 147 else 148 call sys_log_$error_log (SL_LOG_SILENT, code, myname, 149 "Rejected BUMP_USER request from ^a to bump process ^12.3b. Error calling up_sysctl_$check_acs for requestor.", 150 as_request_sender.group_id, 151 asr_bump_user_info.process_id); 152 end; 153 else 154 do; 155 code = error_table_$as_request_invalid_request; 156 call sys_log_$error_log (SL_LOG_SILENT, code, myname, 157 "Rejected BUMP_USER request from ^a to bump process ^12.3b. Invalid version (^[^a^s^;^s^a^]) in the ^[asr_bump_user_info^;as_request_sender^] structure.", 158 as_request_sender.group_id, asr_bump_user_info.process_id, 159 (asr_bump_user_info.version ^= asr_bump_user_info_version_1), 160 asr_bump_user_info.version, as_request_sender.version, 161 (asr_bump_user_info.version ^= asr_bump_user_info_version_1)); 162 end; 163 end VALIDATE_REQUESTER; 164 165 /* ************************************************************************* 166* * FIND_REQUESTEE_AND_DO_AIM_CHECK - Find the process to be bumped in * 167* * the user_table and check that the AIM level of the requester and the * 168* * AIM level of the process to be bumped are equal. This AIM check * 169* * prevents a covert channel between the requester and requestee which * 170* * could be quite large given that a message specified by the requester * 171* * is sent to the user to be bumped. * 172* * * 173* * This routine sets the user_table base pointer, utep. * 174* ************************************************************************* */ 175 176 FIND_REQUESTEE_AND_DO_AIM_CHECK: 177 proc (code); 178 dcl code fixed bin (35); 179 180 call asu_$find_process (asr_bump_user_info.process_id, type, utep); 181 if utep = null then 182 do; 183 code = error_table_$as_bump_user_not_found; 184 call sys_log_$error_log (SL_LOG_SILENT, code, myname, 185 "Rejected BUMP_USER request from ^a to bump process ^12.3b. Process to be bumped was not found.", 186 as_request_sender.group_id, asr_bump_user_info.process_id); 187 end; 188 else 189 do; 190 if aim_check_$equal (as_request_sender.authorization, 191 ute.process_authorization) then 192 code = 0; 193 else 194 do; 195 code = error_table_$ai_restricted; 196 call sys_log_$error_log (SL_LOG_SILENT, code, myname, 197 "Rejected BUMP_USER request from ^a to bump process ^12.3b (^[*^]^a.^a.^a). Authorization level of requesting process and target process do not match.", 198 as_request_sender.group_id, 199 asr_bump_user_info.process_id, ute.anonymous, 200 ute.person, ute.project, ute.tag); 201 end; 202 end; 203 end FIND_REQUESTEE_AND_DO_AIM_CHECK; 204 205 /* ************************************************************************* 206* * REGISTER_FOR_BUMP - Call asu_$bump_user to get the process registered * 207* * for a bump to occur at grace time in the future. Logs request. * 208* ************************************************************************* */ 209 210 REGISTER_FOR_BUMP: 211 proc (code); 212 dcl code fixed bin (35); 213 214 call asu_$bump_user (utep, asr_bump_user_info.message, code, 215 asr_bump_user_info.grace_time_in_seconds); 216 if code = 0 then 217 call sys_log_ (SL_LOG_SILENT, 218 "^a: BUMPING ^[*^]^a.^a.^a ^12.3b for requestor ^a.", 219 myname, ute.anonymous, 220 ute.person, ute.project, ute.tag, 221 asr_bump_user_info.process_id, 222 as_request_sender.group_id); 223 else 224 call sys_log_$error_log (SL_LOG_SILENT, code, myname, 225 "Rejected BUMP_USER request from ^a to bump process ^12.3b (^[*^]^a.^a.^a). Error from asu_$bump_user.", 226 as_request_sender.group_id, asr_bump_user_info.process_id, 227 ute.anonymous, ute.person, ute.project, ute.tag); 228 end REGISTER_FOR_BUMP; 229 230 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 231 232 2 1 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* Answering Service request information. 2 5**/ 2 6 2 7 2 8 /****^ HISTORY COMMENTS: 2 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 2 10* Written by someone, at sometime. 2 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 2 12* R. Michael Tague: Added ASR_BUMP_USER request. 2 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 2 14* BIM: ASR_ADMIN_COMMAND. 2 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 2 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 2 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 2 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 2 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 2 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 2 21* Jim Lippard: Added ASR_ABS_COMMAND request. 2 22* END HISTORY COMMENTS */ 2 23 2 24 2 25 /* format: style4 */ 2 26 2 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 2 28 2 29 dcl ( 2 30 ASR_FIRST_TYPE initial (1), 2 31 ASR_DIAL_SERVER initial (1), 2 32 ASR_DIAL_OUT initial (2), 2 33 ASR_FPE_CAUSES_LOGOUT initial (3), 2 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 2 35 ASR_PROC_TERM_NOTIFY initial (5), 2 36 ASR_BUMP_USER initial (6), 2 37 ASR_ADMIN_COMMAND initial (7), 2 38 ASR_NOTE_PNT_CHANGE initial (8), 2 39 ASR_DAEMON_COMMAND initial (9), 2 40 ASR_COM_CHANNEL_INFO initial (10), 2 41 ASR_ABS_COMMAND initial (11), 2 42 ASR_LAST_TYPE initial (11) 2 43 ) fixed bin internal static options (constant); 2 44 2 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 2 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 2 47 2 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 2 49 char (40) init ( 2 50 "Dial request", 2 51 "Dial out request", 2 52 "Logout on fatal process error", 2 53 "New process on fatal process error", 2 54 "Monitor process terminations", 2 55 "Bump user", 2 56 "Execute admin command", 2 57 "Note PNT change", 2 58 "Daemon command", 2 59 "Communications channel info", 2 60 "Absentee command"); 2 61 2 62 dcl 1 as_request_header based aligned, 2 63 2 version fixed bin, /* version number */ 2 64 2 type fixed bin, /* what to do */ 2 65 2 reply_channel fixed bin (71); /* who to tell */ 2 66 2 67 2 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 233 234 3 1 /* BEGIN INCLUDE FILE ... as_requests.incl.pl1 */ 3 2 /* DESCRIPTION: 3 3* This include file is the repository of as_request_ structures which are 3 4* not so complicated or arcane as to require their own include file. 3 5* It requires as_request_header.incl.pl1 3 6**/ 3 7 3 8 /* HISTORY: 3 9* Written by someone, at sometime. 3 10* Modified: 3 11* 09/10/84 by R. Michael Tague: Add the structure asr_bump_user_info 3 12* and asr_reply_bump_user. 3 13* 01/23/85 by E. Swenson: Add the asr_note_pnt_change_info structure. 3 14**/ 3 15 3 16 /* format: style4 */ 3 17 3 18 /*** return status from an as_request_ call. ***/ 3 19 3 20 dcl asr_replyp ptr; 3 21 dcl 1 asr_reply aligned based (asr_replyp), /* IPC status return for a.s. request */ 3 22 2 code fixed bin (35), /* standard error code */ 3 23 2 data bit (36); /* other data */ 3 24 3 25 /*** request to monitor process destructions, and the destruction notification ***/ 3 26 3 27 dcl asr_buzzard_info_version_1 char (8) init ("buzzard1") int static options (constant); 3 28 dcl asr_buzzard_infop ptr; 3 29 dcl 1 asr_buzzard_info aligned based (asr_buzzard_infop), /* for watching dying processes */ 3 30 2 header aligned like as_request_header, 3 31 2 version char (8), 3 32 2 info_channel fixed bin (71), /* IPC channel to send processid wakeup messges */ 3 33 2 my_reference_id bit (36); /* becomes top 36 bits of death notice */ 3 34 3 35 dcl 1 asr_buzzard_notification aligned based (asr_replyp), /* message on process destruction */ 3 36 2 your_reference_id bit (36), /* from asr_buzzard_info.my_reference_id */ 3 37 2 process_id bit (36); /* process id of dead process */ 3 38 3 39 /* *********************************************************************** 3 40* * asr_bump_user_info - Message segment info structure for the * 3 41* * ASR_BUMP_USER requests. * 3 42* * process-id - process_id of process to be bumped. * 3 43* * message - message to be splat across user terminal when * 3 44* * the bump is begun, i.e., the grace time starts. * 3 45* * No message is sent if message = "". * 3 46* * grace_time_in_seconds * 3 47* * - Amount of time given to the user before the * 3 48* * user's process is actually terminated. * 3 49* * reply_reference_id * 3 50* * - Reference id that will be returned in the * 3 51* * as_reply_bump_user structure. A reply channel * 3 52* * must be specified in reply_channel in the * 3 53* * header of this structure. The reply message * 3 54* * will have the sturcture of asr_reply_bump_user. * 3 55* *********************************************************************** */ 3 56 3 57 dcl asr_bump_user_info_version_1 char (8) init ("asrbump1") int static options (constant); 3 58 3 59 dcl asr_bump_user_info_ptr ptr; 3 60 dcl 1 asr_bump_user_info aligned based (asr_bump_user_info_ptr), 3 61 2 header aligned like as_request_header, 3 62 2 version char (8), 3 63 2 process_id bit (36), 3 64 2 message char (100) unaligned, 3 65 2 grace_time_in_seconds fixed bin, 3 66 2 reply_reference_id bit (36); 3 67 3 68 /* *********************************************************************** 3 69* * asr_reply_bump_user - Structure sent with the IPC reply upon * 3 70* * initiating the bump. Note: the actual * 3 71* * bump does not take place until after the * 3 72* * given of default grace time. * 3 73* * code - Standard system status code. * 3 74* * reference_id * 3 75* * - Reference id supplied in asr_bump_user_info when * 3 76* * bump user request was made. * 3 77* *********************************************************************** */ 3 78 3 79 dcl 1 asr_reply_bump_user aligned based (asr_replyp), 3 80 2 code fixed bin (35), 3 81 2 reference_id bit (36); 3 82 3 83 3 84 dcl asr_admin_command_info_ptr pointer; 3 85 dcl 1 asr_admin_command_info aligned based (asr_admin_command_info_ptr), 3 86 2 header aligned like as_request_header, 3 87 2 version char (8), 3 88 2 flags aligned, 3 89 3 send_start_wakeup bit (1) unaligned, /* over reply channel */ 3 90 3 send_completion_wakeup bit (1) unaligned, /* over reply channel */ 3 91 3 send_completion_message bit (1) unaligned, 3 92 3 send_completion_mail bit (1) unaligned, 3 93 3 dialog bit (1) unaligned, /* NOT YET IMPLEMENTED */ 3 94 3 pad bit (31) unaligned, 3 95 2 dialog_info aligned, /* NOT YET IMPLEMENTED */ 3 96 3 event_channel fixed bin (71), /* NOTIFY ME ON READ/RIGHT */ 3 97 3 output_message_segment_pathname char (200) unaligned, /* Writes go here */ 3 98 3 input_message_segment_pathname char (200) unaligned, /* Reads come here */ 3 99 2 mail_destination char (200) unaligned, 3 100 2 command_length fixed bin (21), 3 101 2 command char (asr_ac_length refer (asr_admin_command_info.command_length)) unaligned; 3 102 3 103 /* See admin_dialog_info.incl.pl1 for related structures */ 3 104 3 105 dcl asr_ac_length fixed bin (21); 3 106 dcl ASR_AC_VERSION_1 char (8) init ("asrac001") int static options (constant); 3 107 3 108 dcl 1 asr_reply_admin_command aligned based (asr_replyp), 3 109 2 code fixed bin (35), 3 110 2 flags aligned, 3 111 3 command_refused bit (1) unaligned, 3 112 3 command_started bit (1) unaligned, 3 113 3 command_completed bit (1) unaligned, /* with or without errors */ 3 114 3 command_aborted bit (1) unaligned, 3 115 3 command_had_errors bit (1) unaligned, /* at least one error */ 3 116 3 pad bit (31) unaligned; 3 117 3 118 /**** The following structure is used by the Ring-1 PNT software to 3 119* notify the answering service of a PNT change which might affect 3 120* logged in processes. */ 3 121 3 122 dcl asr_note_pnt_change_info_ptr ptr; 3 123 3 124 dcl 1 asr_note_pnt_change_info structure aligned based (asr_note_pnt_change_info_ptr), 3 125 2 header aligned like as_request_header, 3 126 2 version char (8), 3 127 2 person_id char (32); 3 128 3 129 dcl ASR_NPC_INFO_VERSION_1 char (8) initial ("asrnpc01") internal static options (constant); 3 130 3 131 /* END INCLUDE FILE ... as_requests.incl.pl1 */ 235 236 4 1 /* Begin include file as_request_sender_.incl.pl1 84-06-06 BIM */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-10-14,Lippard), approve(85-12-30,MCR7326), 4 5* audit(86-10-24,GDixon), install(86-10-28,MR12.0-1200): 4 6* Added max_authorization and audit_flags. 4 7* END HISTORY COMMENTS */ 4 8 4 9 /* Structure passed from as_request_server_ to the various 4 10* requests to identify requester. */ 4 11 /* format: style3,indcomtxt */ 4 12 4 13 declare as_request_sender_ptr 4 14 pointer; 4 15 declare 1 as_request_sender aligned based (as_request_sender_ptr), 4 16 2 version char (8) aligned, 4 17 2 reply_message fixed bin (71), 4 18 2 group_id char (32) unaligned, 4 19 2 process_id bit (36), 4 20 2 validation_level 4 21 fixed bin (3), 4 22 2 authorization bit (72), 4 23 2 max_authorization 4 24 bit (72), 4 25 2 audit_flags bit (36); 4 26 4 27 declare AS_REQUEST_SENDER_VERSION_2 4 28 char (8) init ("asrqs002") internal static options (constant); 4 29 4 30 /* End include file as_request_sender_.incl.pl1 */ 237 238 5 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 5 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 5 7* Added sl_info structure and associated named constants for use in calling 5 8* sys_log_$general. 5 9* END HISTORY COMMENTS */ 5 10 5 11 5 12 /* format: style4 */ 5 13 5 14 dcl ( 5 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 5 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 5 17 SL_TYPE init (-1), /* type message */ 5 18 SL_LOG_SILENT init (0), /* log message */ 5 19 SL_LOG init (1), /* log & type message */ 5 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 5 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 5 22 ) fixed bin internal static options (constant); 5 23 5 24 dcl 1 sl_info aligned automatic, 5 25 2 version char(8), /* structure version */ 5 26 2 arg_list_ptr ptr, /* arg_list with values */ 5 27 2 loc, 5 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 5 29 /* These flags control where the corresponding data item is found.*/ 5 30 /* -1: data appears in the corresponding structure element below */ 5 31 /* 0: data is not present anywhere */ 5 32 /* +N: data is Nth item in argument list pointed to by */ 5 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 5 34 /* corresponding structure element. */ 5 35 /* if data = +N: */ 5 36 /* argN is data_ptr, argN+1 is data_len */ 5 37 /* if ioa_msg = +N: */ 5 38 /* argN+1, ... argLAST are arguments substituted into the */ 5 39 /* ioa_msg control string. The formatted msg is returned. */ 5 40 2 flags, 5 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 5 42 3 flags_pad bit(35) unal, 5 43 2 mode fixed bin, /* as-mode, command-mode */ 5 44 2 severity fixed bin, /* error severity */ 5 45 2 code fixed bin(35), /* error table code */ 5 46 2 caller char(65) varying, /* caller refname$entryname*/ 5 47 2 data, /* binary data ptr/length */ 5 48 3 data_ptr ptr, 5 49 3 data_lth fixed bin(21), 5 50 2 class char(10) varying, /* binary data class */ 5 51 2 ioa_msg char(500) varying; /* formatted message text */ 5 52 5 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 54 /* */ 5 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 5 56 /* their data types should be as shown in the structure above, except that */ 5 57 /* character strings should be char(*) nonvarying. */ 5 58 /* */ 5 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 60 5 61 /* value for sl_info.version */ 5 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 5 63 5 64 /* values for sl_info.mode */ 5 65 dcl (SL_INFO_as_mode init(1), 5 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 5 67 5 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 5 69 dcl (SL_INFO_arg_given_in_structure init(-1), 5 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 5 71 5 72 5 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 74 /* */ 5 75 /* The following static structures are commonly used in the Login Server */ 5 76 /* user control software. */ 5 77 /* */ 5 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 79 5 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 5 81 5 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 5 83 2 version char(8) init ("sl_info1"), 5 84 2 arg_list_ptr ptr init (null), 5 85 2 loc, 5 86 3 (mode init (-1), 5 87 severity init ( 1), 5 88 code init ( 2), 5 89 caller init (-1), 5 90 data init ( 0), 5 91 class init ( 0), 5 92 ioa_msg init ( 3)) fixed bin, 5 93 2 flags, 5 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 95 3 flags_pad bit(35) unal init ("0"b), 5 96 2 mode fixed bin init ( 1), 5 97 2 severity fixed bin init ( 0), 5 98 2 code fixed bin(35) init ( 0), 5 99 2 caller char(65) varying init (""), 5 100 2 data, 5 101 3 data_ptr ptr init (null), 5 102 3 data_lth fixed bin(21) init ( 0), 5 103 2 class char(10) varying init (""), 5 104 2 ioa_msg char(500) varying init (""); 5 105 5 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 5 107 5 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 5 109 2 version char(8) init ("sl_info1"), 5 110 2 arg_list_ptr ptr init (null), 5 111 2 loc, 5 112 3 (mode init (-1), 5 113 severity init ( 1), 5 114 code init ( 0), 5 115 caller init (-1), 5 116 data init ( 0), 5 117 class init ( 0), 5 118 ioa_msg init ( 2)) fixed bin, 5 119 2 flags, 5 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 121 3 flags_pad bit(35) unal init ("0"b), 5 122 2 mode fixed bin init ( 1), 5 123 2 severity fixed bin init ( 0), 5 124 2 code fixed bin(35) init ( 0), 5 125 2 caller char(65) varying init (""), 5 126 2 data, 5 127 3 data_ptr ptr init (null), 5 128 3 data_lth fixed bin(21) init ( 0), 5 129 2 class char(10) varying init (""), 5 130 2 ioa_msg char(500) varying init (""); 5 131 5 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 5 133 5 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 5 135 2 version char(8) init ("sl_info1"), 5 136 2 arg_list_ptr ptr init (null), 5 137 2 loc, 5 138 3 (mode init (-1), 5 139 severity init ( 1), 5 140 code init ( 0), 5 141 caller init (-1), 5 142 data init ( 0), 5 143 class init ( 0), 5 144 ioa_msg init ( 2)) fixed bin, 5 145 2 flags, 5 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 5 147 3 flags_pad bit(35) unal init ("0"b), 5 148 2 mode fixed bin init ( 1), 5 149 2 severity fixed bin init ( 0), 5 150 2 code fixed bin(35) init ( 0), 5 151 2 caller char(65) varying init (""), 5 152 2 data, 5 153 3 data_ptr ptr init (null), 5 154 3 data_lth fixed bin(21) init ( 0), 5 155 2 class char(10) varying init (""), 5 156 2 ioa_msg char(500) varying init (""); 5 157 5 158 5 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 5 160 5 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 5 162 2 version char(8) init ("sl_info1"), 5 163 2 arg_list_ptr ptr init (null), 5 164 2 loc, 5 165 3 (mode init (-1), 5 166 severity init ( 1), 5 167 code init ( 2), 5 168 caller init (-1), 5 169 data init ( 0), 5 170 class init ( 0), 5 171 ioa_msg init ( 4)) fixed bin, 5 172 2 flags, 5 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 174 3 flags_pad bit(35) unal init ("0"b), 5 175 2 mode fixed bin init ( 1), 5 176 2 severity fixed bin init ( 0), 5 177 2 code fixed bin(35) init ( 0), 5 178 2 caller char(65) varying init (""), 5 179 2 data, 5 180 3 data_ptr ptr init (null), 5 181 3 data_lth fixed bin(21) init ( 0), 5 182 2 class char(10) varying init (""), 5 183 2 ioa_msg char(500) varying init (""); 5 184 5 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 5 186 5 187 dcl 1 sl_info_code_msg aligned int static options(constant), 5 188 2 version char(8) init ("sl_info1"), 5 189 2 arg_list_ptr ptr init (null), 5 190 2 loc, 5 191 3 (mode init (-1), 5 192 severity init (-1), 5 193 code init ( 1), 5 194 caller init (-1), 5 195 data init ( 0), 5 196 class init ( 0), 5 197 ioa_msg init ( 2)) fixed bin, 5 198 2 flags, 5 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 200 3 flags_pad bit(35) unal init ("0"b), 5 201 2 mode fixed bin init ( 1), 5 202 2 severity fixed bin init ( 0), 5 203 2 code fixed bin(35) init ( 0), 5 204 2 caller char(65) varying init (""), 5 205 2 data, 5 206 3 data_ptr ptr init (null), 5 207 3 data_lth fixed bin(21) init ( 0), 5 208 2 class char(10) varying init (""), 5 209 2 ioa_msg char(500) varying init (""); 5 210 5 211 5 212 /* Syntax: call Trace (ioa_ctl, args); */ 5 213 5 214 dcl 1 sl_info_msg aligned int static options(constant), 5 215 2 version char(8) init ("sl_info1"), 5 216 2 arg_list_ptr ptr init (null), 5 217 2 loc, 5 218 3 (mode init (-1), 5 219 severity init (-1), 5 220 code init ( 0), 5 221 caller init (-1), 5 222 data init ( 0), 5 223 class init ( 0), 5 224 ioa_msg init ( 1)) fixed bin, 5 225 2 flags, 5 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 227 3 flags_pad bit(35) unal init ("0"b), 5 228 2 mode fixed bin init ( 1), 5 229 2 severity fixed bin init ( 0), 5 230 2 code fixed bin(35) init ( 0), 5 231 2 caller char(65) varying init (""), 5 232 2 data, 5 233 3 data_ptr ptr init (null), 5 234 3 data_lth fixed bin(21) init ( 0), 5 235 2 class char(10) varying init (""), 5 236 2 ioa_msg char(500) varying init (""); 5 237 5 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 239 240 6 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 6 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 6 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 6 8* attribute switches. 6 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 6 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 6 12* be deleted. 6 13* B) Add constants identifying attributes that can be changed by user at 6 14* login, etc. 6 15* END HISTORY COMMENTS */ 6 16 6 17 6 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 6 19 6 20 /* format: style4 */ 6 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 6 22 (2 administrator bit (1), /* 1 system administrator privileges */ 6 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 6 24 2 nobump bit (1), /* 2 user cannot be bumped */ 6 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 6 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 6 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 6 28* . of same project (distinct from "nobump") */ 6 29 2 nolist bit (1), /* 7 don't list user on "who" */ 6 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 6 31 2 multip bit (1), /* 9 user may have several processes */ 6 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 6 33 2 brief bit (1), /* 11 no login or logout message */ 6 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 6 35 2 vhomedir bit (1), /* 13 user may change homedir */ 6 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 6 37 2 sb_ok bit (1), /* 15 user may be standby */ 6 38 2 pm_ok bit (1), /* 16 user may be primary */ 6 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 6 40 2 daemon bit (1), /* 18 user may login as daemon */ 6 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 6 42 2 no_warning bit (1), /* 20 no warning message */ 6 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 6 44* . in PDT: this user has an individual load control group */ 6 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 6 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 6 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 6 48 2 pad bit (12)) unaligned; 6 49 6 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 6 51 ("none", /* 0 */ 6 52 "administrator", /* 1 */ 6 53 "primary_line", /* 2 */ 6 54 "nobump", /* 3 */ 6 55 "guaranteed_login", /* 4 */ 6 56 "anonymous", /* 5 */ 6 57 "nopreempt", /* 6 */ 6 58 "nolist", /* 7 */ 6 59 "dialok", /* 8 */ 6 60 "multip", /* 9 */ 6 61 "bumping", /* 10 */ 6 62 "brief", /* 11 */ 6 63 "vinitproc", /* 12 */ 6 64 "vhomedir", /* 13 */ 6 65 "nostartup", /* 14 */ 6 66 "no_secondary", /* 15 */ 6 67 "no_prime", /* 16 */ 6 68 "no_eo", /* 17 */ 6 69 "daemon", /* 18 */ 6 70 "", /* 19 vdim OBSOLETE */ 6 71 "no_warning", /* 20 */ 6 72 "igroup", /* 21 */ 6 73 "save_pdir", /* 22 */ 6 74 "disconnect_ok", /* 23 */ 6 75 "save_on_disconnect"); /* 24 */ 6 76 6 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 6 78 ("null", /* 0 */ 6 79 "admin", /* 1 */ 6 80 "", "", /* 2 - 3 */ 6 81 "guar", /* 4 */ 6 82 "anon", /* 5 */ 6 83 "", "", /* 6 - 7 */ 6 84 "dial", /* 8 */ 6 85 "multi_login", /* 9 */ 6 86 "preempting", /* 10 */ 6 87 "", /* 11 */ 6 88 "v_process_overseer", /* 12 */ 6 89 "v_home_dir", /* 13 */ 6 90 "no_start_up", /* 14 */ 6 91 "no_sec", /* 15 */ 6 92 "no_primary", /* 16 */ 6 93 "no_edit_only", /* 17 */ 6 94 "op_login", /* 18 */ 6 95 "", /* 19 */ 6 96 "nowarn", /* 20 */ 6 97 "", "", "", /* 21 - 23 */ 6 98 "save"); /* 24 */ 6 99 6 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 6 101 options(constant) init("000000000010000000010000000000000000"b); 6 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 6 103 6 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 6 105 options(constant) init("000000000010000000010000000000000000"b); 6 106 /* PDT value for (brief, no_warning) is default */ 6 107 6 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 6 109 options(constant) init("000100000110010000010000000000000000"b); 6 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 6 111 7 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 7 2 7 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 4 /* */ 7 5 /* This include file describes the attributes of an absentee job. It is */ 7 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 7 7 /* and PIT.incl.pl1. */ 7 8 /* */ 7 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 10 7 11 /****^ HISTORY COMMENTS: 7 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 7 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 14* Separated abs_attributes from the request structure 7 15* (abs_message_format.incl.pl1) so that the identical structure could be 7 16* used in the ute structure (user_table_entry.incl.pl1). 7 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 7 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 19* Added ABS_ATTRIBUTE_NAMES array. 7 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 7 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 7 22* Added the no_start_up flag. SCP6367 7 23* END HISTORY COMMENTS */ 7 24 7 25 dcl 1 user_abs_attributes aligned based, 7 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 7 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 7 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 7 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 7 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 7 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 7 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 7 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 7 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 7 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 7 36 2 attributes_pad bit (26) unaligned; 7 37 7 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 7 39 "restartable", 7 40 "user_deferred_until_time", 7 41 "proxy", 7 42 "set_bit_cnt", 7 43 "time_in_gmt", 7 44 "user_deferred_indefinitely", 7 45 "secondary_ok", 7 46 "truncate_absout", 7 47 "restarted", 7 48 "no_start_up"); 7 49 7 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 7 51 6 112 6 113 6 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 241 242 8 1 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 8 2 8 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 4 /* */ 8 5 /* This include file requires that the user include */ 8 6 /* user_attributes.incl.pl1 as well. It also includes */ 8 7 /* abs_attributes.incl.pl1 itself. */ 8 8 /* */ 8 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 8 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 8 11 /* */ 8 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 13 8 14 /****^ HISTORY COMMENTS: 8 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 8 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 8 17* This comment for hcom. 8 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 8 19* anstbl.incl.pl1, and dutbl.incl.pl1. 8 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 8 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 8 22* 84-07-12 BIM added min_process_authorization 8 23* 84-12-31 Keith Loepere added pdir_dir_quota 8 24* 85-01-16 by E. Swenson to add ute.session_uid 8 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 8 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 8 27* Added fields for DSA login server support. 8 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 8 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 8 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 8 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 8 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 8 33* Added disconnection_rel_minutes. 8 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 8 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 36* Changed structure under ute.abs_attributes to use like structure in 8 37* abs_attributes.incl.pl1. This allows the same attributes to be used 8 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 8 39* file. 8 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 8 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 8 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 8 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 45* A) Global reorganization to locate things by type of data. 8 46* B) Eliminate ute.uflags.logged_in. 8 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 8 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 49* A) Reduced overlength person and project fields to proper length. 8 50* B) Adjusted dialed-console section to begin on even word boundary. 8 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 8 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 53* Add ute.line_type. 8 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 8 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 8 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 8 57* for the storage. SCP6367 8 58* END HISTORY COMMENTS */ 8 59 8 60 /* format: style4 */ 8 61 8 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 63 /* */ 8 64 /* Each of the named sections below defines a type of data. Typing comes */ 8 65 /* from data associated with the ute entry itself, with the person, with */ 8 66 /* login argument data, from the main user of the data (eg, dialup_, */ 8 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 8 68 /* and is an even number of words long. The total structure is 300 decimal */ 8 69 /* words long. */ 8 70 /* */ 8 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 72 8 73 8 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 8 75 8 76 dcl utep pointer automatic init (null); 8 77 8 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 8 79 8 80 /* Variables which give state of this entry */ 8 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 8 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 8 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 8 84 2 next_free fixed bin, /* points to previous free entry */ 8 85 8 86 /* Information user gave about person_id associated with this entry. */ 8 87 2 person char (24) unal, /* user's name */ 8 88 2 project char (12) unal, /* project of absentee user */ 8 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 8 90 2 tag_pad bit (27) unal, 8 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 8 92 2 login_flags, /* flags for login data */ 8 93 3 cpw bit (1) unal, /* flag for wish to change password */ 8 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 8 95 3 special_pw unal, /* dial or slave */ 8 96 4 dial_pw bit (1) unal, /* true if dial -user */ 8 97 4 slave_pw bit (1) unal, /* true if slave -user */ 8 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 8 99 3 cda bit (1) unal, /* flag to change default authorization */ 8 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 8 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 8 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 8 103 3 pw_pad bit (25) unal, /* spare parts */ 8 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 8 105 /* Must remain last in pw_flags so it does not */ 8 106 /* appear in PW_FLAG_VALUES array below. */ 8 107 2 generated_pw char (8) unal, /* user must type this as new password */ 8 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 8 109 2 process_authorization bit (72), /* access_authorization of this process */ 8 110 8 111 /* Information user gave about process associated with this entry. */ 8 112 2 outer_module char (32) unal, /* Name of console dim */ 8 113 2 home_dir char (64) unal, /* initial home directory */ 8 114 2 init_proc char (64) unal, /* name of login responder */ 8 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 8 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 8 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 8 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 8 119 2 initial_ring fixed bin, /* ring process will be started in */ 8 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 8 121 2 ln_args fixed bin, /* length of string containing arguments */ 8 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 8 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 8 124 8 125 /* Most of the following information is relevant only to absentee processes */ 8 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 8 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 8 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 8 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 8 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 8 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 8 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 8 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 8 134* (but see uflags.adjust_abs_q_no). */ 8 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 8 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 8 137 2 abs_flags, 8 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 8 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 8 140 3 abs_flags_pad bit (34) unal, 8 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 8 142 2 sender char (32) unal, /* name of RJE station that job is from */ 8 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 8 144 2 proxy_project char (9) unal, 8 145 2 proxy_project_pad char (3) unal, 8 146 2 abs_pad fixed bin, 8 147 8 148 /* Information about process actually created */ 8 149 2 proc_id bit (36), /* process id of absentee process */ 8 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 8 151 2 process_authorization_range (2) bit (72) aligned, 8 152 2 audit bit (36), /* audit flags for user */ 8 153 2 lot_size fixed bin, /* Size of linkage offset table */ 8 154 2 kst_size fixed bin, /* Size of process known segment table */ 8 155 2 cls_size fixed bin, /* Size of process combined linkage */ 8 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 8 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 8 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 8 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 8 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 8 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 8 162 2 pdir_pad fixed bin(17) unal, 8 163 2 process_pad fixed bin, 8 164 8 165 /* Information about primary terminal associated with this entry */ 8 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 8 167 2 terminal_type char (32) unaligned, /* terminal type */ 8 168 2 line_type fixed bin, /* line type */ 8 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 8 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 8 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 8 172 8 173 /* Variables useful for dialed terminals */ 8 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 8 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 8 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 8 177 2 dial_server_flags, 8 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 8 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 8 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 8 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 8 182 8 183 /* Information about usage/accounting. Device usage meters are in a 8 184* separate segment, "devtab" */ 8 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 8 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 8 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 8 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 8 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 8 190 2 last_update_time fixed bin (71), /* time of last account update */ 8 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 8 192 2 ndevices fixed bin, /* Count of attached devices */ 8 193 2 device_head fixed bin, /* Table index of head of device chain */ 8 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 8 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 8 196 2 rs_number_pad bit(30) unal, 8 197 2 usage_pad fixed bin, 8 198 8 199 /* Information for dialup_ (control variables). */ 8 200 2 event fixed bin (71), /* event associated with channel or user manager */ 8 201 2 uprojp ptr, /* ptr to user project sat entry */ 8 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 8 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 8 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 8 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 8 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 8 207 2 count fixed bin, /* counter for logins and dialups */ 8 208 2 n_processes fixed bin, /* number of processes created in this session */ 8 209 2 lock_value fixed bin, /* number of locks set for this entry */ 8 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 8 211 2 login_code char (8) unal, /* login command from LOGIN line */ 8 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 8 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 8 214 2 logout_type char (4) unal, /* type of logout */ 8 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 8 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 8 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 8 218 2 work_class fixed bin, /* work class used by priority scheduler */ 8 219 2 group char (8) unal, /* party group identifier */ 8 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 8 221 8 222 2 uflags, /* Miscellaneous flags */ 8 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 8 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 8 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 8 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 8 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 8 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 8 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 8 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 8 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 8 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 8 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 8 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 8 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 8 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 8 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 8 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 8 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 8 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 8 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 8 242 3 uflags_pad bit (17) unal, 8 243 8 244 /* Information used by load_ctl_ for the process */ 8 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 8 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 8 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 8 248 8 249 8 250 /* Information for login server */ 8 251 2 login_server_info, 8 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 8 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 8 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 8 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 8 256 3 process_id bit (36) aligned, /* process_id of login server */ 8 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 8 258 8 259 /* values for ute.process_type */ 8 260 8 261 dcl (PT_INTERACTIVE initial (1), 8 262 PT_ABSENTEE initial (2), 8 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 8 264 8 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 8 266 "INVALID-TYPE", 8 267 "interactive", 8 268 "absentee", 8 269 "daemon"); 8 270 8 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 8 272 "UNKNOWN-TABLE", 8 273 "answer_table", 8 274 "absentee_user_table", 8 275 "daemon_user_table"); 8 276 8 277 8 278 /* values for ute.pw_flags.mask_ctl */ 8 279 8 280 dcl (DO_MASK init ("00"b), 8 281 DONT_MASK init ("01"b), 8 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 8 283 8 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 8 285 "do_mask", "dont_mask", "derive_mask", ""); 8 286 8 287 8 288 /* names for ute.pw_flags */ 8 289 8 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 8 291 "cpw", 8 292 "generate_pw", 8 293 "dial_pw", 8 294 "slave_pw", 8 295 "cdp", 8 296 "cda", 8 297 "auth_given", 8 298 "noprint", 8 299 "operator"); 8 300 8 301 /* names for ute.uflags */ 8 302 8 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 8 304 "dont_call_init_admin", 8 305 "ip_given", 8 306 "ss_given", 8 307 "lvs_attached", 8 308 "send_initial_string", 8 309 "adjust_abs_q_no", 8 310 "foreground_secondary_ok", 8 311 "foreground_job", 8 312 "sus_sent", 8 313 "suspended", 8 314 "ignore_cpulimit", 8 315 "deferral_logged", 8 316 "save_if_disconnected", 8 317 "disconnected", 8 318 "disconnected_list", 8 319 "proc_create_ok", 8 320 "activity_can_unbump", 8 321 "fpe_causes_logout", 8 322 "user_specified_immediate"); 8 323 8 324 /* names for ute.abs_flags */ 8 325 8 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 8 327 "abs_run", 8 328 "notify"); 8 329 8 330 /* names of ute.dial_server_flags */ 8 331 8 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 8 333 "registered", 8 334 "privileged"); 8 335 8 336 /* values of ute.login_result */ 8 337 8 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 8 339 "logged in", 8 340 "login failed, hangup", 8 341 "login failed, try again"); 8 342 8 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 243 244 245 246 /* BEGIN MESSAGE DOCUMENTATION 247* 248* Message: 249* as_request_bump_user_: ERROR_MSG. Rejected BUMP_USER request from 250* PERS.PROJ.TAG to bump process PROCESS_ID. REASON 251* 252* S: as (severity 0) 253* 254* T: $run 255* 256* M: The answering service request from PERS.PROJ.TAG to bump the process 257* identified by PROCESSID failed for the given REASON and ERROR_MSG. 258* 259* A: $contact_sa 260* 261* Message: 262* as_request_bump_user_: BUMPING PERS.PROJ.TAG PROCESSID for requestor 263* REQ_PERS.REQ_PROJ.REQ_TAG. 264* 265* S: as (severity 0) 266* 267* T: $run 268* 269* M: An answering service request from REQ_PERS.REQ_PROJ.REQ_TAG to bump 270* the process PERS.PROJ.TAG PROCESSID has been initiated. 271* 272* A: $ignore 273* 274* END MESSAGE DOCUMENTATION */ 275 276 end as_request_bump_user_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0938.4 as_request_bump_user_.pl1 >special_ldd>install>MR12.2-1047>as_request_bump_user_.pl1 231 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 233 2 10/30/86 2010.5 as_request_header.incl.pl1 >ldd>include>as_request_header.incl.pl1 235 3 02/12/85 1429.5 as_requests.incl.pl1 >ldd>include>as_requests.incl.pl1 237 4 10/30/86 2010.5 as_request_sender_.incl.pl1 >ldd>include>as_request_sender_.incl.pl1 239 5 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 241 6 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 6-112 7 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 243 8 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. AS_REQUEST_SENDER_VERSION_2 000000 constant char(8) initial packed unaligned dcl 4-27 ref 129 P_as_request_sender_ptr parameter pointer dcl 57 ref 49 104 P_asr_bump_user_info_ptr parameter pointer dcl 55 ref 49 103 RW_ACCESS constant bit(3) initial packed unaligned dcl 1-11 ref 135 135 SL_LOG_SILENT 000034 constant fixed bin(17,0) initial dcl 5-14 set ref 141* 147* 156* 184* 196* 216* 223* addr builtin function dcl 67 ref 112 aim_check_$equal 000010 constant entry external dcl 77 ref 190 anonymous 16 based fixed bin(17,0) level 2 dcl 8-78 set ref 196* 216* 223* as_request_header based structure level 1 dcl 2-62 as_request_sender based structure level 1 dcl 4-15 as_request_sender_ptr 000110 automatic pointer dcl 4-13 set ref 104* 112 129 132 132 141 147 156 156 184 190 196 216 223 asr_bump_user_info based structure level 1 dcl 3-60 asr_bump_user_info_ptr 000106 automatic pointer dcl 3-59 set ref 103* 113 129 141 147 156 156 156 156 180 184 196 214 214 216 223 asr_bump_user_info_version_1 000002 constant char(8) initial packed unaligned dcl 3-57 ref 129 156 156 asr_reply_bump_user based structure level 1 dcl 3-79 asr_replyp 000104 automatic pointer dcl 3-20 set ref 112* 113 115 asu_$bump_user 000016 constant entry external dcl 84 ref 214 asu_$find_process 000014 constant entry external dcl 82 ref 180 authorization 16 based bit(72) level 2 dcl 4-15 set ref 190* code based fixed bin(35,0) level 2 in structure "asr_reply_bump_user" dcl 3-79 in procedure "as_request_bump_user_" set ref 115* code 000101 automatic fixed bin(35,0) dcl 62 in procedure "as_request_bump_user_" set ref 105* 106 108* 109 109* 115 code parameter fixed bin(35,0) dcl 212 in procedure "REGISTER_FOR_BUMP" set ref 210 214* 216 223* code parameter fixed bin(35,0) dcl 178 in procedure "FIND_REQUESTEE_AND_DO_AIM_CHECK" set ref 176 183* 184* 190* 195* 196* code parameter fixed bin(35,0) dcl 127 in procedure "VALIDATE_REQUESTER" set ref 125 132* 135 140* 141* 147* 155* 156* error_table_$ai_restricted 000024 external static fixed bin(35,0) dcl 91 ref 195 error_table_$as_bump_user_not_found 000026 external static fixed bin(35,0) dcl 93 ref 183 error_table_$as_request_invalid_request 000030 external static fixed bin(35,0) dcl 95 ref 155 error_table_$insufficient_access 000032 external static fixed bin(35,0) dcl 97 ref 140 grace_time_in_seconds 40 based fixed bin(17,0) level 2 dcl 3-60 set ref 214* group_id 4 based char(32) level 2 packed packed unaligned dcl 4-15 set ref 132* 141* 147* 156* 184* 196* 216* 223* message 7 based char(100) level 2 packed packed unaligned dcl 3-60 set ref 214* mode 000100 automatic bit(36) dcl 61 set ref 132* 135 myname 000004 constant char(21) initial packed unaligned dcl 71 set ref 141* 147* 156* 184* 196* 216* 223* null builtin function dcl 67 ref 8-76 181 person 4 based char(24) level 2 packed packed unaligned dcl 8-78 set ref 196* 216* 223* process_authorization 24 based bit(72) level 2 dcl 8-78 set ref 190* process_id 6 based bit(36) level 2 dcl 3-60 set ref 141* 147* 156* 180* 184* 196* 216* 223* project 12 based char(12) level 2 packed packed unaligned dcl 8-78 set ref 196* 216* 223* reference_id 1 based bit(36) level 2 dcl 3-79 set ref 113* reply_message 2 based fixed bin(71,0) level 2 dcl 4-15 set ref 112 reply_reference_id 41 based bit(36) level 2 dcl 3-60 ref 113 sys_log_ 000020 constant entry external dcl 86 ref 216 sys_log_$error_log 000022 constant entry external dcl 87 ref 141 147 156 184 196 223 tag 15 based char(1) level 2 packed packed unaligned dcl 8-78 set ref 196* 216* 223* type 000102 automatic fixed bin(17,0) dcl 63 set ref 180* up_sysctl_$check_acs 000012 constant entry external dcl 80 ref 132 user_abs_attributes based structure level 1 dcl 7-25 user_attributes based structure level 1 dcl 6-21 ute based structure level 1 dcl 8-78 utep 000112 automatic pointer initial dcl 8-76 set ref 8-76* 180* 181 190 196 196 196 196 214* 216 216 216 216 223 223 223 223 validation_level 15 based fixed bin(3,0) level 2 dcl 4-15 ref 132 version 4 based char(8) level 2 in structure "asr_bump_user_info" dcl 3-60 in procedure "as_request_bump_user_" set ref 129 156 156* 156 version based char(8) level 2 in structure "as_request_sender" dcl 4-15 in procedure "as_request_bump_user_" set ref 129 156* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 7-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 8-326 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 6-77 ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_AC_VERSION_1 internal static char(8) initial packed unaligned dcl 3-106 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_BUMP_USER internal static fixed bin(17,0) initial dcl 2-29 ASR_COM_CHANNEL_INFO internal static fixed bin(17,0) initial dcl 2-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array packed unaligned dcl 2-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 2-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 2-29 ASR_FIRST_TYPE internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 2-29 ASR_LAST_TYPE internal static fixed bin(17,0) initial dcl 2-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 2-29 ASR_NPC_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 3-129 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 2-29 ASR_REQUEST_NAMES internal static char(40) initial array packed unaligned dcl 2-48 A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 8-280 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 8-332 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 DONT_MASK internal static bit(2) initial packed unaligned dcl 8-280 DO_MASK internal static bit(2) initial packed unaligned dcl 8-280 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 8-338 MASK_CTL_NAMES internal static varying char(12) initial array dcl 8-284 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 8-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 8-261 PT_DAEMON internal static fixed bin(17,0) initial dcl 8-261 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 8-261 PW_FLAG_NAMES internal static varying char(12) initial array dcl 8-290 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 5-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 5-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 5-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 5-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 5-62 SL_LOG internal static fixed bin(17,0) initial dcl 5-14 SL_LOG_BEEP internal static fixed bin(17,0) initial dcl 5-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 5-14 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 8-271 UFLAG_NAMES internal static varying char(24) initial array dcl 8-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 6-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 6-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 6-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 6-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 8-74 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 as_request_version_1 internal static fixed bin(17,0) initial dcl 2-27 asr_ac_length automatic fixed bin(21,0) dcl 3-105 asr_admin_command_info based structure level 1 dcl 3-85 asr_admin_command_info_ptr automatic pointer dcl 3-84 asr_buzzard_info based structure level 1 dcl 3-29 asr_buzzard_info_version_1 internal static char(8) initial packed unaligned dcl 3-27 asr_buzzard_infop automatic pointer dcl 3-28 asr_buzzard_notification based structure level 1 dcl 3-35 asr_note_pnt_change_info based structure level 1 dcl 3-124 asr_note_pnt_change_info_ptr automatic pointer dcl 3-122 asr_reply based structure level 1 dcl 3-21 asr_reply_admin_command based structure level 1 dcl 3-108 sl_info automatic structure level 1 dcl 5-24 sl_info_code_msg internal static structure level 1 dcl 5-187 sl_info_msg internal static structure level 1 dcl 5-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 5-161 sl_info_sev_code_msg internal static structure level 1 dcl 5-82 sl_info_sev_coded_msg internal static structure level 1 dcl 5-134 sl_info_sev_msg internal static structure level 1 dcl 5-108 NAMES DECLARED BY EXPLICIT CONTEXT. FIND_REQUESTEE_AND_DO_AIM_CHECK 000714 constant entry internal dcl 176 ref 108 REGISTER_FOR_BUMP 001115 constant entry internal dcl 210 ref 109 VALIDATE_REQUESTER 000423 constant entry internal dcl 125 ref 105 as_request_bump_user_ 000362 constant entry external dcl 49 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1472 1526 1320 1502 Length 2114 1320 34 351 151 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_request_bump_user_ 500 external procedure is an external procedure. VALIDATE_REQUESTER internal procedure shares stack frame of external procedure as_request_bump_user_. FIND_REQUESTEE_AND_DO_AIM_CHECK internal procedure shares stack frame of external procedure as_request_bump_user_. REGISTER_FOR_BUMP internal procedure shares stack frame of external procedure as_request_bump_user_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_request_bump_user_ 000100 mode as_request_bump_user_ 000101 code as_request_bump_user_ 000102 type as_request_bump_user_ 000104 asr_replyp as_request_bump_user_ 000106 asr_bump_user_info_ptr as_request_bump_user_ 000110 as_request_sender_ptr as_request_bump_user_ 000112 utep as_request_bump_user_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. aim_check_$equal asu_$bump_user asu_$find_process sys_log_ sys_log_$error_log up_sysctl_$check_acs THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$ai_restricted error_table_$as_bump_user_not_found error_table_$as_request_invalid_request error_table_$insufficient_access LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 49 000356 8 76 000367 103 000371 104 000375 105 000400 106 000402 108 000404 109 000406 112 000412 113 000415 115 000420 116 000422 125 000423 129 000425 132 000437 135 000477 140 000507 141 000512 146 000553 147 000554 152 000616 155 000617 156 000622 163 000713 176 000714 180 000716 181 000732 183 000736 184 000742 187 001003 190 001004 195 001027 196 001033 203 001114 210 001115 214 001117 216 001146 223 001230 228 001312 ----------------------------------------------------------- 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