COMPILATION LISTING OF SEGMENT sc_process_command_line_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1016.8 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 9 /* format: style2,idind30,indcomtxt */ 10 11 /**** sc_process_command_line_.pl1 12* 13* THIS 14* program is the common interface for all parts of the Initializer 15* that read command lines from operators. It is responsible for 16* creating an environment that mimics a normal user process 17* and then executing the command line in that environment. 18* 19* FIRST 20* it sets up the I/O switches, saves the old value of 21* sc_stat_$admin_sci_ptr, and sets sc_stat_$admin_sci_ptr 22* to the given sci_ptr. It sets user_i/o to signal_io_. 23* The sc_signal_io_handler_ established in system_control_ 24* is depended on to handle I/O signals. sc_subsystem_info.real_iocb 25* is assumed to be correct. 26* 27* SEND_ADMIN_COMMAND 28* calls the special multics_command entrypoint which calls 29* cu_$cp instead of ssu_$execute_line. 30* 31* SC_COMMAND 32* does not call this. It assumes that it is called either in 33* admin mode, which is entered through this program, or in 34* the admin exec com, which is also entered via this program. 35* sc_command call ssu_ directly. 36* 37* 38* MASKING 39* This program does not mask event calls. The rule for masking event 40* calls is that the Initializer may never run an event_call handler 41* while in one of its subsystems, for fear of recursion. initializer 42* commands are presumed to enter the environment that requires this 43* protection. Multics commands are not. Thus, masking takes place 44* in sc_execute_command_line_ before entering the command, rather 45* then in here. 46* 47* MEMOS 48* and the like may NEVER be used in the Initializer process. 49* when the alarm call handler goes off there is no code that will 50* establish the correct environment. 51* 52* PROBE and DEBUG 53* establish similiar limitations. Since there is a user_i/o 54* (the system console) outside of this environment, careful use can 55* be made to work. 56* 57* HISTORICAL NOTE 58* This procedure includes the previous contents of admin_mode_, 59* borrow_tty_from_mc_, and return_tty_to_mc_. 60**/ 61 62 sc_process_command_line_: 63 procedure (SCI_ptr, Line_ptr, Line_lth); 64 65 /* Written 1984-10-26 BIM */ 66 /* Modified 1985-01-07, BIM: MC access control, access name in sc_subsystem_info_ */ 67 /* Modified 1985-01-30, E. Swenson: Fixed operator login. */ 68 /* Modified 1985-04-01, E. Swenson: to do sign_out on hangup in mc_tty_. */ 69 /* Modified 1985-04-05, E. Swenson: to handle abort_lines correctly and to 70* not log extra NL in admin_log. */ 71 72 73 /****^ HISTORY COMMENTS: 74* 1) change(86-08-01,Cox), approve(87-05-25,MCR7690), audit(87-03-13,GDixon), 75* install(87-08-04,MR12.1-1055): 76* Modified for change to mc_anstbl.incl.pl1. 77* 2) change(86-08-03,Swenson), approve(87-05-25,MCR7680), 78* audit(87-03-13,GDixon), install(87-08-04,MR12.1-1055): 79* Also changed to support system_control_ test mode. 80* 3) change(87-02-05,GDixon), approve(87-05-25,MCR7680), 81* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 82* Also added System Message Documentation for calls to syserr and sys_log_. 83* Made minor changes to improve code efficiency. 84* END HISTORY COMMENTS */ 85 86 87 declare SCI_ptr pointer; 88 declare Line_ptr pointer; 89 declare Line_lth fixed bin (21); 90 91 declare code fixed bin (35); 92 declare (ev_calls_masked_code, ev_calls_unmasked_code) 93 fixed bin (35); 94 declare hungup bit (1) aligned; 95 declare line_ptr pointer; 96 declare line_lth fixed bin (21); 97 declare multics_switch bit (1) aligned; 98 declare old_mask bit (36) aligned; 99 declare old_operator_name char (32); 100 declare request_line char (line_lth) based (line_ptr); 101 declare saved_user_io pointer; 102 declare saved_user_input pointer; 103 declare saved_error_output pointer; 104 declare saved_user_output pointer; 105 declare saved_admin_sci_ptr pointer; 106 declare sci_ptr pointer; 107 declare switch_unique char (30); 108 declare test_switch bit (1) aligned; 109 110 /* Entries */ 111 112 dcl com_err_ entry () options (variable); 113 declare continue_to_signal_ entry (fixed binary (35)); 114 declare cu_$cp entry (ptr, fixed bin (21), fixed bin (35)); 115 declare hcs_$wakeup entry (bit (36) aligned, fixed bin (71), fixed bin (71), fixed bin (35)); 116 declare hcs_$set_ips_mask entry (bit (36) aligned, bit (36) aligned); 117 declare hcs_$reset_ips_mask entry (bit (36) aligned, bit (36) aligned); 118 declare hphcs_$syserr_error_code entry options (variable); 119 declare hphcs_$syserr entry options (variable); 120 declare ioa_$ioa_switch entry () options (variable); 121 declare iox_$init_standard_iocbs entry; 122 declare ipc_$decl_ev_wait_chn entry (fixed bin (71), fixed bin (35)); 123 declare ipc_$decl_event_call_chn entry (fixed bin (71), entry, pointer, fixed bin, fixed bin (35)); 124 declare lg_ctl_$logout_operator entry (ptr, char (*), char (*)); 125 declare mc_commands_$note_input entry (char (*), pointer, fixed binary (35)); 126 127 declare mc_commands_$sign_out entry (pointer, character (*), fixed binary (35)); 128 declare ssu_$get_info_ptr entry (ptr) returns (ptr); 129 declare ssu_$execute_line entry (ptr, ptr, fixed bin (21), fixed bin (35)); 130 declare sys_log_ entry options (variable); 131 declare unique_chars_ entry (bit (*)) returns (char (15)); 132 133 dcl ME char (32) initial ("sc_process_command_line_") internal static 134 options (constant); 135 dcl NL char (1) int static options (constant) init (" 136 "); 137 declare cleanup condition; 138 declare any_other condition; 139 140 dcl addr builtin; 141 dcl clock builtin; 142 dcl codeptr builtin; 143 dcl null builtin; 144 dcl rtrim builtin; 145 dcl substr builtin; 146 147 148 test_switch = "0"b; 149 multics_switch = "0"b; 150 go to COMMON; 151 152 /**** The test entrypoint does switches for a normal user process. */ 153 154 test: 155 entry (SCI_ptr, Line_ptr, Line_lth); 156 157 multics_switch = "0"b; 158 test_switch = "1"b; 159 go to COMMON; 160 161 test_multics: 162 entry (SCI_ptr, Line_ptr, Line_lth); 163 164 multics_switch = "1"b; 165 test_switch = "1"b; 166 go to COMMON; 167 168 multics_command: 169 entry (SCI_ptr, Line_ptr, Line_lth); 170 171 /**** SCI is required for Multics to find the real IOCB pointer. */ 172 173 multics_switch = "1"b; 174 test_switch = "0"b; 175 COMMON: 176 sci_ptr = SCI_ptr; 177 line_ptr = Line_ptr; 178 line_lth = Line_lth; 179 code = 0; 180 181 sc_subsystem_info_ptr = ssu_$get_info_ptr (sci_ptr); 182 saved_admin_sci_ptr = sc_stat_$admin_sci_ptr; 183 switch_unique = "sc" || unique_chars_ (""b); 184 saved_user_io, saved_user_input, saved_user_output, saved_error_output = null (); 185 ev_calls_masked_code = -1; 186 ev_calls_unmasked_code = -1; 187 on cleanup 188 begin; 189 call RESTORE_ATTACHMENTS; 190 sc_stat_$admin_sci_ptr = saved_admin_sci_ptr; 191 end; 192 193 mc_atep = sc_subsystem_info.mc_atep; /* this may be null */ 194 sc_subsystem_info.printer_offed = "0"b; /* log suppression is only permitted within a command line */ 195 196 /**** Depend on the system_control_ handler for signal_io_, which uses 197* sc_stat_$admin_sci_ptr to find the right real_iocb. */ 198 199 call SAVE_ATTACHMENTS; /* we could assume correct switches and */ 200 /* just depend on having the top signal handler. */ 201 /* this, however, saves us from file_output */ 202 203 sc_stat_$admin_sci_ptr = sci_ptr; 204 205 if sc_stat_$mc_is_on & mc_atep ^= null () 206 then do; 207 call mc_commands_$note_input (request_line, mc_atep, (0)); 208 /* broadcast input around */ 209 if mc_ate.signed_on & sc_stat_$Multics 210 then do; 211 if clock () 212 > mc_ate.last_input_time 213 + (as_data_$rs_ptrs (0) -> installation_parms.operator_inactive_time * 1000 * 1000) 214 then do; /* passed the deadline, tough bananas */ 215 call mc_commands_$sign_out (mc_atep, old_operator_name, (0)); 216 sc_subsystem_info.access_control_name = sc_stat_$unidentified_access_name; 217 call lg_ctl_$logout_operator (sc_subsystem_info_ptr, old_operator_name, 218 "autologout"); 219 220 call ioa_$ioa_switch (sc_subsystem_info.real_iocb, 221 "**********^2/ Operator ^a signed off due to inactivity.^2/**********^/", 222 old_operator_name); 223 end; 224 end; 225 mc_ate.last_input_time = clock (); 226 end; 227 228 if ^sc_subsystem_info.no_real_tty & mc_atep ^= null () 229 /* don't bother if sci has no associated terminal, assume caller logs */ 230 then do; /* log in both logs for easy reading */ 231 call sys_log_ (SL_LOG_SILENT, " (input on ^a) ^a", mc_ate.real_tty_name, request_line); 232 call ioa_$ioa_switch (sc_stat_$admin_log_iocb, " (input on ^a) ^a", mc_ate.real_tty_name, 233 rtrim (request_line, NL)); 234 end; /* and log it */ 235 236 sc_subsystem_info.hangup_entry = HANGUP; 237 sc_subsystem_info.abort_request_label = ABORT_LABEL; 238 hungup = "0"b; 239 if multics_switch 240 then call cu_$cp (line_ptr, line_lth, code); 241 else do; 242 call ssu_$execute_line (sci_ptr, line_ptr, line_lth, code); 243 if sc_subsystem_info.real_iocb ^= null () & sc_subsystem_info.print_ready 244 then do; 245 if ^sc_stat_$Multics 246 then call ioa_$ioa_switch (sc_subsystem_info.real_iocb, "Ready"); 247 else call ioa_$ioa_switch (sc_subsystem_info.real_iocb, 248 "Ready^[ (^a)^;^s^]^[ (Not signed on.)^]", mc_ate.signed_on, mc_ate.personid, 249 as_data_$rs_ptrs (0) -> installation_parms.require_operator_login 250 & ^mc_ate.signed_on); 251 end; 252 end; 253 254 ABORT_LABEL: 255 sc_stat_$admin_sci_ptr = saved_admin_sci_ptr; 256 call RESTORE_ATTACHMENTS; 257 if hungup 258 then call sys_log_ (SL_LOG_BEEP, "sc_process_command_line_: Terminal ^a hung up during execution of command.", 259 sc_subsystem_info.source_name); 260 return; 261 262 HANGUP: 263 procedure; 264 265 /**** unwind the entire command execution and return to the frame that 266* started this command. */ 267 268 go to HANGUP_UNWIND; 269 end HANGUP; 270 271 HANGUP_UNWIND: 272 hungup = "1"b; 273 go to ABORT_LABEL; 274 275 SAVE_ATTACHMENTS: 276 procedure; 277 278 old_mask = ""b; 279 on any_other call ERROR_MASKED; 280 281 call hcs_$set_ips_mask (""b, old_mask); 282 283 if test_switch 284 then do; /* our caller is expected to have a signal_io_handler_ active */ 285 call iox_$find_iocb ("real_i/o", real_iocb, (0)); 286 call iox_$move_attach (iox_$user_io, real_iocb, (0)); 287 call iox_$attach_ptr (iox_$user_io, "syn_ real_iocb", codeptr (sc_process_command_line_), (0)); 288 sc_subsystem_info.real_iocb = real_iocb; 289 end; 290 291 call save_switch (iox_$user_io, saved_user_io, "user_i/o"); 292 call save_switch (iox_$user_input, saved_user_input, "user_input"); 293 call save_switch (iox_$user_output, saved_user_output, "user_output"); 294 call save_switch (iox_$error_output, saved_error_output, "error_output"); 295 296 call attach_switch (iox_$user_io, "signal_io_"); 297 call iox_$init_standard_iocbs; /* attaches syn_'s */ 298 299 if mc_atep ^= null () 300 then if ^mc_ate.the_system_console 301 then call ipc_$decl_ev_wait_chn (mc_ate.event, (0)); 302 303 call hcs_$reset_ips_mask (old_mask, old_mask); 304 end SAVE_ATTACHMENTS; 305 306 RESTORE_ATTACHMENTS: 307 procedure; 308 309 on any_other call ERROR_MASKED; 310 call hcs_$set_ips_mask (""b, old_mask); 311 312 call restore_switch (saved_user_io, iox_$user_io); 313 call restore_switch (saved_user_input, iox_$user_input); 314 call restore_switch (saved_user_output, iox_$user_output); 315 call restore_switch (saved_error_output, iox_$error_output); 316 317 if test_switch 318 then do; 319 call iox_$detach_iocb (iox_$user_io, (0)); 320 call iox_$move_attach (real_iocb, iox_$user_io, (0)); 321 call iox_$destroy_iocb (real_iocb, (0)); 322 end; 323 else do; 324 if mc_atep ^= null () 325 then if ^mc_ate.the_system_console 326 then do; 327 mc_ansp = sc_stat_$mc_ansp; 328 call ipc_$decl_event_call_chn (mc_ate.event, mc_anstbl.cons_cont_proc, addr (mc_ate), 329 MC_PRIO, (0)); 330 call hcs_$wakeup (mc_anstbl.mc_procid, mc_ate.queue_event, 0, code); 331 end; 332 end; 333 call hcs_$reset_ips_mask (old_mask, old_mask); 334 return; 335 end RESTORE_ATTACHMENTS; 336 337 save_switch: 338 procedure (live_iocb, save_iocb, iocb_name); 339 340 declare (live_iocb, save_iocb) pointer; 341 declare iocb_name char (32) varying; 342 declare save_name char (32); 343 344 save_name = rtrim (switch_unique) || iocb_name; 345 call iox_$find_iocb (save_name, save_iocb, code); 346 if code ^= 0 347 then do; 348 if ^sc_stat_$test_mode 349 then call hphcs_$syserr_error_code (CRASH, code, "^a: Failed to find save iocb ^a.", ME, save_name); 350 else call com_err_ (code, ME, "Failed to find save iocb ^a.", save_name); 351 end; 352 call iox_$close (save_iocb, (0)); 353 call iox_$detach_iocb (save_iocb, (0)); 354 call iox_$move_attach (live_iocb, save_iocb, code); 355 if code ^= 0 356 then do; 357 if ^sc_stat_$test_mode 358 then call hphcs_$syserr_error_code (CRASH, code, "^a: Failed to move_attach iocb ^a.", ME, save_name); 359 else call com_err_ (code, ME, "Failed to move_attach iocb ^a.", save_name); 360 end; 361 return; 362 end save_switch; 363 364 attach_switch: 365 procedure (iocbp, atd); 366 367 declare iocbp pointer; 368 declare atd char (*); 369 370 call iox_$attach_ptr (iocbp, atd, codeptr (sc_process_command_line_), code); 371 if code ^= 0 372 then do; 373 if ^sc_stat_$test_mode 374 then call hphcs_$syserr_error_code (CRASH, code, 375 "^a: Could not attach switch ^a (@ ^p)^/using attach description: ^a.", ME, 376 iocbp -> iocb.name, iocbp, atd); 377 else call com_err_ (code, ME, "Could not attach switch ^a (@ ^p)^/using attach description: ^a.", 378 iocbp -> iocb.name, iocbp, atd); 379 end; 380 call iox_$open (iocbp, Stream_input_output, "0"b, code); 381 if code ^= 0 382 then do; 383 if ^sc_stat_$test_mode 384 then call hphcs_$syserr_error_code (CRASH, code, 385 "^a: Could not open switch ^a for stream_input_output.", ME, iocbp -> iocb.name); 386 else call com_err_ (code, ME, "Could not open switch ^a for stream_input_output.", iocbp -> iocb.name) 387 ; 388 end; 389 return; 390 end attach_switch; 391 392 restore_switch: 393 procedure (saved_iocb, live_iocb); 394 395 declare (saved_iocb, live_iocb) pointer; 396 397 call iox_$close (live_iocb, (0)); 398 call iox_$detach_iocb (live_iocb, (0)); 399 call iox_$move_attach (saved_iocb, live_iocb, code); 400 if code ^= 0 401 then do; 402 if ^sc_stat_$test_mode 403 then call hphcs_$syserr_error_code (CRASH, code, "^a: Could not restore attachment to switch ^a.", ME, 404 live_iocb -> iocb.name); 405 else call com_err_ (code, ME, "Could not restore attachment to switch ^a.", live_iocb -> iocb.name); 406 end; 407 call iox_$destroy_iocb (saved_iocb, (0)); 408 return; 409 end restore_switch; 410 411 412 ERROR_MASKED: 413 procedure; 414 415 if substr (old_mask, 36, 1) = "0"b 416 then call continue_to_signal_ ((0)); 417 else do; 418 if ^sc_stat_$test_mode 419 then call hphcs_$syserr (CRASH, "^a: Error while reattaching critical I/O switches.", ME); 420 else call com_err_ (0, ME, "Error while reattaching critical I/O switches."); 421 end; 422 return; 423 end ERROR_MASKED; 424 425 /* BEGIN MESSAGE DOCUMENTATION 426* 427* Message: 428* (input on SWITCH_NAME) REQUEST_LINE 429* 430* S: as (severity 0) 431* 432* T: $response 433* 434* M: Logs a REQUEST_LINE typed by the operator, or by another user via 435* the send_admin_command or send_initializer_command commands. 436* 437* A: $ignore 438* 439* Message: 440* sc_process_command_line_: Terminal SOURCE_NAME hung up during execution of 441* command. 442* 443* S: as (severity 2) 444* 445* T: $response 446* 447* M: Reports that execution of an Initializer command was interrupted when 448* the message coordinator terminal identified by SOURCE_NAME hung. 449* 450* A: $ignore 451* 452* Message: 453* sc_process_command_line_: ERROR_MESSAGE. Failed to find save iocb NAME. 454* 455* S: $sc 456* 457* T: $response 458* 459* M: $crashes $err ERROR_MESSAGE is the expansion of the system status 460* code describing the actual error. 461* 462* A: $contact 463* 464* Message: 465* sc_process_command_line_: ERROR_MESSAGE. Failed to move_attach iocb NAME. 466* 467* S: $sc 468* 469* T: $response 470* 471* M: $crashes $err ERROR_MESSAGE is the expansion of the system status 472* code describing the actual error. 473* 474* A: $contact 475* 476* Message: 477* sc_process_command_line_: ERROR_MESSAGE. Could not attach switch NAME 478* (@ LOC) using attach description DESCRIP. 479* 480* S: $sc 481* 482* T: $response 483* 484* M: $crashes $err ERROR_MESSAGE is the expansion of the system status 485* code describing the attach error. LOC gives the location of the 486* I/O Control Block (IOCB). 487* 488* A: $contact 489* 490* Message: 491* sc_process_command_line_: ERROR_MESSAGE. Could not open switch NAME for 492* stream_input_output. 493* 494* S: $sc 495* 496* T: $response 497* 498* M: $crashes $err ERROR_MESSAGE is the expansion of the system status 499* code describing the open error. 500* 501* A: $contact 502* 503* Message: 504* sc_process_command_line_: ERROR_MESSAGE. Could not restore attachment to 505* switch NAME. 506* 507* S: $sc 508* 509* T: $response 510* 511* M: $crashes $err ERROR_MESSAGE is the expansion of the system status 512* code describing the move_attach error. 513* 514* A: $contact 515* 516* Message: 517* sc_process_command_line_: Error while reattaching critical I/O switches. 518* 519* S: $sc 520* 521* T: $response 522* 523* M: $crashes $err 524* 525* A: $contact 526* 527* END MESSAGE DOCUMENTATION */ 528 1 1 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 529 530 2 1 /* BEGIN INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 2 2 2 3 /* This include file defines the priorities of all of the event channels used by the answering service. 2 4* 2 5* They are declared as named constants. They are used in calls to ipc_$decl_ev_call_chn. 2 6* The names correspond to the functions of the event call handlers. 2 7* For brevity in names, MC means message coordinator, and LOGIN includes logout as well. 2 8* 2 9* The comment on each constant lists the procedure(s) that use it to set event channel priorities. 2 10* See the code in those procedures for information on the handlers themselves 2 11* (which are entry variables in some cases, and thus could not be documented in this file). 2 12* 2 13* The priorities range from zero (highest) to 22 (lowest used by the answering service). 2 14* 2 15* The event wait channel on which the A.S. goes blocked awaiting input on the initializer console has highest 2 16* of all priorities, set by as_init_ calling ipc_$set_wait_prior. 2 17* 2 18* Written June 1981 by T. Casey for MR9.0 2 19* Modified 1984-10-15 BIM for sac -> as_request. 2 20* as_request is above login, since sac is important and 2 21* dial requests for already logged in users can take 2 22* first dibs over new logins. 2 23**/ 2 24 2 25 dcl MC_PRIO fixed bin int static options (constant) init (1); /* mc_commands_, mc_con_rec_, mc_util_, mrd_tester */ 2 26 dcl SYSERR_COPY_PRIO fixed bin int static options (constant) init (2); /* syserr_log_man_ */ 2 27 dcl SHUTDOWN_PRIO fixed bin int static options (constant) init (3); /* admin */ 2 28 dcl ACCT_UPDATE_PRIO fixed bin int static options (constant) init (4); /* act_ctl_ */ 2 29 dcl DAEMON_LOGIN_PRIO fixed bin int static options (constant) init (8); /* daemon_user_manager_ */ 2 30 dcl AS_REQUEST_PRIO fixed bin int static options (constant) init (7); /* as_request_ */ 2 31 dcl INSTALL_PRIO fixed bin int static options (constant) init (8); /* up_sysctl_ */ 2 32 dcl INT_LOGIN_PRIO fixed bin int static options (constant) init (8); /* asu_, dialup_, ftp_dialup_ */ 2 33 dcl MPX_LOAD_PRIO fixed bin int static options (constant) init (11); 2 34 /* as_vip7760_mpx_, as_mcs_mpx_, as_ibm3270_mpx_, as_hasp_mpx_ */ 2 35 dcl ABS_DEFER_PRIO fixed bin int static options (constant) init (19); /* absentee_utility_ */ 2 36 dcl ABS_LOGIN_PRIO fixed bin int static options (constant) init (20); /* abentee_user_manager_ */ 2 37 dcl CORE_FLUSH_PRIO fixed bin int static options (constant) init (22); /* as_meter_ */ 2 38 2 39 /* END INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 531 532 3 1 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 3 2 3 3 /* Modified 740723 by PG to add short AIM access names */ 3 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 3 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 3 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 3 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 3 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 3 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 3 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 3 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 3 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 3 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 3 14* strict_trusted_path. */ 3 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 3 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 3 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 3 18 3 19 3 20 /****^ HISTORY COMMENTS: 3 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 3 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 3 23* added vchn_requires_accept parameter. 3 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 3 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 26* Correct formatting problems. 3 27* END HISTORY COMMENTS */ 3 28 3 29 3 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 3 31 3 32 3 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 3 34 2 part_1 like installation_parms_part_1 aligned, 3 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 3 36 3 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 3 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 3 39 3 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 3 41 2 installation_id char (32), /* Name printed at dialup and in who */ 3 42 2 company char (64), /* company name */ 3 43 2 department char (64), /* department */ 3 44 2 companyds char (120), /* company, double spaced */ 3 45 2 departmentds char (120), /* dpeartment double spaced */ 3 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 3 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 3 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 3 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 3 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 3 51 2 ndevices fixed bin, /* number of devices to charge */ 3 52 2 devtab (16), /* Maximum 16 */ 3 53 3 device_id char (8), /* Name of device */ 3 54 3 device_price (0: 7) float bin, /* Price by shift */ 3 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 3 56 2 warning_time fixed bin, /* seconds from warning to logout */ 3 57 2 login_time fixed bin, /* seconds in which to complete login */ 3 58 2 acct_update fixed bin, /* seconds between acct update */ 3 59 2 login_tries fixed bin, /* number of login tries allowed */ 3 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 3 61 2 registration_price float bin, /* fee per month per user */ 3 62 2 dolsign char (1), /* "dollar sign" */ 3 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 3 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 3 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 3 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 3 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 3 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 3 69* Initializer will copy the syserr_log */ 3 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 3 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 3 72 2 fatal_error_loop_count fixed bin (17) unaligned, 3 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 3 74 2 term_real_time_seconds fixed bin (17) unaligned, 3 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 3 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 3 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 3 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 3 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 3 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 3 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 3 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 3 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 3 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 3 85 2 level_names (0:7) char (32), /* Names for security levels. */ 3 86 2 category_names (18) char (32), /* Names for security categories. */ 3 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 3 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 3 89 2 ncon fixed bin, /* Number of config elements. */ 3 90 2 cona (51), /* each entry is 5 words long */ 3 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 3 92 3 shift fixed bin (5) unal, /* Shift number */ 3 93 3 x1 fixed bin (23) unal, 3 94 3 kmem fixed bin (17) unal, /* Memory size */ 3 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 3 96 3 x2 fixed bin (17) unal, 3 97 3 maxa fixed bin (11) unal, /* Max abs users */ 3 98 3 maxq fixed bin (5) unal, /* Max abs q */ 3 99 3 maxu_base fixed bin (17) unal, 3 100 3 response_high fixed bin (17) unal, 3 101 3 response_low fixed bin (17) unal, 3 102 3 x3 fixed bin (17) unal, 3 103 3 104 /* Absentee control parameters. New for MR7.0 */ 3 105 3 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 3 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 3 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 3 109 3 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 3 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 3 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 3 113 3 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 3 115 3 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 3 117 3 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 3 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 3 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 3 121 2 version fixed bin (35), /* must be 2 */ 3 122 2 nrates fixed bin, /* number of rate structures */ 3 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 3 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 3 125 2 require_operator_login bit (1) aligned, /* just what it says */ 3 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 3 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 3 128* mcacs segments for operators */ 3 129 2 password_min_length fixed bin, /* minimum length of passwords */ 3 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 3 131 2 password_change_interval fixed bin, /* number of days until must change */ 3 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 3 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 3 134* "accepted" by operator if personid is not 3 135* signed on system console */ 3 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 3 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 3 138* or someone miscounted when using part of pad2 */ 3 139 3 140 3 141 /* Entries in the following array may be accessed via system_info_$resource_price. 3 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 3 143 3 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 3 145 2 name char (32), 3 146 2 price float bin; 3 147 4 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 4 2 4 3 /* Created on 04/24/78 by Michael R. Jordan */ 4 4 /* Modified 04/10/79 by C. D. Tavares */ 4 5 4 6 dcl rifp ptr; 4 7 4 8 dcl 1 rcp_init_flags based (rifp), 4 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 4 10 2 pad1 bit (2) unaligned, /* obsolete */ 4 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 4 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 4 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 4 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 4 15 4 16 dcl (No_authentication initial (0), 4 17 Nominal_authentication initial (1), 4 18 Automatic_authentication initial (2), 4 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 4 20 4 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 4 22 ("none", "nominal", "automatic", "manual"); 4 23 4 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 3 148 3 149 3 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 533 534 declare ip pointer; 535 5 1 /* BEGIN INCLUDE FILE ..... iocb.incl.pl1 ..... 13 Feb 1975, M. Asherman */ 5 2 /* Modified 11/29/82 by S. Krupp to add new entries and to change 5 3* version number to IOX2. */ 5 4 /* format: style2 */ 5 5 5 6 dcl 1 iocb aligned based, /* I/O control block. */ 5 7 2 version character (4) aligned, /* IOX2 */ 5 8 2 name char (32), /* I/O name of this block. */ 5 9 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 5 10 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 5 11 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 5 12 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 5 13 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 5 14 2 reserved bit (72), /* Reserved for future use. */ 5 15 2 detach_iocb entry (ptr, fixed (35)),/* detach_iocb(p,s) */ 5 16 2 open entry (ptr, fixed, bit (1) aligned, fixed (35)), 5 17 /* open(p,mode,not_used,s) */ 5 18 2 close entry (ptr, fixed (35)),/* close(p,s) */ 5 19 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 5 20 /* get_line(p,bufptr,buflen,actlen,s) */ 5 21 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 5 22 /* get_chars(p,bufptr,buflen,actlen,s) */ 5 23 2 put_chars entry (ptr, ptr, fixed (21), fixed (35)), 5 24 /* put_chars(p,bufptr,buflen,s) */ 5 25 2 modes entry (ptr, char (*), char (*), fixed (35)), 5 26 /* modes(p,newmode,oldmode,s) */ 5 27 2 position entry (ptr, fixed, fixed (21), fixed (35)), 5 28 /* position(p,u1,u2,s) */ 5 29 2 control entry (ptr, char (*), ptr, fixed (35)), 5 30 /* control(p,order,infptr,s) */ 5 31 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 5 32 /* read_record(p,bufptr,buflen,actlen,s) */ 5 33 2 write_record entry (ptr, ptr, fixed (21), fixed (35)), 5 34 /* write_record(p,bufptr,buflen,s) */ 5 35 2 rewrite_record entry (ptr, ptr, fixed (21), fixed (35)), 5 36 /* rewrite_record(p,bufptr,buflen,s) */ 5 37 2 delete_record entry (ptr, fixed (35)),/* delete_record(p,s) */ 5 38 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 5 39 /* seek_key(p,key,len,s) */ 5 40 2 read_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 5 41 /* read_key(p,key,len,s) */ 5 42 2 read_length entry (ptr, fixed (21), fixed (35)), 5 43 /* read_length(p,len,s) */ 5 44 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 5 45 /* open_file(p,mode,desc,not_used,s) */ 5 46 2 close_file entry (ptr, char (*), fixed bin (35)), 5 47 /* close_file(p,desc,s) */ 5 48 2 detach entry (ptr, char (*), fixed bin (35)); 5 49 /* detach(p,desc,s) */ 5 50 5 51 declare iox_$iocb_version_sentinel 5 52 character (4) aligned external static; 5 53 5 54 /* END INCLUDE FILE ..... iocb.incl.pl1 ..... */ 536 537 6 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 6 2 6 3 /* Written 05/04/78 by C. D. Tavares */ 6 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 6 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 6 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 6 7 6 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 6 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 6 10 iox_$close entry (pointer, fixed bin (35)), 6 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 6 12 iox_$delete_record entry (pointer, fixed bin (35)), 6 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 6 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 6 15 iox_$err_not_attached entry options (variable), 6 16 iox_$err_not_closed entry options (variable), 6 17 iox_$err_no_operation entry options (variable), 6 18 iox_$err_not_open entry options (variable), 6 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 6 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 6 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 6 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 6 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 6 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 6 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 6 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 6 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 6 28 iox_$propagate entry (pointer), 6 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 6 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 6 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 6 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 6 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 6 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 6 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 6 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 6 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 6 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 6 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 6 40 6 41 dcl (iox_$user_output, 6 42 iox_$user_input, 6 43 iox_$user_io, 6 44 iox_$error_output) external static pointer; 6 45 6 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 538 539 7 1 /* Begin include file ..... iox_modes.incl.pl1 */ 7 2 7 3 /* Written by C. D. Tavares, 03/17/75 */ 7 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 7 5 7 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 7 7 ("stream_input", "stream_output", "stream_input_output", 7 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 7 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 7 10 "direct_input", "direct_output", "direct_update"); 7 11 7 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 7 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 7 14 7 15 dcl (Stream_input initial (1), 7 16 Stream_output initial (2), 7 17 Stream_input_output initial (3), 7 18 Sequential_input initial (4), 7 19 Sequential_output initial (5), 7 20 Sequential_input_output initial (6), 7 21 Sequential_update initial (7), 7 22 Keyed_sequential_input initial (8), 7 23 Keyed_sequential_output initial (9), 7 24 Keyed_sequential_update initial (10), 7 25 Direct_input initial (11), 7 26 Direct_output initial (12), 7 27 Direct_update initial (13)) fixed bin int static options (constant); 7 28 7 29 /* End include file ..... iox_modes.incl.pl1 */ 540 541 8 1 /* BEGIN INCLUDE FILE ... mc_anstbl.incl.pl1 */ 8 2 8 3 8 4 /****^ HISTORY COMMENTS: 8 5* 1) change(85-12-19,MSharpe), approve(87-05-25,MCR7690), 8 6* audit(87-03-30,GDixon), install(87-08-04,MR12.1-1056): 8 7* Added the pending and virtual flags and virtual_tty_name to mc_ate; 8 8* changed mc_ate.tty_name to mc_ate.real_tty_name; added mc_ate.ls_procid, 8 9* mc_ate.ls_term_ev_chn, mc_ate.ls_resp_ev_chn, mc_ate.ls_handle. 8 10* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 8 11* audit(87-06-01,Parisek), install(87-08-04,MR12.1-1056): 8 12* Add mc_ate.vchn_requires_accept in support of virtual channels. Explicitly 8 13* declare implicit pad fields which the compile adds for element alignment 8 14* purposes. Declare mc_ansp and mc_atep, on which major structures are 8 15* based, rather than depending upon includers do to so. 8 16* 3) change(87-03-27,Parisek), approve(87-05-25,MCR7690), 8 17* audit(87-06-11,GDixon), install(87-08-04,MR12.1-1056): 8 18* Added the dsa_ring_number element to provide a constant for determining 8 19* the DSA ring. 8 20* END HISTORY COMMENTS */ 8 21 8 22 8 23 /* format: style3,idind30 */ 8 24 8 25 dcl 1 mc_anstbl based (mc_ansp) aligned, 8 26 /* Structure of answer table */ 8 27 2 max_size fixed bin, /* max number of entries table can grow */ 8 28 2 current_size fixed bin, /* actual size of table (in entries) */ 8 29 2 mc_procid bit (36), /* process ID of message coordinator */ 8 30 2 sysdir char (168), /* name of main system control directory */ 8 31 2 pad_ptrs bit (36), 8 32 2 mrtp ptr, 8 33 2 vconsp ptr, 8 34 2 cons_cont_proc entry, /* mc_tty_ */ 8 35 2 con_rec, /* Data for console recovery. */ 8 36 3 mc_ate_ptr ptr, /* Pts to recovery device. */ 8 37 3 ec_id fixed bin (71), /* Recovery event chan. */ 8 38 3 seq_num fixed bin (35), /* Syserr sequence number. */ 8 39 3 offset bit (18), /* Log entry offset. */ 8 40 3 flags, 8 41 ( 4 enabled bit (1), /* ON => recovery possible. */ 8 42 4 active bit (1), 8 43 4 pad_flags bit (16) 8 44 ) unaligned, /* ON => recovery going on. */ 8 45 2 n_sources fixed bin, /* number of communicating sources */ 8 46 2 max_sources fixed bin, /* maximum number of sources allowed */ 8 47 2 current_time fixed bin (71), /* Time of last transaction */ 8 48 2 trace bit (1) aligned, 8 49 2 dsa_ring_number fixed bin, /* DSA ring number */ 8 50 2 pad_entries (30) bit (36) aligned, 8 51 2 entry (0 refer (mc_anstbl.current_size)) aligned like mc_ate, 8 52 mc_ansp ptr; 8 53 8 54 dcl 1 mc_ate based (mc_atep) aligned, 8 55 /* declaration of a single answer table entry */ 8 56 2 flags aligned, 8 57 3 virtual bit (1) unaligned, /* 1 => login -vchn XXX */ 8 58 3 pending bit (1) unaligned, /* 1 => pending entry created for DSA channel 8 59* since we can't keep info in cdte for it */ 8 60 3 active bit (1) unaligned, 8 61 3 the_system_console bit (1) unaligned, /* otw_/ocd_ */ 8 62 3 a_system_console bit (1) unaligned, /* Not yet implemented -- a random opc through a */ 8 63 /* nonexistent I/O module */ 8 64 3 pad001 bit (1) unaligned, 8 65 3 signed_on bit (1) unaligned, 8 66 3 reply_restricted bit (1) unaligned, 8 67 3 broadcast bit (1) unaligned, 8 68 3 broadcast_all bit (1) unaligned, 8 69 3 vchn_requires_accept bit (1) unaligned, 8 70 3 pad_flags bit (25) unaligned, 8 71 2 virtual_tty_name char (32) unaligned, 8 72 2 real_tty_name char (32) unaligned, 8 73 2 pad_ptrs bit (36), 8 74 2 cdtep pointer, /* we get info from cdt */ 8 75 2 iocb pointer, /* do I/O here */ 8 76 2 sci_ptr pointer, 8 77 2 tra_vec fixed bin, 8 78 2 restrict_reply char (32), /* Source name. if "", everybody. */ 8 79 /* Broadcasting information. */ 8 80 2 n_casts fixed bin, /* If flag is 1 */ 8 81 2 cast (10) char (32), /* If flag is 1, list of consoles. */ 8 82 2 oper_info, /* for oper assigned this console... */ 8 83 3 personid char (32), 8 84 3 last_input_time fixed bin (71), /* time of last input on this console... */ 8 85 2 queue_ptr ptr, 8 86 2 queue_event fixed bin (71), 8 87 2 event fixed binary (71), /* name of event call channel associated with TTY */ 8 88 2 ls_procid bit (36), /* ID of login_server who will wake us up with connect 8 89* and disconnect -- used only for network channels */ 8 90 2 pad_ev_chn bit (36), 8 91 2 ls_term_ev_chn fixed bin (71), /* event channel to send terminate response to ls */ 8 92 2 ls_resp_ev_chn fixed bin (71), /* event channel to send operator response to ls */ 8 93 2 ls_handle bit (72), /* login server handle for this connection */ 8 94 2 authority, 8 95 3 privilege (36) bit (1) unaligned, 8 96 2 control, 8 97 3 inhibit bit (1) unal, 8 98 3 output_wait bit (1) unal, 8 99 3 output_pending bit (1) unal, 8 100 3 pad_control bit (33) unal, 8 101 mc_atep ptr; 8 102 8 103 declare ( 8 104 MC_WAIT_DIALUP init (1), 8 105 MC_WAIT_ANSWERBACK init (2), 8 106 MC_WAIT_READY init (3), 8 107 MC_WAIT_COMMAND init (4) 8 108 ) fixed bin int static options (constant); 8 109 8 110 /* END INCLUDE FILE ... mc_anstbl.incl.pl1 */ 542 543 9 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 9 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 9 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 9 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 10* Reorganized by type of data to improve readability. 9 11* END HISTORY COMMENTS */ 9 12 9 13 9 14 /* ACCESS NAMES */ 9 15 dcl ( 9 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 9 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 9 18 ) char(32) ext static; 9 19 9 20 /* PATHNAMES */ 9 21 dcl ( 9 22 sc_stat_$info_dir, /* admin info segs directory */ 9 23 sc_stat_$log_dir, /* as log segs directory */ 9 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 9 25 sc_stat_$sysdir /* system control directory */ 9 26 ) char(168) ext static; 9 27 9 28 /* OTHER CHAR STRINGS */ 9 29 dcl ( 9 30 sc_stat_$master_channel /* Master TTY channel. */ 9 31 ) char(6) aligned ext static; 9 32 9 33 /* LABELS */ 9 34 dcl ( 9 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 9 36 /* ssu_$null_label unless */ 9 37 /* admin_listener is active. */ 9 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 9 39 /* attributable to a particular */ 9 40 /* command. */ 9 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 9 42 ) label variable ext static; 9 43 9 44 /* POINTERS TO */ 9 45 dcl ( 9 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 9 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 9 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 9 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 9 50 /* by sys_log_. */ 9 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 9 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 9 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 9 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 9 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 9 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 9 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 9 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 9 59 ) ptr ext static; 9 60 9 61 /* SWITCHES */ 9 62 dcl ( 9 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 9 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 9 65 sc_stat_$Multics, /* TRUE after answering service started */ 9 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 9 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 9 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 9 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 9 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 9 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 9 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 9 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 9 74 /* if PNT not yet available. */ 9 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 9 76 sc_stat_$test_mode, /* TRUE if in test environment */ 9 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 9 78 /* by operator signed on system console*/ 9 79 ) bit(1) aligned ext static; 9 80 9 81 9 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 544 545 10 1 /* BEGIN: sc_subsystem_info_.incl.pl1 * * * * * */ 10 2 10 3 /* format:style3,idind30 */ 10 4 10 5 /* Created 1984-10-24 BIM */ 10 6 /* Modified 1985-01-07, BIM: access control flags that track admin and X */ 10 7 /* Modified 1985-02-18, E. Swenson to save away abort_line procedure. */ 10 8 10 9 10 10 /****^ HISTORY COMMENTS: 10 11* 1) change(87-02-17,GDixon), approve(87-07-03,MCR7680), 10 12* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 10 13* Correct formatting problems. Add sc_subsystem_info.flags.dont_mask_calls 10 14* switch. 10 15* 2) change(87-07-03,GDixon), approve(87-07-03,MCR7680), 10 16* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 10 17* Removed dont_mask_calls flag. It is no longer needed to correctly perform 10 18* masking on a per-request basis. 10 19* END HISTORY COMMENTS */ 10 20 10 21 10 22 declare sc_subsystem_info_ptr pointer; 10 23 declare 1 sc_subsystem_info aligned based (sc_subsystem_info_ptr), 10 24 2 restriction_flags bit (36) aligned, /* copied from mc atep or fabricated */ 10 25 2 flags aligned, 10 26 3 no_real_tty bit (1) unaligned, /* for sc_admin_command_ */ 10 27 3 print_ready bit (1) unal, /* on for all except the system console, */ 10 28 /* instructs sc_process_command_line_ to deal */ 10 29 /* with the prompt */ 10 30 3 the_system_console bit (1) unal, /* syserr messages are printed here (but console */ 10 31 /* recover doesn't try to fix this) copied here */ 10 32 /* from the mc_ate to save other looking in there*/ 10 33 3 printer_offed bit (1) unal, /* suppress logging */ 10 34 3 pad bit (32) unaligned, 10 35 2 source_name char (32) unaligned, 10 36 2 area_ptr pointer, 10 37 2 mc_atep pointer, /* needed to play with attachments */ 10 38 2 real_iocb pointer, /* for sc_signal_io_handler_ */ 10 39 2 hangup_entry entry (pointer) variable, 10 40 /* called on io_no_permission. */ 10 41 2 real_execute_line entry (ptr, ptr, fixed bin (21), fixed bin (35)), 10 42 2 real_locate_request entry (ptr, char (*), ptr, fixed bin (35)), 10 43 2 access_control_name char (32) unaligned, 10 44 2 real_invoke_request entry, /* since MR11 ssu_ lacks the ability to abort a */ 10 45 /* single request, we have an invoke_request that*/ 10 46 /* handles a condition to unwind the request */ 10 47 2 abort_request_label label, /* go here (nonlocally) to unwind a single request */ 10 48 2 real_abort_line entry options (variable); 10 49 10 50 declare sc_ss_area area based (sc_subsystem_info.area_ptr); 10 51 10 52 /* The following defines the user flags for the request table. */ 10 53 10 54 declare sc_rf_ptr pointer; 10 55 declare 1 sc_request_flags unaligned based (sc_rf_ptr), 10 56 2 dont_parse_arguments bit, /* reply, intercom */ 10 57 2 obsolete bit, /* warn opr to not use it */ 10 58 2 dont_mask_calls bit, /* this runs without masking ev calls */ 10 59 2 requires_as bit, /* not before AS */ 10 60 2 requires_no_as bit, /* only before AS */ 10 61 2 complete_disks_first bit, /* try to mount disks */ 10 62 2 no_login_needed bit, /* sign_on */ 10 63 2 pad bit (5), 10 64 2 restriction_type fixed bin (6) unsigned; 10 65 /* index into restriction flag string */ 10 66 10 67 10 68 /* END OF: sc_subsystem_info_.incl.pl1 * * * * * */ 546 547 11 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 11 2 11 3 11 4 /****^ HISTORY COMMENTS: 11 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 11 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 11 7* Added sl_info structure and associated named constants for use in calling 11 8* sys_log_$general. 11 9* END HISTORY COMMENTS */ 11 10 11 11 11 12 /* format: style4 */ 11 13 11 14 dcl ( 11 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 11 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 11 17 SL_TYPE init (-1), /* type message */ 11 18 SL_LOG_SILENT init (0), /* log message */ 11 19 SL_LOG init (1), /* log & type message */ 11 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 11 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 11 22 ) fixed bin internal static options (constant); 11 23 11 24 dcl 1 sl_info aligned automatic, 11 25 2 version char(8), /* structure version */ 11 26 2 arg_list_ptr ptr, /* arg_list with values */ 11 27 2 loc, 11 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 11 29 /* These flags control where the corresponding data item is found.*/ 11 30 /* -1: data appears in the corresponding structure element below */ 11 31 /* 0: data is not present anywhere */ 11 32 /* +N: data is Nth item in argument list pointed to by */ 11 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 11 34 /* corresponding structure element. */ 11 35 /* if data = +N: */ 11 36 /* argN is data_ptr, argN+1 is data_len */ 11 37 /* if ioa_msg = +N: */ 11 38 /* argN+1, ... argLAST are arguments substituted into the */ 11 39 /* ioa_msg control string. The formatted msg is returned. */ 11 40 2 flags, 11 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 11 42 3 flags_pad bit(35) unal, 11 43 2 mode fixed bin, /* as-mode, command-mode */ 11 44 2 severity fixed bin, /* error severity */ 11 45 2 code fixed bin(35), /* error table code */ 11 46 2 caller char(65) varying, /* caller refname$entryname*/ 11 47 2 data, /* binary data ptr/length */ 11 48 3 data_ptr ptr, 11 49 3 data_lth fixed bin(21), 11 50 2 class char(10) varying, /* binary data class */ 11 51 2 ioa_msg char(500) varying; /* formatted message text */ 11 52 11 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 54 /* */ 11 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 11 56 /* their data types should be as shown in the structure above, except that */ 11 57 /* character strings should be char(*) nonvarying. */ 11 58 /* */ 11 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 60 11 61 /* value for sl_info.version */ 11 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 11 63 11 64 /* values for sl_info.mode */ 11 65 dcl (SL_INFO_as_mode init(1), 11 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 11 67 11 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 11 69 dcl (SL_INFO_arg_given_in_structure init(-1), 11 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 11 71 11 72 11 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 74 /* */ 11 75 /* The following static structures are commonly used in the Login Server */ 11 76 /* user control software. */ 11 77 /* */ 11 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 11 79 11 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 11 81 11 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 11 83 2 version char(8) init ("sl_info1"), 11 84 2 arg_list_ptr ptr init (null), 11 85 2 loc, 11 86 3 (mode init (-1), 11 87 severity init ( 1), 11 88 code init ( 2), 11 89 caller init (-1), 11 90 data init ( 0), 11 91 class init ( 0), 11 92 ioa_msg init ( 3)) fixed bin, 11 93 2 flags, 11 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 95 3 flags_pad bit(35) unal init ("0"b), 11 96 2 mode fixed bin init ( 1), 11 97 2 severity fixed bin init ( 0), 11 98 2 code fixed bin(35) init ( 0), 11 99 2 caller char(65) varying init (""), 11 100 2 data, 11 101 3 data_ptr ptr init (null), 11 102 3 data_lth fixed bin(21) init ( 0), 11 103 2 class char(10) varying init (""), 11 104 2 ioa_msg char(500) varying init (""); 11 105 11 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 11 107 11 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 11 109 2 version char(8) init ("sl_info1"), 11 110 2 arg_list_ptr ptr init (null), 11 111 2 loc, 11 112 3 (mode init (-1), 11 113 severity init ( 1), 11 114 code init ( 0), 11 115 caller init (-1), 11 116 data init ( 0), 11 117 class init ( 0), 11 118 ioa_msg init ( 2)) fixed bin, 11 119 2 flags, 11 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 121 3 flags_pad bit(35) unal init ("0"b), 11 122 2 mode fixed bin init ( 1), 11 123 2 severity fixed bin init ( 0), 11 124 2 code fixed bin(35) init ( 0), 11 125 2 caller char(65) varying init (""), 11 126 2 data, 11 127 3 data_ptr ptr init (null), 11 128 3 data_lth fixed bin(21) init ( 0), 11 129 2 class char(10) varying init (""), 11 130 2 ioa_msg char(500) varying init (""); 11 131 11 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 11 133 11 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 11 135 2 version char(8) init ("sl_info1"), 11 136 2 arg_list_ptr ptr init (null), 11 137 2 loc, 11 138 3 (mode init (-1), 11 139 severity init ( 1), 11 140 code init ( 0), 11 141 caller init (-1), 11 142 data init ( 0), 11 143 class init ( 0), 11 144 ioa_msg init ( 2)) fixed bin, 11 145 2 flags, 11 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 11 147 3 flags_pad bit(35) unal init ("0"b), 11 148 2 mode fixed bin init ( 1), 11 149 2 severity fixed bin init ( 0), 11 150 2 code fixed bin(35) init ( 0), 11 151 2 caller char(65) varying init (""), 11 152 2 data, 11 153 3 data_ptr ptr init (null), 11 154 3 data_lth fixed bin(21) init ( 0), 11 155 2 class char(10) varying init (""), 11 156 2 ioa_msg char(500) varying init (""); 11 157 11 158 11 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 11 160 11 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 11 162 2 version char(8) init ("sl_info1"), 11 163 2 arg_list_ptr ptr init (null), 11 164 2 loc, 11 165 3 (mode init (-1), 11 166 severity init ( 1), 11 167 code init ( 2), 11 168 caller init (-1), 11 169 data init ( 0), 11 170 class init ( 0), 11 171 ioa_msg init ( 4)) fixed bin, 11 172 2 flags, 11 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 174 3 flags_pad bit(35) unal init ("0"b), 11 175 2 mode fixed bin init ( 1), 11 176 2 severity fixed bin init ( 0), 11 177 2 code fixed bin(35) init ( 0), 11 178 2 caller char(65) varying init (""), 11 179 2 data, 11 180 3 data_ptr ptr init (null), 11 181 3 data_lth fixed bin(21) init ( 0), 11 182 2 class char(10) varying init (""), 11 183 2 ioa_msg char(500) varying init (""); 11 184 11 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 11 186 11 187 dcl 1 sl_info_code_msg aligned int static options(constant), 11 188 2 version char(8) init ("sl_info1"), 11 189 2 arg_list_ptr ptr init (null), 11 190 2 loc, 11 191 3 (mode init (-1), 11 192 severity init (-1), 11 193 code init ( 1), 11 194 caller init (-1), 11 195 data init ( 0), 11 196 class init ( 0), 11 197 ioa_msg init ( 2)) fixed bin, 11 198 2 flags, 11 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 200 3 flags_pad bit(35) unal init ("0"b), 11 201 2 mode fixed bin init ( 1), 11 202 2 severity fixed bin init ( 0), 11 203 2 code fixed bin(35) init ( 0), 11 204 2 caller char(65) varying init (""), 11 205 2 data, 11 206 3 data_ptr ptr init (null), 11 207 3 data_lth fixed bin(21) init ( 0), 11 208 2 class char(10) varying init (""), 11 209 2 ioa_msg char(500) varying init (""); 11 210 11 211 11 212 /* Syntax: call Trace (ioa_ctl, args); */ 11 213 11 214 dcl 1 sl_info_msg aligned int static options(constant), 11 215 2 version char(8) init ("sl_info1"), 11 216 2 arg_list_ptr ptr init (null), 11 217 2 loc, 11 218 3 (mode init (-1), 11 219 severity init (-1), 11 220 code init ( 0), 11 221 caller init (-1), 11 222 data init ( 0), 11 223 class init ( 0), 11 224 ioa_msg init ( 1)) fixed bin, 11 225 2 flags, 11 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 11 227 3 flags_pad bit(35) unal init ("0"b), 11 228 2 mode fixed bin init ( 1), 11 229 2 severity fixed bin init ( 0), 11 230 2 code fixed bin(35) init ( 0), 11 231 2 caller char(65) varying init (""), 11 232 2 data, 11 233 3 data_ptr ptr init (null), 11 234 3 data_lth fixed bin(21) init ( 0), 11 235 2 class char(10) varying init (""), 11 236 2 ioa_msg char(500) varying init (""); 11 237 11 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 548 549 12 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 12 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 12 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 12 4 12 5 /* This include file has an ALM version. Keep 'em in sync! */ 12 6 12 7 dcl ( 12 8 12 9 /* The following constants define the message action codes. This indicates 12 10*how a message is to be handled. */ 12 11 12 12 SYSERR_CRASH_SYSTEM init (1), 12 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 12 14 12 15 SYSERR_TERMINATE_PROCESS init (2), 12 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 12 17 12 18 SYSERR_PRINT_WITH_ALARM init (3), 12 19 BEEP init (3), /* Beep and print the message on the console. */ 12 20 12 21 SYSERR_PRINT_ON_CONSOLE init (0), 12 22 ANNOUNCE init (0), /* Just print the message on the console. */ 12 23 12 24 SYSERR_LOG_OR_PRINT init (4), 12 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 12 26 12 27 SYSERR_LOG_OR_DISCARD init (5), 12 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 12 29 12 30 12 31 /* The following constants are added to the normal severities to indicate 12 32*different sorting classes of messages. */ 12 33 12 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 12 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 12 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 12 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 12 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 12 39 ) fixed bin internal static options (constant); 12 40 12 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 550 551 552 end sc_process_command_line_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0809.2 sc_process_command_line_.pl1 >spec>install>1112>sc_process_command_line_.pl1 529 1 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 531 2 01/21/85 0912.2 as_wakeup_priorities.incl.pl1 >ldd>include>as_wakeup_priorities.incl.pl1 533 3 08/06/87 0913.4 installation_parms.incl.pl1 >ldd>include>installation_parms.incl.pl1 3-148 4 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 536 5 05/20/83 1846.4 iocb.incl.pl1 >ldd>include>iocb.incl.pl1 538 6 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.incl.pl1 540 7 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 542 8 08/06/87 0913.5 mc_anstbl.incl.pl1 >ldd>include>mc_anstbl.incl.pl1 544 9 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.incl.pl1 546 10 08/06/87 0913.5 sc_subsystem_info_.incl.pl1 >ldd>include>sc_subsystem_info_.incl.pl1 548 11 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 550 12 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.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. CRASH 000052 constant fixed bin(17,0) initial dcl 12-7 set ref 348* 357* 373* 383* 402* 418* Line_lth parameter fixed bin(21,0) dcl 89 ref 62 154 161 168 178 Line_ptr parameter pointer dcl 88 ref 62 154 161 168 177 MC_PRIO 000052 constant fixed bin(17,0) initial dcl 2-25 set ref 328* ME 000000 constant char(32) initial packed unaligned dcl 133 set ref 348* 350* 357* 359* 373* 377* 383* 386* 402* 405* 418* 420* NL constant char(1) initial packed unaligned dcl 135 ref 232 232 SCI_ptr parameter pointer dcl 87 ref 62 154 161 168 175 SL_LOG_BEEP 000051 constant fixed bin(17,0) initial dcl 11-14 set ref 257* SL_LOG_SILENT 000045 constant fixed bin(17,0) initial dcl 11-14 set ref 231* Stream_input_output 000047 constant fixed bin(17,0) initial dcl 7-15 set ref 380* abort_request_label 50 based label variable level 2 dcl 10-23 set ref 237* access_control_name 34 based char(32) level 2 packed packed unaligned dcl 10-23 set ref 216* addr builtin function dcl 140 ref 328 328 any_other 000000 stack reference condition dcl 138 ref 279 309 as_data_$rs_ptrs 000056 external static pointer array dcl 1-49 ref 211 247 atd parameter char packed unaligned dcl 368 set ref 364 370* 373* 377* cleanup 000150 stack reference condition dcl 137 ref 187 clock builtin function dcl 141 ref 211 225 code 000100 automatic fixed bin(35,0) dcl 91 set ref 179* 239* 242* 330* 345* 346 348* 350* 354* 355 357* 359* 370* 371 373* 377* 380* 381 383* 386* 399* 400 402* 405* codeptr builtin function dcl 142 ref 287 287 370 370 com_err_ 000010 constant entry external dcl 112 ref 350 359 377 386 405 420 cons_cont_proc 62 based entry variable level 2 dcl 8-25 set ref 328* continue_to_signal_ 000012 constant entry external dcl 113 ref 415 cu_$cp 000014 constant entry external dcl 114 ref 239 ev_calls_masked_code 000101 automatic fixed bin(35,0) dcl 92 set ref 185* ev_calls_unmasked_code 000102 automatic fixed bin(35,0) dcl 92 set ref 186* event 200 based fixed bin(71,0) level 2 dcl 8-54 set ref 299* 328* flags 1 based structure level 2 in structure "sc_subsystem_info" dcl 10-23 in procedure "sc_process_command_line_" flags based structure level 2 in structure "mc_ate" dcl 8-54 in procedure "sc_process_command_line_" hangup_entry 20 based entry variable level 2 dcl 10-23 set ref 236* hcs_$reset_ips_mask 000022 constant entry external dcl 117 ref 303 333 hcs_$set_ips_mask 000020 constant entry external dcl 116 ref 281 310 hcs_$wakeup 000016 constant entry external dcl 115 ref 330 hphcs_$syserr 000026 constant entry external dcl 119 ref 418 hphcs_$syserr_error_code 000024 constant entry external dcl 118 ref 348 357 373 383 402 hungup 000103 automatic bit(1) dcl 94 set ref 238* 257 271* installation_parms based structure level 1 dcl 3-33 installation_parms_part_1 based structure level 1 dcl 3-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 3-144 ioa_$ioa_switch 000030 constant entry external dcl 120 ref 220 232 245 247 iocb based structure level 1 dcl 5-6 iocb_name parameter varying char(32) dcl 341 ref 337 344 iocbp parameter pointer dcl 367 set ref 364 370* 373 373* 377 377* 380* 383 386 iox_$attach_ptr 000060 constant entry external dcl 6-8 ref 287 370 iox_$close 000062 constant entry external dcl 6-8 ref 352 397 iox_$destroy_iocb 000064 constant entry external dcl 6-8 ref 321 407 iox_$detach_iocb 000066 constant entry external dcl 6-8 ref 319 353 398 iox_$error_output 000104 external static pointer dcl 6-41 set ref 294* 315* iox_$find_iocb 000070 constant entry external dcl 6-8 ref 285 345 iox_$init_standard_iocbs 000032 constant entry external dcl 121 ref 297 iox_$move_attach 000072 constant entry external dcl 6-8 ref 286 320 354 399 iox_$open 000074 constant entry external dcl 6-8 ref 380 iox_$user_input 000100 external static pointer dcl 6-41 set ref 292* 313* iox_$user_io 000102 external static pointer dcl 6-41 set ref 286* 287* 291* 296* 312* 319* 320* iox_$user_output 000076 external static pointer dcl 6-41 set ref 293* 314* ipc_$decl_ev_wait_chn 000034 constant entry external dcl 122 ref 299 ipc_$decl_event_call_chn 000036 constant entry external dcl 123 ref 328 last_input_time 172 based fixed bin(71,0) level 3 dcl 8-54 set ref 211 225* lg_ctl_$logout_operator 000040 constant entry external dcl 124 ref 217 line_lth 000106 automatic fixed bin(21,0) dcl 96 set ref 178* 207 207 231 231 232 232 239* 242* line_ptr 000104 automatic pointer dcl 95 set ref 177* 207 231 232 232 239* 242* live_iocb parameter pointer dcl 340 in procedure "save_switch" set ref 337 354* live_iocb parameter pointer dcl 395 in procedure "restore_switch" set ref 392 397* 398* 399* 402 405 mc_ansp 000156 automatic pointer dcl 8-25 set ref 327* 328 330 mc_anstbl based structure level 1 dcl 8-25 mc_ate based structure level 1 dcl 8-54 set ref 328 328 mc_atep 14 based pointer level 2 in structure "sc_subsystem_info" dcl 10-23 in procedure "sc_process_command_line_" ref 193 mc_atep 000160 automatic pointer dcl 8-54 in procedure "sc_process_command_line_" set ref 193* 205 207* 209 211 215* 225 228 231 232 247 247 247 299 299 299 324 324 328 328 328 330 mc_commands_$note_input 000042 constant entry external dcl 125 ref 207 mc_commands_$sign_out 000044 constant entry external dcl 127 ref 215 mc_procid 2 based bit(36) level 2 dcl 8-25 set ref 330* multics_switch 000107 automatic bit(1) dcl 97 set ref 149* 157* 164* 173* 239 name 1 based char(32) level 2 dcl 5-6 set ref 373* 377* 383* 386* 402* 405* no_real_tty 1 based bit(1) level 3 packed packed unaligned dcl 10-23 ref 228 null builtin function dcl 143 ref 184 205 228 243 299 324 old_mask 000110 automatic bit(36) dcl 98 set ref 278* 281* 303* 303* 310* 333* 333* 415 old_operator_name 000111 automatic char(32) packed unaligned dcl 99 set ref 215* 217* 220* oper_info 162 based structure level 2 dcl 8-54 operator_inactive_time 2036 based fixed bin(17,0) level 3 dcl 3-33 ref 211 part_1 based structure level 2 dcl 3-33 personid 162 based char(32) level 3 dcl 8-54 set ref 247* print_ready 1(01) based bit(1) level 3 packed packed unaligned dcl 10-23 ref 243 printer_offed 1(03) based bit(1) level 3 packed packed unaligned dcl 10-23 set ref 194* queue_event 176 based fixed bin(71,0) level 2 dcl 8-54 set ref 330* rcp_init_flags based structure level 1 packed packed unaligned dcl 4-8 real_iocb 16 based pointer level 2 dcl 10-23 set ref 220* 243 245* 247* 285* 286* 288* 288 320* 321* real_tty_name 11 based char(32) level 2 packed packed unaligned dcl 8-54 set ref 231* 232* request_line based char packed unaligned dcl 100 set ref 207* 231* 232 232 require_operator_login 2035 based bit(1) level 3 dcl 3-33 ref 247 rtrim builtin function dcl 144 ref 232 232 344 save_iocb parameter pointer dcl 340 set ref 337 345* 352* 353* 354* save_name 000114 automatic char(32) packed unaligned dcl 342 set ref 344* 345* 348* 350* 357* 359* saved_admin_sci_ptr 000132 automatic pointer dcl 105 set ref 182* 190 254 saved_error_output 000126 automatic pointer dcl 103 set ref 184* 294* 315* saved_iocb parameter pointer dcl 395 set ref 392 399* 407* saved_user_input 000124 automatic pointer dcl 102 set ref 184* 292* 313* saved_user_io 000122 automatic pointer dcl 101 set ref 184* 291* 312* saved_user_output 000130 automatic pointer dcl 104 set ref 184* 293* 314* sc_stat_$Multics 000116 external static bit(1) dcl 9-62 ref 209 245 sc_stat_$admin_log_iocb 000110 external static pointer dcl 9-45 set ref 232* sc_stat_$admin_sci_ptr 000112 external static pointer dcl 9-45 set ref 182 190* 203* 254* sc_stat_$mc_ansp 000114 external static pointer dcl 9-45 ref 327 sc_stat_$mc_is_on 000120 external static bit(1) dcl 9-62 ref 205 sc_stat_$test_mode 000122 external static bit(1) dcl 9-62 ref 348 357 373 383 402 418 sc_stat_$unidentified_access_name 000106 external static char(32) packed unaligned dcl 9-15 ref 216 sc_subsystem_info based structure level 1 dcl 10-23 sc_subsystem_info_ptr 000162 automatic pointer dcl 10-22 set ref 181* 193 194 216 217* 220 228 236 237 243 243 245 247 257 285 286 288 288 320 321 sci_ptr 000134 automatic pointer dcl 106 set ref 175* 181* 203 242* signed_on 0(06) based bit(1) level 3 packed packed unaligned dcl 8-54 set ref 209 247* 247 source_name 2 based char(32) level 2 packed packed unaligned dcl 10-23 set ref 257* ssu_$execute_line 000050 constant entry external dcl 129 ref 242 ssu_$get_info_ptr 000046 constant entry external dcl 128 ref 181 substr builtin function dcl 145 ref 415 switch_unique 000136 automatic char(30) packed unaligned dcl 107 set ref 183* 344 sys_log_ 000052 constant entry external dcl 130 ref 231 257 test_switch 000146 automatic bit(1) dcl 108 set ref 148* 158* 165* 174* 283 317 the_system_console 0(03) based bit(1) level 3 packed packed unaligned dcl 8-54 set ref 299 324 unique_chars_ 000054 constant entry external dcl 131 ref 183 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_DEFER_PRIO internal static fixed bin(17,0) initial dcl 2-35 ABS_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-36 ACCT_UPDATE_PRIO internal static fixed bin(17,0) initial dcl 2-28 ANNOUNCE internal static fixed bin(17,0) initial dcl 12-7 AS_REQUEST_PRIO internal static fixed bin(17,0) initial dcl 2-30 Automatic_authentication internal static fixed bin(17,0) initial dcl 4-16 BEEP internal static fixed bin(17,0) initial dcl 12-7 CORE_FLUSH_PRIO internal static fixed bin(17,0) initial dcl 2-37 DAEMON_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-29 Direct_input internal static fixed bin(17,0) initial dcl 7-15 Direct_output internal static fixed bin(17,0) initial dcl 7-15 Direct_update internal static fixed bin(17,0) initial dcl 7-15 INSTALL_PRIO internal static fixed bin(17,0) initial dcl 2-31 INT_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-32 JUST_LOG internal static fixed bin(17,0) initial dcl 12-7 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 7-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 7-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 7-15 LOG internal static fixed bin(17,0) initial dcl 12-7 MC_WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 8-103 MC_WAIT_COMMAND internal static fixed bin(17,0) initial dcl 8-103 MC_WAIT_DIALUP internal static fixed bin(17,0) initial dcl 8-103 MC_WAIT_READY internal static fixed bin(17,0) initial dcl 8-103 MPX_LOAD_PRIO internal static fixed bin(17,0) initial dcl 2-33 Manual_authentication internal static fixed bin(17,0) initial dcl 4-16 No_authentication internal static fixed bin(17,0) initial dcl 4-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 4-16 SHUTDOWN_PRIO internal static fixed bin(17,0) initial dcl 2-27 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 11-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 11-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 11-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 11-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 11-62 SL_LOG internal static fixed bin(17,0) initial dcl 11-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 11-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 11-14 SYSERR_COPY_PRIO internal static fixed bin(17,0) initial dcl 2-26 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 12-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 12-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 12-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 12-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 12-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 12-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 12-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 12-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 12-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 12-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 12-7 Sequential_input internal static fixed bin(17,0) initial dcl 7-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 7-15 Sequential_output internal static fixed bin(17,0) initial dcl 7-15 Sequential_update internal static fixed bin(17,0) initial dcl 7-15 Stream_input internal static fixed bin(17,0) initial dcl 7-15 Stream_output internal static fixed bin(17,0) initial dcl 7-15 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 12-7 as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) packed unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) packed unaligned dcl 1-25 as_data_$ansp external static pointer dcl 1-26 as_data_$as_procid external static bit(36) dcl 1-27 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) packed unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$cdtp external static pointer dcl 1-33 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) packed unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 1-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 1-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 1-44 as_data_$pdtdir external static char(168) packed unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) packed unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array packed unaligned dcl 1-53 as_data_$sysdir external static char(168) packed unaligned dcl 1-54 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) packed unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) packed unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 authentication_level_names internal static char(12) initial array packed unaligned dcl 4-21 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 3-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 3-38 iox_$attach_loud 000000 constant entry external dcl 6-8 iox_$attach_name 000000 constant entry external dcl 6-8 iox_$close_file 000000 constant entry external dcl 6-8 iox_$control 000000 constant entry external dcl 6-8 iox_$delete_record 000000 constant entry external dcl 6-8 iox_$detach 000000 constant entry external dcl 6-8 iox_$err_no_operation 000000 constant entry external dcl 6-8 iox_$err_not_attached 000000 constant entry external dcl 6-8 iox_$err_not_closed 000000 constant entry external dcl 6-8 iox_$err_not_open 000000 constant entry external dcl 6-8 iox_$find_iocb_n 000000 constant entry external dcl 6-8 iox_$get_chars 000000 constant entry external dcl 6-8 iox_$get_line 000000 constant entry external dcl 6-8 iox_$iocb_version_sentinel external static char(4) dcl 5-51 iox_$look_iocb 000000 constant entry external dcl 6-8 iox_$modes 000000 constant entry external dcl 6-8 iox_$open_file 000000 constant entry external dcl 6-8 iox_$position 000000 constant entry external dcl 6-8 iox_$propagate 000000 constant entry external dcl 6-8 iox_$put_chars 000000 constant entry external dcl 6-8 iox_$read_key 000000 constant entry external dcl 6-8 iox_$read_length 000000 constant entry external dcl 6-8 iox_$read_record 000000 constant entry external dcl 6-8 iox_$rewrite_record 000000 constant entry external dcl 6-8 iox_$seek_key 000000 constant entry external dcl 6-8 iox_$write_record 000000 constant entry external dcl 6-8 iox_modes internal static char(24) initial array dcl 7-6 ip automatic pointer dcl 534 rifp automatic pointer dcl 4-6 sc_request_flags based structure level 1 packed packed unaligned dcl 10-55 sc_rf_ptr automatic pointer dcl 10-54 sc_ss_area based area(1024) dcl 10-50 sc_stat_$Go external static bit(1) dcl 9-62 sc_stat_$Go_typed external static bit(1) dcl 9-62 sc_stat_$Multics_typed external static bit(1) dcl 9-62 sc_stat_$Star_typed external static bit(1) dcl 9-62 sc_stat_$admin_listener_exit_label external static label variable dcl 9-34 sc_stat_$admin_listener_switch external static bit(1) dcl 9-62 sc_stat_$admin_log_write_ptr external static pointer dcl 9-45 sc_stat_$as_log_write_ptr external static pointer dcl 9-45 sc_stat_$did_part1 external static bit(1) dcl 9-62 sc_stat_$did_part2 external static bit(1) dcl 9-62 sc_stat_$did_part3 external static bit(1) dcl 9-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 9-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$initzer_ttyp external static pointer dcl 9-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$master_abort_label external static label variable dcl 9-34 sc_stat_$master_channel external static char(6) dcl 9-29 sc_stat_$master_iocb external static pointer dcl 9-45 sc_stat_$master_sci_ptr external static pointer dcl 9-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$mc_iocb external static pointer dcl 9-45 sc_stat_$no_operator_login external static bit(1) dcl 9-62 sc_stat_$shutdown_typed external static bit(1) dcl 9-62 sc_stat_$sv1_iocb external static pointer dcl 9-45 sc_stat_$sv2_iocb external static pointer dcl 9-45 sc_stat_$sv3_iocb external static pointer dcl 9-45 sc_stat_$sysdir external static char(168) packed unaligned dcl 9-21 sc_stat_$system_shutdown_label external static label variable dcl 9-34 sc_stat_$vchn_requires_accept external static bit(1) dcl 9-62 short_iox_modes internal static char(4) initial array dcl 7-12 sl_info automatic structure level 1 dcl 11-24 sl_info_code_msg internal static structure level 1 dcl 11-187 sl_info_msg internal static structure level 1 dcl 11-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 11-161 sl_info_sev_code_msg internal static structure level 1 dcl 11-82 sl_info_sev_coded_msg internal static structure level 1 dcl 11-134 sl_info_sev_msg internal static structure level 1 dcl 11-108 NAMES DECLARED BY EXPLICIT CONTEXT. ABORT_LABEL 001275 constant label dcl 254 set ref 237 273 COMMON 000473 constant label dcl 175 ref 150 159 166 ERROR_MASKED 003154 constant entry internal dcl 412 ref 279 309 HANGUP 001340 constant entry internal dcl 262 ref 236 HANGUP_UNWIND 001334 constant label dcl 271 ref 268 RESTORE_ATTACHMENTS 001713 constant entry internal dcl 306 ref 189 256 SAVE_ATTACHMENTS 001351 constant entry internal dcl 275 ref 199 attach_switch 002470 constant entry internal dcl 364 ref 296 multics_command 000463 constant entry external dcl 168 restore_switch 002774 constant entry internal dcl 392 ref 312 313 314 315 save_switch 002170 constant entry internal dcl 337 ref 291 292 293 294 sc_process_command_line_ 000423 constant entry external dcl 62 ref 287 287 370 370 test 000435 constant entry external dcl 154 test_multics 000450 constant entry external dcl 161 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4016 4142 3252 4026 Length 4704 3252 124 525 544 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME sc_process_command_line_ 192 external procedure is an external procedure. on unit on line 187 64 on unit HANGUP 64 internal procedure is assigned to an entry variable. SAVE_ATTACHMENTS 222 internal procedure enables or reverts conditions. on unit on line 279 64 on unit RESTORE_ATTACHMENTS 156 internal procedure enables or reverts conditions. on unit on line 309 64 on unit save_switch internal procedure shares stack frame of internal procedure SAVE_ATTACHMENTS. attach_switch internal procedure shares stack frame of internal procedure SAVE_ATTACHMENTS. restore_switch internal procedure shares stack frame of internal procedure RESTORE_ATTACHMENTS. ERROR_MASKED 98 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME SAVE_ATTACHMENTS 000114 save_name save_switch sc_process_command_line_ 000100 code sc_process_command_line_ 000101 ev_calls_masked_code sc_process_command_line_ 000102 ev_calls_unmasked_code sc_process_command_line_ 000103 hungup sc_process_command_line_ 000104 line_ptr sc_process_command_line_ 000106 line_lth sc_process_command_line_ 000107 multics_switch sc_process_command_line_ 000110 old_mask sc_process_command_line_ 000111 old_operator_name sc_process_command_line_ 000122 saved_user_io sc_process_command_line_ 000124 saved_user_input sc_process_command_line_ 000126 saved_error_output sc_process_command_line_ 000130 saved_user_output sc_process_command_line_ 000132 saved_admin_sci_ptr sc_process_command_line_ 000134 sci_ptr sc_process_command_line_ 000136 switch_unique sc_process_command_line_ 000146 test_switch sc_process_command_line_ 000156 mc_ansp sc_process_command_line_ 000160 mc_atep sc_process_command_line_ 000162 sc_subsystem_info_ptr sc_process_command_line_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op shorten_stack ext_entry int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ continue_to_signal_ cu_$cp hcs_$reset_ips_mask hcs_$set_ips_mask hcs_$wakeup hphcs_$syserr hphcs_$syserr_error_code ioa_$ioa_switch iox_$attach_ptr iox_$close iox_$destroy_iocb iox_$detach_iocb iox_$find_iocb iox_$init_standard_iocbs iox_$move_attach iox_$open ipc_$decl_ev_wait_chn ipc_$decl_event_call_chn lg_ctl_$logout_operator mc_commands_$note_input mc_commands_$sign_out ssu_$execute_line ssu_$get_info_ptr sys_log_ unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$rs_ptrs iox_$error_output iox_$user_input iox_$user_io iox_$user_output sc_stat_$Multics sc_stat_$admin_log_iocb sc_stat_$admin_sci_ptr sc_stat_$mc_ansp sc_stat_$mc_is_on sc_stat_$test_mode sc_stat_$unidentified_access_name LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 62 000417 148 000430 149 000431 150 000432 154 000433 157 000442 158 000443 159 000445 161 000446 164 000455 165 000457 166 000460 168 000461 173 000470 174 000472 175 000473 177 000477 178 000502 179 000504 181 000505 182 000516 183 000522 184 000551 185 000557 186 000561 187 000562 189 000576 190 000603 191 000607 193 000610 194 000613 199 000616 203 000622 205 000625 207 000633 209 000657 211 000665 215 000700 216 000722 217 000730 220 000754 225 001001 228 001004 231 001014 232 001053 234 001131 236 001132 237 001136 238 001141 239 001142 242 001160 243 001175 245 001205 247 001227 254 001275 256 001300 257 001304 260 001333 271 001334 273 001336 262 001337 268 001345 275 001350 278 001356 279 001360 281 001402 283 001416 285 001421 286 001446 287 001464 288 001517 291 001523 292 001544 293 001565 294 001606 296 001627 297 001650 299 001655 303 001700 304 001711 306 001712 309 001720 310 001742 312 001756 313 001770 314 002002 315 002014 317 002026 319 002031 320 002043 321 002061 322 002075 324 002076 327 002105 328 002111 330 002134 333 002156 334 002167 337 002170 344 002172 345 002223 346 002246 348 002251 350 002307 352 002335 353 002350 354 002363 355 002400 357 002403 359 002441 361 002467 364 002470 370 002501 371 002532 373 002535 377 002610 380 002653 381 002674 383 002677 386 002741 389 002773 392 002774 397 002776 398 003010 399 003023 400 003040 402 003043 405 003105 407 003137 408 003152 412 003153 415 003161 418 003175 420 003223 422 003247 ----------------------------------------------------------- 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