COMPILATION LISTING OF SEGMENT uc_ls_create_request_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1027.5 mst Wed Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* ******************************************** */ 6 7 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 /* */ 10 /* This module is part of the Multics Network Architecture (MNA) version of */ 11 /* user control. MNA user control serves users coming into Multics via */ 12 /* separate networks (eg, the Distributed Systems Architecture (DSA) */ 13 /* network. MNA user control is not used for logins through the Multics */ 14 /* Communications System (MCS). A separate MCS user control system serves */ 15 /* MCS users. */ 16 /* */ 17 /* To Be Supplied: */ 18 /* 1) Brief module description. See MDD010 or MTBs 751 and 752 for details */ 19 /* about this module, and its relationship to modules in the MCS user */ 20 /* control system. */ 21 /* 2) Operator error message documentation. This program calls */ 22 /* sys_log_$general but does not contain the required descriptions of */ 23 /* these messages. This omission was waived for initial installation */ 24 /* of the subsystem by the auditor, security coordinator, and by MDC */ 25 /* management. */ 26 /* */ 27 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 28 29 /****^ HISTORY COMMENTS: 30* 1) change(86-04-04,Swenson), approve(87-07-13,MCR7737), 31* audit(87-04-24,GDixon), install(87-08-04,MR12.1-1055): 32* Initial coding. 33* 2) change(87-04-24,GDixon), approve(87-07-13,MCR7737), 34* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 35* A) Upgrade to use sys_log_$general for reporting errors. 36* B) Correct setting of attributes. 37* C) Updated for change to user_table_entry.incl.pl1. 38* D) Correct coding standard violations. 39* E) Updated to pass login_server_process_request.minimum_ring to 40* uc_create_process_check_ for testing. 41* 3) change(87-05-04,GDixon), approve(87-07-13,MCR7737), 42* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 43* A) Avoid reference to login_server_process_request.login_arguments if 44* login_server_process_request.n_args = 0. 45* 4) change(87-05-13,GDixon), approve(87-07-13,MCR7737), 46* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 47* A) Move act_ctl_$open_account call from here into uc_create_process_. 48* B) Set login_server_process_response.status_code to code returned by 49* uc_create_process_ if error occurs. Also turn of 50* ute.uflags.proc_create_ok in such case. 51* C) Set login_server_process_response.brief from ute.at.brief. 52* END HISTORY COMMENTS */ 53 54 /* format: style4,indattr */ 55 56 uc_ls_create_request_: 57 procedure (P_ls_request_server_info_ptr, 58 P_ls_request_ptr, P_ls_request_lth, 59 P_ls_response_ptr, P_ls_response_lth, 60 P_ls_ipc_reply_ptr, P_code); 61 62 /* Parameters */ 63 64 dcl P_ls_request_server_info_ptr ptr parameter; 65 dcl P_ls_request_ptr ptr parameter; 66 dcl P_ls_request_lth fixed bin (18) parameter; 67 dcl P_ls_response_ptr ptr parameter; 68 dcl P_ls_response_lth fixed bin (18) parameter; 69 dcl P_ls_ipc_reply_ptr ptr parameter; 70 dcl P_code fixed bin (35) parameter; 71 72 /* Automatic */ 73 74 dcl check_code fixed bin (35) automatic; 75 dcl code fixed bin (35) automatic; 76 dcl reason char (8) aligned automatic; 77 dcl temp fixed bin (17) automatic; 78 79 /* Based */ 80 81 dcl argstring char (ute.ln_args) based (ute.args_ptr); 82 dcl lengths (ute.arg_count) based (ute.arg_lengths_ptr) fixed bin; 83 dcl system_area area based (system_area_ptr); 84 85 /* Entries */ 86 87 dcl as_access_audit_$process entry (ptr, fixed bin, char (*)); 88 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 89 dcl get_system_free_area_ entry () returns (ptr); 90 dcl ioa_$rsnnl entry () options (variable); 91 dcl uc_create_process_ entry (ptr, fixed bin (35)); 92 dcl uc_create_process_check_ entry (ptr, ptr, fixed bin (35)); 93 dcl user_table_mgr_$utep_from_handle entry (bit (72) aligned) returns (ptr); 94 95 /* Internal */ 96 97 dcl system_area_ptr ptr int static init (null); 98 99 /* External */ 100 101 dcl as_error_table_$already_logged_in fixed bin (35) ext static; 102 dcl error_table_$bad_arg fixed bin (35) ext static; 103 dcl error_table_$id_not_found fixed bin (35) ext static; 104 105 /* Constant */ 106 107 dcl ME char (21) initial ("uc_ls_create_request_") internal static options (constant); 108 dcl NL char (1) int static options (constant) init (" 109 "); 110 dcl FALSE bit (1) aligned initial ("0"b) internal static options (constant); 111 dcl TRUE bit (1) aligned initial ("1"b) internal static options (constant); 112 113 /* Builtins */ 114 115 dcl (addr, currentsize, length, null, rtrim, substr, unspec) builtin; 116 117 /* Program */ 118 119 ls_request_server_info_ptr = P_ls_request_server_info_ptr; 120 ls_request_ptr = P_ls_request_ptr; 121 ls_reply_message_ptr = P_ls_ipc_reply_ptr; 122 123 code = 0; 124 125 utep = user_table_mgr_$utep_from_handle ( 126 login_server_process_request.handle); 127 if utep = null () then 128 call Abort (SL_LOG_SILENT, error_table_$id_not_found, 129 "Could not locate user table entry for handle ^24.3b.", 130 login_server_process_request.handle); 131 132 if ute.person ^= login_server_process_request.person_id | 133 ute.project ^= login_server_process_request.project_id then 134 call Abort (SL_LOG_SILENT, error_table_$bad_arg, 135 "Person.Project in request (^a.^a) don't match ute (^a.^a).", 136 login_server_process_request.person_id, 137 login_server_process_request.project_id, 138 ute.person, ute.project); 139 140 if login_server_process_request.switch_flags.warn_given then do; 141 ute.ur_at.no_warning = TRUE; 142 ute.at.no_warning = 143 ^login_server_process_request.switch_values.warn; 144 end; 145 if login_server_process_request.switch_flags.force_given then do; 146 ute.ur_at.guaranteed_login = TRUE; 147 ute.at.guaranteed_login = 148 login_server_process_request.switch_values.force; 149 end; 150 if login_server_process_request.switch_flags.save_given then do; 151 ute.ur_at.save_on_disconnect = TRUE; 152 ute.at.save_on_disconnect = 153 login_server_process_request.switch_values.save_on_disconnect; 154 end; 155 if login_server_process_request.switch_flags.preempt_given then do; 156 ute.ur_at.bumping = TRUE; 157 ute.at.bumping = 158 login_server_process_request.switch_values.preempt; 159 end; 160 else ute.at.bumping = TRUE; 161 if login_server_process_request.switch_flags.brief_given then do; 162 ute.ur_at.brief = TRUE; 163 ute.at.brief = login_server_process_request.switch_values.brief; 164 end; 165 166 if login_server_process_request.other_flags.init_ring_given then 167 ute.initial_ring = login_server_process_request.initial_ring; 168 else ute.initial_ring = -1; 169 170 if login_server_process_request.other_flags.immediate then 171 ute.uflags.user_specified_immediate = TRUE; 172 if login_server_process_request.other_flags.no_start_up then do; 173 ute.ur_at.nostartup = TRUE; 174 ute.at.nostartup = TRUE; 175 end; 176 177 if login_server_process_request.home_dir ^= "" then do; 178 temp = length (rtrim (login_server_process_request.home_dir)); 179 if temp > length (ute.home_dir) then 180 call Abort (SL_LOG_SILENT, error_table_$bad_arg, 181 "Home_dir (^a) too long (>d chars).", 182 login_server_process_request.home_dir, 183 length (ute.home_dir)); 184 ute.home_dir = 185 substr (login_server_process_request.home_dir, 1, 186 length (ute.home_dir)); 187 end; 188 if login_server_process_request.outer_module ^= "" then 189 ute.outer_module = login_server_process_request.outer_module; 190 if login_server_process_request.process_overseer ^= "" then do; 191 temp = 192 length (rtrim (login_server_process_request.process_overseer)); 193 if temp > length (ute.init_proc) then 194 call Abort (SL_LOG_SILENT, error_table_$bad_arg, 195 "Process overseer (^a) too long (>^d chars).", 196 login_server_process_request.process_overseer, 197 length (ute.init_proc)); 198 ute.init_proc = 199 substr (login_server_process_request.process_overseer, 1, 200 length (ute.init_proc)); 201 ute.uflags.ip_given = TRUE; 202 ute.ip_len = temp; 203 end; 204 if login_server_process_request.subsystem ^= "" then do; 205 temp = length (rtrim (login_server_process_request.subsystem)); 206 if temp > length (ute.init_proc) - ute.ip_len then 207 call Abort (SL_LOG_SILENT, error_table_$bad_arg, 208 "Subsystem (^a) too long (>d chars).", 209 login_server_process_request.subsystem, 210 length (ute.init_proc) - ute.ip_len); 211 ute.uflags.ss_given = TRUE; 212 substr (ute.init_proc, ute.ip_len + 1, temp) = 213 login_server_process_request.subsystem; 214 ute.ss_len = temp; 215 end; 216 217 ute.arg_count = login_server_process_request.n_args; 218 if ute.arg_count > 0 then do; 219 ls_process_request_n_args = login_server_process_request.n_args; 220 ls_process_request_arg_string_length = 221 login_server_process_request.arg_string_length; 222 ute.ln_args = login_server_process_request.arg_string_length; 223 if system_area_ptr = null then 224 system_area_ptr = get_system_free_area_ (); 225 allocate lengths in (system_area); 226 allocate argstring in (system_area); 227 if ute.ln_args <= 0 then 228 lengths (*) = 0; 229 else do; 230 lengths (*) = 231 login_server_process_request.args (*).arg_length; 232 argstring = login_server_process_request.arg_string; 233 end; 234 end; 235 else ute.ln_args = 0; 236 237 call uc_create_process_check_ (utep, ls_request_ptr, check_code); 238 239 call Setup_Create_Response (); 240 241 if check_code ^= 0 then do; 242 call convert_status_code_ (check_code, reason, ("")); 243 call as_access_audit_$process (utep, -AS_AUDIT_PROCESS_CREATE, 244 (reason)); 245 if check_code = as_error_table_$already_logged_in then 246 login_server_process_response.flags.already_logged_in = 247 TRUE; 248 end; 249 else do; 250 call uc_create_process_ (utep, code); 251 if code ^= 0 then do; 252 login_server_process_response.status_code = code; 253 call Abort (SL_LOG, code, "Creating process for ^a.^a.", 254 login_server_process_request.person_id, 255 login_server_process_request.project_id); 256 end; 257 258 login_server_process_response.login_instance = 259 user.n_interactive; 260 login_server_process_response.process_id = ute.proc_id; 261 login_server_process_response.flags.created = TRUE; 262 login_server_process_response.flags.brief = ute.at.brief; 263 call Set_Start_Event_Channel (); 264 end; 265 266 RETURN: 267 P_code = code; 268 return; 269 270 Setup_Create_Response: 271 procedure (); 272 273 dcl message_buffer char (as_data_$ls_message_buffer_cur_lth) 274 based (as_data_$ls_message_buffer_ptr); 275 276 ls_response_ptr = P_ls_response_ptr; 277 ls_process_response_accounting_message_length = 0;/* initially */ 278 unspec (login_server_process_response) = ""b; 279 280 login_server_process_response.header.message_type = 281 LS_PROCESS_RESPONSE; 282 login_server_process_response.header.header_pad = ""b; 283 login_server_process_response.header.version = 284 LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1; 285 286 login_server_process_response.status_code = check_code; 287 login_server_process_response.authorization = 288 ute.process_authorization; 289 call ioa_$rsnnl ("^[anonymous^s^;^a^].^a.^a", 290 login_server_process_response.process_group_id, (0), 291 (ute.anonymous = 1), ute.person, ute.project, ute.tag); 292 login_server_process_response.process_number = 0; /* for create */ 293 294 pdtep = ute.pdtep; /* used below */ 295 296 login_server_process_response.n_disconnected_processes = 297 user.n_disconnected; 298 if ute.login_result = 1 then 299 login_server_process_response.flags.disconnect = TRUE; 300 else login_server_process_response.flags.disconnect = FALSE; 301 302 login_server_process_response.flags.anonymous = 303 (ute.anonymous = 1); 304 305 login_server_process_response.initial_ring = ute.initial_ring; 306 307 ls_process_response_accounting_message_length = 308 as_data_$ls_message_buffer_cur_lth; 309 login_server_process_response.accounting_message_length = 310 ls_process_response_accounting_message_length; 311 login_server_process_response.accounting_message = 312 rtrim (message_buffer, NL); 313 314 as_data_$ls_message_buffer_cur_lth = 0; /* reset to nothing */ 315 316 P_ls_response_lth = currentsize (login_server_process_response); 317 return; 318 end Setup_Create_Response; 319 320 Set_Start_Event_Channel: 321 procedure (); 322 323 dcl code fixed bin (35) automatic; 324 dcl r_factor fixed bin (35) automatic; 325 dcl r_offset fixed bin (18) automatic; 326 327 dcl hphcs_$get_ipc_operands entry (bit (36) aligned, fixed bin (18), fixed bin (35), fixed bin (35)); 328 dcl ipc_validate_$encode_event_channel_name entry (fixed bin (18), fixed bin (35), bit (3) aligned, 329 fixed bin (15), fixed bin (3), bit (1) aligned, fixed bin (18), fixed bin (71)); 330 331 /**** We must construct an event channel which will pass the IPC event 332* channel validation tests. To do this, we must learn the values of 333* R-Offset and R-Factor for the process. */ 334 335 call hphcs_$get_ipc_operands (ute.proc_id, r_offset, r_factor, code); 336 if code = 0 then do; 337 call ipc_validate_$encode_event_channel_name (r_offset, r_factor, 338 "000"b /* flags */, 1 /* index */, 4 /* ring */, 339 "1"b /* regular */, 1 /* unique id */, 340 login_server_process_response.start_event_channel); 341 end; 342 else do; 343 login_server_process_response.start_event_channel = 0; 344 call Abort (SL_LOG_BEEP, code, 345 "Retrieving the values of R-Offset and R-Factor for ^w (^a.^a)", 346 ute.proc_id, ute.person, ute.project); 347 end; 348 end Set_Start_Event_Channel; 349 350 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 351 /* */ 352 /* Abort: Report errors via sys_log_$general and stop execution. */ 353 /* */ 354 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 355 /* */ 356 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 357 358 Abort: 359 procedure options (variable); 360 361 dcl cu_$arg_list_ptr entry returns (ptr); 362 dcl sys_log_$general entry (ptr); 363 364 sl_info = sl_info_sev_code_msg; 365 sl_info.caller = ME; 366 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 367 call sys_log_$general (addr (sl_info)); 368 code = sl_info.code; 369 if code ^= 0 then go to RETURN; 370 371 end Abort; 372 373 /* format: off */ 374 /* BEGIN include file access_audit_bin_header.incl.pl1 */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* NOTE: All changes must also be done to access_audit_bin_header.incl.alm */ 1 6 1 7 /* 85-01-18 E. Swenson - renamed to access_audit_bin_header.incl.pl1 */ 1 8 /* 85-01-17 E. Swenson - restructured, added session_uid, changed 1 9* min and max authorization to authorization range. */ 1 10 /* 85-01-07 EJ Sharpe - added min_authorization, cleanup */ 1 11 /* 84-11-15 EJ Sharpe - added event_flags word */ 1 12 /* 84-11-06 EJ Sharpe - added unaligned attr to version and proxy_flag */ 1 13 /* 84-10-24 EJ Sharpe - added the constants */ 1 14 /* 84-09-04 BIM - created */ 1 15 1 16 declare audit_record_ptr pointer; 1 17 1 18 dcl 1 audit_record_header aligned based (audit_record_ptr), 1 19 2 header aligned like arh_header_, 1 20 2 subject aligned like arh_user_info_; 1 21 1 22 dcl 1 audit_record_header_proxy aligned based (audit_record_ptr), 1 23 2 header aligned like arh_header_, 1 24 2 subjects (2) aligned like arh_user_info_; 1 25 1 26 dcl 1 arh_header_ aligned based, 1 27 2 type fixed bin (9) unsigned unaligned, 1 28 2 version fixed bin (9) unsigned unaligned, 1 29 2 flags unaligned, 1 30 3 ( 1 31 subject_is_process, /* binary data in subject is valid */ 1 32 object_is_valid /* There is an object */ 1 33 ) bit (1) unaligned, 1 34 3 pad bit (16) unaligned, 1 35 2 operation_code bit (36) aligned, /* like access_audit_encoded_op */ 1 36 2 event_flags bit (36) aligned, /* like access_audit_eventflags */ 1 37 2 session_uid fixed bin (35); /* uid for the login session */ 1 38 1 39 dcl 1 arh_user_info_ aligned based, 1 40 2 person char (22) unaligned, /* see anonymous bit */ 1 41 2 project char (9) unaligned, /* blank for nologin w/out proj */ 1 42 2 tag char (1) unaligned, 1 43 2 ring fixed bin (3) uns unaligned, 1 44 2 anonymous bit (1) unaligned, 1 45 2 pad3 bit (32) unaligned, 1 46 2 process_id bit (36) aligned, 1 47 2 authorization bit (72) aligned, 1 48 2 authorization_range (2) bit (72) aligned; 1 49 1 50 dcl ARH_TYPE_PROXY fixed bin init (2) 1 51 static options (constant); 1 52 dcl ARH_TYPE_NO_PROXY fixed bin init (1) 1 53 static options (constant); 1 54 dcl ACCESS_AUDIT_HEADER_VERSION_3 fixed bin (9) unsigned 1 55 init (3) static options (constant); 1 56 1 57 /* End include file access_audit_bin_header.incl.pl1 */ 374 375 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 2 5* Initial coding. 2 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 2 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 2 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 2 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 2 10* B) Add channel audit actions for dialin, dialout and dial system. 2 11* C) Correct declaration of as_channel_audit_record_.pad2. 2 12* D) Revise channel_audit_info. 2 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 2 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 2 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 2 16* END HISTORY COMMENTS */ 2 17 2 18 /* format: style2 */ 2 19 2 20 /* This include file describes the binary data associated with 2 21* Answering Service audit records. */ 2 22 2 23 /**** This first structure defines the Identification and Authentication 2 24* (I&A) audit records associated with login attempts for interactive 2 25* and daemon logins */ 2 26 2 27 dcl 1 as_ia_audit_record_int_dmn 2 28 structure aligned based, 2 29 2 header like audit_record_header aligned, 2 30 2 record like as_ia_audit_record_; 2 31 2 32 /**** This one is for absentee logins which are not proxy absentees */ 2 33 2 34 dcl 1 as_ia_audit_record_abs 2 35 structure aligned based, 2 36 2 header like audit_record_header aligned, 2 37 2 record like as_ia_audit_record_, 2 38 2 absentee_input_path 2 39 char (168); 2 40 2 41 dcl 1 as_ia_audit_record_abs_proxy 2 42 structure aligned based, 2 43 2 header like audit_record_header aligned, 2 44 2 record like as_ia_audit_record_, 2 45 2 absentee_input_path 2 46 char (168), 2 47 2 proxy_user char (32); 2 48 2 49 /**** The following structure is common to all the I&A records. It 2 50* contains the relevant information about the I&A process. */ 2 51 2 52 dcl 1 as_ia_audit_record_ structure aligned based, 2 53 2 type fixed bin (9) unsigned unaligned, 2 54 2 version fixed bin (9) unsigned unaligned, 2 55 2 process_type fixed bin (3) unsigned unaligned, 2 56 2 min_ring fixed bin (3) unsigned unaligned, 2 57 2 max_ring fixed bin (3) unsigned unaligned, 2 58 2 pad1 bit (9) unaligned, 2 59 2 attributes like user_attributes, 2 60 2 audit_flags bit (36) aligned, 2 61 2 channel char (32) aligned, 2 62 2 terminal_type char (32) aligned, 2 63 2 answerback char (4) aligned; 2 64 2 65 /**** The following structure represents the binary information 2 66* associated with a communications channel access audit message. */ 2 67 2 68 dcl 1 as_channel_audit_record 2 69 structure aligned based, 2 70 2 header like audit_record_header aligned, 2 71 2 record like as_channel_audit_record_; 2 72 2 73 2 74 dcl 1 as_channel_audit_record_ 2 75 structure aligned based, 2 76 2 type fixed bin (9) unsigned unaligned, 2 77 2 version fixed bin (9) unsigned unaligned, 2 78 2 flags unaligned, 2 79 3 channel_info_valid 2 80 bit (1) unaligned, 2 81 3 current_access_class_valid 2 82 bit (1) unaligned, 2 83 3 pad1 bit (16) unaligned, 2 84 2 channel_name char (32), 2 85 2 current_access_class 2 86 (2) bit (72) aligned, 2 87 2 access_class_range (2) bit (72) aligned, 2 88 2 current_service_type 2 89 fixed bin (17) unaligned, 2 90 2 service_type fixed bin (17) unaligned, 2 91 2 terminal_type char (32), 2 92 2 authenticated_user aligned, 2 93 3 personid char (22) unaligned, 2 94 3 projectid char (9) unaligned, 2 95 3 pad2 bit (9) unaligned; 2 96 2 97 /**** The following structure represents the binary information 2 98* associated with a dial service audit record */ 2 99 2 100 dcl 1 as_dial_service_audit_record 2 101 structure aligned based, 2 102 2 header like audit_record_header aligned, 2 103 2 record like as_dial_service_audit_record_; 2 104 2 105 dcl 1 as_dial_service_audit_record_ 2 106 structure aligned based, 2 107 2 type fixed bin (9) unsigned unaligned, 2 108 2 version fixed bin (9) unsigned unaligned, 2 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 2 110 2 flags unaligned, 2 111 3 registered_server 2 112 bit (1) unaligned, 2 113 3 privileged_server 2 114 bit (1) unaligned, 2 115 3 pad1 bit (13) unaligned, 2 116 2 dial_qualifier char (32); 2 117 2 118 /**** The following structure is used by dial_ctl_ to pass the required 2 119* information to as_access_audit_. This structure is necessary since 2 120* the data is not available in the user_table_entry or cdte. */ 2 121 2 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 2 123 2 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 2 125 2 server_ring fixed bin (3) unaligned, 2 126 2 flags unaligned, 2 127 3 registered bit (1) unaligned, 2 128 3 privileged bit (1) unaligned, 2 129 3 pad1 bit (31) unaligned, 2 130 2 dial_qualifier char (32); 2 131 2 132 /**** The following structure is used by dial_ctl_ to pass relevant information 2 133* to as_access_audit_. The channel name is passed here when we do not 2 134* have a cdtep, for instance. */ 2 135 2 136 dcl channel_audit_info_ptr ptr; 2 137 2 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 2 139 2 channel_name char (32), 2 140 2 valid, 2 141 (3 service_info, 2 142 3 access_class, 2 143 3 access_class_range, 2 144 3 user_validation_level) 2 145 bit(1) unal, 2 146 3 mbz bit(32) unal, 2 147 2 service_info char (32), 2 148 2 access_class bit(72) aligned, 2 149 2 access_class_range (2) bit(72) aligned, 2 150 2 user_validation_level 2 151 fixed bin (3); 2 152 2 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 2 154 fixed bin (9) initial (1) internal static options (constant); 2 155 2 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 2 157 fixed bin (9) initial (1) internal static options (constant); 2 158 2 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 2 160 fixed bin (9) initial (1) internal static options (constant); 2 161 2 162 dcl ( 2 163 AS_AUDIT_PROCESS_CREATE 2 164 initial (1), 2 165 AS_AUDIT_PROCESS_DESTROY 2 166 initial (2), 2 167 AS_AUDIT_PROCESS_CONNECT 2 168 initial (3), 2 169 AS_AUDIT_PROCESS_DISCONNECT 2 170 initial (4), 2 171 AS_AUDIT_PROCESS_TERMINATE 2 172 initial (5) 2 173 ) fixed bin (17) internal static options (constant); 2 174 2 175 dcl ( 2 176 AS_AUDIT_CHANNEL_ATTACH 2 177 initial (1), 2 178 AS_AUDIT_CHANNEL_DETACH 2 179 initial (2), 2 180 AS_AUDIT_CHANNEL_DIALIN 2 181 initial (3), 2 182 AS_AUDIT_CHANNEL_DIALOUT 2 183 initial (4), 2 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 2 185 initial (5) 2 186 ) fixed bin (17) internal static options (constant); 2 187 2 188 dcl ( 2 189 AS_AUDIT_DIALID_START initial (1), 2 190 AS_AUDIT_DIALID_STOP initial (2) 2 191 ) fixed bin (17) internal static options (constant); 2 192 2 193 dcl AS_AUDIT_CHANNEL_ACTIONS 2 194 (5) char (12) internal static options (constant) 2 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 2 196 dcl AS_AUDIT_CHANNEL_DIRECTION 2 197 (5) char (4) internal static options (constant) 2 198 initial ("to", "from", "to", "from", "to"); 2 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 2 200 (5) char (12) internal static options (constant) 2 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 2 202 dcl AS_AUDIT_PROCESS_ACTIONS 2 203 (5) char (10) internal static options (constant) 2 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 2 205 2 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 375 376 /* 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 ... */ 376 377 /* BEGIN INCLUDE FILE ... login_server_messages.incl.pl1 */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 4 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 4 6* Initial implementation. 4 7* 2) change(87-04-16,GDixon), approve(87-07-13,MCR7679), 4 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 9* A) Add REQUEST_TYPES and RESPONSE_TYPES arrays. 4 10* B) Add login_server_validate_response.last_incorrect_password.time. 4 11* C) Add user_connection_info.line_type. 4 12* D) Add login_server_process_request.minimum_ring. 4 13* 3) change(87-05-14,GDixon), approve(87-07-13,MCR7737), 4 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 15* A) Add login_server_process_response.brief. 4 16* B) Add login_server_list_response.initial_ring. 4 17* C) Separate login_server_process_response into fixed and variable parts. 4 18* D) Move user_connection_info into login_server_request_header. 4 19* END HISTORY COMMENTS */ 4 20 4 21 /* This include file defines all the structures passed in message segments 4 22* between a login server process and the Initializer (or "answering service") 4 23* process. For convenience, messages from the server to the initializer, 4 24* passed using the send_ls_request_ subroutine, are called "requests"; 4 25* messages from the initializer to the server, passed using the user_message_ 4 26* mechanism, are called "responses". 4 27**/ 4 28 4 29 /* Request types */ 4 30 4 31 dcl (LS_VALIDATE_REQUEST initial (1), /* validate user ID and password */ 4 32 LS_PROCESS_REQUEST initial (2), /* create or connect to a process */ 4 33 LS_LIST_REQUEST initial (3), /* list disconnected processes */ 4 34 LS_DIAL_REQUEST initial (4), /* find a dial server */ 4 35 LS_DISCONNECT_REQUEST initial (5), /* report disconnection of a login channel */ 4 36 LS_LOGOUT_REQUEST initial (6), /* discard UTE (end of dialogue) */ 4 37 LS_OPERATOR_REQUEST initial (7)) /* log the user in as an operator */ 4 38 fixed bin internal static options (constant); 4 39 4 40 dcl LS_REQUEST_TYPES (7) char (10) internal static options (constant) initial 4 41 ( 4 42 "validate", 4 43 "process", 4 44 "list", 4 45 "dial", 4 46 "disconnect", 4 47 "logout", 4 48 "operator"); 4 49 4 50 dcl ls_request_ptr pointer; 4 51 4 52 /* common header for all requests */ 4 53 4 54 dcl 1 ls_request_header aligned based (ls_request_ptr), 4 55 2 header_version char (8), /* version for this header */ 4 56 2 request_version char (8), /* varies depending on the request */ 4 57 2 request_type fixed bin, 4 58 2 pad1 bit (36), 4 59 2 reply_event_channel fixed bin (71), /* event channel over which reply_message should be sent */ 4 60 2 reply_handle bit (72) aligned, /* used for dispatching response */ 4 61 2 connection_info like user_connection_info; /* connection making this request. */ 4 62 4 63 dcl LS_REQUEST_HEADER_VERSION_1 char (8) initial ("lsrh0001") internal static options (constant); 4 64 4 65 dcl 1 user_connection_info aligned based, /* common info passed in most requests */ 4 66 2 connection_name char (32), 4 67 2 access_class_range (2) bit (72), 4 68 2 terminal_type char (32), 4 69 2 terminal_id char (4), 4 70 2 line_type fixed bin; 4 71 4 72 4 73 4 74 /* "validate" request: validate user ID and password */ 4 75 4 76 dcl 1 login_server_validate_request aligned based (ls_request_ptr), 4 77 2 header like ls_request_header, /* request_type = LS_VALIDATE_REQUEST */ 4 78 2 current_password char (8), /* scrambled */ 4 79 2 authorization bit (72), /* only valid if auth_given = "1"b */ 4 80 2 terminate_event_channel fixed bin (71), /* event channel to notify server when process terminates */ 4 81 2 person_id char (22), /* as specified in login line */ 4 82 2 project_id char (9), /* likewise, might be null string */ 4 83 2 network_connection_type fixed bin, /* see below for values */ 4 84 2 new_password char (8), /* only valid if change_password = "1"b */ 4 85 2 flags, 4 86 3 gpw bit (1) unaligned, /* password generated in response to -generate_password */ 4 87 3 auth_given bit (1) unaligned, /* -authorization specified */ 4 88 3 anonymous bit (1) unaligned, /* "enterp" request */ 4 89 3 anon_no_password bit (1) unaligned, /* "enter" request */ 4 90 3 change_password bit (1) unaligned, /* gave -cpw or -gpw */ 4 91 3 change_default_auth bit (1) unaligned, /* gave -change_default_authorization */ 4 92 3 change_default_proj bit (1) unaligned, /* gave -change_default_project */ 4 93 3 operator bit (1) unaligned, /* gave -operator */ 4 94 3 pad bit (28) unaligned; 4 95 4 96 4 97 dcl LS_VALIDATE_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsvr0001"); 4 98 4 99 4 100 4 101 /* "process" request: create a process or reconnect to an existing process for the specified user */ 4 102 4 103 dcl 1 login_server_process_request aligned based (ls_request_ptr), 4 104 2 fixed_part, /* to allow for automatic copies */ 4 105 3 header like ls_request_header, /* request_type = LS_PROCESS_REQUEST */ 4 106 3 handle bit (72), /* as provided in validate_response */ 4 107 3 person_id char (22), /* the real one */ 4 108 3 project_id char (9), /* likewise */ 4 109 3 project_pad fixed bin, 4 110 3 command_type fixed bin, /* login, connect, etc.; see below for names */ 4 111 3 process_number fixed bin, /* 0 if unspecified or irrelevant */ 4 112 3 default_io_module char (32), /* I/O module to use if no outer_module specified */ 4 113 3 switch_flags, /* used to indicate if "switch"-type control args were specified */ 4 114 4 warn_given bit (1) unaligned, 4 115 4 force_given bit (1) unaligned, 4 116 4 save_given bit (1) unaligned, 4 117 4 preempt_given bit (1) unaligned, 4 118 4 brief_given bit (1) unaligned, 4 119 4 pad2 bit (31) unaligned, 4 120 3 switch_values, /* these are only valid if corresponding bit in switch_flags is on */ 4 121 4 warn bit (1) unaligned, 4 122 4 force bit (1) unaligned, 4 123 4 save_on_disconnect bit (1) unaligned, 4 124 4 preempt bit (1) unaligned, 4 125 4 brief bit (1) unaligned, /* "0"b & brief_given => -long */ 4 126 4 pad3 bit (31) unaligned, 4 127 3 other_flags, 4 128 4 init_ring_given bit (1) unaligned, /* "1"b if -ring */ 4 129 4 minimum_ring_given bit (1) unaligned, /* "1"b if MNA terminal interface ring > 1 */ 4 130 4 immediate bit (1) unaligned, /* "1"b => -new_proc (or -destroy) -immediate */ 4 131 4 no_start_up bit (1) unaligned, /* "1"b if -no_start_up */ 4 132 4 pad4 bit (32) unaligned, 4 133 3 initial_ring fixed bin, /* valid iff init_ring_given = "1"b */ 4 134 3 minimum_ring fixed bin, /* ring in which MNA terminal mgr operates */ 4 135 3 home_dir char (168), /* null if not specified */ 4 136 3 outer_module char (32), /* likewise */ 4 137 3 process_overseer char (168), /* likewise */ 4 138 3 subsystem char (168), /* likewise */ 4 139 3 n_args fixed bin, /* how many arguments specified after -ag; if 0, ignore the rest of the structure */ 4 140 2 login_arguments, /* variable part, describes stuff after -ag */ 4 141 3 arg_string_length fixed bin (21), 4 142 3 args (ls_process_request_n_args refer (login_server_process_request.n_args)), 4 143 4 start_index fixed bin (21), /* position in arg_string at which arg (i) starts */ 4 144 4 arg_length fixed bin (21), /* length of arg (i) */ 4 145 3 arg_string char (ls_process_request_arg_string_length refer (login_server_process_request.arg_string_length)); 4 146 4 147 dcl ls_process_request_n_args fixed bin; 4 148 dcl ls_process_request_arg_string_length fixed bin (21); 4 149 4 150 dcl LS_PROCESS_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lspr0001"); 4 151 4 152 4 153 4 154 /* "list" request: list the user's disconnected processes, if any */ 4 155 4 156 dcl 1 login_server_list_request aligned based (ls_request_ptr), 4 157 2 header like ls_request_header, /* request_type = LS_LIST_REQUEST */ 4 158 2 handle bit (72); 4 159 4 160 dcl LS_LIST_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 4 161 4 162 4 163 4 164 /* "dial" request: find a process to accept a dial */ 4 165 4 166 /* Note: because a dial request may or may not have been preceded 4 167* by a validate request/response, the initializer_handle may be null. 4 168**/ 4 169 4 170 dcl 1 login_server_dial_request aligned based (ls_request_ptr), 4 171 2 header like ls_request_header, /* request_type = LS_DIAL_REQUEST */ 4 172 2 initializer_handle bit (72), /* as provided in validate_response (if any) */ 4 173 2 terminate_event_channel fixed bin (71), /* event channel to wake up login server when master process terminates */ 4 174 2 dial_qualifier char (22), 4 175 2 person_id char (22), /* null if not specified */ 4 176 2 project_id char (9), /* likewise */ 4 177 2 user_person_id char (22), /* if -user was specified, otherwise "" */ 4 178 2 user_project_id char (9); /* likewise */ 4 179 4 180 dcl LS_DIAL_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdr0001"); 4 181 4 182 4 183 4 184 /* "disconnect" request: report that a login channel has disconnected */ 4 185 /* Note: this message is sent if the connection is broken either during the login dialogue 4 186* or later on when the process was using it */ 4 187 4 188 dcl 1 login_server_disconnect_request aligned based (ls_request_ptr), 4 189 2 header like ls_request_header, /* request_type = LS_DISCONNECT_REQUEST */ 4 190 2 handle bit (72), /* from original validate_response */ 4 191 2 process_id bit (36); /* ""b if no process established */ 4 192 4 193 dcl LS_DISCONNECT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdc0001"); 4 194 4 195 4 196 4 197 /* "logout" request: indicates that user entered the "logout" request, ending the dialogue; does not require any response */ 4 198 4 199 dcl 1 login_server_logout_request aligned based (ls_request_ptr), 4 200 2 header like ls_request_header, /* request_type = LS_LOGOUT_REQUEST */ 4 201 2 handle bit (72); 4 202 4 203 dcl LS_LOGOUT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslg0001"); 4 204 4 205 4 206 4 207 /* "operator" request: sign the user on as an operator, the result of either 4 208* "login -operator" or "dial system". Note that in the latter case, there may 4 209* not have been a validate request (if the -user control argument wasn't specified), 4 210* in which case initializer_handle is null, and the person_id and project_id 4 211* are blank. 4 212**/ 4 213 4 214 dcl 1 login_server_operator_request aligned based (ls_request_ptr), 4 215 2 header like ls_request_header, /* request_type = LS_OPERATOR_REQUEST */ 4 216 2 initializer_handle bit (72) aligned, /* as provided in validate_response (if any) */ 4 217 2 terminate_event_channel fixed bin (71), /* event channel for wakeup when connection is dropped */ 4 218 2 person_id char (22), /* likewise */ 4 219 2 project_id char (9), /* likewise */ 4 220 2 virtual_channel char (32); /* if -virtual_channel specified, otherwise "" */ 4 221 4 222 dcl LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsor0001"); 4 223 4 224 4 225 4 226 /* Response types */ 4 227 4 228 dcl (LS_UNKNOWN_RESPONSE initial (100), /* unknown response type. */ 4 229 LS_VALIDATE_RESPONSE initial (101), /* response to validation request */ 4 230 LS_PROCESS_RESPONSE initial (102), /* response to process request */ 4 231 LS_LIST_RESPONSE initial (103), /* response to list request */ 4 232 LS_DIAL_RESPONSE initial (104), /* response to dial request */ 4 233 LS_TERMINATION_RESPONSE initial (105), /* to notify server of a logout */ 4 234 LS_NEW_PROC_RESPONSE initial (106), /* to notify server of process termination */ 4 235 LS_OPERATOR_RESPONSE initial (107)) /* response to operator request */ 4 236 fixed bin internal static options (constant); 4 237 4 238 dcl LS_RESPONSE_TYPES (100:107) char (10) internal static options (constant) initial 4 239 ( 4 240 "UNKNOWN", 4 241 "validate", 4 242 "process", 4 243 "list", 4 244 "dial", 4 245 "terminate", 4 246 "new_proc", 4 247 "operator"); 4 248 4 249 /* NOTE: the server_handle is not included in the response structures because 4 250* it is provided in the user_message_ structures */ 4 251 4 252 4 253 4 254 dcl ls_response_ptr pointer; 4 255 4 256 /* common header for all responses */ 4 257 4 258 dcl 1 login_server_response_header aligned based (ls_response_ptr), 4 259 2 message_type fixed bin, 4 260 2 header_pad bit (36), /* force doubleword alignment */ 4 261 2 version char (8); 4 262 4 263 4 264 4 265 /* "validate" response: indicate whether user_id/password is valid */ 4 266 4 267 dcl 1 login_server_validate_response aligned based (ls_response_ptr), 4 268 2 header like login_server_response_header, /* message_type = LS_VALIDATE_RESPONSE */ 4 269 2 handle bit (72), /* to be provided by the server in subsequent */ 4 270 /* messages for the same connection */ 4 271 2 authorization bit (72), /* default if none was supplied */ 4 272 2 authorization_range (2) bit (72), /* authorization range permitted for this user */ 4 273 2 status_code fixed bin (35), /* 0 iff user is validated */ 4 274 2 person_id char (22), /* primary name from the PNT */ 4 275 2 project_id char (9), /* primary name from the PNT or PDT */ 4 276 2 n_disconnected_processes fixed bin, /* number of disconnected processes for specified user */ 4 277 2 validate_pad fixed bin, 4 278 2 previous_login_info, /* for printing login message */ 4 279 3 time fixed bin (71), 4 280 3 terminal_type char (32), 4 281 3 terminal_id char (4), 4 282 2 incorrect_passwords fixed bin, /* number of times password given incorrectly */ 4 283 2 last_incorrect_password, /* where it came from */ 4 284 3 time fixed bin (71), 4 285 3 terminal_type char (32), 4 286 3 terminal_id char (4), 4 287 2 password_interval fixed bin, /* limit (in days) for password use or change */ 4 288 2 flags, 4 289 3 disconnect bit (1) unaligned, /* if "1"b, close the connection immediately */ 4 290 3 password_changed bit (1) unal, /* "1"b => changed password */ 4 291 3 default_auth_changed bit (1) unal, /* "1"b => changed default authorization */ 4 292 3 default_proj_changed bit (1) unal, /* "1"b => changed default project */ 4 293 3 password_expired bit (1) unal, /* "1"b => password not changed recently enough */ 4 294 3 password_unused_too_long bit (1) unal, /* "1"b => password hasn't been used recently */ 4 295 3 pad bit (30) unaligned; 4 296 4 297 dcl LS_VALIDATE_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsvs0001"); 4 298 4 299 4 300 4 301 /* "process" response: responds to request to create or connect */ 4 302 4 303 dcl 1 login_server_process_response aligned based (ls_response_ptr), 4 304 2 fixed_part, 4 305 3 header like login_server_response_header, /* message_type = LS_PROCESS_RESPONSE */ 4 306 3 status_code fixed bin (35), /* 0 iff process was created or requested process exists */ 4 307 3 process_id bit (36), 4 308 3 new_handle bit (72), /* changed if reconnecting, etc. to preexisting process, all 0 otherwise */ 4 309 3 authorization bit (72), /* authorization of created or existing process */ 4 310 3 process_group_id char (32), /* Person.Project.tag */ 4 311 3 process_number fixed bin, /* as in, "Your disconnected process #2..." */ 4 312 3 n_disconnected_processes fixed bin, /* valid even if code ^= 0, e.g., if request was ambiguous */ 4 313 3 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 4 314 3 login_instance fixed bin, /* "This is your Nth interactive login" */ 4 315 3 accounting_info, /* for destroyed process, if any */ 4 316 4 cpu_usage fixed bin (71), 4 317 4 cost float bin, 4 318 3 flags, /* except for disconnect and logout, invalid if status_code ^= 0 */ 4 319 4 disconnect bit (1) unaligned, /* "1"b => break the connection immediately */ 4 320 4 logout bit (1) unaligned, /* "1"b => restart login sequence */ 4 321 4 created bit (1) unaligned, /* "1"b => new process created */ 4 322 4 connected bit (1) unaligned, /* "1"b => connected to old process */ 4 323 4 new_proc bit (1) unaligned, /* "1"b => connected after new_proc */ 4 324 4 destroyed bit (1) unaligned, /* "1"b => process destroyed */ 4 325 4 anonymous bit (1) unaligned, /* "1"b => anonymous user ("enter" or "enterp") */ 4 326 4 already_logged_in bit (1) unaligned, /* "1"b => user can't log in because he already is */ 4 327 4 message_coordinator bit (1) unaligned, /* "1"b => this connection is going to be used by the message coordinator */ 4 328 4 brief bit (1) unaligned, /* "1"b => brief user attribute from PDT */ 4 329 4 pad bit (26) unaligned, 4 330 3 initial_ring fixed bin, /* ring in which process was created */ 4 331 3 already_logged_in_info, /* relevant if already_logged_in flag is "1"b */ 4 332 4 connection_name char (32), 4 333 4 terminal_type char (32), 4 334 4 terminal_id char (4), 4 335 2 accounting_message_struc, /* character string assembled by initializer giving error or warnings about the user's account */ 4 336 3 accounting_message_length fixed bin, 4 337 3 accounting_message char (ls_process_response_accounting_message_length refer (login_server_process_response.accounting_message_length)); 4 338 4 339 dcl ls_process_response_accounting_message_length fixed bin; 4 340 4 341 dcl LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsps0001"); 4 342 4 343 4 344 4 345 /* "list" response: used if create request specified "list" command */ 4 346 4 347 dcl 1 login_server_list_response aligned based (ls_response_ptr), 4 348 2 header like login_server_response_header, /* message_type = LS_LIST_RESPONSE */ 4 349 2 n_processes fixed bin, /* number of disconnected processes (might be 0) */ 4 350 2 pad_header fixed bin, 4 351 2 process_info (login_server_list_response_n_processes refer (login_server_list_response.n_processes)), 4 352 3 creation_time fixed bin (71), 4 353 3 authorization bit (72), 4 354 3 initial_ring fixed bin, 4 355 3 pad_process_info fixed bin, 4 356 3 connection_info like user_connection_info; 4 357 4 358 dcl login_server_list_response_n_processes fixed bin; 4 359 4 360 dcl LOGIN_SERVER_LIST_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 4 361 4 362 4 363 4 364 /* "dial" response: response to dial request */ 4 365 4 366 dcl 1 login_server_dial_response aligned based (ls_response_ptr), 4 367 2 header like login_server_response_header, /* message_type = LS_DIAL_RESPONSE */ 4 368 2 status_code fixed bin (35), /* 0 iff dial server was found and all is OK */ 4 369 2 process_id bit (36), /* of dial server */ 4 370 2 process_group_id char (32), /* likewise */ 4 371 2 authorization bit (72), /* likewise, to make sure connection is usable */ 4 372 2 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 4 373 2 process_ring fixed bin, /* initial ring of dial server */ 4 374 2 flags, 4 375 3 disconnect bit (1) unaligned, /* "1"b => break connection immediately */ 4 376 3 pad bit (35) unaligned; 4 377 4 378 dcl LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsds0001"); 4 379 4 380 4 381 4 382 /* "termination" response: (not a response to anything): notify server that a 4 383* process terminated other than by logout */ 4 384 4 385 dcl 1 login_server_termination_response aligned based (ls_response_ptr), 4 386 2 header like login_server_response_header, /* message_type = LS_TERMINATION_RESPONSE */ 4 387 2 accounting_info, /* for printing in logout message */ 4 388 3 cpu_usage fixed bin (71), 4 389 3 cost float bin, 4 390 3 pad bit (33) unaligned, 4 391 2 process_id bit (36), /* of the logged-out process */ 4 392 2 process_group_id char (32), 4 393 2 status_code fixed bin (35), /* e.g., to indicate reason for fatal error */ 4 394 2 flags, 4 395 3 logout bit (1) aligned, /* no new process coming */ 4 396 3 automatic_logout bit (1) unaligned, 4 397 3 hold bit (1) unaligned, 4 398 3 brief bit (1) unaligned, 4 399 3 new_proc bit (1) unaligned, /* user-requested new process */ 4 400 3 fatal_error bit (1) unaligned, /* process died unexpectedly */ 4 401 3 fpe_caused_logout bit (1) unaligned, /* fatal error doesn't generate new process */ 4 402 3 fpe_loop bit (1) unaligned, /* fatal error loop: too many in too short a time */ 4 403 3 fpe_during_init bit (1) unaligned, /* fatal error during process initialization */ 4 404 3 offer_help bit (1) unaligned, /* print a message offering "help" */ 4 405 3 pad bit (27) unaligned; 4 406 4 407 dcl LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lstr0001"); 4 408 4 409 4 410 4 411 /* "new_proc" response: (not actually a response to anything) -- describes a 4 412* new process (after a termination_response) */ 4 413 4 414 dcl 1 login_server_new_proc_response aligned based (ls_response_ptr), 4 415 2 header like login_server_response_header, /* message_type = LS_NEW_PROC_RESPONSE */ 4 416 2 new_authorization bit (72), /* in case of new_proc -auth */ 4 417 2 new_start_event_channel fixed bin (71), /* event channel for starting new process */ 4 418 2 new_process_id bit (36); /* process_id of newly-created process */ 4 419 4 420 dcl LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsnp0001"); 4 421 4 422 4 423 4 424 /* "operator" response: indicates success or failure of operator request */ 4 425 4 426 dcl 1 login_server_operator_response aligned based (ls_response_ptr), 4 427 2 header like login_server_response_header, /* message_type = LS_OPERATOR_RESPONSE */ 4 428 2 status_code fixed bin (35), /* indicates success or failure */ 4 429 2 process_id bit (36), /* process ID of the message coordinator */ 4 430 2 process_group_id char (32), /* Person.Project.tag */ 4 431 2 event_channel fixed bin (71), /* event channel over which to send connect/disconnect wakeups */ 4 432 2 ring fixed bin, /* ring of message coordinator */ 4 433 2 flags, 4 434 3 disconnect bit (1) unaligned, /* "1" => break the connection immediately */ 4 435 3 mbz bit (35) unaligned; 4 436 4 437 4 438 dcl LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsos0001"); 4 439 4 440 4 441 /* format of reply message sent to acknowledge receipt of a request */ 4 442 4 443 dcl ls_reply_message_ptr pointer; 4 444 4 445 dcl 1 ls_reply_message aligned based (ls_reply_message_ptr), 4 446 2 code fixed bin (35), 4 447 2 flags, 4 448 3 request_invalid bit (1) unaligned, /* "1"b => could not process request */ 4 449 3 response_sent bit (1) unaligned, /* "1"b => there is a response message */ 4 450 3 as_error_code bit (1) unaligned, /* "1"b => code is from as_error_table_ */ 4 451 3 do_not_reply bit (1) unaligned, /* "1"b => special flag for AS to prevent any reply from being sent to login server */ 4 452 3 mbz bit (32) unaligned; 4 453 4 454 /* The following are values used to identify the various requests internally; those from CREATE_REQ on 4 455* can appear as "command_type" in ls_process_requests. */ 4 456 4 457 dcl (LOGIN_REQ initial (1), 4 458 ENTER_REQ initial (2), 4 459 ENTERP_REQ initial (3), 4 460 CREATE_REQ initial (4), 4 461 DESTROY_REQ initial (5), 4 462 CONNECT_REQ initial (6), 4 463 NEW_PROC_REQ initial (7), 4 464 LIST_REQ initial (8)) 4 465 fixed bin internal static options (constant); 4 466 4 467 /* The following are the possible values for login_server_validate_request.network_connection_type. 4 468* They are used by the initializer to select a default process overseer and an instance tag. 4 469**/ 4 470 4 471 dcl (NETWORK_CONNECTION_LOGIN initial (1), 4 472 NETWORK_CONNECTION_DSA_FILE_TRANSFER initial (2)) 4 473 fixed bin internal static options (constant); 4 474 4 475 /* END INCLUDE FILE ... login_server_messages.incl.pl1 */ 377 378 /* BEGIN: ls_request_server_info.incl.pl1 * * * * * */ 5 2 5 3 /****^ HISTORY COMMENTS: 5 4* 1) change(86-04-05,Swenson), approve(87-07-14,MCR7737), 5 5* audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056): 5 6* Initial coding. 5 7* END HISTORY COMMENTS */ 5 8 5 9 /* format: style4,indattr */ 5 10 5 11 dcl ls_request_server_info_ptr ptr automatic; 5 12 dcl 1 ls_request_server_info structure aligned 5 13 based (ls_request_server_info_ptr), 5 14 2 version char (8), 5 15 2 reply_ptr ptr, 5 16 2 flags, 5 17 3 initialized bit (1) unaligned, 5 18 3 pad1 bit (35) unaligned, 5 19 2 request_ms, 5 20 3 dirname char (168) unaligned, 5 21 3 entryname char (32) unaligned, 5 22 3 index fixed bin, 5 23 2 request_info, /* only valid while executing a request */ 5 24 3 sender_process_id bit (36) aligned; 5 25 5 26 dcl LS_REQUEST_SERVER_INFO_VERSION_1 char (8) initial ("lsrsi001") internal static options (constant); 5 27 5 28 /* END OF: ls_request_server_info.incl.pl1 * * * * * */ 378 379 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 6 2 /* Requires user_attributes.incl.pl1 */ 6 3 6 4 /* Modified 740723 by PG to add AIM info */ 6 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 6 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 6 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 6 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 6 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 6 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 6 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 6 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 6 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 6 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 6 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 6 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 6 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 6 18 6 19 dcl (PDT_version init (4), /* version of this declaration */ 6 20 PDT_header_lth init (256), /* length in words of PDT head */ 6 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 6 22 6 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 6 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 6 25 ) fixed bin internal static options (constant); 6 26 6 27 dcl 1 pdt based (pdtp) aligned, 6 28 7 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 7 2 7 3 /* the "author" items must always be the first ones in the table. The 7 4* module which moves the converted table to the System Control process 7 5* fills in these data items and assumes them to be at the head of the segment 7 6* regardless of the specific table's actual declaration. The variables 7 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 7 8* respectively. For tables installed in multiple processes, these 7 9* are to be used to lock out multiple installations. */ 7 10 7 11 /* Lock should be used as a modification lock. Since, in general, 7 12* entries may not be moved in system tables, even by installations, 7 13* it is sufficient for only installers and programs that change threads 7 14* to set or respect the lock. Simply updating data in an entry 7 15* requires no such protection. 7 16* 7 17* Last_install_time is used by readers of system tables to detect 7 18* installations or other serious modifications. By checking it before 7 19* and after copying a block of data, they can be protected against 7 20* modifications. 7 21* 7 22* Modules that set the lock should save proc_group_id, and then 7 23* put their group id there for the time they hold the lock. 7 24* if they do not actually install the, they should restore the group id. 7 25**/ 7 26 7 27 2 author aligned, /* validation data about table's author */ 7 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 7 29 3 lock bit (36), /* installation lock */ 7 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 7 31 3 update_authorization bit (1) unal, /* update only authorizations */ 7 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 7 33 3 pad bit (33) unaligned, 7 34 3 last_install_time fixed bin (71), 7 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 7 36 3 w_dir char (64), /* author's working directory */ 7 37 7 38 /* END INCLUDE FILE author.incl.pl1 */ 6 29 6 30 2 max_size fixed bin, /* max number of entries table can grow */ 6 31 2 current_size fixed bin, /* current size of table (in entries) */ 6 32 2 version fixed bin, /* table version */ 6 33 2 freep fixed bin, /* relptr to begin of free chain */ 6 34 2 n_users fixed bin, /* number of entries actually used */ 6 35 2 project_name char (28), /* name of project */ 6 36 2 project_dir char (64), /* treename of project's directory */ 6 37 2 projfile_version fixed bin, 6 38 2 projentry bit (66*36), 6 39 2 pad3 (5) bit (36) aligned, 6 40 2 reqfile_version fixed bin, 6 41 2 reqentry bit (40*36), 6 42 2 pad4 (9) fixed bin, 6 43 2 sat_version fixed bin, 6 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 6 45 2 pad5 (4) bit (36) aligned, 6 46 2 date_reqfile_copied fixed bin (71), 6 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 6 48 2 pad2l bit (27) unaligned, 6 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 6 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 6 51 2 user (1019) aligned, /* the project definition table entries */ 6 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 6 53 6 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 6 55 6 56 6 57 6 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 6 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 6 60 2 lock bit (36), /* update lock */ 6 61 2 person_id char (24) aligned, /* login name of user */ 6 62 2 now_in fixed bin, /* count of users logged in on this entry */ 6 63 2 password char (8) aligned, /* password for anonymous user */ 6 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 6 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 6 66 2 home_dir char (64) aligned, /* user's default working directory */ 6 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 6 68 2 high_ring fixed bin, /* highest ring user may use */ 6 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 6 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 6 71 2 outer_module char (32), /* outer module used if user is interactive */ 6 72 2 lot_size fixed bin, /* size of linkage offset table */ 6 73 2 kst_size fixed bin, /* size of known segment table */ 6 74 2 cls_size fixed bin, /* size of combined linkage */ 6 75 2 uflags, /* various flags */ 6 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 6 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 6 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 6 79 3 flagpad bit (33) unal, 6 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 6 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 6 82 2 dollar_limit float bin, 6 83 2 dollar_charge float bin, /* total dollars spent this month */ 6 84 2 shift_limit (0: 7) float bin, 6 85 2 daton fixed bin (71), /* date user added to system */ 6 86 2 datof fixed bin (71), /* date user deleted */ 6 87 2 last_login_time fixed bin (71), /* time of last login */ 6 88 2 last_login_unit char (4), /* terminal id last used */ 6 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 6 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 6 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 6 92 2 last_update fixed bin (71), /* time of last transaction */ 6 93 2 logins fixed bin, /* number of logins */ 6 94 2 crashes fixed bin, /* sessions abnormally terminated */ 6 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 6 96 3 charge float bin, /* total dollar charge this shift */ 6 97 3 xxx fixed bin, 6 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 6 99 3 core fixed bin (71), /* core demand in page-microseconds */ 6 100 3 connect fixed bin (71), /* total console time in microseconds */ 6 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 6 102 2 absentee (4), /* absentee use, queues 1-4 */ 6 103 3 charge float bin, /* dollar charge this queue */ 6 104 3 jobs fixed bin, /* number of jobs submitted */ 6 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 6 106 3 memory fixed bin (71), /* total memory demand */ 6 107 2 iod (4), /* io daemon use, queues 1-4 */ 6 108 3 charge float bin, /* dollar charge this queue */ 6 109 3 pieces fixed bin, /* pieces of output requested */ 6 110 3 pad fixed bin (35), 6 111 3 pages fixed bin (35), /* number of pages output */ 6 112 3 lines fixed bin (71), /* total record count of output */ 6 113 2 devices (16) float bin, /* device charges */ 6 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 6 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 6 116 2 absolute_spent float bin, /* Spending against this */ 6 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 6 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 6 119 2 pad_was_authorization bit (72) aligned, 6 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 6 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 6 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 6 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 6 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 6 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 6 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 6 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 6 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 6 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 6 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 6 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 6 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 6 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 6 134 2 user_authorization (2) bit (72) aligned, /* range */ 6 135 2 pdtupad (5) fixed bin, 6 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 6 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 6 138 2 chain fixed bin; /* free chain */ 6 139 6 140 /* END INCLUDE FILE ... pdt.incl.pl1 */ 379 380 381 dcl pdtp ptr automatic init (null); /* pdt needs it */ 382 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 8 2 8 3 8 4 /****^ HISTORY COMMENTS: 8 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 8 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 8 7* Added sl_info structure and associated named constants for use in calling 8 8* sys_log_$general. 8 9* END HISTORY COMMENTS */ 8 10 8 11 8 12 /* format: style4 */ 8 13 8 14 dcl ( 8 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 8 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 8 17 SL_TYPE init (-1), /* type message */ 8 18 SL_LOG_SILENT init (0), /* log message */ 8 19 SL_LOG init (1), /* log & type message */ 8 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 8 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 8 22 ) fixed bin internal static options (constant); 8 23 8 24 dcl 1 sl_info aligned automatic, 8 25 2 version char(8), /* structure version */ 8 26 2 arg_list_ptr ptr, /* arg_list with values */ 8 27 2 loc, 8 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 8 29 /* These flags control where the corresponding data item is found.*/ 8 30 /* -1: data appears in the corresponding structure element below */ 8 31 /* 0: data is not present anywhere */ 8 32 /* +N: data is Nth item in argument list pointed to by */ 8 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 8 34 /* corresponding structure element. */ 8 35 /* if data = +N: */ 8 36 /* argN is data_ptr, argN+1 is data_len */ 8 37 /* if ioa_msg = +N: */ 8 38 /* argN+1, ... argLAST are arguments substituted into the */ 8 39 /* ioa_msg control string. The formatted msg is returned. */ 8 40 2 flags, 8 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 8 42 3 flags_pad bit(35) unal, 8 43 2 mode fixed bin, /* as-mode, command-mode */ 8 44 2 severity fixed bin, /* error severity */ 8 45 2 code fixed bin(35), /* error table code */ 8 46 2 caller char(65) varying, /* caller refname$entryname*/ 8 47 2 data, /* binary data ptr/length */ 8 48 3 data_ptr ptr, 8 49 3 data_lth fixed bin(21), 8 50 2 class char(10) varying, /* binary data class */ 8 51 2 ioa_msg char(500) varying; /* formatted message text */ 8 52 8 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 54 /* */ 8 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 8 56 /* their data types should be as shown in the structure above, except that */ 8 57 /* character strings should be char(*) nonvarying. */ 8 58 /* */ 8 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 60 8 61 /* value for sl_info.version */ 8 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 8 63 8 64 /* values for sl_info.mode */ 8 65 dcl (SL_INFO_as_mode init(1), 8 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 8 67 8 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 8 69 dcl (SL_INFO_arg_given_in_structure init(-1), 8 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 8 71 8 72 8 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 74 /* */ 8 75 /* The following static structures are commonly used in the Login Server */ 8 76 /* user control software. */ 8 77 /* */ 8 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 79 8 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 8 81 8 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 8 83 2 version char(8) init ("sl_info1"), 8 84 2 arg_list_ptr ptr init (null), 8 85 2 loc, 8 86 3 (mode init (-1), 8 87 severity init ( 1), 8 88 code init ( 2), 8 89 caller init (-1), 8 90 data init ( 0), 8 91 class init ( 0), 8 92 ioa_msg init ( 3)) fixed bin, 8 93 2 flags, 8 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 8 95 3 flags_pad bit(35) unal init ("0"b), 8 96 2 mode fixed bin init ( 1), 8 97 2 severity fixed bin init ( 0), 8 98 2 code fixed bin(35) init ( 0), 8 99 2 caller char(65) varying init (""), 8 100 2 data, 8 101 3 data_ptr ptr init (null), 8 102 3 data_lth fixed bin(21) init ( 0), 8 103 2 class char(10) varying init (""), 8 104 2 ioa_msg char(500) varying init (""); 8 105 8 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 8 107 8 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 8 109 2 version char(8) init ("sl_info1"), 8 110 2 arg_list_ptr ptr init (null), 8 111 2 loc, 8 112 3 (mode init (-1), 8 113 severity init ( 1), 8 114 code init ( 0), 8 115 caller init (-1), 8 116 data init ( 0), 8 117 class init ( 0), 8 118 ioa_msg init ( 2)) fixed bin, 8 119 2 flags, 8 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 8 121 3 flags_pad bit(35) unal init ("0"b), 8 122 2 mode fixed bin init ( 1), 8 123 2 severity fixed bin init ( 0), 8 124 2 code fixed bin(35) init ( 0), 8 125 2 caller char(65) varying init (""), 8 126 2 data, 8 127 3 data_ptr ptr init (null), 8 128 3 data_lth fixed bin(21) init ( 0), 8 129 2 class char(10) varying init (""), 8 130 2 ioa_msg char(500) varying init (""); 8 131 8 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 8 133 8 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 8 135 2 version char(8) init ("sl_info1"), 8 136 2 arg_list_ptr ptr init (null), 8 137 2 loc, 8 138 3 (mode init (-1), 8 139 severity init ( 1), 8 140 code init ( 0), 8 141 caller init (-1), 8 142 data init ( 0), 8 143 class init ( 0), 8 144 ioa_msg init ( 2)) fixed bin, 8 145 2 flags, 8 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 8 147 3 flags_pad bit(35) unal init ("0"b), 8 148 2 mode fixed bin init ( 1), 8 149 2 severity fixed bin init ( 0), 8 150 2 code fixed bin(35) init ( 0), 8 151 2 caller char(65) varying init (""), 8 152 2 data, 8 153 3 data_ptr ptr init (null), 8 154 3 data_lth fixed bin(21) init ( 0), 8 155 2 class char(10) varying init (""), 8 156 2 ioa_msg char(500) varying init (""); 8 157 8 158 8 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 8 160 8 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 8 162 2 version char(8) init ("sl_info1"), 8 163 2 arg_list_ptr ptr init (null), 8 164 2 loc, 8 165 3 (mode init (-1), 8 166 severity init ( 1), 8 167 code init ( 2), 8 168 caller init (-1), 8 169 data init ( 0), 8 170 class init ( 0), 8 171 ioa_msg init ( 4)) fixed bin, 8 172 2 flags, 8 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 8 174 3 flags_pad bit(35) unal init ("0"b), 8 175 2 mode fixed bin init ( 1), 8 176 2 severity fixed bin init ( 0), 8 177 2 code fixed bin(35) init ( 0), 8 178 2 caller char(65) varying init (""), 8 179 2 data, 8 180 3 data_ptr ptr init (null), 8 181 3 data_lth fixed bin(21) init ( 0), 8 182 2 class char(10) varying init (""), 8 183 2 ioa_msg char(500) varying init (""); 8 184 8 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 8 186 8 187 dcl 1 sl_info_code_msg aligned int static options(constant), 8 188 2 version char(8) init ("sl_info1"), 8 189 2 arg_list_ptr ptr init (null), 8 190 2 loc, 8 191 3 (mode init (-1), 8 192 severity init (-1), 8 193 code init ( 1), 8 194 caller init (-1), 8 195 data init ( 0), 8 196 class init ( 0), 8 197 ioa_msg init ( 2)) fixed bin, 8 198 2 flags, 8 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 8 200 3 flags_pad bit(35) unal init ("0"b), 8 201 2 mode fixed bin init ( 1), 8 202 2 severity fixed bin init ( 0), 8 203 2 code fixed bin(35) init ( 0), 8 204 2 caller char(65) varying init (""), 8 205 2 data, 8 206 3 data_ptr ptr init (null), 8 207 3 data_lth fixed bin(21) init ( 0), 8 208 2 class char(10) varying init (""), 8 209 2 ioa_msg char(500) varying init (""); 8 210 8 211 8 212 /* Syntax: call Trace (ioa_ctl, args); */ 8 213 8 214 dcl 1 sl_info_msg aligned int static options(constant), 8 215 2 version char(8) init ("sl_info1"), 8 216 2 arg_list_ptr ptr init (null), 8 217 2 loc, 8 218 3 (mode init (-1), 8 219 severity init (-1), 8 220 code init ( 0), 8 221 caller init (-1), 8 222 data init ( 0), 8 223 class init ( 0), 8 224 ioa_msg init ( 1)) fixed bin, 8 225 2 flags, 8 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 8 227 3 flags_pad bit(35) unal init ("0"b), 8 228 2 mode fixed bin init ( 1), 8 229 2 severity fixed bin init ( 0), 8 230 2 code fixed bin(35) init ( 0), 8 231 2 caller char(65) varying init (""), 8 232 2 data, 8 233 3 data_ptr ptr init (null), 8 234 3 data_lth fixed bin(21) init ( 0), 8 235 2 class char(10) varying init (""), 8 236 2 ioa_msg char(500) varying init (""); 8 237 8 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 382 383 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 9 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 9 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 9 8* attribute switches. 9 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 9 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 9 12* be deleted. 9 13* B) Add constants identifying attributes that can be changed by user at 9 14* login, etc. 9 15* END HISTORY COMMENTS */ 9 16 9 17 9 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 9 19 9 20 /* format: style4 */ 9 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 9 22 (2 administrator bit (1), /* 1 system administrator privileges */ 9 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 9 24 2 nobump bit (1), /* 2 user cannot be bumped */ 9 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 9 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 9 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 9 28* . of same project (distinct from "nobump") */ 9 29 2 nolist bit (1), /* 7 don't list user on "who" */ 9 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 9 31 2 multip bit (1), /* 9 user may have several processes */ 9 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 9 33 2 brief bit (1), /* 11 no login or logout message */ 9 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 9 35 2 vhomedir bit (1), /* 13 user may change homedir */ 9 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 9 37 2 sb_ok bit (1), /* 15 user may be standby */ 9 38 2 pm_ok bit (1), /* 16 user may be primary */ 9 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 9 40 2 daemon bit (1), /* 18 user may login as daemon */ 9 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 9 42 2 no_warning bit (1), /* 20 no warning message */ 9 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 9 44* . in PDT: this user has an individual load control group */ 9 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 9 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 9 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 9 48 2 pad bit (12)) unaligned; 9 49 9 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 9 51 ("none", /* 0 */ 9 52 "administrator", /* 1 */ 9 53 "primary_line", /* 2 */ 9 54 "nobump", /* 3 */ 9 55 "guaranteed_login", /* 4 */ 9 56 "anonymous", /* 5 */ 9 57 "nopreempt", /* 6 */ 9 58 "nolist", /* 7 */ 9 59 "dialok", /* 8 */ 9 60 "multip", /* 9 */ 9 61 "bumping", /* 10 */ 9 62 "brief", /* 11 */ 9 63 "vinitproc", /* 12 */ 9 64 "vhomedir", /* 13 */ 9 65 "nostartup", /* 14 */ 9 66 "no_secondary", /* 15 */ 9 67 "no_prime", /* 16 */ 9 68 "no_eo", /* 17 */ 9 69 "daemon", /* 18 */ 9 70 "", /* 19 vdim OBSOLETE */ 9 71 "no_warning", /* 20 */ 9 72 "igroup", /* 21 */ 9 73 "save_pdir", /* 22 */ 9 74 "disconnect_ok", /* 23 */ 9 75 "save_on_disconnect"); /* 24 */ 9 76 9 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 9 78 ("null", /* 0 */ 9 79 "admin", /* 1 */ 9 80 "", "", /* 2 - 3 */ 9 81 "guar", /* 4 */ 9 82 "anon", /* 5 */ 9 83 "", "", /* 6 - 7 */ 9 84 "dial", /* 8 */ 9 85 "multi_login", /* 9 */ 9 86 "preempting", /* 10 */ 9 87 "", /* 11 */ 9 88 "v_process_overseer", /* 12 */ 9 89 "v_home_dir", /* 13 */ 9 90 "no_start_up", /* 14 */ 9 91 "no_sec", /* 15 */ 9 92 "no_primary", /* 16 */ 9 93 "no_edit_only", /* 17 */ 9 94 "op_login", /* 18 */ 9 95 "", /* 19 */ 9 96 "nowarn", /* 20 */ 9 97 "", "", "", /* 21 - 23 */ 9 98 "save"); /* 24 */ 9 99 9 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 9 101 options(constant) init("000000000010000000010000000000000000"b); 9 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 9 103 9 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 9 105 options(constant) init("000000000010000000010000000000000000"b); 9 106 /* PDT value for (brief, no_warning) is default */ 9 107 9 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 9 109 options(constant) init("000100000110010000010000000000000000"b); 9 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 9 111 10 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 10 2 10 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 4 /* */ 10 5 /* This include file describes the attributes of an absentee job. It is */ 10 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 10 7 /* and PIT.incl.pl1. */ 10 8 /* */ 10 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 10 10 11 /****^ HISTORY COMMENTS: 10 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 10 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 14* Separated abs_attributes from the request structure 10 15* (abs_message_format.incl.pl1) so that the identical structure could be 10 16* used in the ute structure (user_table_entry.incl.pl1). 10 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 10 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 19* Added ABS_ATTRIBUTE_NAMES array. 10 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 10 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 10 22* Added the no_start_up flag. SCP6367 10 23* END HISTORY COMMENTS */ 10 24 10 25 dcl 1 user_abs_attributes aligned based, 10 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 10 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 10 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 10 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 10 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 10 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 10 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 10 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 10 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 10 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 10 36 2 attributes_pad bit (26) unaligned; 10 37 10 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 10 39 "restartable", 10 40 "user_deferred_until_time", 10 41 "proxy", 10 42 "set_bit_cnt", 10 43 "time_in_gmt", 10 44 "user_deferred_indefinitely", 10 45 "secondary_ok", 10 46 "truncate_absout", 10 47 "restarted", 10 48 "no_start_up"); 10 49 10 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 10 51 9 112 9 113 9 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 383 384 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 11 2 11 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 4 /* */ 11 5 /* This include file requires that the user include */ 11 6 /* user_attributes.incl.pl1 as well. It also includes */ 11 7 /* abs_attributes.incl.pl1 itself. */ 11 8 /* */ 11 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 11 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 11 11 /* */ 11 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 13 11 14 /****^ HISTORY COMMENTS: 11 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 11 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 11 17* This comment for hcom. 11 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 11 19* anstbl.incl.pl1, and dutbl.incl.pl1. 11 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 11 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 11 22* 84-07-12 BIM added min_process_authorization 11 23* 84-12-31 Keith Loepere added pdir_dir_quota 11 24* 85-01-16 by E. Swenson to add ute.session_uid 11 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 11 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 11 27* Added fields for DSA login server support. 11 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 11 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 11 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 11 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 11 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 11 33* Added disconnection_rel_minutes. 11 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 11 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 36* Changed structure under ute.abs_attributes to use like structure in 11 37* abs_attributes.incl.pl1. This allows the same attributes to be used 11 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 11 39* file. 11 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 11 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 11 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 11 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 45* A) Global reorganization to locate things by type of data. 11 46* B) Eliminate ute.uflags.logged_in. 11 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 11 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 49* A) Reduced overlength person and project fields to proper length. 11 50* B) Adjusted dialed-console section to begin on even word boundary. 11 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 11 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 53* Add ute.line_type. 11 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 11 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 11 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 11 57* for the storage. SCP6367 11 58* END HISTORY COMMENTS */ 11 59 11 60 /* format: style4 */ 11 61 11 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 63 /* */ 11 64 /* Each of the named sections below defines a type of data. Typing comes */ 11 65 /* from data associated with the ute entry itself, with the person, with */ 11 66 /* login argument data, from the main user of the data (eg, dialup_, */ 11 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 11 68 /* and is an even number of words long. The total structure is 300 decimal */ 11 69 /* words long. */ 11 70 /* */ 11 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 72 11 73 11 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 11 75 11 76 dcl utep pointer automatic init (null); 11 77 11 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 11 79 11 80 /* Variables which give state of this entry */ 11 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 11 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 11 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 11 84 2 next_free fixed bin, /* points to previous free entry */ 11 85 11 86 /* Information user gave about person_id associated with this entry. */ 11 87 2 person char (24) unal, /* user's name */ 11 88 2 project char (12) unal, /* project of absentee user */ 11 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 11 90 2 tag_pad bit (27) unal, 11 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 11 92 2 login_flags, /* flags for login data */ 11 93 3 cpw bit (1) unal, /* flag for wish to change password */ 11 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 11 95 3 special_pw unal, /* dial or slave */ 11 96 4 dial_pw bit (1) unal, /* true if dial -user */ 11 97 4 slave_pw bit (1) unal, /* true if slave -user */ 11 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 11 99 3 cda bit (1) unal, /* flag to change default authorization */ 11 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 11 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 11 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 11 103 3 pw_pad bit (25) unal, /* spare parts */ 11 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 11 105 /* Must remain last in pw_flags so it does not */ 11 106 /* appear in PW_FLAG_VALUES array below. */ 11 107 2 generated_pw char (8) unal, /* user must type this as new password */ 11 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 11 109 2 process_authorization bit (72), /* access_authorization of this process */ 11 110 11 111 /* Information user gave about process associated with this entry. */ 11 112 2 outer_module char (32) unal, /* Name of console dim */ 11 113 2 home_dir char (64) unal, /* initial home directory */ 11 114 2 init_proc char (64) unal, /* name of login responder */ 11 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 11 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 11 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 11 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 11 119 2 initial_ring fixed bin, /* ring process will be started in */ 11 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 11 121 2 ln_args fixed bin, /* length of string containing arguments */ 11 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 11 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 11 124 11 125 /* Most of the following information is relevant only to absentee processes */ 11 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 11 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 11 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 11 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 11 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 11 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 11 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 11 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 11 134* (but see uflags.adjust_abs_q_no). */ 11 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 11 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 11 137 2 abs_flags, 11 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 11 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 11 140 3 abs_flags_pad bit (34) unal, 11 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 11 142 2 sender char (32) unal, /* name of RJE station that job is from */ 11 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 11 144 2 proxy_project char (9) unal, 11 145 2 proxy_project_pad char (3) unal, 11 146 2 abs_pad fixed bin, 11 147 11 148 /* Information about process actually created */ 11 149 2 proc_id bit (36), /* process id of absentee process */ 11 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 11 151 2 process_authorization_range (2) bit (72) aligned, 11 152 2 audit bit (36), /* audit flags for user */ 11 153 2 lot_size fixed bin, /* Size of linkage offset table */ 11 154 2 kst_size fixed bin, /* Size of process known segment table */ 11 155 2 cls_size fixed bin, /* Size of process combined linkage */ 11 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 11 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 11 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 11 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 11 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 11 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 11 162 2 pdir_pad fixed bin(17) unal, 11 163 2 process_pad fixed bin, 11 164 11 165 /* Information about primary terminal associated with this entry */ 11 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 11 167 2 terminal_type char (32) unaligned, /* terminal type */ 11 168 2 line_type fixed bin, /* line type */ 11 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 11 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 11 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 11 172 11 173 /* Variables useful for dialed terminals */ 11 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 11 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 11 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 11 177 2 dial_server_flags, 11 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 11 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 11 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 11 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 11 182 11 183 /* Information about usage/accounting. Device usage meters are in a 11 184* separate segment, "devtab" */ 11 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 11 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 11 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 11 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 11 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 11 190 2 last_update_time fixed bin (71), /* time of last account update */ 11 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 11 192 2 ndevices fixed bin, /* Count of attached devices */ 11 193 2 device_head fixed bin, /* Table index of head of device chain */ 11 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 11 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 11 196 2 rs_number_pad bit(30) unal, 11 197 2 usage_pad fixed bin, 11 198 11 199 /* Information for dialup_ (control variables). */ 11 200 2 event fixed bin (71), /* event associated with channel or user manager */ 11 201 2 uprojp ptr, /* ptr to user project sat entry */ 11 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 11 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 11 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 11 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 11 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 11 207 2 count fixed bin, /* counter for logins and dialups */ 11 208 2 n_processes fixed bin, /* number of processes created in this session */ 11 209 2 lock_value fixed bin, /* number of locks set for this entry */ 11 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 11 211 2 login_code char (8) unal, /* login command from LOGIN line */ 11 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 11 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 11 214 2 logout_type char (4) unal, /* type of logout */ 11 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 11 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 11 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 11 218 2 work_class fixed bin, /* work class used by priority scheduler */ 11 219 2 group char (8) unal, /* party group identifier */ 11 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 11 221 11 222 2 uflags, /* Miscellaneous flags */ 11 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 11 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 11 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 11 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 11 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 11 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 11 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 11 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 11 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 11 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 11 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 11 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 11 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 11 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 11 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 11 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 11 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 11 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 11 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 11 242 3 uflags_pad bit (17) unal, 11 243 11 244 /* Information used by load_ctl_ for the process */ 11 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 11 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 11 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 11 248 11 249 11 250 /* Information for login server */ 11 251 2 login_server_info, 11 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 11 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 11 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 11 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 11 256 3 process_id bit (36) aligned, /* process_id of login server */ 11 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 11 258 11 259 /* values for ute.process_type */ 11 260 11 261 dcl (PT_INTERACTIVE initial (1), 11 262 PT_ABSENTEE initial (2), 11 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 11 264 11 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 11 266 "INVALID-TYPE", 11 267 "interactive", 11 268 "absentee", 11 269 "daemon"); 11 270 11 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 11 272 "UNKNOWN-TABLE", 11 273 "answer_table", 11 274 "absentee_user_table", 11 275 "daemon_user_table"); 11 276 11 277 11 278 /* values for ute.pw_flags.mask_ctl */ 11 279 11 280 dcl (DO_MASK init ("00"b), 11 281 DONT_MASK init ("01"b), 11 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 11 283 11 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 11 285 "do_mask", "dont_mask", "derive_mask", ""); 11 286 11 287 11 288 /* names for ute.pw_flags */ 11 289 11 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 11 291 "cpw", 11 292 "generate_pw", 11 293 "dial_pw", 11 294 "slave_pw", 11 295 "cdp", 11 296 "cda", 11 297 "auth_given", 11 298 "noprint", 11 299 "operator"); 11 300 11 301 /* names for ute.uflags */ 11 302 11 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 11 304 "dont_call_init_admin", 11 305 "ip_given", 11 306 "ss_given", 11 307 "lvs_attached", 11 308 "send_initial_string", 11 309 "adjust_abs_q_no", 11 310 "foreground_secondary_ok", 11 311 "foreground_job", 11 312 "sus_sent", 11 313 "suspended", 11 314 "ignore_cpulimit", 11 315 "deferral_logged", 11 316 "save_if_disconnected", 11 317 "disconnected", 11 318 "disconnected_list", 11 319 "proc_create_ok", 11 320 "activity_can_unbump", 11 321 "fpe_causes_logout", 11 322 "user_specified_immediate"); 11 323 11 324 /* names for ute.abs_flags */ 11 325 11 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 11 327 "abs_run", 11 328 "notify"); 11 329 11 330 /* names of ute.dial_server_flags */ 11 331 11 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 11 333 "registered", 11 334 "privileged"); 11 335 11 336 /* values of ute.login_result */ 11 337 11 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 11 339 "logged in", 11 340 "login failed, hangup", 11 341 "login failed, try again"); 11 342 11 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 384 385 386 end uc_ls_create_request_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0938.2 uc_ls_create_request_.pl1 >special_ldd>install>MR12.2-1047>uc_ls_create_request_.pl1 374 1 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 375 2 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 376 3 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 377 4 08/06/87 0913.4 login_server_messages.incl.pl1 >ldd>include>login_server_messages.incl.pl1 378 5 08/06/87 0913.5 ls_request_server_info.incl.pl1 >ldd>include>ls_request_server_info.incl.pl1 379 6 09/13/84 0921.6 pdt.incl.pl1 >ldd>include>pdt.incl.pl1 6-29 7 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 382 8 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 383 9 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 9-112 10 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 384 11 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_AUDIT_PROCESS_CREATE constant fixed bin(17,0) initial dcl 2-162 ref 243 FALSE constant bit(1) initial dcl 110 ref 300 LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 000250 constant char(8) initial packed unaligned dcl 4-341 ref 283 LS_PROCESS_RESPONSE constant fixed bin(17,0) initial dcl 4-228 ref 280 ME 000252 constant char(21) initial packed unaligned dcl 107 ref 365 NL constant char(1) initial packed unaligned dcl 108 ref 311 P_code parameter fixed bin(35,0) dcl 70 set ref 56 266* P_ls_ipc_reply_ptr parameter pointer dcl 69 ref 56 121 P_ls_request_lth parameter fixed bin(18,0) dcl 66 ref 56 P_ls_request_ptr parameter pointer dcl 65 ref 56 120 P_ls_request_server_info_ptr parameter pointer dcl 64 ref 56 119 P_ls_response_lth parameter fixed bin(18,0) dcl 68 set ref 56 316* P_ls_response_ptr parameter pointer dcl 67 ref 56 276 SL_LOG 000312 constant fixed bin(17,0) initial dcl 8-14 set ref 253* SL_LOG_BEEP 000311 constant fixed bin(17,0) initial dcl 8-14 set ref 344* SL_LOG_SILENT 000306 constant fixed bin(17,0) initial dcl 8-14 set ref 127* 132* 179* 193* 206* TRUE constant bit(1) initial dcl 111 ref 141 146 151 156 160 162 170 173 174 201 211 245 261 298 accounting_message 57 based char level 3 dcl 4-303 set ref 311* accounting_message_length 56 based fixed bin(17,0) level 3 dcl 4-303 set ref 278 309* 311 316 accounting_message_struc 56 based structure level 2 dcl 4-303 addr builtin function dcl 115 ref 367 367 already_logged_in 33(07) based bit(1) level 4 packed packed unaligned dcl 4-303 set ref 245* anonymous 33(06) based bit(1) level 4 in structure "login_server_process_response" packed packed unaligned dcl 4-303 in procedure "uc_ls_create_request_" set ref 302* anonymous 16 based fixed bin(17,0) level 2 in structure "ute" dcl 11-78 in procedure "uc_ls_create_request_" ref 289 302 arg_count 102 based fixed bin(17,0) level 2 dcl 11-78 set ref 217* 218 225 227 230 arg_length 304 based fixed bin(21,0) array level 4 dcl 4-103 ref 230 arg_lengths_ptr 104 based pointer level 2 dcl 11-78 set ref 225* 227 230 arg_list_ptr 2 000124 automatic pointer level 2 dcl 8-24 set ref 366* arg_string based char level 3 dcl 4-103 ref 232 arg_string_length 302 based fixed bin(21,0) level 3 dcl 4-103 ref 220 222 232 args 303 based structure array level 3 dcl 4-103 args_ptr 106 based pointer level 2 dcl 11-78 set ref 226* 232 argstring based char packed unaligned dcl 81 set ref 226 232* arh_header_ based structure level 1 dcl 1-26 arh_user_info_ based structure level 1 dcl 1-39 as_access_audit_$process 000012 constant entry external dcl 87 ref 243 as_channel_audit_record_ based structure level 1 dcl 2-74 as_data_$ls_message_buffer_cur_lth 000036 external static fixed bin(18,0) dcl 3-86 set ref 307 311 314* as_data_$ls_message_buffer_ptr 000040 external static pointer dcl 3-88 ref 311 as_dial_service_audit_record_ based structure level 1 dcl 2-105 as_error_table_$already_logged_in 000030 external static fixed bin(35,0) dcl 101 ref 245 as_ia_audit_record_ based structure level 1 dcl 2-52 at 100 based structure level 2 dcl 11-78 audit_record_header based structure level 1 dcl 1-18 authorization 10 based bit(72) level 3 dcl 4-303 set ref 287* brief 77(10) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 162* brief 33(09) based bit(1) level 4 in structure "login_server_process_response" packed packed unaligned dcl 4-303 in procedure "uc_ls_create_request_" set ref 262* brief 67(04) based bit(1) level 4 in structure "login_server_process_request" packed packed unaligned dcl 4-103 in procedure "uc_ls_create_request_" ref 163 brief 100(10) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 163* 262 brief_given 66(04) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 161 bumping 77(09) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 156* bumping 100(09) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 157* 160* caller 17 000124 automatic varying char(65) level 2 dcl 8-24 set ref 365* check_code 000100 automatic fixed bin(35,0) dcl 74 set ref 237* 241 242* 245 286 code 000414 automatic fixed bin(35,0) dcl 323 in procedure "Set_Start_Event_Channel" set ref 335* 336 344* code 000101 automatic fixed bin(35,0) dcl 75 in procedure "uc_ls_create_request_" set ref 123* 250* 251 252 253* 266 368* 369 code 16 000124 automatic fixed bin(35,0) level 2 in structure "sl_info" dcl 8-24 in procedure "uc_ls_create_request_" set ref 368 convert_status_code_ 000014 constant entry external dcl 88 ref 242 created 33(02) based bit(1) level 4 packed packed unaligned dcl 4-303 set ref 261* cu_$arg_list_ptr 000046 constant entry external dcl 361 ref 366 currentsize builtin function dcl 115 ref 316 disconnect 33 based bit(1) level 4 packed packed unaligned dcl 4-303 set ref 298* 300* error_table_$bad_arg 000032 external static fixed bin(35,0) dcl 102 set ref 132* 179* 193* 206* error_table_$id_not_found 000034 external static fixed bin(35,0) dcl 103 set ref 127* fixed_part based structure level 2 in structure "login_server_process_request" dcl 4-103 in procedure "uc_ls_create_request_" fixed_part based structure level 2 in structure "login_server_process_response" dcl 4-303 in procedure "uc_ls_create_request_" flags 33 based structure level 3 dcl 4-303 force 67(01) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 147 force_given 66(01) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 145 get_system_free_area_ 000016 constant entry external dcl 89 ref 223 guaranteed_login 100(03) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 147* guaranteed_login 77(03) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 146* handle 40 based bit(72) level 3 dcl 4-103 set ref 125* 127* header based structure level 3 dcl 4-303 header_pad 1 based bit(36) level 4 dcl 4-303 set ref 282* home_dir 36 based char(64) level 2 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 179 179 179 184* 184 home_dir 73 based char(168) level 3 in structure "login_server_process_request" dcl 4-103 in procedure "uc_ls_create_request_" set ref 177 178 179* 184 hphcs_$get_ipc_operands 000042 constant entry external dcl 327 ref 335 immediate 70(02) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 170 init_proc 56 based char(64) level 2 packed packed unaligned dcl 11-78 set ref 193 193 193 198* 198 206 206 212* init_ring_given 70 based bit(1) level 4 packed packed unaligned dcl 4-103 ref 166 initial_ring 101 based fixed bin(17,0) level 2 in structure "ute" dcl 11-78 in procedure "uc_ls_create_request_" set ref 166* 168* 305 initial_ring 71 based fixed bin(17,0) level 3 in structure "login_server_process_request" dcl 4-103 in procedure "uc_ls_create_request_" ref 166 initial_ring 34 based fixed bin(17,0) level 3 in structure "login_server_process_response" dcl 4-303 in procedure "uc_ls_create_request_" set ref 305* ioa_$rsnnl 000020 constant entry external dcl 90 ref 289 ip_given 431(01) based bit(1) level 3 packed packed unaligned dcl 11-78 set ref 201* ip_len 76 based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 202* 206 206 212 ipc_validate_$encode_event_channel_name 000044 constant entry external dcl 328 ref 337 length builtin function dcl 115 ref 178 179 179 179 184 191 193 193 193 198 205 206 206 lengths based fixed bin(17,0) array dcl 82 set ref 225 227* 230* ln_args 103 based fixed bin(17,0) level 2 dcl 11-78 set ref 222* 226 226 227 232 235* login_arguments 302 based structure level 2 dcl 4-103 login_instance 26 based fixed bin(17,0) level 3 dcl 4-303 set ref 258* login_result 415 based fixed bin(17,0) level 2 dcl 11-78 ref 298 login_server_process_request based structure level 1 dcl 4-103 login_server_process_response based structure level 1 dcl 4-303 set ref 278* 316 login_server_response_header based structure level 1 dcl 4-258 ls_process_request_arg_string_length 000111 automatic fixed bin(21,0) dcl 4-148 set ref 220* ls_process_request_n_args 000110 automatic fixed bin(17,0) dcl 4-147 set ref 219* ls_process_response_accounting_message_length 000114 automatic fixed bin(17,0) dcl 4-339 set ref 277* 307* 309 ls_reply_message_ptr 000116 automatic pointer dcl 4-443 set ref 121* ls_request_header based structure level 1 dcl 4-54 ls_request_ptr 000106 automatic pointer dcl 4-50 set ref 120* 125 127 132 132 132 132 140 142 145 147 150 152 155 157 161 163 166 166 170 172 177 178 179 184 188 188 190 191 193 198 204 205 206 212 217 219 220 222 230 232 237* 253 253 ls_request_server_info_ptr 000120 automatic pointer dcl 5-11 set ref 119* ls_response_ptr 000112 automatic pointer dcl 4-254 set ref 245 252 258 260 261 262 276* 278 280 282 283 286 287 289 292 296 298 300 302 305 309 311 316 337 343 message_buffer based char packed unaligned dcl 273 ref 311 message_type based fixed bin(17,0) level 4 dcl 4-303 set ref 280* n_args 301 based fixed bin(17,0) level 3 dcl 4-103 ref 217 219 230 232 n_disconnected 362(09) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 6-58 ref 296 n_disconnected_processes 23 based fixed bin(17,0) level 3 dcl 4-303 set ref 296* n_interactive 362 based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 6-58 ref 258 no_start_up 70(03) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 172 no_warning 100(19) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 142* no_warning 77(19) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 141* nostartup 77(13) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 173* nostartup 100(13) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 174* null builtin function dcl 115 ref 127 223 381 11-76 other_flags 70 based structure level 3 dcl 4-103 outer_module 145 based char(32) level 3 in structure "login_server_process_request" dcl 4-103 in procedure "uc_ls_create_request_" ref 188 188 outer_module 26 based char(32) level 2 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 188* pdtep 354 based pointer level 2 dcl 11-78 set ref 258 294* 294 296 pdtp 000122 automatic pointer initial dcl 381 set ref 381* person 4 based char(24) level 2 packed packed unaligned dcl 11-78 set ref 132 132* 289* 344* person_id 42 based char(22) level 3 dcl 4-103 set ref 132 132* 253* preempt 67(03) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 157 preempt_given 66(03) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 155 proc_id 276 based bit(36) level 2 dcl 11-78 set ref 260 335* 344* process_authorization 24 based bit(72) level 2 dcl 11-78 ref 287 process_group_id 12 based char(32) level 3 dcl 4-303 set ref 289* process_id 5 based bit(36) level 3 dcl 4-303 set ref 260* process_number 22 based fixed bin(17,0) level 3 dcl 4-303 set ref 292* process_overseer 155 based char(168) level 3 dcl 4-103 set ref 190 191 193* 198 project 12 based char(12) level 2 packed packed unaligned dcl 11-78 set ref 132 132* 289* 344* project_id 50 based char(9) level 3 dcl 4-103 set ref 132 132* 253* r_factor 000415 automatic fixed bin(35,0) dcl 324 set ref 335* 337* r_offset 000416 automatic fixed bin(18,0) dcl 325 set ref 335* 337* reason 000102 automatic char(8) dcl 76 set ref 242* 243 rtrim builtin function dcl 115 ref 178 191 205 311 save_given 66(02) based bit(1) level 4 packed packed unaligned dcl 4-103 ref 150 save_on_disconnect 77(23) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 151* save_on_disconnect 100(23) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 11-78 in procedure "uc_ls_create_request_" set ref 152* save_on_disconnect 67(02) based bit(1) level 4 in structure "login_server_process_request" packed packed unaligned dcl 4-103 in procedure "uc_ls_create_request_" ref 152 sl_info 000124 automatic structure level 1 dcl 8-24 set ref 364* 367 367 sl_info_sev_code_msg 000000 constant structure level 1 dcl 8-82 ref 364 ss_given 431(02) based bit(1) level 3 packed packed unaligned dcl 11-78 set ref 211* ss_len 76(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 11-78 set ref 214* start_event_channel 24 based fixed bin(71,0) level 3 dcl 4-303 set ref 337* 343* status_code 4 based fixed bin(35,0) level 3 dcl 4-303 set ref 252* 286* substr builtin function dcl 115 set ref 184 198 212* subsystem 227 based char(168) level 3 dcl 4-103 set ref 204 205 206* 212 switch_flags 66 based structure level 3 dcl 4-103 switch_values 67 based structure level 3 dcl 4-103 sys_log_$general 000050 constant entry external dcl 362 ref 367 system_area based area(1024) dcl 83 ref 225 226 system_area_ptr 000010 internal static pointer initial dcl 97 set ref 223 223* 225 226 tag 15 based char(1) level 2 packed packed unaligned dcl 11-78 set ref 289* temp 000104 automatic fixed bin(17,0) dcl 77 set ref 178* 179 191* 193 202 205* 206 212 214 uc_create_process_ 000022 constant entry external dcl 91 ref 250 uc_create_process_check_ 000024 constant entry external dcl 92 ref 237 uflags 431 based structure level 2 dcl 11-78 unspec builtin function dcl 115 set ref 278* ur_at 77 based structure level 2 dcl 11-78 user based structure level 1 dcl 6-58 user_abs_attributes based structure level 1 dcl 10-25 user_attributes based structure level 1 dcl 9-21 user_connection_info based structure level 1 dcl 4-65 user_specified_immediate 431(18) based bit(1) level 3 packed packed unaligned dcl 11-78 set ref 170* user_table_mgr_$utep_from_handle 000026 constant entry external dcl 93 ref 125 ute based structure level 1 dcl 11-78 utep 000374 automatic pointer initial dcl 11-76 set ref 125* 127 132 132 132 132 141 142 146 147 151 152 156 157 160 162 163 166 168 170 173 174 179 179 179 184 184 188 193 193 193 198 198 201 202 206 206 206 206 211 212 212 214 217 218 222 225 225 226 226 226 227 227 227 230 230 232 232 235 237* 243* 250* 258 260 262 11-76* 287 289 289 289 289 294 294 296 298 302 305 335 344 344 344 version 2 based char(8) level 4 dcl 4-303 set ref 283* warn 67 based bit(1) level 4 packed packed unaligned dcl 4-103 ref 142 warn_given 66 based bit(1) level 4 packed packed unaligned dcl 4-103 ref 140 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 10-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 11-326 ACCESS_AUDIT_HEADER_VERSION_3 internal static fixed bin(9,0) initial unsigned dcl 1-54 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 9-77 ARH_TYPE_NO_PROXY internal static fixed bin(17,0) initial dcl 1-52 ARH_TYPE_PROXY internal static fixed bin(17,0) initial dcl 1-50 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 2-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIALIN internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 2-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 2-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 2-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 2-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 2-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_RECORD_CHN_VERSION_1 internal static fixed bin(9,0) initial dcl 2-156 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 2-159 AS_AUDIT_RECORD_IA_VERSION_1 internal static fixed bin(9,0) initial dcl 2-153 CONNECT_REQ internal static fixed bin(17,0) initial dcl 4-457 CREATE_REQ internal static fixed bin(17,0) initial dcl 4-457 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 11-280 DESTROY_REQ internal static fixed bin(17,0) initial dcl 4-457 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 11-332 DONT_MASK internal static bit(2) initial packed unaligned dcl 11-280 DO_MASK internal static bit(2) initial packed unaligned dcl 11-280 ENTERP_REQ internal static fixed bin(17,0) initial dcl 4-457 ENTER_REQ internal static fixed bin(17,0) initial dcl 4-457 LIST_REQ internal static fixed bin(17,0) initial dcl 4-457 LOGIN_REQ internal static fixed bin(17,0) initial dcl 4-457 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 11-338 LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-378 LOGIN_SERVER_LIST_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-360 LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-420 LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-222 LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-438 LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-407 LS_DIAL_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_DIAL_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-180 LS_DIAL_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_DISCONNECT_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_DISCONNECT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-193 LS_LIST_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_LIST_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-160 LS_LIST_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_LOGOUT_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_LOGOUT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-203 LS_NEW_PROC_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_OPERATOR_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_OPERATOR_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_PROCESS_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_PROCESS_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-150 LS_REQUEST_HEADER_VERSION_1 internal static char(8) initial packed unaligned dcl 4-63 LS_REQUEST_SERVER_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 5-26 LS_REQUEST_TYPES internal static char(10) initial array packed unaligned dcl 4-40 LS_RESPONSE_TYPES internal static char(10) initial array packed unaligned dcl 4-238 LS_TERMINATION_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_UNKNOWN_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_VALIDATE_REQUEST internal static fixed bin(17,0) initial dcl 4-31 LS_VALIDATE_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 4-97 LS_VALIDATE_RESPONSE internal static fixed bin(17,0) initial dcl 4-228 LS_VALIDATE_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 4-297 MASK_CTL_NAMES internal static varying char(12) initial array dcl 11-284 NETWORK_CONNECTION_DSA_FILE_TRANSFER internal static fixed bin(17,0) initial dcl 4-471 NETWORK_CONNECTION_LOGIN internal static fixed bin(17,0) initial dcl 4-471 NEW_PROC_REQ internal static fixed bin(17,0) initial dcl 4-457 PDT_entry_lth internal static fixed bin(17,0) initial dcl 6-19 PDT_header_lth internal static fixed bin(17,0) initial dcl 6-19 PDT_person_id_length internal static fixed bin(17,0) initial dcl 6-19 PDT_project_name_length internal static fixed bin(17,0) initial dcl 6-19 PDT_version internal static fixed bin(17,0) initial dcl 6-19 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 11-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 11-261 PT_DAEMON internal static fixed bin(17,0) initial dcl 11-261 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 11-261 PW_FLAG_NAMES internal static varying char(12) initial array dcl 11-290 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 8-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 8-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 8-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 8-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 8-62 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 8-14 SL_TYPE internal static fixed bin(17,0) initial dcl 8-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 8-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 8-14 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 11-271 UFLAG_NAMES internal static varying char(24) initial array dcl 11-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 9-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 9-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 9-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 9-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 11-74 as_channel_audit_record based structure level 1 dcl 2-68 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_$ansp external static pointer dcl 3-26 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_$autp external static pointer dcl 3-31 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_$dutp external static pointer dcl 3-37 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_max_lth external static fixed bin(18,0) dcl 3-87 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_dial_service_audit_record based structure level 1 dcl 2-100 as_ia_audit_record_abs based structure level 1 dcl 2-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 2-41 as_ia_audit_record_int_dmn based structure level 1 dcl 2-27 audit_record_header_proxy based structure level 1 dcl 1-22 audit_record_ptr automatic pointer dcl 1-16 channel_audit_info based structure level 1 dcl 2-138 channel_audit_info_ptr automatic pointer dcl 2-136 dial_server_info based structure level 1 dcl 2-124 dial_server_info_ptr automatic pointer dcl 2-122 login_server_dial_request based structure level 1 dcl 4-170 login_server_dial_response based structure level 1 dcl 4-366 login_server_disconnect_request based structure level 1 dcl 4-188 login_server_list_request based structure level 1 dcl 4-156 login_server_list_response based structure level 1 dcl 4-347 login_server_list_response_n_processes automatic fixed bin(17,0) dcl 4-358 login_server_logout_request based structure level 1 dcl 4-199 login_server_new_proc_response based structure level 1 dcl 4-414 login_server_operator_request based structure level 1 dcl 4-214 login_server_operator_response based structure level 1 dcl 4-426 login_server_termination_response based structure level 1 dcl 4-385 login_server_validate_request based structure level 1 dcl 4-76 login_server_validate_response based structure level 1 dcl 4-267 ls_reply_message based structure level 1 dcl 4-445 ls_request_server_info based structure level 1 dcl 5-12 pdt based structure level 1 dcl 6-27 sl_info_code_msg internal static structure level 1 dcl 8-187 sl_info_msg internal static structure level 1 dcl 8-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 8-161 sl_info_sev_coded_msg internal static structure level 1 dcl 8-134 sl_info_sev_msg internal static structure level 1 dcl 8-108 NAMES DECLARED BY EXPLICIT CONTEXT. Abort 002071 constant entry internal dcl 358 ref 127 132 179 193 206 253 344 RETURN 001541 constant label dcl 266 ref 369 Set_Start_Event_Channel 001742 constant entry internal dcl 320 ref 263 Setup_Create_Response 001545 constant entry internal dcl 270 ref 239 uc_ls_create_request_ 000455 constant entry external dcl 56 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2430 2502 2140 2440 Length 3156 2140 52 437 267 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_ls_create_request_ 448 external procedure is an external procedure. Setup_Create_Response internal procedure shares stack frame of external procedure uc_ls_create_request_. Set_Start_Event_Channel internal procedure shares stack frame of external procedure uc_ls_create_request_. Abort 70 internal procedure is declared options(variable). STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 system_area_ptr uc_ls_create_request_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME uc_ls_create_request_ 000100 check_code uc_ls_create_request_ 000101 code uc_ls_create_request_ 000102 reason uc_ls_create_request_ 000104 temp uc_ls_create_request_ 000106 ls_request_ptr uc_ls_create_request_ 000110 ls_process_request_n_args uc_ls_create_request_ 000111 ls_process_request_arg_string_length uc_ls_create_request_ 000112 ls_response_ptr uc_ls_create_request_ 000114 ls_process_response_accounting_message_length uc_ls_create_request_ 000116 ls_reply_message_ptr uc_ls_create_request_ 000120 ls_request_server_info_ptr uc_ls_create_request_ 000122 pdtp uc_ls_create_request_ 000124 sl_info uc_ls_create_request_ 000374 utep uc_ls_create_request_ 000414 code Set_Start_Event_Channel 000415 r_factor Set_Start_Event_Channel 000416 r_offset Set_Start_Event_Channel THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out call_int_this_desc return_mac tra_ext_1 bound_ck_signal ext_entry int_entry op_alloc_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_access_audit_$process convert_status_code_ cu_$arg_list_ptr get_system_free_area_ hphcs_$get_ipc_operands ioa_$rsnnl ipc_validate_$encode_event_channel_name sys_log_$general uc_create_process_ uc_create_process_check_ user_table_mgr_$utep_from_handle THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ls_message_buffer_cur_lth as_data_$ls_message_buffer_ptr as_error_table_$already_logged_in error_table_$bad_arg error_table_$id_not_found LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 56 000447 381 000462 11 76 000464 119 000465 120 000471 121 000474 123 000477 125 000500 127 000510 132 000545 140 000623 141 000627 142 000632 145 000641 146 000644 147 000647 150 000654 151 000657 152 000662 155 000667 156 000672 157 000675 159 000702 160 000703 161 000706 162 000711 163 000713 166 000720 168 000726 170 000730 172 000735 173 000740 174 000742 177 000744 178 000750 179 000762 184 001022 188 001027 190 001040 191 001044 193 001056 198 001116 201 001123 202 001125 204 001130 205 001135 206 001147 211 001216 212 001221 214 001227 217 001231 218 001235 219 001236 220 001240 222 001242 223 001243 225 001256 226 001266 227 001300 230 001315 232 001344 234 001355 235 001356 237 001357 239 001372 241 001373 242 001375 243 001413 245 001440 248 001447 250 001450 251 001461 252 001463 253 001465 258 001521 260 001527 261 001531 262 001533 263 001540 266 001541 268 001544 270 001545 276 001546 277 001552 278 001553 280 001565 282 001567 283 001570 286 001573 287 001575 289 001602 292 001653 294 001655 296 001661 298 001665 300 001674 302 001676 305 001705 307 001707 309 001712 311 001713 314 001732 316 001733 317 001741 320 001742 335 001743 336 001761 337 001763 341 002023 343 002024 344 002027 348 002067 358 002070 364 002076 365 002102 366 002107 367 002115 368 002127 369 002132 371 002136 ----------------------------------------------------------- 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