COMPILATION LISTING OF SEGMENT uc_ls_rq_server_wakeup_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1257.8 mst Tue 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-08-05,Swenson), approve(87-07-13,MCR7737), 31* audit(87-04-16,GDixon), install(87-08-04,MR12.1-1055): 32* Initial coding. 33* 2) change(87-04-16,GDixon), approve(87-07-13,MCR7737), 34* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 35* A) Correct coding standard violations. 36* B) Integrate Swenson's later changes into the module. 37* C) Use LS_REQUEST_TYPES and LS_RESPONSE_TYPES arrays to improve trace 38* messages. 39* D) Convert to sys_log_$general for error and trace messages. 40* E) Upgraded for change to answer_table.incl.pl1. 41* 3) change(87-05-18,GDixon), approve(87-07-13,MCR7737), 42* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 43* A) Remove procedures for sending a login server response from this 44* program. Centralize this function in uc_send_ls_response_. 45* END HISTORY COMMENTS */ 46 47 /* format: style4,indattr */ 48 49 uc_ls_rq_server_wakeup_: 50 procedure (P_event_call_info_ptr); 51 52 /* Parameters */ 53 54 dcl P_event_call_info_ptr ptr parameter; 55 56 /* Automatic */ 57 58 dcl code fixed bin (35) automatic; 59 dcl ls_data_reply_lth fixed bin (18) automatic; 60 dcl ls_data_reply_ptr ptr automatic; 61 dcl ls_request_lth fixed bin (18) automatic; 62 dcl 1 mmi aligned like mseg_message_info automatic; 63 dcl ms_index fixed bin automatic; 64 dcl request_type fixed bin automatic; 65 dcl response_type fixed bin automatic; 66 67 /* External */ 68 69 dcl as_error_table_$dialup_error fixed bin (35) ext static; 70 dcl error_table_$bad_arg fixed bin (35) external; 71 dcl error_table_$no_message fixed bin (35) external; 72 dcl error_table_$out_of_sequence fixed bin (35) external; 73 dcl error_table_$unexpected_condition fixed bin (35) external; 74 dcl error_table_$unimplemented_version fixed bin (35) external; 75 76 /* Entries */ 77 78 dcl as_any_other_handler_$no_cleanup entry (char (*), label); 79 dcl get_system_free_area_ entry returns (pointer); 80 dcl message_segment_$delete_index 81 entry (fixed bin, bit (72) aligned, 82 fixed bin (35)); 83 dcl message_segment_$read_message_index 84 entry (fixed bin, pointer, pointer, 85 fixed bin (35)); 86 dcl message_segment_$get_message_count_index 87 entry (fixed bin, fixed bin, 88 fixed bin (35)); 89 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 90 dcl (uc_ls_validate_request_, 91 uc_ls_process_request_, 92 uc_ls_list_request_, 93 uc_ls_dial_request_, 94 uc_ls_disconnect_request_, 95 uc_ls_logout_request_, 96 uc_ls_operator_request_) 97 entry (ptr, ptr, fixed bin (18), ptr, fixed bin (18), 98 bit (72) aligned, fixed bin (35)); 99 dcl uc_send_ls_response_ entry (ptr, fixed bin(18), bit(36) aligned, 100 bit(72) aligned, fixed bin(71), ptr, 101 char(32) aligned, fixed bin(35), fixed bin(35)); 102 103 /* Builtin */ 104 105 dcl (addr, currentsize, divide, hbound, lbound, null, rtrim, unspec) builtin; 106 107 /* Internal Static */ 108 109 dcl system_area_ptr ptr int static init (null); 110 dcl trace_flag bit (1) aligned initial ("0"b) internal static; 111 112 /* Constant */ 113 114 dcl FALSE bit (1) initial ("0"b) internal static options (constant); 115 dcl ME char (23) initial ("uc_ls_rq_server_wakeup_") internal static 116 options (constant); 117 dcl TRUE bit (1) initial ("1"b) internal static options (constant); 118 119 /* Based */ 120 121 dcl system_area area based (system_area_ptr); 122 123 124 /* Conditions */ 125 126 dcl any_other condition; 127 dcl cleanup condition; 128 129 /* Program */ 130 131 event_call_info_ptr = P_event_call_info_ptr; 132 ls_request_server_info_ptr = event_call_info.data_ptr; 133 134 if ls_request_server_info_ptr = null () then 135 call Abort (SL_LOG_BEEP, error_table_$out_of_sequence, 136 MAIN_RETURN, "Wakeup with null ptr to sectest_server_info."); 137 138 if ^ls_request_server_info.flags.initialized then 139 call Abort (SL_LOG_BEEP, error_table_$out_of_sequence, 140 MAIN_RETURN, 141 "Wakeup with ls_request_server_info not initialized."); 142 143 /**** Leave a record that a login server request has been received. This 144* flag is used by dial_ctl_ to decide whether to call 145* uc_cleanup_network_dials_. */ 146 147 ansp = as_data_$ansp; 148 if anstbl.login_server_present = FALSE then 149 anstbl.login_server_present = TRUE; 150 151 ms_index = ls_request_server_info.request_ms.index; 152 if ms_index = 0 then 153 call Abort (SL_LOG_BEEP, error_table_$out_of_sequence, 154 MAIN_RETURN, "Request message segment not initialized yet."); 155 156 unspec (mmi) = ""b; 157 mmi.version = MSEG_MESSAGE_INFO_V1; 158 mmi.message_code = MSEG_READ_FIRST; 159 mmi.ms_ptr = null (); 160 161 if system_area_ptr = null then 162 system_area_ptr = get_system_free_area_ (); 163 164 on cleanup 165 call Clean_Up (); 166 167 call Process_Messages (); 168 MAIN_RETURN: 169 return; 170 171 trace_on: 172 entry (); 173 174 trace_flag = TRUE; 175 return; 176 177 178 trace_off: 179 entry (); 180 181 trace_flag = FALSE; 182 return; 183 184 Process_Messages: 185 procedure (); 186 187 dcl action fixed bin; 188 dcl message_count fixed bin; 189 190 dcl (PROCESS initial (1), 191 REJECT initial (2)) fixed bin internal static options (constant); 192 193 do while ("1"b); 194 call message_segment_$read_message_index (ms_index, 195 addr (system_area), addr (mmi), code); 196 if code = error_table_$no_message then return; 197 if code ^= 0 then 198 call Abort (SL_LOG_BEEP, code, MAIN_RETURN, 199 "Error reading message from message segment."); 200 201 action = Examine_Message (); 202 203 if action = PROCESS then 204 call Process_The_Message (); 205 206 call Delete_The_Message (); 207 208 if mmi.ms_ptr ^= null () then begin; 209 210 declare msg bit (mmi.ms_len) aligned based (mmi.ms_ptr); 211 212 free msg in (system_area); 213 mmi.ms_ptr = null (); 214 end; 215 216 call message_segment_$get_message_count_index (ms_index, 217 message_count, code); 218 if code ^= 0 then 219 call Abort (SL_LOG_BEEP, code, MAIN_RETURN, 220 "Could not get message count from message segment ^a.", 221 pathname_ (ls_request_server_info.request_ms.dirname, 222 ls_request_server_info.request_ms.entryname)); 223 224 if message_count = 0 then 225 return; 226 end; 227 228 Examine_Message: 229 procedure () returns (fixed bin); 230 231 ls_request_ptr = mmi.ms_ptr; 232 ls_request_lth = divide (mmi.ms_len, 36, 18); 233 234 if ls_request_lth < (currentsize (ls_request_header)) then 235 call Abort (SL_LOG_SILENT, error_table_$bad_arg, 236 REJECT_MESSAGE, 237 "Size of request from ^a too small. Got ^d; expected at least ^d.", 238 mmi.sender_id, ls_request_lth, 239 currentsize (ls_request_header)); 240 else if ls_request_header.header_version ^= 241 LS_REQUEST_HEADER_VERSION_1 then 242 call Abort (SL_LOG_SILENT, 243 error_table_$unimplemented_version, REJECT_MESSAGE, 244 "Invalid version (^a) in request from ^a.", 245 ls_request_header.header_version, mmi.sender_id); 246 else do; 247 request_type = ls_request_header.request_type; 248 if lbound (LS_REQUEST_TYPES, 1) <= request_type & 249 request_type <= hbound (LS_REQUEST_TYPES, 1) 250 then code = 0; 251 else call Abort (SL_LOG_SILENT, error_table_$bad_arg, 252 REJECT_MESSAGE, "Invalid request type ^d from ^a.", 253 request_type, mmi.sender_id); 254 end; 255 256 return (PROCESS); 257 258 REJECT_MESSAGE: 259 return (REJECT); 260 261 end Examine_Message; 262 263 Process_The_Message: 264 procedure (); 265 266 dcl 1 auto_ls_reply_message aligned like ls_reply_message automatic; 267 dcl code fixed bin (35) automatic; 268 dcl entry_to_call entry (ptr, ptr, fixed bin (18), ptr, fixed bin (18), 269 ptr, fixed bin (35)) variable; 270 271 if trace_flag then 272 call Trace ("Received ^a request from ^a.", 273 LS_REQUEST_TYPES (request_type), mmi.sender_id); 274 275 if request_type = LS_VALIDATE_REQUEST then 276 entry_to_call = uc_ls_validate_request_; 277 else if request_type = LS_PROCESS_REQUEST then 278 entry_to_call = uc_ls_process_request_; 279 else if request_type = LS_LIST_REQUEST then 280 entry_to_call = uc_ls_list_request_; 281 else if request_type = LS_DIAL_REQUEST then 282 entry_to_call = uc_ls_dial_request_; 283 else if request_type = LS_DISCONNECT_REQUEST then 284 entry_to_call = uc_ls_disconnect_request_; 285 else if request_type = LS_LOGOUT_REQUEST then 286 entry_to_call = uc_ls_logout_request_; 287 else if request_type = LS_OPERATOR_REQUEST then 288 entry_to_call = uc_ls_operator_request_; 289 else call Abort (SL_LOG_SILENT, error_table_$bad_arg, 290 ABORT_REQUEST_NO_REPLY, 291 "Invalid request type ^d specified.", request_type); 292 293 ls_reply_message_ptr = addr (auto_ls_reply_message); 294 unspec (ls_reply_message) = ""b; 295 296 ls_data_reply_ptr = ls_request_server_info.reply_ptr; 297 ls_data_reply_lth = 0; 298 299 ls_request_server_info.request_info.sender_process_id = 300 mmi.sender_process_id; 301 302 on any_other begin; 303 revert any_other; 304 code = as_error_table_$dialup_error; 305 unspec (ls_reply_message) = ""b; 306 ls_reply_message.code = code; 307 ls_reply_message.flags.do_not_reply = FALSE; 308 call Abort (SL_LOG_BEEP, error_table_$unexpected_condition, 309 TAKE_AS_DUMP, 310 "Processing login server ""^a"" request from ^a.", 311 LS_REQUEST_TYPES (request_type), mmi.sender_id); 312 TAKE_AS_DUMP: call as_any_other_handler_$no_cleanup (ME, ABORT_REQUEST); 313 end; 314 315 call entry_to_call (ls_request_server_info_ptr, 316 ls_request_ptr, ls_request_lth, 317 ls_data_reply_ptr, ls_data_reply_lth, 318 ls_reply_message_ptr, code); 319 320 revert any_other; 321 322 ABORT_REQUEST: 323 if ls_data_reply_lth > 0 then 324 call Test_Data_Reply (); 325 326 if trace_flag then 327 call Trace ( 328 "Processed ^a request from ^a. ^[No reply.^;Reply^[ with ^a response.^]^]", 329 LS_REQUEST_TYPES (request_type), mmi.sender_id, 330 ls_reply_message.do_not_reply, ls_data_reply_lth > 0, 331 LS_RESPONSE_TYPES (response_type)); 332 333 if ^ls_reply_message.do_not_reply then 334 call uc_send_ls_response_ (ls_data_reply_ptr, 335 ls_data_reply_lth, mmi.sender_process_id, 336 ls_request_header.reply_handle, 337 ls_request_header.reply_event_channel, 338 addr(ls_reply_message), ls_request_header.connection_name, 339 code, code); 340 else ; /* we don't want to send anything to LS (yet). */ 341 342 ABORT_REQUEST_NO_REPLY: 343 return; 344 345 Test_Data_Reply: 346 procedure (); 347 348 ls_response_ptr = ls_data_reply_ptr; 349 response_type = login_server_response_header.message_type; 350 if lbound (LS_RESPONSE_TYPES, 1) <= response_type & 351 response_type <= hbound (LS_RESPONSE_TYPES, 1) then ; 352 else response_type = LS_UNKNOWN_RESPONSE; 353 354 end Test_Data_Reply; 355 end Process_The_Message; 356 end Process_Messages; 357 358 Clean_Up: 359 procedure (); 360 361 declare msg bit (mmi.ms_len) aligned 362 based (mmi.ms_ptr); 363 if mmi.ms_ptr ^= null () then 364 free msg in (system_area); 365 366 end Clean_Up; 367 368 Delete_The_Message: 369 procedure (); 370 371 call message_segment_$delete_index (ms_index, mmi.ms_id, code); 372 if code ^= 0 then 373 call Abort (SL_LOG_SILENT, code, DELETE_FAILED, 374 "Could not delete message ^.3b for ^a.", mmi.ms_id, 375 mmi.sender_id); 376 else mmi.ms_id = ""b; /* clear out since no longer valid */ 377 378 DELETE_FAILED: 379 end Delete_The_Message; 380 381 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 382 /* */ 383 /* Abort: report errors via sys_log_$general. */ 384 /* */ 385 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 386 /* */ 387 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 388 389 Abort: 390 procedure options (variable); 391 392 dcl cu_$arg_list_ptr entry returns (ptr); 393 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 394 dcl sys_log_$general entry (ptr); 395 396 dcl abort_label_ptr pointer automatic; 397 dcl abort_label label based (abort_label_ptr); 398 399 sl_info = sl_info_sev_code_label_msg; 400 sl_info.caller = ME; 401 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 402 call sys_log_$general (addr (sl_info)); 403 code = sl_info.code; 404 if code ^= 0 then do; 405 call cu_$arg_ptr_rel (3, abort_label_ptr, 0, 0, 406 sl_info.arg_list_ptr); 407 go to abort_label; 408 end; 409 410 end Abort; 411 412 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 413 /* */ 414 /* Trace: trace events via sys_log_$general. */ 415 /* */ 416 /* Syntax: call Trace (ioa_ctl, args); */ 417 /* */ 418 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 419 420 Trace: 421 procedure options (variable); 422 423 dcl cu_$arg_list_ptr entry returns (ptr); 424 dcl sys_log_$general entry (ptr); 425 426 sl_info = sl_info_msg; 427 sl_info.caller = rtrim (ME) || " (trace)"; 428 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 429 call sys_log_$general (addr (sl_info)); 430 431 end Trace; 432 433 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 434 /* format: off */ 435 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* The answer table has one entry per "login instance" whether completed or */ 1 6 /* not. It is connected to the Channel Definition Table by the pointer */ 1 7 /* "channel". The header is used mostly by dialup_. */ 1 8 /* */ 1 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 1 10 /* */ 1 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 12 1 13 /****^ HISTORY COMMENTS: 1 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 1 15* Replace anstbl.incl.pl1. 1 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 1 17* Add anstbl.session_uid_counter. 1 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 1 19* Add anstbl.message_update_time and named constants for values of 1 20* anstbl.session, and to make all padding explicit. 1 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 1 22* Change "entry" to a placeholder so as not to require 1 23* user_table_entry.incl.pl1. 1 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 1 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 1 26* Added the flag login_server_present which indicates whether a login 1 27* server request has been received. This is used to determine whether 1 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 1 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 1 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 1 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 32* A) Moved constants for ute.pw_flags.mask_ctl into 1 33* user_table_entry.incl.pl1. 1 34* B) Added common table header to all user tables. 1 35* END HISTORY COMMENTS */ 1 36 1 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 38 /* */ 1 39 /* The anstbl structure below is divided into sections. Each section begins */ 1 40 /* with a comment describing the elements in the section. Elements are */ 1 41 /* placed within a section, based upon their function or the programs that */ 1 42 /* use them. Each section begins on a double word and is an even number of */ 1 43 /* words long. */ 1 44 /* */ 1 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 46 1 47 1 48 1 49 /* format: style4 */ 1 50 1 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 1 52 1 53 dcl ansp ptr automatic init (null); 1 54 1 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 1 56 2 header like ut_header, /* Header common to all user tables. */ 1 57 1 58 /* Counter elements. */ 1 59 2 nlin fixed bin, /* number of active lines */ 1 60 2 mxlin fixed bin, /* maximum number of active lines */ 1 61 2 n_users fixed bin, /* number of logged-in users */ 1 62 2 max_users fixed bin, /* maximum number of users allowed */ 1 63 2 n_units fixed bin, /* number of logged in units */ 1 64 2 max_units fixed bin, /* maximum number of units */ 1 65 2 n_sessions fixed bin, /* number of Multics sessions */ 1 66 2 n_pad fixed bin, 1 67 1 68 /* Name elements. */ 1 69 2 sysdir char (64) unal, /* name of main system control directory */ 1 70 2 as_tty char (8) unal, /* name of main answering service device. */ 1 71 1 72 /* Login elements. */ 1 73 2 login_word char (8) unal, /* login word if special_session=1 */ 1 74 2 session char (8) unal, /* session indicator */ 1 75 2 special_message char (128) unal, /* message to be printed for special session */ 1 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 1 77 2 message_lng fixed bin, /* length of special message */ 1 78 2 login_pad fixed bin, 1 79 1 80 /* Table update elements. */ 1 81 2 lock_count fixed bin, /* global lock for all system control tables */ 1 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 1 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 1 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 1 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 1 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 1 87 2 update_pad fixed bin, 1 88 1 89 /* dialup_ data values. */ 1 90 2 current_time fixed bin (71), /* Time of last transaction */ 1 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 1 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 1 93 1 94 /* load_ctl_ elements. */ 1 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 1 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 1 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 1 98 /* load_ctl_ load leveling desired response range: */ 1 99 2 response_high fixed bin, /* bad if user response time slower than this */ 1 100 2 response_low fixed bin, /* bad if user response time faster than this */ 1 101 2 load_ctl_pad fixed bin, 1 102 1 103 /* Login server request server data. */ 1 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 1 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 1 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 1 107 1 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 1 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 1 110 3 contents (UTE_SIZE) fixed bin; 1 111 1 112 /* constants */ 1 113 1 114 /* values for anstbl.session */ 1 115 1 116 dcl (AT_NORMAL init ("normal "), 1 117 AT_SPECIAL init ("special "), 1 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 1 119 1 120 dcl UTE_SIZE fixed bin internal static initial (300); 1 121 1 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 435 436 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 2 2 2 3 /* format: style4 */ 2 4 2 5 /* This file must be kept in sync with as_data_.alm */ 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 2 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 2 10* Remove references to the 963 and 029 preaccess commands and remove support 2 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 2 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 2 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 2 14* Add references to as_data_ entrypoints added for Login Server. 2 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 2 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 2 17* Added new user signal field of inacrcvd (14) to handle inactivity response 2 18* from user. 2 19* END HISTORY COMMENTS */ 2 20 2 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 2 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 2 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 2 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 2 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 2 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 2 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 2 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 2 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 2 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 2 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 2 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 2 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 2 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 2 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 2 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 2 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 2 38 dcl as_data_$g115_dim char (32) ext static; 2 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 2 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 2 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 2 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 2 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 2 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 2 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 2 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 2 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 2 48 dcl as_data_$request_priority fixed bin ext static; 2 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 2 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 2 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 2 52 dcl as_data_$satp ptr ext static; /* SAT */ 2 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 2 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 2 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 2 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 2 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 2 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 2 59 dcl as_data_$version char (8) ext static; /* AS version */ 2 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 2 61 2 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 2 63 2 n_login_args fixed bin, 2 64 2 pad fixed bin, 2 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 2 66 2 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 2 68 2 n_signals fixed bin, 2 69 2 pad fixed bin, 2 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 2 71 2 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 2 73 2 n_system_signals fixed bin, 2 74 2 pad fixed bin, 2 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 2 76 2 77 dcl as_data_$login_words fixed bin ext static aligned, 2 78 /* interactive login words */ 2 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 2 80 2 n_words fixed bin, 2 81 2 pad fixed bin, 2 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 2 83 2 84 dcl as_data_$debug_flag bit (1) aligned external static; 2 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 2 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 2 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 2 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 2 89 2 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 436 437 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 3 2 3 3 /* Structure for find_condition_info_. 3 4* 3 5* Written 1-Mar-79 by M. N. Davidoff. 3 6**/ 3 7 3 8 /* automatic */ 3 9 3 10 declare condition_info_ptr pointer; 3 11 3 12 /* based */ 3 13 3 14 declare 1 condition_info aligned based (condition_info_ptr), 3 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 3 16 2 version fixed binary, /* Must be 1 */ 3 17 2 condition_name char (32) varying, /* name of condition */ 3 18 2 info_ptr pointer, /* pointer to the condition data structure */ 3 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 3 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 3 21 2 flags unaligned, 3 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 3 23 3 pad1 bit (35), 3 24 2 pad2 bit (36), 3 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 3 26 2 pad3 (4) bit (36); 3 27 3 28 /* internal static */ 3 29 3 30 declare condition_info_version_1 3 31 fixed binary internal static options (constant) initial (1); 3 32 3 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 437 438 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 4 2 /* format: style2 */ 4 3 4 4 declare condition_info_header_ptr 4 5 pointer; 4 6 declare 1 condition_info_header 4 7 aligned based (condition_info_header_ptr), 4 8 2 length fixed bin, /* length in words of this structure */ 4 9 2 version fixed bin, /* version number of this structure */ 4 10 2 action_flags aligned, /* tell handler how to proceed */ 4 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 4 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 4 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 4 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 4 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 4 16 3 pad bit (32) unaligned, 4 17 2 info_string char (256) varying, /* may contain printable message */ 4 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 4 19 4 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 438 439 /* BEGIN INCLUDE FILE event_call_info.incl.pl1 */ 5 2 5 3 /* T. Casey, May 1978 */ 5 4 5 5 dcl event_call_info_ptr ptr; 5 6 5 7 dcl 1 event_call_info aligned based (event_call_info_ptr), /* argument structure passed to event call procedure */ 5 8 2 channel_id fixed bin (71), /* event channel on which wakeup occurred */ 5 9 2 message fixed bin (71), /* 72 bits of information passed by sender of wakeup */ 5 10 2 sender bit (36), /* process id of sender */ 5 11 2 origin, 5 12 3 dev_signal bit (18) unaligned, /* "1"b if device signal */ 5 13 3 ring fixed bin (17) unaligned, /* ring from which sent */ 5 14 2 data_ptr ptr; /* ptr given to dcl_event_call_channel */ 5 15 5 16 /* END INCLUDE FILE event_call_info.incl.pl1 */ 439 440 /* BEGIN INCLUDE FILE ... login_server_messages.incl.pl1 */ 6 2 6 3 /****^ HISTORY COMMENTS: 6 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 6 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 6 6* Initial implementation. 6 7* 2) change(87-04-16,GDixon), approve(87-07-13,MCR7679), 6 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 9* A) Add REQUEST_TYPES and RESPONSE_TYPES arrays. 6 10* B) Add login_server_validate_response.last_incorrect_password.time. 6 11* C) Add user_connection_info.line_type. 6 12* D) Add login_server_process_request.minimum_ring. 6 13* 3) change(87-05-14,GDixon), approve(87-07-13,MCR7737), 6 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 15* A) Add login_server_process_response.brief. 6 16* B) Add login_server_list_response.initial_ring. 6 17* C) Separate login_server_process_response into fixed and variable parts. 6 18* D) Move user_connection_info into login_server_request_header. 6 19* END HISTORY COMMENTS */ 6 20 6 21 /* This include file defines all the structures passed in message segments 6 22* between a login server process and the Initializer (or "answering service") 6 23* process. For convenience, messages from the server to the initializer, 6 24* passed using the send_ls_request_ subroutine, are called "requests"; 6 25* messages from the initializer to the server, passed using the user_message_ 6 26* mechanism, are called "responses". 6 27**/ 6 28 6 29 /* Request types */ 6 30 6 31 dcl (LS_VALIDATE_REQUEST initial (1), /* validate user ID and password */ 6 32 LS_PROCESS_REQUEST initial (2), /* create or connect to a process */ 6 33 LS_LIST_REQUEST initial (3), /* list disconnected processes */ 6 34 LS_DIAL_REQUEST initial (4), /* find a dial server */ 6 35 LS_DISCONNECT_REQUEST initial (5), /* report disconnection of a login channel */ 6 36 LS_LOGOUT_REQUEST initial (6), /* discard UTE (end of dialogue) */ 6 37 LS_OPERATOR_REQUEST initial (7)) /* log the user in as an operator */ 6 38 fixed bin internal static options (constant); 6 39 6 40 dcl LS_REQUEST_TYPES (7) char (10) internal static options (constant) initial 6 41 ( 6 42 "validate", 6 43 "process", 6 44 "list", 6 45 "dial", 6 46 "disconnect", 6 47 "logout", 6 48 "operator"); 6 49 6 50 dcl ls_request_ptr pointer; 6 51 6 52 /* common header for all requests */ 6 53 6 54 dcl 1 ls_request_header aligned based (ls_request_ptr), 6 55 2 header_version char (8), /* version for this header */ 6 56 2 request_version char (8), /* varies depending on the request */ 6 57 2 request_type fixed bin, 6 58 2 pad1 bit (36), 6 59 2 reply_event_channel fixed bin (71), /* event channel over which reply_message should be sent */ 6 60 2 reply_handle bit (72) aligned, /* used for dispatching response */ 6 61 2 connection_info like user_connection_info; /* connection making this request. */ 6 62 6 63 dcl LS_REQUEST_HEADER_VERSION_1 char (8) initial ("lsrh0001") internal static options (constant); 6 64 6 65 dcl 1 user_connection_info aligned based, /* common info passed in most requests */ 6 66 2 connection_name char (32), 6 67 2 access_class_range (2) bit (72), 6 68 2 terminal_type char (32), 6 69 2 terminal_id char (4), 6 70 2 line_type fixed bin; 6 71 6 72 6 73 6 74 /* "validate" request: validate user ID and password */ 6 75 6 76 dcl 1 login_server_validate_request aligned based (ls_request_ptr), 6 77 2 header like ls_request_header, /* request_type = LS_VALIDATE_REQUEST */ 6 78 2 current_password char (8), /* scrambled */ 6 79 2 authorization bit (72), /* only valid if auth_given = "1"b */ 6 80 2 terminate_event_channel fixed bin (71), /* event channel to notify server when process terminates */ 6 81 2 person_id char (22), /* as specified in login line */ 6 82 2 project_id char (9), /* likewise, might be null string */ 6 83 2 network_connection_type fixed bin, /* see below for values */ 6 84 2 new_password char (8), /* only valid if change_password = "1"b */ 6 85 2 flags, 6 86 3 gpw bit (1) unaligned, /* password generated in response to -generate_password */ 6 87 3 auth_given bit (1) unaligned, /* -authorization specified */ 6 88 3 anonymous bit (1) unaligned, /* "enterp" request */ 6 89 3 anon_no_password bit (1) unaligned, /* "enter" request */ 6 90 3 change_password bit (1) unaligned, /* gave -cpw or -gpw */ 6 91 3 change_default_auth bit (1) unaligned, /* gave -change_default_authorization */ 6 92 3 change_default_proj bit (1) unaligned, /* gave -change_default_project */ 6 93 3 operator bit (1) unaligned, /* gave -operator */ 6 94 3 pad bit (28) unaligned; 6 95 6 96 6 97 dcl LS_VALIDATE_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsvr0001"); 6 98 6 99 6 100 6 101 /* "process" request: create a process or reconnect to an existing process for the specified user */ 6 102 6 103 dcl 1 login_server_process_request aligned based (ls_request_ptr), 6 104 2 fixed_part, /* to allow for automatic copies */ 6 105 3 header like ls_request_header, /* request_type = LS_PROCESS_REQUEST */ 6 106 3 handle bit (72), /* as provided in validate_response */ 6 107 3 person_id char (22), /* the real one */ 6 108 3 project_id char (9), /* likewise */ 6 109 3 project_pad fixed bin, 6 110 3 command_type fixed bin, /* login, connect, etc.; see below for names */ 6 111 3 process_number fixed bin, /* 0 if unspecified or irrelevant */ 6 112 3 default_io_module char (32), /* I/O module to use if no outer_module specified */ 6 113 3 switch_flags, /* used to indicate if "switch"-type control args were specified */ 6 114 4 warn_given bit (1) unaligned, 6 115 4 force_given bit (1) unaligned, 6 116 4 save_given bit (1) unaligned, 6 117 4 preempt_given bit (1) unaligned, 6 118 4 brief_given bit (1) unaligned, 6 119 4 pad2 bit (31) unaligned, 6 120 3 switch_values, /* these are only valid if corresponding bit in switch_flags is on */ 6 121 4 warn bit (1) unaligned, 6 122 4 force bit (1) unaligned, 6 123 4 save_on_disconnect bit (1) unaligned, 6 124 4 preempt bit (1) unaligned, 6 125 4 brief bit (1) unaligned, /* "0"b & brief_given => -long */ 6 126 4 pad3 bit (31) unaligned, 6 127 3 other_flags, 6 128 4 init_ring_given bit (1) unaligned, /* "1"b if -ring */ 6 129 4 minimum_ring_given bit (1) unaligned, /* "1"b if MNA terminal interface ring > 1 */ 6 130 4 immediate bit (1) unaligned, /* "1"b => -new_proc (or -destroy) -immediate */ 6 131 4 no_start_up bit (1) unaligned, /* "1"b if -no_start_up */ 6 132 4 pad4 bit (32) unaligned, 6 133 3 initial_ring fixed bin, /* valid iff init_ring_given = "1"b */ 6 134 3 minimum_ring fixed bin, /* ring in which MNA terminal mgr operates */ 6 135 3 home_dir char (168), /* null if not specified */ 6 136 3 outer_module char (32), /* likewise */ 6 137 3 process_overseer char (168), /* likewise */ 6 138 3 subsystem char (168), /* likewise */ 6 139 3 n_args fixed bin, /* how many arguments specified after -ag; if 0, ignore the rest of the structure */ 6 140 2 login_arguments, /* variable part, describes stuff after -ag */ 6 141 3 arg_string_length fixed bin (21), 6 142 3 args (ls_process_request_n_args refer (login_server_process_request.n_args)), 6 143 4 start_index fixed bin (21), /* position in arg_string at which arg (i) starts */ 6 144 4 arg_length fixed bin (21), /* length of arg (i) */ 6 145 3 arg_string char (ls_process_request_arg_string_length refer (login_server_process_request.arg_string_length)); 6 146 6 147 dcl ls_process_request_n_args fixed bin; 6 148 dcl ls_process_request_arg_string_length fixed bin (21); 6 149 6 150 dcl LS_PROCESS_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lspr0001"); 6 151 6 152 6 153 6 154 /* "list" request: list the user's disconnected processes, if any */ 6 155 6 156 dcl 1 login_server_list_request aligned based (ls_request_ptr), 6 157 2 header like ls_request_header, /* request_type = LS_LIST_REQUEST */ 6 158 2 handle bit (72); 6 159 6 160 dcl LS_LIST_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 6 161 6 162 6 163 6 164 /* "dial" request: find a process to accept a dial */ 6 165 6 166 /* Note: because a dial request may or may not have been preceded 6 167* by a validate request/response, the initializer_handle may be null. 6 168**/ 6 169 6 170 dcl 1 login_server_dial_request aligned based (ls_request_ptr), 6 171 2 header like ls_request_header, /* request_type = LS_DIAL_REQUEST */ 6 172 2 initializer_handle bit (72), /* as provided in validate_response (if any) */ 6 173 2 terminate_event_channel fixed bin (71), /* event channel to wake up login server when master process terminates */ 6 174 2 dial_qualifier char (22), 6 175 2 person_id char (22), /* null if not specified */ 6 176 2 project_id char (9), /* likewise */ 6 177 2 user_person_id char (22), /* if -user was specified, otherwise "" */ 6 178 2 user_project_id char (9); /* likewise */ 6 179 6 180 dcl LS_DIAL_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdr0001"); 6 181 6 182 6 183 6 184 /* "disconnect" request: report that a login channel has disconnected */ 6 185 /* Note: this message is sent if the connection is broken either during the login dialogue 6 186* or later on when the process was using it */ 6 187 6 188 dcl 1 login_server_disconnect_request aligned based (ls_request_ptr), 6 189 2 header like ls_request_header, /* request_type = LS_DISCONNECT_REQUEST */ 6 190 2 handle bit (72), /* from original validate_response */ 6 191 2 process_id bit (36); /* ""b if no process established */ 6 192 6 193 dcl LS_DISCONNECT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdc0001"); 6 194 6 195 6 196 6 197 /* "logout" request: indicates that user entered the "logout" request, ending the dialogue; does not require any response */ 6 198 6 199 dcl 1 login_server_logout_request aligned based (ls_request_ptr), 6 200 2 header like ls_request_header, /* request_type = LS_LOGOUT_REQUEST */ 6 201 2 handle bit (72); 6 202 6 203 dcl LS_LOGOUT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslg0001"); 6 204 6 205 6 206 6 207 /* "operator" request: sign the user on as an operator, the result of either 6 208* "login -operator" or "dial system". Note that in the latter case, there may 6 209* not have been a validate request (if the -user control argument wasn't specified), 6 210* in which case initializer_handle is null, and the person_id and project_id 6 211* are blank. 6 212**/ 6 213 6 214 dcl 1 login_server_operator_request aligned based (ls_request_ptr), 6 215 2 header like ls_request_header, /* request_type = LS_OPERATOR_REQUEST */ 6 216 2 initializer_handle bit (72) aligned, /* as provided in validate_response (if any) */ 6 217 2 terminate_event_channel fixed bin (71), /* event channel for wakeup when connection is dropped */ 6 218 2 person_id char (22), /* likewise */ 6 219 2 project_id char (9), /* likewise */ 6 220 2 virtual_channel char (32); /* if -virtual_channel specified, otherwise "" */ 6 221 6 222 dcl LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsor0001"); 6 223 6 224 6 225 6 226 /* Response types */ 6 227 6 228 dcl (LS_UNKNOWN_RESPONSE initial (100), /* unknown response type. */ 6 229 LS_VALIDATE_RESPONSE initial (101), /* response to validation request */ 6 230 LS_PROCESS_RESPONSE initial (102), /* response to process request */ 6 231 LS_LIST_RESPONSE initial (103), /* response to list request */ 6 232 LS_DIAL_RESPONSE initial (104), /* response to dial request */ 6 233 LS_TERMINATION_RESPONSE initial (105), /* to notify server of a logout */ 6 234 LS_NEW_PROC_RESPONSE initial (106), /* to notify server of process termination */ 6 235 LS_OPERATOR_RESPONSE initial (107)) /* response to operator request */ 6 236 fixed bin internal static options (constant); 6 237 6 238 dcl LS_RESPONSE_TYPES (100:107) char (10) internal static options (constant) initial 6 239 ( 6 240 "UNKNOWN", 6 241 "validate", 6 242 "process", 6 243 "list", 6 244 "dial", 6 245 "terminate", 6 246 "new_proc", 6 247 "operator"); 6 248 6 249 /* NOTE: the server_handle is not included in the response structures because 6 250* it is provided in the user_message_ structures */ 6 251 6 252 6 253 6 254 dcl ls_response_ptr pointer; 6 255 6 256 /* common header for all responses */ 6 257 6 258 dcl 1 login_server_response_header aligned based (ls_response_ptr), 6 259 2 message_type fixed bin, 6 260 2 header_pad bit (36), /* force doubleword alignment */ 6 261 2 version char (8); 6 262 6 263 6 264 6 265 /* "validate" response: indicate whether user_id/password is valid */ 6 266 6 267 dcl 1 login_server_validate_response aligned based (ls_response_ptr), 6 268 2 header like login_server_response_header, /* message_type = LS_VALIDATE_RESPONSE */ 6 269 2 handle bit (72), /* to be provided by the server in subsequent */ 6 270 /* messages for the same connection */ 6 271 2 authorization bit (72), /* default if none was supplied */ 6 272 2 authorization_range (2) bit (72), /* authorization range permitted for this user */ 6 273 2 status_code fixed bin (35), /* 0 iff user is validated */ 6 274 2 person_id char (22), /* primary name from the PNT */ 6 275 2 project_id char (9), /* primary name from the PNT or PDT */ 6 276 2 n_disconnected_processes fixed bin, /* number of disconnected processes for specified user */ 6 277 2 validate_pad fixed bin, 6 278 2 previous_login_info, /* for printing login message */ 6 279 3 time fixed bin (71), 6 280 3 terminal_type char (32), 6 281 3 terminal_id char (4), 6 282 2 incorrect_passwords fixed bin, /* number of times password given incorrectly */ 6 283 2 last_incorrect_password, /* where it came from */ 6 284 3 time fixed bin (71), 6 285 3 terminal_type char (32), 6 286 3 terminal_id char (4), 6 287 2 password_interval fixed bin, /* limit (in days) for password use or change */ 6 288 2 flags, 6 289 3 disconnect bit (1) unaligned, /* if "1"b, close the connection immediately */ 6 290 3 password_changed bit (1) unal, /* "1"b => changed password */ 6 291 3 default_auth_changed bit (1) unal, /* "1"b => changed default authorization */ 6 292 3 default_proj_changed bit (1) unal, /* "1"b => changed default project */ 6 293 3 password_expired bit (1) unal, /* "1"b => password not changed recently enough */ 6 294 3 password_unused_too_long bit (1) unal, /* "1"b => password hasn't been used recently */ 6 295 3 pad bit (30) unaligned; 6 296 6 297 dcl LS_VALIDATE_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsvs0001"); 6 298 6 299 6 300 6 301 /* "process" response: responds to request to create or connect */ 6 302 6 303 dcl 1 login_server_process_response aligned based (ls_response_ptr), 6 304 2 fixed_part, 6 305 3 header like login_server_response_header, /* message_type = LS_PROCESS_RESPONSE */ 6 306 3 status_code fixed bin (35), /* 0 iff process was created or requested process exists */ 6 307 3 process_id bit (36), 6 308 3 new_handle bit (72), /* changed if reconnecting, etc. to preexisting process, all 0 otherwise */ 6 309 3 authorization bit (72), /* authorization of created or existing process */ 6 310 3 process_group_id char (32), /* Person.Project.tag */ 6 311 3 process_number fixed bin, /* as in, "Your disconnected process #2..." */ 6 312 3 n_disconnected_processes fixed bin, /* valid even if code ^= 0, e.g., if request was ambiguous */ 6 313 3 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 6 314 3 login_instance fixed bin, /* "This is your Nth interactive login" */ 6 315 3 accounting_info, /* for destroyed process, if any */ 6 316 4 cpu_usage fixed bin (71), 6 317 4 cost float bin, 6 318 3 flags, /* except for disconnect and logout, invalid if status_code ^= 0 */ 6 319 4 disconnect bit (1) unaligned, /* "1"b => break the connection immediately */ 6 320 4 logout bit (1) unaligned, /* "1"b => restart login sequence */ 6 321 4 created bit (1) unaligned, /* "1"b => new process created */ 6 322 4 connected bit (1) unaligned, /* "1"b => connected to old process */ 6 323 4 new_proc bit (1) unaligned, /* "1"b => connected after new_proc */ 6 324 4 destroyed bit (1) unaligned, /* "1"b => process destroyed */ 6 325 4 anonymous bit (1) unaligned, /* "1"b => anonymous user ("enter" or "enterp") */ 6 326 4 already_logged_in bit (1) unaligned, /* "1"b => user can't log in because he already is */ 6 327 4 message_coordinator bit (1) unaligned, /* "1"b => this connection is going to be used by the message coordinator */ 6 328 4 brief bit (1) unaligned, /* "1"b => brief user attribute from PDT */ 6 329 4 pad bit (26) unaligned, 6 330 3 initial_ring fixed bin, /* ring in which process was created */ 6 331 3 already_logged_in_info, /* relevant if already_logged_in flag is "1"b */ 6 332 4 connection_name char (32), 6 333 4 terminal_type char (32), 6 334 4 terminal_id char (4), 6 335 2 accounting_message_struc, /* character string assembled by initializer giving error or warnings about the user's account */ 6 336 3 accounting_message_length fixed bin, 6 337 3 accounting_message char (ls_process_response_accounting_message_length refer (login_server_process_response.accounting_message_length)); 6 338 6 339 dcl ls_process_response_accounting_message_length fixed bin; 6 340 6 341 dcl LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsps0001"); 6 342 6 343 6 344 6 345 /* "list" response: used if create request specified "list" command */ 6 346 6 347 dcl 1 login_server_list_response aligned based (ls_response_ptr), 6 348 2 header like login_server_response_header, /* message_type = LS_LIST_RESPONSE */ 6 349 2 n_processes fixed bin, /* number of disconnected processes (might be 0) */ 6 350 2 pad_header fixed bin, 6 351 2 process_info (login_server_list_response_n_processes refer (login_server_list_response.n_processes)), 6 352 3 creation_time fixed bin (71), 6 353 3 authorization bit (72), 6 354 3 initial_ring fixed bin, 6 355 3 pad_process_info fixed bin, 6 356 3 connection_info like user_connection_info; 6 357 6 358 dcl login_server_list_response_n_processes fixed bin; 6 359 6 360 dcl LOGIN_SERVER_LIST_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 6 361 6 362 6 363 6 364 /* "dial" response: response to dial request */ 6 365 6 366 dcl 1 login_server_dial_response aligned based (ls_response_ptr), 6 367 2 header like login_server_response_header, /* message_type = LS_DIAL_RESPONSE */ 6 368 2 status_code fixed bin (35), /* 0 iff dial server was found and all is OK */ 6 369 2 process_id bit (36), /* of dial server */ 6 370 2 process_group_id char (32), /* likewise */ 6 371 2 authorization bit (72), /* likewise, to make sure connection is usable */ 6 372 2 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 6 373 2 process_ring fixed bin, /* initial ring of dial server */ 6 374 2 flags, 6 375 3 disconnect bit (1) unaligned, /* "1"b => break connection immediately */ 6 376 3 pad bit (35) unaligned; 6 377 6 378 dcl LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsds0001"); 6 379 6 380 6 381 6 382 /* "termination" response: (not a response to anything): notify server that a 6 383* process terminated other than by logout */ 6 384 6 385 dcl 1 login_server_termination_response aligned based (ls_response_ptr), 6 386 2 header like login_server_response_header, /* message_type = LS_TERMINATION_RESPONSE */ 6 387 2 accounting_info, /* for printing in logout message */ 6 388 3 cpu_usage fixed bin (71), 6 389 3 cost float bin, 6 390 3 pad bit (33) unaligned, 6 391 2 process_id bit (36), /* of the logged-out process */ 6 392 2 process_group_id char (32), 6 393 2 status_code fixed bin (35), /* e.g., to indicate reason for fatal error */ 6 394 2 flags, 6 395 3 logout bit (1) aligned, /* no new process coming */ 6 396 3 automatic_logout bit (1) unaligned, 6 397 3 hold bit (1) unaligned, 6 398 3 brief bit (1) unaligned, 6 399 3 new_proc bit (1) unaligned, /* user-requested new process */ 6 400 3 fatal_error bit (1) unaligned, /* process died unexpectedly */ 6 401 3 fpe_caused_logout bit (1) unaligned, /* fatal error doesn't generate new process */ 6 402 3 fpe_loop bit (1) unaligned, /* fatal error loop: too many in too short a time */ 6 403 3 fpe_during_init bit (1) unaligned, /* fatal error during process initialization */ 6 404 3 offer_help bit (1) unaligned, /* print a message offering "help" */ 6 405 3 pad bit (27) unaligned; 6 406 6 407 dcl LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lstr0001"); 6 408 6 409 6 410 6 411 /* "new_proc" response: (not actually a response to anything) -- describes a 6 412* new process (after a termination_response) */ 6 413 6 414 dcl 1 login_server_new_proc_response aligned based (ls_response_ptr), 6 415 2 header like login_server_response_header, /* message_type = LS_NEW_PROC_RESPONSE */ 6 416 2 new_authorization bit (72), /* in case of new_proc -auth */ 6 417 2 new_start_event_channel fixed bin (71), /* event channel for starting new process */ 6 418 2 new_process_id bit (36); /* process_id of newly-created process */ 6 419 6 420 dcl LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsnp0001"); 6 421 6 422 6 423 6 424 /* "operator" response: indicates success or failure of operator request */ 6 425 6 426 dcl 1 login_server_operator_response aligned based (ls_response_ptr), 6 427 2 header like login_server_response_header, /* message_type = LS_OPERATOR_RESPONSE */ 6 428 2 status_code fixed bin (35), /* indicates success or failure */ 6 429 2 process_id bit (36), /* process ID of the message coordinator */ 6 430 2 process_group_id char (32), /* Person.Project.tag */ 6 431 2 event_channel fixed bin (71), /* event channel over which to send connect/disconnect wakeups */ 6 432 2 ring fixed bin, /* ring of message coordinator */ 6 433 2 flags, 6 434 3 disconnect bit (1) unaligned, /* "1" => break the connection immediately */ 6 435 3 mbz bit (35) unaligned; 6 436 6 437 6 438 dcl LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsos0001"); 6 439 6 440 6 441 /* format of reply message sent to acknowledge receipt of a request */ 6 442 6 443 dcl ls_reply_message_ptr pointer; 6 444 6 445 dcl 1 ls_reply_message aligned based (ls_reply_message_ptr), 6 446 2 code fixed bin (35), 6 447 2 flags, 6 448 3 request_invalid bit (1) unaligned, /* "1"b => could not process request */ 6 449 3 response_sent bit (1) unaligned, /* "1"b => there is a response message */ 6 450 3 as_error_code bit (1) unaligned, /* "1"b => code is from as_error_table_ */ 6 451 3 do_not_reply bit (1) unaligned, /* "1"b => special flag for AS to prevent any reply from being sent to login server */ 6 452 3 mbz bit (32) unaligned; 6 453 6 454 /* The following are values used to identify the various requests internally; those from CREATE_REQ on 6 455* can appear as "command_type" in ls_process_requests. */ 6 456 6 457 dcl (LOGIN_REQ initial (1), 6 458 ENTER_REQ initial (2), 6 459 ENTERP_REQ initial (3), 6 460 CREATE_REQ initial (4), 6 461 DESTROY_REQ initial (5), 6 462 CONNECT_REQ initial (6), 6 463 NEW_PROC_REQ initial (7), 6 464 LIST_REQ initial (8)) 6 465 fixed bin internal static options (constant); 6 466 6 467 /* The following are the possible values for login_server_validate_request.network_connection_type. 6 468* They are used by the initializer to select a default process overseer and an instance tag. 6 469**/ 6 470 6 471 dcl (NETWORK_CONNECTION_LOGIN initial (1), 6 472 NETWORK_CONNECTION_DSA_FILE_TRANSFER initial (2)) 6 473 fixed bin internal static options (constant); 6 474 6 475 /* END INCLUDE FILE ... login_server_messages.incl.pl1 */ 440 441 /* BEGIN: ls_request_server_info.incl.pl1 * * * * * */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(86-04-05,Swenson), approve(87-07-14,MCR7737), 7 5* audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056): 7 6* Initial coding. 7 7* END HISTORY COMMENTS */ 7 8 7 9 /* format: style4,indattr */ 7 10 7 11 dcl ls_request_server_info_ptr ptr automatic; 7 12 dcl 1 ls_request_server_info structure aligned 7 13 based (ls_request_server_info_ptr), 7 14 2 version char (8), 7 15 2 reply_ptr ptr, 7 16 2 flags, 7 17 3 initialized bit (1) unaligned, 7 18 3 pad1 bit (35) unaligned, 7 19 2 request_ms, 7 20 3 dirname char (168) unaligned, 7 21 3 entryname char (32) unaligned, 7 22 3 index fixed bin, 7 23 2 request_info, /* only valid while executing a request */ 7 24 3 sender_process_id bit (36) aligned; 7 25 7 26 dcl LS_REQUEST_SERVER_INFO_VERSION_1 char (8) initial ("lsrsi001") internal static options (constant); 7 27 7 28 /* END OF: ls_request_server_info.incl.pl1 * * * * * */ 441 442 /* BEGIN INCLUDE FILE . . . mseg_message_info.incl.pl1 BIM 1984-10-10 */ 8 2 /* format: style3,idind30 */ 8 3 8 4 /* structure returned when message is read from a message segment */ 8 5 8 6 8 7 dcl mseg_message_info_ptr pointer; 8 8 8 9 dcl 1 mseg_message_info based (mseg_message_info_ptr) aligned, 8 10 2 version char (8) aligned, 8 11 2 message_code fixed bin, 8 12 2 control_flags unaligned, 8 13 3 own bit (1), 8 14 3 delete bit (1), 8 15 3 pad bit (34), 8 16 2 ms_ptr ptr, /* pointer to message */ 8 17 2 ms_len fixed bin (24), /* length of message in bits */ 8 18 2 ms_id bit (72), /* unique ID of message */ 8 19 /* input in some cases */ 8 20 2 ms_access_class bit (72), /* message access class */ 8 21 2 sender_id char (32) unaligned,/* process-group ID of sender */ 8 22 2 sender_process_id bit (36) aligned, /* if nonzero, process that sent */ 8 23 2 sender_level fixed bin, /* validation level of sender */ 8 24 2 sender_authorization bit (72), /* access authorization of message sender */ 8 25 2 sender_max_authorization bit (72), /* max authorization of sending process */ 8 26 2 sender_audit bit (36) aligned; /* audit flags */ 8 27 8 28 declare MSEG_MESSAGE_INFO_V1 char (8) aligned init ("msegmi01") int static options (constant); 8 29 8 30 declare ( 8 31 MSEG_READ_FIRST init (1), 8 32 MSEG_READ_LAST init (2), 8 33 MSEG_READ_SPECIFIED init (3), 8 34 MSEG_READ_BEFORE_SPECIFIED init (4), 8 35 MSEG_READ_AFTER_SPECIFIED init (5)) 8 36 fixed bin int static options (constant); 8 37 8 38 declare (MSEG_READ_OWN init ("1"b), 8 39 MSEG_READ_DELETE init ("01"b) 8 40 ) bit (36) aligned internal static options (constant); 8 41 8 42 /* END INCLUDE FILE . . . mseg_message_info.incl.pl1 */ 442 443 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 9 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 7* Added sl_info structure and associated named constants for use in calling 9 8* sys_log_$general. 9 9* END HISTORY COMMENTS */ 9 10 9 11 9 12 /* format: style4 */ 9 13 9 14 dcl ( 9 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 9 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 9 17 SL_TYPE init (-1), /* type message */ 9 18 SL_LOG_SILENT init (0), /* log message */ 9 19 SL_LOG init (1), /* log & type message */ 9 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 9 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 9 22 ) fixed bin internal static options (constant); 9 23 9 24 dcl 1 sl_info aligned automatic, 9 25 2 version char(8), /* structure version */ 9 26 2 arg_list_ptr ptr, /* arg_list with values */ 9 27 2 loc, 9 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 9 29 /* These flags control where the corresponding data item is found.*/ 9 30 /* -1: data appears in the corresponding structure element below */ 9 31 /* 0: data is not present anywhere */ 9 32 /* +N: data is Nth item in argument list pointed to by */ 9 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 9 34 /* corresponding structure element. */ 9 35 /* if data = +N: */ 9 36 /* argN is data_ptr, argN+1 is data_len */ 9 37 /* if ioa_msg = +N: */ 9 38 /* argN+1, ... argLAST are arguments substituted into the */ 9 39 /* ioa_msg control string. The formatted msg is returned. */ 9 40 2 flags, 9 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 9 42 3 flags_pad bit(35) unal, 9 43 2 mode fixed bin, /* as-mode, command-mode */ 9 44 2 severity fixed bin, /* error severity */ 9 45 2 code fixed bin(35), /* error table code */ 9 46 2 caller char(65) varying, /* caller refname$entryname*/ 9 47 2 data, /* binary data ptr/length */ 9 48 3 data_ptr ptr, 9 49 3 data_lth fixed bin(21), 9 50 2 class char(10) varying, /* binary data class */ 9 51 2 ioa_msg char(500) varying; /* formatted message text */ 9 52 9 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 54 /* */ 9 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 9 56 /* their data types should be as shown in the structure above, except that */ 9 57 /* character strings should be char(*) nonvarying. */ 9 58 /* */ 9 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 60 9 61 /* value for sl_info.version */ 9 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 9 63 9 64 /* values for sl_info.mode */ 9 65 dcl (SL_INFO_as_mode init(1), 9 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 9 67 9 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 9 69 dcl (SL_INFO_arg_given_in_structure init(-1), 9 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 9 71 9 72 9 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 74 /* */ 9 75 /* The following static structures are commonly used in the Login Server */ 9 76 /* user control software. */ 9 77 /* */ 9 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 79 9 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 9 81 9 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 9 83 2 version char(8) init ("sl_info1"), 9 84 2 arg_list_ptr ptr init (null), 9 85 2 loc, 9 86 3 (mode init (-1), 9 87 severity init ( 1), 9 88 code init ( 2), 9 89 caller init (-1), 9 90 data init ( 0), 9 91 class init ( 0), 9 92 ioa_msg init ( 3)) fixed bin, 9 93 2 flags, 9 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 95 3 flags_pad bit(35) unal init ("0"b), 9 96 2 mode fixed bin init ( 1), 9 97 2 severity fixed bin init ( 0), 9 98 2 code fixed bin(35) init ( 0), 9 99 2 caller char(65) varying init (""), 9 100 2 data, 9 101 3 data_ptr ptr init (null), 9 102 3 data_lth fixed bin(21) init ( 0), 9 103 2 class char(10) varying init (""), 9 104 2 ioa_msg char(500) varying init (""); 9 105 9 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 9 107 9 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 9 109 2 version char(8) init ("sl_info1"), 9 110 2 arg_list_ptr ptr init (null), 9 111 2 loc, 9 112 3 (mode init (-1), 9 113 severity init ( 1), 9 114 code init ( 0), 9 115 caller init (-1), 9 116 data init ( 0), 9 117 class init ( 0), 9 118 ioa_msg init ( 2)) fixed bin, 9 119 2 flags, 9 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 121 3 flags_pad bit(35) unal init ("0"b), 9 122 2 mode fixed bin init ( 1), 9 123 2 severity fixed bin init ( 0), 9 124 2 code fixed bin(35) init ( 0), 9 125 2 caller char(65) varying init (""), 9 126 2 data, 9 127 3 data_ptr ptr init (null), 9 128 3 data_lth fixed bin(21) init ( 0), 9 129 2 class char(10) varying init (""), 9 130 2 ioa_msg char(500) varying init (""); 9 131 9 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 9 133 9 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 9 135 2 version char(8) init ("sl_info1"), 9 136 2 arg_list_ptr ptr init (null), 9 137 2 loc, 9 138 3 (mode init (-1), 9 139 severity init ( 1), 9 140 code init ( 0), 9 141 caller init (-1), 9 142 data init ( 0), 9 143 class init ( 0), 9 144 ioa_msg init ( 2)) fixed bin, 9 145 2 flags, 9 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 9 147 3 flags_pad bit(35) unal init ("0"b), 9 148 2 mode fixed bin init ( 1), 9 149 2 severity fixed bin init ( 0), 9 150 2 code fixed bin(35) init ( 0), 9 151 2 caller char(65) varying init (""), 9 152 2 data, 9 153 3 data_ptr ptr init (null), 9 154 3 data_lth fixed bin(21) init ( 0), 9 155 2 class char(10) varying init (""), 9 156 2 ioa_msg char(500) varying init (""); 9 157 9 158 9 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 9 160 9 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 9 162 2 version char(8) init ("sl_info1"), 9 163 2 arg_list_ptr ptr init (null), 9 164 2 loc, 9 165 3 (mode init (-1), 9 166 severity init ( 1), 9 167 code init ( 2), 9 168 caller init (-1), 9 169 data init ( 0), 9 170 class init ( 0), 9 171 ioa_msg init ( 4)) fixed bin, 9 172 2 flags, 9 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 174 3 flags_pad bit(35) unal init ("0"b), 9 175 2 mode fixed bin init ( 1), 9 176 2 severity fixed bin init ( 0), 9 177 2 code fixed bin(35) init ( 0), 9 178 2 caller char(65) varying init (""), 9 179 2 data, 9 180 3 data_ptr ptr init (null), 9 181 3 data_lth fixed bin(21) init ( 0), 9 182 2 class char(10) varying init (""), 9 183 2 ioa_msg char(500) varying init (""); 9 184 9 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 9 186 9 187 dcl 1 sl_info_code_msg aligned int static options(constant), 9 188 2 version char(8) init ("sl_info1"), 9 189 2 arg_list_ptr ptr init (null), 9 190 2 loc, 9 191 3 (mode init (-1), 9 192 severity init (-1), 9 193 code init ( 1), 9 194 caller init (-1), 9 195 data init ( 0), 9 196 class init ( 0), 9 197 ioa_msg init ( 2)) fixed bin, 9 198 2 flags, 9 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 200 3 flags_pad bit(35) unal init ("0"b), 9 201 2 mode fixed bin init ( 1), 9 202 2 severity fixed bin init ( 0), 9 203 2 code fixed bin(35) init ( 0), 9 204 2 caller char(65) varying init (""), 9 205 2 data, 9 206 3 data_ptr ptr init (null), 9 207 3 data_lth fixed bin(21) init ( 0), 9 208 2 class char(10) varying init (""), 9 209 2 ioa_msg char(500) varying init (""); 9 210 9 211 9 212 /* Syntax: call Trace (ioa_ctl, args); */ 9 213 9 214 dcl 1 sl_info_msg aligned int static options(constant), 9 215 2 version char(8) init ("sl_info1"), 9 216 2 arg_list_ptr ptr init (null), 9 217 2 loc, 9 218 3 (mode init (-1), 9 219 severity init (-1), 9 220 code init ( 0), 9 221 caller init (-1), 9 222 data init ( 0), 9 223 class init ( 0), 9 224 ioa_msg init ( 1)) fixed bin, 9 225 2 flags, 9 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 227 3 flags_pad bit(35) unal init ("0"b), 9 228 2 mode fixed bin init ( 1), 9 229 2 severity fixed bin init ( 0), 9 230 2 code fixed bin(35) init ( 0), 9 231 2 caller char(65) varying init (""), 9 232 2 data, 9 233 3 data_ptr ptr init (null), 9 234 3 data_lth fixed bin(21) init ( 0), 9 235 2 class char(10) varying init (""), 9 236 2 ioa_msg char(500) varying init (""); 9 237 9 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 443 444 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 10 2 10 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 4 /* */ 10 5 /* This include file declares the header shared by the answer_table, */ 10 6 /* absentee_user_table and daemon_user_table include files. */ 10 7 /* */ 10 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 9 10 10 /****^ HISTORY COMMENTS: 10 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 10 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 13* Initial coding. 10 14* END HISTORY COMMENTS */ 10 15 10 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 10 17 2 header_version fixed bin, /* version of the header (3) */ 10 18 2 entry_version fixed bin, /* version of user table entries */ 10 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 10 20 2 header_length fixed bin, /* length of the header */ 10 21 2 max_size fixed bin, /* max number of entries in this table */ 10 22 2 current_size fixed bin, /* actual size of table (in entries) */ 10 23 2 number_free fixed bin, /* number of free entries in the table. */ 10 24 2 first_free fixed bin, /* index of first entry in the free list. */ 10 25 2 as_procid bit (36), /* process ID of user table manager process */ 10 26 2 ut_header_pad fixed bin; 10 27 10 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 444 445 446 end uc_ls_rq_server_wakeup_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1222.0 uc_ls_rq_server_wakeup_.pl1 >special_ldd>install>MR12.1-1054>uc_ls_rq_server_wakeup_.pl1 435 1 08/04/87 1210.2 answer_table.incl.pl1 >spec>install>1056>answer_table.incl.pl1 436 2 08/04/87 1154.5 as_data_.incl.pl1 >spec>install>1056>as_data_.incl.pl1 437 3 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 438 4 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 439 5 06/29/79 1728.0 event_call_info.incl.pl1 >ldd>include>event_call_info.incl.pl1 440 6 08/04/87 1139.9 login_server_messages.incl.pl1 >spec>install>1056>login_server_messages.incl.pl1 441 7 08/04/87 1139.8 ls_request_server_info.incl.pl1 >spec>install>1056>ls_request_server_info.incl.pl1 442 8 01/10/85 2002.8 mseg_message_info.incl.pl1 >ldd>include>mseg_message_info.incl.pl1 443 9 08/04/87 1139.0 sys_log_constants.incl.pl1 >spec>install>1056>sys_log_constants.incl.pl1 444 10 08/04/87 1138.0 user_table_header.incl.pl1 >spec>install>1056>user_table_header.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FALSE constant bit(1) initial unaligned dcl 114 ref 148 181 307 LS_DIAL_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 281 LS_DISCONNECT_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 283 LS_LIST_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 279 LS_LOGOUT_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 285 LS_OPERATOR_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 287 LS_PROCESS_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 277 LS_REQUEST_HEADER_VERSION_1 000546 constant char(8) initial unaligned dcl 6-63 ref 240 LS_REQUEST_TYPES 000550 constant char(10) initial array unaligned dcl 6-40 set ref 248 248 271* 308* 326* LS_RESPONSE_TYPES 000522 constant char(10) initial array unaligned dcl 6-238 set ref 326* 350 350 LS_UNKNOWN_RESPONSE constant fixed bin(17,0) initial dcl 6-228 ref 352 LS_VALIDATE_REQUEST constant fixed bin(17,0) initial dcl 6-31 ref 275 ME 000572 constant char(23) initial unaligned dcl 115 set ref 312* 400 427 MSEG_MESSAGE_INFO_V1 000520 constant char(8) initial dcl 8-28 ref 157 MSEG_READ_FIRST constant fixed bin(17,0) initial dcl 8-30 ref 158 PROCESS constant fixed bin(17,0) initial dcl 190 ref 203 256 P_event_call_info_ptr parameter pointer dcl 54 ref 49 131 REJECT constant fixed bin(17,0) initial dcl 190 ref 258 SL_LOG_BEEP 000631 constant fixed bin(17,0) initial dcl 9-14 set ref 134* 138* 152* 197* 218* 308* SL_LOG_SILENT 000636 constant fixed bin(17,0) initial dcl 9-14 set ref 234* 240* 251* 289* 372* TRUE constant bit(1) initial unaligned dcl 117 ref 148 174 abort_label based label variable dcl 397 ref 407 abort_label_ptr 000100 automatic pointer dcl 396 set ref 405* 407 action 000444 automatic fixed bin(17,0) dcl 187 set ref 201* 203 addr builtin function dcl 105 ref 194 194 194 194 293 333 333 402 402 429 429 ansp 000152 automatic pointer initial dcl 1-53 set ref 147* 148 148 1-53* anstbl based structure level 1 dcl 1-55 any_other 000000 stack reference condition dcl 126 ref 302 303 320 arg_list_ptr 2 000166 automatic pointer level 2 dcl 9-24 set ref 401* 405* 428* as_any_other_handler_$no_cleanup 000030 constant entry external dcl 78 ref 312 as_data_$ansp 000064 external static pointer dcl 2-26 ref 147 as_error_table_$dialup_error 000014 external static fixed bin(35,0) dcl 69 ref 304 auto_ls_reply_message 000100 automatic structure level 1 dcl 266 set ref 293 caller 17 000166 automatic varying char(65) level 2 dcl 9-24 set ref 400* 427* cleanup 000144 stack reference condition dcl 127 ref 164 code 000102 automatic fixed bin(35,0) dcl 267 in procedure "Process_The_Message" set ref 304* 306 315* 333* 333* code based fixed bin(35,0) level 2 in structure "ls_reply_message" dcl 6-445 in procedure "uc_ls_rq_server_wakeup_" set ref 306* code 16 000166 automatic fixed bin(35,0) level 2 in structure "sl_info" dcl 9-24 in procedure "uc_ls_rq_server_wakeup_" set ref 403 code 000100 automatic fixed bin(35,0) dcl 58 in procedure "uc_ls_rq_server_wakeup_" set ref 194* 196 197 197* 216* 218 218* 248* 371* 372 372* 403* 404 connection_info 12 based structure level 2 dcl 6-54 connection_name 12 based char(32) level 3 dcl 6-54 set ref 333* cu_$arg_list_ptr 000066 constant entry external dcl 392 in procedure "Abort" ref 401 cu_$arg_list_ptr 000074 constant entry external dcl 423 in procedure "Trace" ref 428 cu_$arg_ptr_rel 000070 constant entry external dcl 393 ref 405 currentsize builtin function dcl 105 ref 234 234 234 data_ptr 6 based pointer level 2 dcl 5-7 ref 132 dirname 5 based char(168) level 3 packed unaligned dcl 7-12 set ref 218* 218* divide builtin function dcl 105 ref 232 do_not_reply 1(03) based bit(1) level 3 packed unaligned dcl 6-445 set ref 307* 326* 333 entry_to_call 000104 automatic entry variable dcl 268 set ref 275* 277* 279* 281* 283* 285* 287* 315 entryname 57 based char(32) level 3 packed unaligned dcl 7-12 set ref 218* 218* error_table_$bad_arg 000016 external static fixed bin(35,0) dcl 70 set ref 234* 251* 289* error_table_$no_message 000020 external static fixed bin(35,0) dcl 71 ref 196 error_table_$out_of_sequence 000022 external static fixed bin(35,0) dcl 72 set ref 134* 138* 152* error_table_$unexpected_condition 000024 external static fixed bin(35,0) dcl 73 set ref 308* error_table_$unimplemented_version 000026 external static fixed bin(35,0) dcl 74 set ref 240* event_call_info based structure level 1 dcl 5-7 event_call_info_ptr 000154 automatic pointer dcl 5-5 set ref 131* 132 flags 1 based structure level 2 in structure "ls_reply_message" dcl 6-445 in procedure "uc_ls_rq_server_wakeup_" flags 4 based structure level 2 in structure "ls_request_server_info" dcl 7-12 in procedure "uc_ls_rq_server_wakeup_" get_system_free_area_ 000032 constant entry external dcl 79 ref 161 hbound builtin function dcl 105 ref 248 350 header_version based char(8) level 2 dcl 6-54 set ref 240 240* index 67 based fixed bin(17,0) level 3 dcl 7-12 ref 151 initialized 4 based bit(1) level 3 packed unaligned dcl 7-12 ref 138 lbound builtin function dcl 105 ref 248 350 login_server_present 143 based bit(1) level 2 dcl 1-55 set ref 148 148* login_server_response_header based structure level 1 dcl 6-258 ls_data_reply_lth 000101 automatic fixed bin(18,0) dcl 59 set ref 297* 315* 322 326 333* ls_data_reply_ptr 000102 automatic pointer dcl 60 set ref 296* 315* 333* 348 ls_reply_message based structure level 1 dcl 6-445 set ref 294* 305* 333 333 ls_reply_message_ptr 000162 automatic pointer dcl 6-443 set ref 293* 294 305 306 307 315* 326 333 333 333 ls_request_header based structure level 1 dcl 6-54 set ref 234 234 234 ls_request_lth 000104 automatic fixed bin(18,0) dcl 61 set ref 232* 234 234* 315* ls_request_ptr 000156 automatic pointer dcl 6-50 set ref 231* 234 234 234 240 240 247 315* 333 333 333 ls_request_server_info based structure level 1 dcl 7-12 ls_request_server_info_ptr 000164 automatic pointer dcl 7-11 set ref 132* 134 138 151 218 218 218 218 296 299 315* ls_response_ptr 000160 automatic pointer dcl 6-254 set ref 348* 349 message_code 2 000106 automatic fixed bin(17,0) level 2 dcl 62 set ref 158* message_count 000445 automatic fixed bin(17,0) dcl 188 set ref 216* 224 message_segment_$delete_index 000034 constant entry external dcl 80 ref 371 message_segment_$get_message_count_index 000040 constant entry external dcl 86 ref 216 message_segment_$read_message_index 000036 constant entry external dcl 83 ref 194 message_type based fixed bin(17,0) level 2 dcl 6-258 ref 349 mmi 000106 automatic structure level 1 dcl 62 set ref 156* 194 194 ms_id 7 000106 automatic bit(72) level 2 dcl 62 set ref 371* 372* 376* ms_index 000140 automatic fixed bin(17,0) dcl 63 set ref 151* 152 194* 216* 371* ms_len 6 000106 automatic fixed bin(24,0) level 2 dcl 62 set ref 212 212 232 363 363 ms_ptr 4 000106 automatic pointer level 2 dcl 62 set ref 159* 208 212 213* 231 363 363 mseg_message_info based structure level 1 dcl 8-9 msg based bit dcl 210 in begin block on line 208 ref 212 msg based bit dcl 361 in procedure "Clean_Up" ref 363 null builtin function dcl 105 ref 134 159 161 1-53 208 213 363 pathname_ 000042 constant entry external dcl 89 ref 218 218 reply_event_channel 6 based fixed bin(71,0) level 2 dcl 6-54 set ref 333* reply_handle 10 based bit(72) level 2 dcl 6-54 set ref 333* reply_ptr 2 based pointer level 2 dcl 7-12 ref 296 request_info 70 based structure level 2 dcl 7-12 request_ms 5 based structure level 2 dcl 7-12 request_type 4 based fixed bin(17,0) level 2 in structure "ls_request_header" dcl 6-54 in procedure "uc_ls_rq_server_wakeup_" ref 247 request_type 000141 automatic fixed bin(17,0) dcl 64 in procedure "uc_ls_rq_server_wakeup_" set ref 247* 248 248 251* 271 275 277 279 281 283 285 287 289* 308 326 response_type 000142 automatic fixed bin(17,0) dcl 65 set ref 326 349* 350 350 352* rtrim builtin function dcl 105 ref 427 sender_id 13 000106 automatic char(32) level 2 packed unaligned dcl 62 set ref 234* 240* 251* 271* 308* 326* 372* sender_process_id 23 000106 automatic bit(36) level 2 in structure "mmi" dcl 62 in procedure "uc_ls_rq_server_wakeup_" set ref 299 333* sender_process_id 70 based bit(36) level 3 in structure "ls_request_server_info" dcl 7-12 in procedure "uc_ls_rq_server_wakeup_" set ref 299* sl_info 000166 automatic structure level 1 dcl 9-24 set ref 399* 402 402 426* 429 429 sl_info_msg 000250 constant structure level 1 dcl 9-214 ref 426 sl_info_sev_code_label_msg 000000 constant structure level 1 dcl 9-161 ref 399 sys_log_$general 000072 constant entry external dcl 394 in procedure "Abort" ref 402 sys_log_$general 000076 constant entry external dcl 424 in procedure "Trace" ref 429 system_area based area(1024) dcl 121 set ref 194 194 212 363 system_area_ptr 000010 internal static pointer initial dcl 109 set ref 161 161* 194 194 212 363 trace_flag 000012 internal static bit(1) initial dcl 110 set ref 174* 181* 271 326 uc_ls_dial_request_ 000052 constant entry external dcl 90 ref 281 uc_ls_disconnect_request_ 000054 constant entry external dcl 90 ref 283 uc_ls_list_request_ 000050 constant entry external dcl 90 ref 279 uc_ls_logout_request_ 000056 constant entry external dcl 90 ref 285 uc_ls_operator_request_ 000060 constant entry external dcl 90 ref 287 uc_ls_process_request_ 000046 constant entry external dcl 90 ref 277 uc_ls_validate_request_ 000044 constant entry external dcl 90 ref 275 uc_send_ls_response_ 000062 constant entry external dcl 99 ref 333 unspec builtin function dcl 105 set ref 156* 294* 305* user_connection_info based structure level 1 dcl 6-65 ut_header based structure level 1 dcl 10-16 version 000106 automatic char(8) level 2 dcl 62 set ref 157* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 1-51 AT_NORMAL internal static char(8) initial unaligned dcl 1-116 AT_SHUTDOWN internal static char(8) initial unaligned dcl 1-116 AT_SPECIAL internal static char(8) initial unaligned dcl 1-116 CONNECT_REQ internal static fixed bin(17,0) initial dcl 6-457 CREATE_REQ internal static fixed bin(17,0) initial dcl 6-457 DESTROY_REQ internal static fixed bin(17,0) initial dcl 6-457 ENTERP_REQ internal static fixed bin(17,0) initial dcl 6-457 ENTER_REQ internal static fixed bin(17,0) initial dcl 6-457 LIST_REQ internal static fixed bin(17,0) initial dcl 6-457 LOGIN_REQ internal static fixed bin(17,0) initial dcl 6-457 LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-378 LOGIN_SERVER_LIST_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-360 LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-420 LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-222 LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-438 LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-341 LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-407 LS_DIAL_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-180 LS_DIAL_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_DISCONNECT_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-193 LS_LIST_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-160 LS_LIST_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_LOGOUT_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-203 LS_NEW_PROC_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_OPERATOR_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_PROCESS_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-150 LS_PROCESS_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_REQUEST_SERVER_INFO_VERSION_1 internal static char(8) initial unaligned dcl 7-26 LS_TERMINATION_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_VALIDATE_REQUEST_VERSION_1 internal static char(8) initial unaligned dcl 6-97 LS_VALIDATE_RESPONSE internal static fixed bin(17,0) initial dcl 6-228 LS_VALIDATE_RESPONSE_VERSION_1 internal static char(8) initial unaligned dcl 6-297 MSEG_READ_AFTER_SPECIFIED internal static fixed bin(17,0) initial dcl 8-30 MSEG_READ_BEFORE_SPECIFIED internal static fixed bin(17,0) initial dcl 8-30 MSEG_READ_DELETE internal static bit(36) initial dcl 8-38 MSEG_READ_LAST internal static fixed bin(17,0) initial dcl 8-30 MSEG_READ_OWN internal static bit(36) initial dcl 8-38 MSEG_READ_SPECIFIED internal static fixed bin(17,0) initial dcl 8-30 NETWORK_CONNECTION_DSA_FILE_TRANSFER internal static fixed bin(17,0) initial dcl 6-471 NETWORK_CONNECTION_LOGIN internal static fixed bin(17,0) initial dcl 6-471 NEW_PROC_REQ internal static fixed bin(17,0) initial dcl 6-457 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 9-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 9-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 9-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 9-65 SL_INFO_version_1 internal static char(8) initial unaligned dcl 9-62 SL_LOG internal static fixed bin(17,0) initial dcl 9-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 9-14 UTE_SIZE internal static fixed bin(17,0) initial dcl 1-120 as_data_$BS external static char(1) dcl 2-21 as_data_$CR external static char(1) dcl 2-22 as_data_$abs_dim external static char(32) unaligned dcl 2-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 2-24 as_data_$acsdir external static char(168) unaligned dcl 2-25 as_data_$as_procid external static bit(36) dcl 2-27 as_data_$as_ring external static fixed bin(3,0) dcl 2-28 as_data_$as_tty automatic char(6) unaligned dcl 2-29 as_data_$asmtp external static pointer dcl 2-30 as_data_$autp external static pointer dcl 2-31 as_data_$buzzardp external static pointer dcl 2-32 as_data_$cdtp external static pointer dcl 2-33 as_data_$debug_flag external static bit(1) dcl 2-84 as_data_$default_weight external static fixed bin(35,0) dcl 2-34 as_data_$devtabp external static pointer dcl 2-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 2-36 as_data_$dutp external static pointer dcl 2-37 as_data_$g115_dim external static char(32) unaligned dcl 2-38 as_data_$lct_initialized external static bit(1) dcl 2-39 as_data_$lct_size external static fixed bin(17,0) dcl 2-40 as_data_$login_args external static structure level 1 dcl 2-62 as_data_$login_words external static fixed bin(17,0) dcl 2-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 2-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 2-87 as_data_$ls_message_buffer_ptr external static pointer dcl 2-88 as_data_$ls_request_server_info_ptr external static pointer dcl 2-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 2-41 as_data_$mgtp external static pointer dcl 2-42 as_data_$mrd_dim external static char(32) unaligned dcl 2-43 as_data_$ntty_dim external static char(32) unaligned dcl 2-44 as_data_$pdtdir external static char(168) unaligned dcl 2-45 as_data_$pit_ptr external static pointer dcl 2-46 as_data_$rcpdir external static char(168) unaligned dcl 2-47 as_data_$request_priority external static fixed bin(17,0) dcl 2-48 as_data_$rs_ptrs external static pointer array dcl 2-49 as_data_$rtdtp external static pointer dcl 2-50 as_data_$sat_htp external static pointer dcl 2-51 as_data_$satp external static pointer dcl 2-52 as_data_$signal_types external static structure level 1 dcl 2-67 as_data_$suffix external static char(2) array unaligned dcl 2-53 as_data_$sysdir external static char(168) unaligned dcl 2-54 as_data_$system_signal_types external static structure level 1 dcl 2-72 as_data_$teens_suffix external static char(2) array unaligned dcl 2-55 as_data_$terminet_tabs_string external static varying char(144) dcl 2-56 as_data_$tty_dim external static char(32) unaligned dcl 2-57 as_data_$update_priority external static fixed bin(17,0) dcl 2-58 as_data_$version external static char(8) unaligned dcl 2-59 as_data_$whoptr external static pointer dcl 2-60 as_data_login_words based structure level 1 dcl 2-77 condition_info based structure level 1 dcl 3-14 condition_info_header based structure level 1 dcl 4-6 condition_info_header_ptr automatic pointer dcl 4-4 condition_info_ptr automatic pointer dcl 3-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 3-30 login_server_dial_request based structure level 1 dcl 6-170 login_server_dial_response based structure level 1 dcl 6-366 login_server_disconnect_request based structure level 1 dcl 6-188 login_server_list_request based structure level 1 dcl 6-156 login_server_list_response based structure level 1 dcl 6-347 login_server_list_response_n_processes automatic fixed bin(17,0) dcl 6-358 login_server_logout_request based structure level 1 dcl 6-199 login_server_new_proc_response based structure level 1 dcl 6-414 login_server_operator_request based structure level 1 dcl 6-214 login_server_operator_response based structure level 1 dcl 6-426 login_server_process_request based structure level 1 dcl 6-103 login_server_process_response based structure level 1 dcl 6-303 login_server_termination_response based structure level 1 dcl 6-385 login_server_validate_request based structure level 1 dcl 6-76 login_server_validate_response based structure level 1 dcl 6-267 ls_process_request_arg_string_length automatic fixed bin(21,0) dcl 6-148 ls_process_request_n_args automatic fixed bin(17,0) dcl 6-147 ls_process_response_accounting_message_length automatic fixed bin(17,0) dcl 6-339 mseg_message_info_ptr automatic pointer dcl 8-7 sl_info_code_msg internal static structure level 1 dcl 9-187 sl_info_sev_code_msg internal static structure level 1 dcl 9-82 sl_info_sev_coded_msg internal static structure level 1 dcl 9-134 sl_info_sev_msg internal static structure level 1 dcl 9-108 NAMES DECLARED BY EXPLICIT CONTEXT. ABORT_REQUEST 002364 constant label dcl 322 ref 312 312 ABORT_REQUEST_NO_REPLY 002511 constant label dcl 342 ref 289 289 Abort 002633 constant entry internal dcl 389 ref 134 138 152 197 218 234 240 251 289 308 372 Clean_Up 002531 constant entry internal dcl 358 ref 164 DELETE_FAILED 002631 constant label dcl 378 ref 372 372 Delete_The_Message 002545 constant entry internal dcl 368 ref 206 Examine_Message 001570 constant entry internal dcl 228 ref 201 MAIN_RETURN 001331 constant label dcl 168 ref 134 134 138 138 152 152 197 197 218 218 Process_Messages 001357 constant entry internal dcl 184 ref 167 Process_The_Message 002007 constant entry internal dcl 263 ref 203 REJECT_MESSAGE 002002 constant label dcl 258 ref 234 234 240 240 251 251 TAKE_AS_DUMP 002315 constant label dcl 312 ref 308 308 Test_Data_Reply 002512 constant entry internal dcl 345 ref 322 Trace 002724 constant entry internal dcl 420 ref 271 326 trace_off 001346 constant entry external dcl 178 trace_on 001333 constant entry external dcl 171 uc_ls_rq_server_wakeup_ 001106 constant entry external dcl 49 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3450 3550 3020 3460 Length 4242 3020 100 456 427 4 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_ls_rq_server_wakeup_ 590 external procedure is an external procedure. on unit on line 164 70 on unit Process_Messages internal procedure shares stack frame of external procedure uc_ls_rq_server_wakeup_. begin block on line 208 begin block shares stack frame of external procedure uc_ls_rq_server_wakeup_. Examine_Message internal procedure shares stack frame of external procedure uc_ls_rq_server_wakeup_. Process_The_Message 164 internal procedure enables or reverts conditions. on unit on line 302 114 on unit enables or reverts conditions. Test_Data_Reply internal procedure shares stack frame of internal procedure Process_The_Message. Clean_Up internal procedure shares stack frame of on unit on line 164. Delete_The_Message internal procedure shares stack frame of external procedure uc_ls_rq_server_wakeup_. Abort 88 internal procedure is declared options(variable). Trace 72 internal procedure is declared options(variable). STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 system_area_ptr uc_ls_rq_server_wakeup_ 000012 trace_flag uc_ls_rq_server_wakeup_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME Abort 000100 abort_label_ptr Abort Process_The_Message 000100 auto_ls_reply_message Process_The_Message 000102 code Process_The_Message 000104 entry_to_call Process_The_Message uc_ls_rq_server_wakeup_ 000100 code uc_ls_rq_server_wakeup_ 000101 ls_data_reply_lth uc_ls_rq_server_wakeup_ 000102 ls_data_reply_ptr uc_ls_rq_server_wakeup_ 000104 ls_request_lth uc_ls_rq_server_wakeup_ 000106 mmi uc_ls_rq_server_wakeup_ 000140 ms_index uc_ls_rq_server_wakeup_ 000141 request_type uc_ls_rq_server_wakeup_ 000142 response_type uc_ls_rq_server_wakeup_ 000152 ansp uc_ls_rq_server_wakeup_ 000154 event_call_info_ptr uc_ls_rq_server_wakeup_ 000156 ls_request_ptr uc_ls_rq_server_wakeup_ 000160 ls_response_ptr uc_ls_rq_server_wakeup_ 000162 ls_reply_message_ptr uc_ls_rq_server_wakeup_ 000164 ls_request_server_info_ptr uc_ls_rq_server_wakeup_ 000166 sl_info uc_ls_rq_server_wakeup_ 000444 action Process_Messages 000445 message_count Process_Messages THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a alloc_char_temp call_ent_var call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc return_mac move_label_var make_label_var tra_ext_2 enable_op shorten_stack ext_entry int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_any_other_handler_$no_cleanup cu_$arg_list_ptr cu_$arg_list_ptr cu_$arg_ptr_rel get_system_free_area_ message_segment_$delete_index message_segment_$get_message_count_index message_segment_$read_message_index pathname_ sys_log_$general sys_log_$general uc_ls_dial_request_ uc_ls_disconnect_request_ uc_ls_list_request_ uc_ls_logout_request_ uc_ls_operator_request_ uc_ls_process_request_ uc_ls_validate_request_ uc_send_ls_response_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_error_table_$dialup_error error_table_$bad_arg error_table_$no_message error_table_$out_of_sequence error_table_$unexpected_condition error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 1 53 001077 49 001103 131 001114 132 001120 134 001122 138 001161 147 001220 148 001224 151 001231 152 001234 156 001267 157 001272 158 001274 159 001276 161 001300 164 001312 167 001330 168 001331 171 001332 174 001341 175 001344 178 001345 181 001354 182 001356 184 001357 194 001360 196 001401 197 001406 201 001442 203 001444 206 001453 208 001454 212 001460 213 001465 216 001467 218 001502 224 001563 226 001566 356 001567 228 001570 231 001572 232 001574 234 001577 240 001653 247 001724 248 001726 251 001734 256 001776 258 002002 263 002006 271 002014 275 002047 277 002061 279 002071 281 002101 283 002111 285 002121 287 002131 289 002141 293 002200 294 002203 296 002206 297 002211 299 002212 302 002215 303 002231 304 002232 305 002235 306 002242 307 002244 308 002246 312 002315 313 002337 315 002340 320 002363 322 002364 326 002370 333 002453 342 002511 345 002512 348 002513 349 002517 350 002521 352 002526 354 002530 358 002531 363 002532 366 002544 368 002545 371 002546 372 002561 376 002626 378 002631 389 002632 399 002640 400 002644 401 002651 402 002657 403 002671 404 002674 405 002675 407 002720 410 002722 420 002723 426 002731 427 002735 428 002767 429 002776 431 003010 ----------------------------------------------------------- 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