COMPILATION LISTING OF SEGMENT sys_log_ 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 1015.4 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 /* format: style2,idind30,indcomtxt */ 13 14 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 /* */ 16 /* Name: sys_log_ */ 17 /* This procedure is used by the Answering Service to report errors. */ 18 /* */ 19 /* There are two modes of operation: */ 20 /* command-mode, in which errors are reported on behalf of an operator */ 21 /* command, on the terminal which issued the command */ 22 /* (sc_stat_$real_iocb), and/or logged in the admin log; */ 23 /* as-mode, in which errors are reported on one of the answering service */ 24 /* severity I/O switches (severity1, severity2 or severity3), and/or */ 25 /* logged in the as log. */ 26 /* */ 27 /* The severity parameter determines which I/O switch is used (in as-mode) */ 28 /* and how the error is presented, as follows: */ 29 /* */ 30 /* as-mode */ 31 /* severity I/O switch logging/printing operation */ 32 /* 0 log message, only */ 33 /* 1 severity1 log & print message */ 34 /* 2 severity2 log & print message with banner */ 35 /* 3 severity3 log & print message with banner, */ 36 /* kill the system by returning to bce */ 37 /* */ 38 /* Releases prior to MR11.0 allowed a negative severity value. Now, the */ 39 /* absolute value of the severity parameter determines the action, as shown */ 40 /* above. */ 41 /* */ 42 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 43 44 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 45 /* */ 46 /* as-mode Entrypoints: */ 47 /* */ 48 /* call sys_log_ (severity, ioa_ctl, args); */ 49 /* call sys_log_$binary (severity, data_ptr, data_lth, data_class, */ 50 /* ioa_ctl, args); */ 51 /* call sys_log_$error_log (severity, code, caller, ioa_ctl, args); */ 52 /* Log caller's name, expanded error table code, ioa-formatted message */ 53 /* and binary data, according to parameters supplied with the */ 54 /* entrypoint. */ 55 /* */ 56 /* command-mode Entrypoints: */ 57 /* */ 58 /* call sys_log_$command (severity, ioa_ctl, args); */ 59 /* call sys_log_$command_error (severity, code, caller, ioa_ctl, args); */ 60 /* Log caller's name, expanded error table code, and ioa-formatted */ 61 /* message, according to parameters supplied with the entrypoint. */ 62 /* */ 63 /* general Entrypoint: */ 64 /* */ 65 /* call sys_log_$general (info_ptr); */ 66 /* Log caller's name, expanded error table code, message and optional */ 67 /* binary data in either as-mode or command-mode. Options controlled */ 68 /* by info structure pointed to by info_ptr. Message data can */ 69 /* optionally come from a caller-supplied argument list. See comments */ 70 /* for sl_info structure in sys_log_constants.incl.pl1. */ 71 /* */ 72 /* Entry: sys_log_$type_sv_zero */ 73 /* */ 74 /* call sys_log_$type_sv_zero (); */ 75 /* Causes severity 0 messages to be logged and also printed on the */ 76 /* console, even though messages of this severity calls only for */ 77 /* logging of messages. */ 78 /* */ 79 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 80 81 sys_log_: 82 proc (Severity); 83 84 /**** THVV 11/70 85* Modified October 1977 by T. Casey to add type_sv_zero entry point for debugging. 86* Modified May 1978 by T. Casey to lengthen message buffer to 256 chars to avoid truncating long messages. 87* Modified August 1982 by E. N. Kittlitz, at the insistence of S. Harris and A. Haggett of Calgary, 88* to not use MC streams before the MC is enabled. 89* Modified August 1983 by K. Loepere for call_bce. 90* Rewritten 1984-10-31 BIM 91* Modified 1985-01-15 by E. Swenson for sys_log_$binary */ 92 93 94 /****^ HISTORY COMMENTS: 95* 1) change(86-08-01,Swenson), approve(87-05-25,MCR7680), 96* audit(87-02-08,GDixon), install(87-08-04,MR12.1-1055): 97* Modified to print messages on the terminal when running in system control 98* test mode and no as log exists. 99* 2) change(87-02-08,GDixon), approve(87-05-25,MCR7680), 100* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 101* A) Fixed coding standard violations. 102* B) Added back the facility to crash the system, if need be. 103* 3) change(87-05-04,GDixon), approve(87-05-25,MCR7680), 104* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 105* A) Fix sys_log_$error_code formatting problem. 106* 4) change(87-05-06,GDixon), approve(87-06-10,MCR7708), 107* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 108* A) Added sys_log_$general entrypoint. 109* END HISTORY COMMENTS */ 110 111 112 /* Parameters */ 113 114 dcl Severity fixed bin (17) parameter; 115 /* First arg. How bad things are. */ 116 dcl Data_class char (10) varying parameter; 117 /* Class of supplied data */ 118 dcl Data_lth fixed bin (17) parameter; 119 /* length of supplied data */ 120 dcl Data_ptr ptr parameter; 121 /* pointer to supplied data */ 122 dcl Code fixed bin (35) parameter; 123 /* Error code */ 124 dcl Caller char (*) parameter; 125 /* Caller name */ 126 dcl Sl_info_ptr ptr parameter; 127 /* pointer to sl_info structure for $general */ 128 129 /* Automatic */ 130 131 dcl arg_string char (500); 132 dcl arg_string_lth fixed bin(21); 133 dcl based_arg_ptr ptr; 134 dcl based_arg_len fixed bin(21); 135 dcl binary bit (1) aligned; 136 dcl code fixed bin (35); 137 dcl command bit (1) aligned; 138 dcl count fixed bin; 139 dcl data_ptr ptr; /* pointer to binary data supplied */ 140 dcl data_lth fixed bin (17); 141 /* length of binary data supplied */ 142 dcl data_class char (10) varying; 143 /* class of binary data */ 144 dcl (fmtx, argx) fixed bin; /* general_rs args telling where format etc */ 145 dcl ioa_ctl_string char (100) aligned; 146 dcl long char (100) aligned; 147 /* error message */ 148 dcl (masked_ev_calls_code, unmasked_ev_calls_code) 149 fixed bin (35); 150 dcl severity fixed bin; 151 dcl temp_line char (500) varying; 152 153 /* Based */ 154 155 dcl based_caller char (based_arg_len) based (based_arg_ptr); 156 dcl based_class char (based_arg_len) based (based_arg_ptr); 157 dcl based_code fixed bin(35) based (based_arg_ptr); 158 dcl based_data_lth fixed bin(21) based (based_arg_ptr); 159 dcl based_data_ptr ptr based (based_arg_ptr); 160 dcl based_fixed_bin fixed bin based (based_arg_ptr); 161 162 /* Entries */ 163 164 dcl convert_status_code_ entry (fixed binary (35), character (8) aligned, character (100) aligned); 165 dcl cu_$arg_list_ptr entry returns (ptr); 166 dcl cu_$arg_count_rel entry (fixed bin, ptr, fixed bin(35)); 167 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin(21), fixed bin(35), ptr); 168 dcl date_time_$format entry (character (*), fixed binary (71), character (*), character (*)) 169 returns (character (250) var); 170 dcl hcs_$block entry (); 171 dcl hphcs_$call_bce entry (); 172 dcl ioa_ entry () options (variable); 173 dcl ioa_$general_rs entry (ptr, fixed bin, 174 fixed bin, char (*), 175 fixed bin(21), bit (1) aligned, 176 bit (1) aligned); 177 dcl ioa_$general_rs_control_string 178 entry (ptr, char(*), fixed bin, 179 char(*), fixed bin(21), 180 bit(1) aligned, 181 bit(1) aligned); 182 dcl ioa_$ioa_switch entry () options (variable); 183 dcl ioa_$rsnnl entry options (variable); 184 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 185 dcl ipc_$mask_ev_calls entry (fixed bin (35)); 186 dcl ipc_$unmask_ev_calls entry (fixed bin (35)); 187 dcl log_write_$data entry (ptr, fixed bin, char (*), ptr, fixed bin, char (10) var, ptr, 188 fixed bin (35)); 189 dcl log_write_$message entry (pointer, fixed binary, character (*), pointer, fixed binary (35)); 190 dcl phcs_$ring_0_message entry (char(*)); 191 dcl signal_ entry (char(*), ptr, ptr, ptr); 192 dcl ssu_$get_info_ptr entry (ptr) returns (ptr); 193 194 /* Conditions */ 195 196 dcl cleanup condition; 197 198 /* Builtin */ 199 200 dcl (abs, addr, clock, length, max, null, rtrim, size, substr) 201 builtin; 202 203 /* External */ 204 205 dcl (error_table_$bad_arg, 206 error_table_$null_info_ptr, 207 error_table_$unimplemented_version, 208 error_table_$wrong_no_of_args) fixed bin(35) ext static; 209 210 /* Static */ 211 212 dcl type_sv0 bit (1) aligned int static init (""b); 213 /* print Severity zero messages for debugging */ 214 215 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 216 217 218 /* sys_log_: entry (Severity); */ 219 220 command = "0"b; 221 binary = "0"b; 222 go to no_error_common; 223 224 command: entry (Severity); 225 226 command = "1"b; 227 binary = "0"b; 228 229 no_error_common: 230 argx = 3; /* set indices for loc of args */ 231 fmtx = 2; /* and format */ 232 233 call ioa_$general_rs (cu_$arg_list_ptr (), fmtx, argx, arg_string, 234 arg_string_lth, "0"b, "0"b); 235 temp_line = substr (arg_string, 1, arg_string_lth); 236 go to join; 237 238 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 239 240 241 binary: entry (Severity, Data_ptr, Data_lth, Data_class); 242 243 data_ptr = Data_ptr; /* copy args */ 244 data_lth = Data_lth; /* copy args */ 245 data_class = Data_class; /* copy args */ 246 247 argx = 6; /* location of the ioa args */ 248 fmtx = 5; /* location of the ioa format string */ 249 250 command = "0"b; /* regular non-command entrypoint */ 251 binary = "1"b; /* we have binary data supplied */ 252 253 call ioa_$general_rs (cu_$arg_list_ptr (), fmtx, argx, arg_string, 254 arg_string_lth, "0"b, "0"b); 255 temp_line = substr(arg_string, 1, arg_string_lth); 256 goto join; 257 258 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 259 260 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 261 262 263 error_log: 264 entry (Severity, Code, Caller); /* like com_err_ for initializer */ 265 266 command = "0"b; 267 binary = "0"b; 268 go to error_common; 269 270 command_error: 271 entry (Severity, Code, Caller); 272 273 command = "1"b; 274 binary = "0"b; 275 go to error_common; 276 277 error_common: 278 argx = 5; 279 fmtx = 4; 280 281 long = ""; /* blank reason */ 282 if Code ^= 0 283 then /* convert user error code to string */ 284 call convert_status_code_ (Code, "", long); /* find explanation of errcode */ 285 call ioa_$general_rs (cu_$arg_list_ptr (), fmtx, argx, arg_string, 286 arg_string_lth, "0"b, "0"b); 287 call ioa_$rsnnl ("^a: ^a ^a", temp_line, (0), Caller, long, 288 substr(arg_string,1,arg_string_lth)); 289 go to join; 290 291 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 292 293 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 294 295 general: entry (Sl_info_ptr); 296 297 sli_ptr = Sl_info_ptr; 298 if sli_ptr = null then do; 299 sys_log_error_info.info_string = 300 "Null pointer passed to sys_log_$general."; 301 sys_log_error_info.status_code = error_table_$null_info_ptr; 302 GEN_BAD_IN: sys_log_error_info.length = size(sys_log_error_info); 303 sys_log_error_info.version = SYS_LOG_ERROR_INFO_version_1; 304 sys_log_error_info.action_flags = "0"b; 305 sys_log_error_info.action_flags.cant_restart = "1"b; 306 sys_log_error_info.sl_info_ptr = sli_ptr; 307 call signal_ (SYS_LOG_ERROR_name, null, 308 addr(sys_log_error_info), null); 309 return; 310 end; 311 if sli.version ^= SL_INFO_version_1 then do; 312 sys_log_error_info.info_string = 313 "Structure passed to sys_log_$general has version " || 314 sli.version || ", expected version " || SL_INFO_version_1 || "."; 315 sys_log_error_info.status_code = error_table_$unimplemented_version; 316 go to GEN_BAD_IN; 317 end; 318 319 if sli.arg_list_ptr ^= null then do; 320 call cu_$arg_count_rel (count, sli.arg_list_ptr, 0); 321 if max (sli.loc.mode, sli.loc.severity, sli.loc.code, 322 sli.loc.caller, sli.loc.data+1, sli.loc.class, 323 sli.loc.ioa_msg) > count then do; 324 sys_log_error_info.info_string = 325 "Structure input to sys_log_$general references args not in arg list."; 326 sys_log_error_info.status_code = error_table_$wrong_no_of_args; 327 go to GEN_BAD_IN; 328 end; 329 end; 330 else if max (sli.loc.mode, sli.loc.severity, sli.loc.code, 331 sli.loc.caller, sli.loc.data, sli.loc.class, 332 sli.loc.ioa_msg) > 0 then do; 333 sys_log_error_info.info_string = 334 "Structure input to sys_log_$general references args, but arg_list_ptr is null."; 335 sys_log_error_info.status_code = error_table_$bad_arg; 336 go to GEN_BAD_IN; 337 end; 338 339 if sli.loc.code > 0 then do; 340 call cu_$arg_ptr_rel (sli.loc.code, 341 based_arg_ptr, 0, code, sli.arg_list_ptr); 342 if code = 0 then 343 sli.code = based_code; 344 else 345 sli.code = -1; 346 end; 347 else if sli.loc.code = SL_INFO_arg_not_given then 348 sli.code = 0; 349 if sli.loc.code ^= SL_INFO_arg_not_given then 350 if sli.code = 0 then return; /* 0 -> no err */ 351 if sli.code = 0 | sli.code = -1 then /* -1 -> err, no */ 352 long = ""; /* code */ 353 else 354 call convert_status_code_ (sli.code, "", long); 355 356 if sli.loc.mode > 0 then do; 357 call cu_$arg_ptr_rel (sli.loc.mode, based_arg_ptr, 358 0, 0, sli.arg_list_ptr); 359 sli.mode = based_fixed_bin; 360 end; 361 else if sli.loc.mode = SL_INFO_arg_not_given then 362 sli.mode = SL_INFO_as_mode; 363 command = sli.mode=SL_INFO_command_mode; 364 365 if sli.loc.severity > 0 then do; 366 call cu_$arg_ptr_rel (sli.loc.severity, based_arg_ptr, 367 0, 0, sli.arg_list_ptr); 368 sli.severity = based_fixed_bin; 369 end; 370 else if sli.loc.severity = SL_INFO_arg_not_given then 371 sli.severity = SL_LOG; 372 severity = abs(sli.severity); 373 374 if sli.loc.caller > 0 then do; 375 call cu_$arg_ptr_rel (sli.loc.caller, based_arg_ptr, 376 based_arg_len, 0, sli.arg_list_ptr); 377 sli.caller = based_caller; 378 end; 379 else if sli.loc.caller = SL_INFO_arg_not_given then 380 sli.caller = ""; 381 382 if sli.loc.data > 0 then do; 383 call cu_$arg_ptr_rel (sli.loc.data, based_arg_ptr, 384 0, 0, sli.arg_list_ptr); 385 sli.data_ptr = based_data_ptr; 386 call cu_$arg_ptr_rel (sli.loc.data+1, based_arg_ptr, 387 0, 0, sli.arg_list_ptr); 388 sli.data_lth = based_data_lth; 389 end; 390 if sli.loc.data = SL_INFO_arg_not_given then 391 binary = "0"b; 392 else do; 393 data_ptr = sli.data_ptr; 394 data_lth = sli.data_lth; 395 binary = "1"b; 396 end; 397 398 if sli.loc.class > 0 then do; 399 call cu_$arg_ptr_rel (sli.loc.class, based_arg_ptr, 400 based_arg_len, 0, sli.arg_list_ptr); 401 sli.class = based_class; 402 end; 403 else if sli.loc.class = SL_INFO_arg_not_given then 404 sli.class = ""; 405 if binary then data_class = sli.class; 406 407 if sli.loc.ioa_msg > 0 then do; 408 if sli.flags.ioa_msg_is_error_code then do; 409 call cu_$arg_ptr_rel (sli.loc.ioa_msg, based_arg_ptr, 0, 0, 410 sli.arg_list_ptr); 411 call convert_status_code_ (based_code, "", ioa_ctl_string); 412 if length(rtrim(ioa_ctl_string)) > 0 then 413 call ioa_$general_rs_control_string (sli.arg_list_ptr, 414 rtrim(ioa_ctl_string), sli.loc.ioa_msg+1, 415 arg_string, arg_string_lth, "0"b, "0"b); 416 else arg_string_lth = 0; 417 end; 418 else 419 call ioa_$general_rs (sli.arg_list_ptr, sli.loc.ioa_msg, 420 sli.loc.ioa_msg+1, arg_string, arg_string_lth, "0"b, "0"b); 421 sli.ioa_msg = substr(arg_string, 1, arg_string_lth); 422 end; 423 else if sli.loc.ioa_msg = SL_INFO_arg_not_given then 424 sli.ioa_msg = ""; 425 426 temp_line = ""; 427 if sli.loc.caller ^= SL_INFO_arg_not_given then do; 428 temp_line = temp_line || rtrim(sli.caller); 429 temp_line = temp_line || ": "; 430 end; 431 if long ^= "" then do; 432 temp_line = temp_line || rtrim(long); 433 temp_line = temp_line || " "; 434 end; 435 if sli.loc.ioa_msg ^= SL_INFO_arg_not_given then 436 temp_line = temp_line || sli.ioa_msg; 437 go to join_general; 438 439 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 440 441 442 join: 443 severity = Severity; /* copy Severity */ 444 severity = abs (severity); 445 446 join_general: 447 masked_ev_calls_code, unmasked_ev_calls_code = -1; 448 on cleanup 449 begin; 450 if masked_ev_calls_code = 0 & unmasked_ev_calls_code ^= 0 451 then call ipc_$unmask_ev_calls ((0)); 452 end; 453 call ipc_$mask_ev_calls (masked_ev_calls_code); 454 455 if sc_stat_$test_mode & (sc_stat_$as_log_write_ptr = null ()) 456 then do; 457 call ioa_ ("LOG: ^a", temp_line); 458 goto RETURN; 459 end; 460 461 /**** First deposit in appropriate logs */ 462 463 if ^command 464 then do; 465 466 if ^binary 467 then call log_write_$message (sc_stat_$as_log_write_ptr, severity, (temp_line), (null ()), code); 468 else call log_write_$data (sc_stat_$as_log_write_ptr, severity, (temp_line), data_ptr, data_lth, 469 data_class, (null ()), code); 470 471 if severity > 3 472 then severity = 3; 473 if severity = 1 | type_sv0 474 then call ioa_$ioa_switch (sc_stat_$sv1_iocb, "^[ ^4a as ^;^s^]^a", ^sc_stat_$mc_is_on, 475 as_time (), temp_line); 476 else if severity = 2 477 then call ioa_$ioa_switch (sc_stat_$sv2_iocb, "^[^/********************^/ ^4a as ^;^s^]^a", 478 ^sc_stat_$mc_is_on, as_time (), temp_line); 479 else if severity = 3 480 then call ioa_$ioa_switch (sc_stat_$sv3_iocb, "^[^/********************^/ ^4a as ^]^a", 481 ^sc_stat_$mc_is_on, as_time (), temp_line); 482 end; 483 else do; /* treat as command output */ 484 call iox_$control (sc_stat_$admin_log_iocb, "flush_pending_output", null (), (0)); 485 call log_write_$message (sc_stat_$admin_log_write_ptr, severity, (temp_line), (null ()), code); 486 487 sc_subsystem_info_ptr = ssu_$get_info_ptr (sc_stat_$admin_sci_ptr); 488 if (severity > 0 | type_sv0) & sc_subsystem_info.real_iocb ^= null () 489 /* if null, logging will suffice */ 490 then call ioa_$ioa_switch (sc_subsystem_info.real_iocb, "^a", temp_line); 491 end; 492 493 if severity > 2 then do; /* should we kill system? */ 494 if sc_stat_$mc_is_on then 495 call ioa_$ioa_switch (sc_stat_$sv3_iocb, 496 "^/sys_log_: KILLING ANSWERING SERVICE. DUMP INITIALIZER & REBOOT."); 497 if sc_stat_$test_mode then go to RETURN; 498 call phcs_$ring_0_message ((temp_line)); 499 call phcs_$ring_0_message ("sys_log_: Returning to BCE. Dump Initializer and reboot."); 500 call hphcs_$call_bce; 501 502 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 503 /* */ 504 /* If we return here, it is because the operator has warned users to cleanup */ 505 /* & logout. The initializer is non-operational, so no logins, logouts, or */ 506 /* accounting updates will work. The initializer should block and stay */ 507 /* blocked, so users can run. */ 508 /* */ 509 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 510 511 do while ("1"b); 512 call hcs_$block; /* just as if we had logged out */ 513 end; 514 end; 515 516 RETURN: 517 call ipc_$unmask_ev_calls (unmasked_ev_calls_code); 518 return; 519 520 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 521 522 523 type_sv_zero: 524 entry; /* to set switch to type sv zero messages for debugging */ 525 526 type_sv0 = ^type_sv0; /* flip the switch, turning it off or on */ 527 call ioa_ ("sys_log_: sv zero typing turned ^[on^;off^].", type_sv0); 528 return; 529 530 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 531 532 533 as_time: 534 procedure returns (char (4)); 535 536 return (date_time_$format ("^Hd^MH", clock (), "", "")); 537 end as_time; 538 539 1 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 1 2 /* format: style2 */ 1 3 1 4 declare condition_info_header_ptr 1 5 pointer; 1 6 declare 1 condition_info_header 1 7 aligned based (condition_info_header_ptr), 1 8 2 length fixed bin, /* length in words of this structure */ 1 9 2 version fixed bin, /* version number of this structure */ 1 10 2 action_flags aligned, /* tell handler how to proceed */ 1 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 1 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 1 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 1 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 1 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 1 16 3 pad bit (32) unaligned, 1 17 2 info_string char (256) varying, /* may contain printable message */ 1 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 1 19 1 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 540 2 1 /* BEGIN: sc_subsystem_info_.incl.pl1 * * * * * */ 2 2 2 3 /* format:style3,idind30 */ 2 4 2 5 /* Created 1984-10-24 BIM */ 2 6 /* Modified 1985-01-07, BIM: access control flags that track admin and X */ 2 7 /* Modified 1985-02-18, E. Swenson to save away abort_line procedure. */ 2 8 2 9 2 10 /****^ HISTORY COMMENTS: 2 11* 1) change(87-02-17,GDixon), approve(87-07-03,MCR7680), 2 12* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 2 13* Correct formatting problems. Add sc_subsystem_info.flags.dont_mask_calls 2 14* switch. 2 15* 2) change(87-07-03,GDixon), approve(87-07-03,MCR7680), 2 16* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 2 17* Removed dont_mask_calls flag. It is no longer needed to correctly perform 2 18* masking on a per-request basis. 2 19* END HISTORY COMMENTS */ 2 20 2 21 2 22 declare sc_subsystem_info_ptr pointer; 2 23 declare 1 sc_subsystem_info aligned based (sc_subsystem_info_ptr), 2 24 2 restriction_flags bit (36) aligned, /* copied from mc atep or fabricated */ 2 25 2 flags aligned, 2 26 3 no_real_tty bit (1) unaligned, /* for sc_admin_command_ */ 2 27 3 print_ready bit (1) unal, /* on for all except the system console, */ 2 28 /* instructs sc_process_command_line_ to deal */ 2 29 /* with the prompt */ 2 30 3 the_system_console bit (1) unal, /* syserr messages are printed here (but console */ 2 31 /* recover doesn't try to fix this) copied here */ 2 32 /* from the mc_ate to save other looking in there*/ 2 33 3 printer_offed bit (1) unal, /* suppress logging */ 2 34 3 pad bit (32) unaligned, 2 35 2 source_name char (32) unaligned, 2 36 2 area_ptr pointer, 2 37 2 mc_atep pointer, /* needed to play with attachments */ 2 38 2 real_iocb pointer, /* for sc_signal_io_handler_ */ 2 39 2 hangup_entry entry (pointer) variable, 2 40 /* called on io_no_permission. */ 2 41 2 real_execute_line entry (ptr, ptr, fixed bin (21), fixed bin (35)), 2 42 2 real_locate_request entry (ptr, char (*), ptr, fixed bin (35)), 2 43 2 access_control_name char (32) unaligned, 2 44 2 real_invoke_request entry, /* since MR11 ssu_ lacks the ability to abort a */ 2 45 /* single request, we have an invoke_request that*/ 2 46 /* handles a condition to unwind the request */ 2 47 2 abort_request_label label, /* go here (nonlocally) to unwind a single request */ 2 48 2 real_abort_line entry options (variable); 2 49 2 50 declare sc_ss_area area based (sc_subsystem_info.area_ptr); 2 51 2 52 /* The following defines the user flags for the request table. */ 2 53 2 54 declare sc_rf_ptr pointer; 2 55 declare 1 sc_request_flags unaligned based (sc_rf_ptr), 2 56 2 dont_parse_arguments bit, /* reply, intercom */ 2 57 2 obsolete bit, /* warn opr to not use it */ 2 58 2 dont_mask_calls bit, /* this runs without masking ev calls */ 2 59 2 requires_as bit, /* not before AS */ 2 60 2 requires_no_as bit, /* only before AS */ 2 61 2 complete_disks_first bit, /* try to mount disks */ 2 62 2 no_login_needed bit, /* sign_on */ 2 63 2 pad bit (5), 2 64 2 restriction_type fixed bin (6) unsigned; 2 65 /* index into restriction flag string */ 2 66 2 67 2 68 /* END OF: sc_subsystem_info_.incl.pl1 * * * * * */ 541 3 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 3 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 3 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 3 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 10* Reorganized by type of data to improve readability. 3 11* END HISTORY COMMENTS */ 3 12 3 13 3 14 /* ACCESS NAMES */ 3 15 dcl ( 3 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 3 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 3 18 ) char(32) ext static; 3 19 3 20 /* PATHNAMES */ 3 21 dcl ( 3 22 sc_stat_$info_dir, /* admin info segs directory */ 3 23 sc_stat_$log_dir, /* as log segs directory */ 3 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 3 25 sc_stat_$sysdir /* system control directory */ 3 26 ) char(168) ext static; 3 27 3 28 /* OTHER CHAR STRINGS */ 3 29 dcl ( 3 30 sc_stat_$master_channel /* Master TTY channel. */ 3 31 ) char(6) aligned ext static; 3 32 3 33 /* LABELS */ 3 34 dcl ( 3 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 3 36 /* ssu_$null_label unless */ 3 37 /* admin_listener is active. */ 3 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 3 39 /* attributable to a particular */ 3 40 /* command. */ 3 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 3 42 ) label variable ext static; 3 43 3 44 /* POINTERS TO */ 3 45 dcl ( 3 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 3 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 3 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 3 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 3 50 /* by sys_log_. */ 3 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 3 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 3 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 3 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 3 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 3 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 3 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 3 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 3 59 ) ptr ext static; 3 60 3 61 /* SWITCHES */ 3 62 dcl ( 3 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 3 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 3 65 sc_stat_$Multics, /* TRUE after answering service started */ 3 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 3 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 3 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 3 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 3 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 3 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 3 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 3 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 3 74 /* if PNT not yet available. */ 3 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 3 76 sc_stat_$test_mode, /* TRUE if in test environment */ 3 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 3 78 /* by operator signed on system console*/ 3 79 ) bit(1) aligned ext static; 3 80 3 81 3 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 542 4 1 /* BEGIN: sys_log_error_info.incl.pl1 * * * * * */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(87-04-21,GDixon), approve(87-06-10,MCR7708), 4 5* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 4 6* Initial coding. 4 7* END HISTORY COMMENTS */ 4 8 4 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 10 /* */ 4 11 /* This include file declares the structure passed by sys_log_$general when */ 4 12 /* it signals the sys_log_error_ condition, because it was called with */ 4 13 /* mis-formatted input. User's must include condition_info_header.incl.pl1. */ 4 14 /* */ 4 15 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 16 4 17 dcl 1 sys_log_error_info aligned automatic, 4 18 2 header like condition_info_header, 4 19 2 sl_info_ptr ptr; /* ptr to input structure passed to */ 4 20 /* sys_log_$general. */ 4 21 4 22 dcl SYS_LOG_ERROR_INFO_version_1 fixed bin int static options(constant) init(1); 4 23 dcl SYS_LOG_ERROR_name char(14) int static options(constant) init("sys_log_error_"); 4 24 4 25 /* END OF: sys_log_error_info.incl.pl1 * * * * * */ 543 5 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 5 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 5 7* Added sl_info structure and associated named constants for use in calling 5 8* sys_log_$general. 5 9* END HISTORY COMMENTS */ 5 10 5 11 5 12 /* format: style4 */ 5 13 5 14 dcl ( 5 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 5 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 5 17 SL_TYPE init (-1), /* type message */ 5 18 SL_LOG_SILENT init (0), /* log message */ 5 19 SL_LOG init (1), /* log & type message */ 5 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 5 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 5 22 ) fixed bin internal static options (constant); 5 23 5 24 dcl 1 sl_info aligned automatic, 5 25 2 version char(8), /* structure version */ 5 26 2 arg_list_ptr ptr, /* arg_list with values */ 5 27 2 loc, 5 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 5 29 /* These flags control where the corresponding data item is found.*/ 5 30 /* -1: data appears in the corresponding structure element below */ 5 31 /* 0: data is not present anywhere */ 5 32 /* +N: data is Nth item in argument list pointed to by */ 5 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 5 34 /* corresponding structure element. */ 5 35 /* if data = +N: */ 5 36 /* argN is data_ptr, argN+1 is data_len */ 5 37 /* if ioa_msg = +N: */ 5 38 /* argN+1, ... argLAST are arguments substituted into the */ 5 39 /* ioa_msg control string. The formatted msg is returned. */ 5 40 2 flags, 5 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 5 42 3 flags_pad bit(35) unal, 5 43 2 mode fixed bin, /* as-mode, command-mode */ 5 44 2 severity fixed bin, /* error severity */ 5 45 2 code fixed bin(35), /* error table code */ 5 46 2 caller char(65) varying, /* caller refname$entryname*/ 5 47 2 data, /* binary data ptr/length */ 5 48 3 data_ptr ptr, 5 49 3 data_lth fixed bin(21), 5 50 2 class char(10) varying, /* binary data class */ 5 51 2 ioa_msg char(500) varying; /* formatted message text */ 5 52 5 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 54 /* */ 5 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 5 56 /* their data types should be as shown in the structure above, except that */ 5 57 /* character strings should be char(*) nonvarying. */ 5 58 /* */ 5 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 60 5 61 /* value for sl_info.version */ 5 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 5 63 5 64 /* values for sl_info.mode */ 5 65 dcl (SL_INFO_as_mode init(1), 5 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 5 67 5 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 5 69 dcl (SL_INFO_arg_given_in_structure init(-1), 5 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 5 71 5 72 5 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 74 /* */ 5 75 /* The following static structures are commonly used in the Login Server */ 5 76 /* user control software. */ 5 77 /* */ 5 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 79 5 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 5 81 5 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 5 83 2 version char(8) init ("sl_info1"), 5 84 2 arg_list_ptr ptr init (null), 5 85 2 loc, 5 86 3 (mode init (-1), 5 87 severity init ( 1), 5 88 code init ( 2), 5 89 caller init (-1), 5 90 data init ( 0), 5 91 class init ( 0), 5 92 ioa_msg init ( 3)) fixed bin, 5 93 2 flags, 5 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 95 3 flags_pad bit(35) unal init ("0"b), 5 96 2 mode fixed bin init ( 1), 5 97 2 severity fixed bin init ( 0), 5 98 2 code fixed bin(35) init ( 0), 5 99 2 caller char(65) varying init (""), 5 100 2 data, 5 101 3 data_ptr ptr init (null), 5 102 3 data_lth fixed bin(21) init ( 0), 5 103 2 class char(10) varying init (""), 5 104 2 ioa_msg char(500) varying init (""); 5 105 5 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 5 107 5 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 5 109 2 version char(8) init ("sl_info1"), 5 110 2 arg_list_ptr ptr init (null), 5 111 2 loc, 5 112 3 (mode init (-1), 5 113 severity init ( 1), 5 114 code init ( 0), 5 115 caller init (-1), 5 116 data init ( 0), 5 117 class init ( 0), 5 118 ioa_msg init ( 2)) fixed bin, 5 119 2 flags, 5 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 121 3 flags_pad bit(35) unal init ("0"b), 5 122 2 mode fixed bin init ( 1), 5 123 2 severity fixed bin init ( 0), 5 124 2 code fixed bin(35) init ( 0), 5 125 2 caller char(65) varying init (""), 5 126 2 data, 5 127 3 data_ptr ptr init (null), 5 128 3 data_lth fixed bin(21) init ( 0), 5 129 2 class char(10) varying init (""), 5 130 2 ioa_msg char(500) varying init (""); 5 131 5 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 5 133 5 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 5 135 2 version char(8) init ("sl_info1"), 5 136 2 arg_list_ptr ptr init (null), 5 137 2 loc, 5 138 3 (mode init (-1), 5 139 severity init ( 1), 5 140 code init ( 0), 5 141 caller init (-1), 5 142 data init ( 0), 5 143 class init ( 0), 5 144 ioa_msg init ( 2)) fixed bin, 5 145 2 flags, 5 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 5 147 3 flags_pad bit(35) unal init ("0"b), 5 148 2 mode fixed bin init ( 1), 5 149 2 severity fixed bin init ( 0), 5 150 2 code fixed bin(35) init ( 0), 5 151 2 caller char(65) varying init (""), 5 152 2 data, 5 153 3 data_ptr ptr init (null), 5 154 3 data_lth fixed bin(21) init ( 0), 5 155 2 class char(10) varying init (""), 5 156 2 ioa_msg char(500) varying init (""); 5 157 5 158 5 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 5 160 5 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 5 162 2 version char(8) init ("sl_info1"), 5 163 2 arg_list_ptr ptr init (null), 5 164 2 loc, 5 165 3 (mode init (-1), 5 166 severity init ( 1), 5 167 code init ( 2), 5 168 caller init (-1), 5 169 data init ( 0), 5 170 class init ( 0), 5 171 ioa_msg init ( 4)) fixed bin, 5 172 2 flags, 5 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 174 3 flags_pad bit(35) unal init ("0"b), 5 175 2 mode fixed bin init ( 1), 5 176 2 severity fixed bin init ( 0), 5 177 2 code fixed bin(35) init ( 0), 5 178 2 caller char(65) varying init (""), 5 179 2 data, 5 180 3 data_ptr ptr init (null), 5 181 3 data_lth fixed bin(21) init ( 0), 5 182 2 class char(10) varying init (""), 5 183 2 ioa_msg char(500) varying init (""); 5 184 5 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 5 186 5 187 dcl 1 sl_info_code_msg aligned int static options(constant), 5 188 2 version char(8) init ("sl_info1"), 5 189 2 arg_list_ptr ptr init (null), 5 190 2 loc, 5 191 3 (mode init (-1), 5 192 severity init (-1), 5 193 code init ( 1), 5 194 caller init (-1), 5 195 data init ( 0), 5 196 class init ( 0), 5 197 ioa_msg init ( 2)) fixed bin, 5 198 2 flags, 5 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 200 3 flags_pad bit(35) unal init ("0"b), 5 201 2 mode fixed bin init ( 1), 5 202 2 severity fixed bin init ( 0), 5 203 2 code fixed bin(35) init ( 0), 5 204 2 caller char(65) varying init (""), 5 205 2 data, 5 206 3 data_ptr ptr init (null), 5 207 3 data_lth fixed bin(21) init ( 0), 5 208 2 class char(10) varying init (""), 5 209 2 ioa_msg char(500) varying init (""); 5 210 5 211 5 212 /* Syntax: call Trace (ioa_ctl, args); */ 5 213 5 214 dcl 1 sl_info_msg aligned int static options(constant), 5 215 2 version char(8) init ("sl_info1"), 5 216 2 arg_list_ptr ptr init (null), 5 217 2 loc, 5 218 3 (mode init (-1), 5 219 severity init (-1), 5 220 code init ( 0), 5 221 caller init (-1), 5 222 data init ( 0), 5 223 class init ( 0), 5 224 ioa_msg init ( 1)) fixed bin, 5 225 2 flags, 5 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 5 227 3 flags_pad bit(35) unal init ("0"b), 5 228 2 mode fixed bin init ( 1), 5 229 2 severity fixed bin init ( 0), 5 230 2 code fixed bin(35) init ( 0), 5 231 2 caller char(65) varying init (""), 5 232 2 data, 5 233 3 data_ptr ptr init (null), 5 234 3 data_lth fixed bin(21) init ( 0), 5 235 2 class char(10) varying init (""), 5 236 2 ioa_msg char(500) varying init (""); 5 237 5 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 544 545 546 dcl 1 sli aligned like sl_info based (sli_ptr); 547 dcl sli_ptr ptr; 548 549 end sys_log_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0809.2 sys_log_.pl1 >spec>install>1112>sys_log_.pl1 540 1 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 541 2 08/06/87 0913.5 sc_subsystem_info_.incl.pl1 >ldd>include>sc_subsystem_info_.incl.pl1 542 3 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.incl.pl1 543 4 08/06/87 0913.5 sys_log_error_info.incl.pl1 >ldd>include>sys_log_error_info.incl.pl1 544 5 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_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. Caller parameter char packed unaligned dcl 124 set ref 263 270 287* Code parameter fixed bin(35,0) dcl 122 set ref 263 270 282 282* Data_class parameter varying char(10) dcl 116 ref 241 245 Data_lth parameter fixed bin(17,0) dcl 118 ref 241 244 Data_ptr parameter pointer dcl 120 ref 241 243 SL_INFO_arg_not_given constant fixed bin(17,0) initial dcl 5-69 ref 347 349 361 370 379 390 403 423 427 435 SL_INFO_as_mode constant fixed bin(17,0) initial dcl 5-65 ref 361 SL_INFO_command_mode constant fixed bin(17,0) initial dcl 5-65 ref 363 SL_INFO_version_1 000000 constant char(8) initial packed unaligned dcl 5-62 ref 311 312 SL_LOG constant fixed bin(17,0) initial dcl 5-14 ref 370 SYS_LOG_ERROR_INFO_version_1 constant fixed bin(17,0) initial dcl 4-22 ref 303 SYS_LOG_ERROR_name 000002 constant char(14) initial packed unaligned dcl 4-23 set ref 307* Severity parameter fixed bin(17,0) dcl 114 ref 81 224 241 263 270 442 Sl_info_ptr parameter pointer dcl 126 ref 295 297 abs builtin function dcl 200 ref 372 444 action_flags 2 000612 automatic structure level 3 dcl 4-17 set ref 304* addr builtin function dcl 200 ref 307 307 arg_list_ptr 2 based pointer level 2 dcl 546 set ref 319 320* 340* 357* 366* 375* 383* 386* 399* 409* 412* 418* arg_string 000100 automatic char(500) packed unaligned dcl 131 set ref 233* 235 253* 255 285* 287 287 412* 418* 421 arg_string_lth 000275 automatic fixed bin(21,0) dcl 132 set ref 233* 235 253* 255 285* 287 287 412* 416* 418* 421 argx 000316 automatic fixed bin(17,0) dcl 144 set ref 229* 233* 247* 253* 277* 285* based_arg_len 000300 automatic fixed bin(21,0) dcl 134 set ref 375* 377 399* 401 based_arg_ptr 000276 automatic pointer dcl 133 set ref 340* 342 357* 359 366* 368 375* 377 383* 385 386* 388 399* 401 409* 411 based_caller based char packed unaligned dcl 155 ref 377 based_class based char packed unaligned dcl 156 ref 401 based_code based fixed bin(35,0) dcl 157 set ref 342 411* based_data_lth based fixed bin(21,0) dcl 158 ref 388 based_data_ptr based pointer dcl 159 ref 385 based_fixed_bin based fixed bin(17,0) dcl 160 ref 359 368 binary 000301 automatic bit(1) dcl 135 set ref 221* 227* 251* 267* 274* 390* 395* 405 466 caller 17 based varying char(65) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 377* 379* 428 caller 7 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 374 375* 379 427 cant_restart 2 000612 automatic bit(1) level 4 packed packed unaligned dcl 4-17 set ref 305* class 45 based varying char(10) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 401* 403* 405 class 11 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 398 399* 403 cleanup 000602 stack reference condition dcl 196 ref 448 clock builtin function dcl 200 ref 536 536 code 000302 automatic fixed bin(35,0) dcl 136 in procedure "sys_log_" set ref 340* 342 466* 468* 485* code 16 based fixed bin(35,0) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 342* 344* 347* 349 351 351 353* code 6 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 339 340* 347 349 command 000303 automatic bit(1) dcl 137 set ref 220* 226* 250* 266* 273* 363* 463 condition_info_header based structure level 1 dcl 1-6 convert_status_code_ 000012 constant entry external dcl 164 ref 282 353 411 count 000304 automatic fixed bin(17,0) dcl 138 set ref 320* 321 cu_$arg_count_rel 000016 constant entry external dcl 166 ref 320 cu_$arg_list_ptr 000014 constant entry external dcl 165 ref 233 233 253 253 285 285 cu_$arg_ptr_rel 000020 constant entry external dcl 167 ref 340 357 366 375 383 386 399 409 data 10 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 382 383* 386 390 data 42 based structure level 2 in structure "sli" dcl 546 in procedure "sys_log_" data_class 000311 automatic varying char(10) dcl 142 set ref 245* 405* 468* data_lth 44 based fixed bin(21,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 388* 394 data_lth 000310 automatic fixed bin(17,0) dcl 140 in procedure "sys_log_" set ref 244* 394* 468* data_ptr 42 based pointer level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 385* 393 data_ptr 000306 automatic pointer dcl 139 in procedure "sys_log_" set ref 243* 393* 468* date_time_$format 000022 constant entry external dcl 168 ref 536 error_table_$bad_arg 000062 external static fixed bin(35,0) dcl 205 ref 335 error_table_$null_info_ptr 000064 external static fixed bin(35,0) dcl 205 ref 301 error_table_$unimplemented_version 000066 external static fixed bin(35,0) dcl 205 ref 315 error_table_$wrong_no_of_args 000070 external static fixed bin(35,0) dcl 205 ref 326 flags 13 based structure level 2 dcl 546 fmtx 000315 automatic fixed bin(17,0) dcl 144 set ref 231* 233* 248* 253* 279* 285* hcs_$block 000024 constant entry external dcl 170 ref 512 header 000612 automatic structure level 2 dcl 4-17 hphcs_$call_bce 000026 constant entry external dcl 171 ref 500 info_string 3 000612 automatic varying char(256) level 3 dcl 4-17 set ref 299* 312* 324* 333* ioa_ 000030 constant entry external dcl 172 ref 457 527 ioa_$general_rs 000032 constant entry external dcl 173 ref 233 253 285 418 ioa_$general_rs_control_string 000034 constant entry external dcl 177 ref 412 ioa_$ioa_switch 000036 constant entry external dcl 182 ref 473 476 479 488 494 ioa_$rsnnl 000040 constant entry external dcl 183 ref 287 ioa_ctl_string 000317 automatic char(100) dcl 145 set ref 411* 412 412 412 ioa_msg 12 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 407 409* 412 418* 418 423 435 ioa_msg 51 based varying char(500) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 421* 423* 435 ioa_msg_is_error_code 13 based bit(1) level 3 packed packed unaligned dcl 546 ref 408 iox_$control 000042 constant entry external dcl 184 ref 484 ipc_$mask_ev_calls 000044 constant entry external dcl 185 ref 453 ipc_$unmask_ev_calls 000046 constant entry external dcl 186 ref 450 516 length builtin function dcl 200 in procedure "sys_log_" ref 412 length 000612 automatic fixed bin(17,0) level 3 in structure "sys_log_error_info" dcl 4-17 in procedure "sys_log_" set ref 302* loc 4 based structure level 2 dcl 546 log_write_$data 000050 constant entry external dcl 187 ref 468 log_write_$message 000052 constant entry external dcl 189 ref 466 485 long 000350 automatic char(100) dcl 146 set ref 281* 282* 287* 351* 353* 431 432 masked_ev_calls_code 000401 automatic fixed bin(35,0) dcl 148 set ref 446* 450 453* max builtin function dcl 200 ref 321 330 mode 14 based fixed bin(17,0) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 359* 361* 363 mode 4 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 356 357* 361 null builtin function dcl 200 ref 298 307 307 307 307 319 455 466 468 484 484 485 488 phcs_$ring_0_message 000054 constant entry external dcl 190 ref 498 499 real_iocb 16 based pointer level 2 dcl 2-23 set ref 488 488* rtrim builtin function dcl 200 ref 412 412 412 428 432 sc_stat_$admin_log_iocb 000072 external static pointer dcl 3-45 set ref 484* sc_stat_$admin_log_write_ptr 000074 external static pointer dcl 3-45 set ref 485* sc_stat_$admin_sci_ptr 000076 external static pointer dcl 3-45 set ref 487* sc_stat_$as_log_write_ptr 000100 external static pointer dcl 3-45 set ref 455 466* 468* sc_stat_$mc_is_on 000110 external static bit(1) dcl 3-62 ref 473 476 479 494 sc_stat_$sv1_iocb 000102 external static pointer dcl 3-45 set ref 473* sc_stat_$sv2_iocb 000104 external static pointer dcl 3-45 set ref 476* sc_stat_$sv3_iocb 000106 external static pointer dcl 3-45 set ref 479* 494* sc_stat_$test_mode 000112 external static bit(1) dcl 3-62 ref 455 497 sc_subsystem_info based structure level 1 dcl 2-23 sc_subsystem_info_ptr 000610 automatic pointer dcl 2-22 set ref 487* 488 488 severity 000403 automatic fixed bin(17,0) dcl 150 in procedure "sys_log_" set ref 372* 442* 444* 444 466* 468* 471 471* 473 476 479 485* 488 493 severity 15 based fixed bin(17,0) level 2 in structure "sli" dcl 546 in procedure "sys_log_" set ref 368* 370* 372 severity 5 based fixed bin(17,0) level 3 in structure "sli" dcl 546 in procedure "sys_log_" set ref 321 330 365 366* 370 signal_ 000056 constant entry external dcl 191 ref 307 size builtin function dcl 200 ref 302 sl_info 000722 automatic structure level 1 dcl 5-24 sl_info_ptr 106 000612 automatic pointer level 2 dcl 4-17 set ref 306* sli based structure level 1 dcl 546 sli_ptr 001172 automatic pointer dcl 547 set ref 297* 298 306 311 312 319 320 321 321 321 321 321 321 321 330 330 330 330 330 330 330 339 340 340 342 344 347 347 349 349 351 351 353 356 357 357 359 361 361 363 365 366 366 368 370 370 372 374 375 375 377 379 379 382 383 383 385 386 386 388 390 393 394 398 399 399 401 403 403 405 407 408 409 409 412 412 418 418 418 421 423 423 427 428 435 435 ssu_$get_info_ptr 000060 constant entry external dcl 192 ref 487 status_code 104 000612 automatic fixed bin(35,0) level 3 dcl 4-17 set ref 301* 315* 326* 335* substr builtin function dcl 200 ref 235 255 287 287 421 sys_log_error_info 000612 automatic structure level 1 dcl 4-17 set ref 302 307 307 temp_line 000404 automatic varying char(500) dcl 151 set ref 235* 255* 287* 426* 428* 428 429* 429 432* 432 433* 433 435* 435 457* 466 468 473* 476* 479* 485 488* 498 type_sv0 000010 internal static bit(1) initial dcl 212 set ref 473 488 526* 526 527* unmasked_ev_calls_code 000402 automatic fixed bin(35,0) dcl 148 set ref 446* 450 516* version based char(8) level 2 in structure "sli" dcl 546 in procedure "sys_log_" ref 311 312 version 1 000612 automatic fixed bin(17,0) level 3 in structure "sys_log_error_info" dcl 4-17 in procedure "sys_log_" set ref 303* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 5-69 SL_LOG_BEEP internal static fixed bin(17,0) initial dcl 5-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 5-14 SL_LOG_SILENT internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 5-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 5-14 condition_info_header_ptr automatic pointer dcl 1-4 sc_request_flags based structure level 1 packed packed unaligned dcl 2-55 sc_rf_ptr automatic pointer dcl 2-54 sc_ss_area based area(1024) dcl 2-50 sc_stat_$Go external static bit(1) dcl 3-62 sc_stat_$Go_typed external static bit(1) dcl 3-62 sc_stat_$Multics external static bit(1) dcl 3-62 sc_stat_$Multics_typed external static bit(1) dcl 3-62 sc_stat_$Star_typed external static bit(1) dcl 3-62 sc_stat_$admin_listener_exit_label external static label variable dcl 3-34 sc_stat_$admin_listener_switch external static bit(1) dcl 3-62 sc_stat_$did_part1 external static bit(1) dcl 3-62 sc_stat_$did_part2 external static bit(1) dcl 3-62 sc_stat_$did_part3 external static bit(1) dcl 3-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 3-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$initzer_ttyp external static pointer dcl 3-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$master_abort_label external static label variable dcl 3-34 sc_stat_$master_channel external static char(6) dcl 3-29 sc_stat_$master_iocb external static pointer dcl 3-45 sc_stat_$master_sci_ptr external static pointer dcl 3-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$mc_ansp external static pointer dcl 3-45 sc_stat_$mc_iocb external static pointer dcl 3-45 sc_stat_$no_operator_login external static bit(1) dcl 3-62 sc_stat_$shutdown_typed external static bit(1) dcl 3-62 sc_stat_$sysdir external static char(168) packed unaligned dcl 3-21 sc_stat_$system_shutdown_label external static label variable dcl 3-34 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 3-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 3-62 sl_info_code_msg internal static structure level 1 dcl 5-187 sl_info_msg internal static structure level 1 dcl 5-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 5-161 sl_info_sev_code_msg internal static structure level 1 dcl 5-82 sl_info_sev_coded_msg internal static structure level 1 dcl 5-134 sl_info_sev_msg internal static structure level 1 dcl 5-108 NAMES DECLARED BY EXPLICIT CONTEXT. GEN_BAD_IN 000776 constant label dcl 302 ref 316 327 336 RETURN 003034 constant label dcl 516 ref 458 497 as_time 003077 constant entry internal dcl 533 ref 473 473 476 476 479 479 binary 000414 constant entry external dcl 241 command 000311 constant entry external dcl 224 command_error 000552 constant entry external dcl 270 error_common 000571 constant label dcl 277 ref 268 275 error_log 000532 constant entry external dcl 263 general 000751 constant entry external dcl 295 join 002157 constant label dcl 442 ref 236 256 289 join_general 002166 constant label dcl 446 ref 437 no_error_common 000321 constant label dcl 229 ref 222 sys_log_ 000277 constant entry external dcl 81 type_sv_zero 003045 constant entry external dcl 523 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3642 3756 3164 3652 Length 4342 3164 114 350 455 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME sys_log_ 814 external procedure is an external procedure. on unit on line 448 70 on unit as_time internal procedure shares stack frame of external procedure sys_log_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 type_sv0 sys_log_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME sys_log_ 000100 arg_string sys_log_ 000275 arg_string_lth sys_log_ 000276 based_arg_ptr sys_log_ 000300 based_arg_len sys_log_ 000301 binary sys_log_ 000302 code sys_log_ 000303 command sys_log_ 000304 count sys_log_ 000306 data_ptr sys_log_ 000310 data_lth sys_log_ 000311 data_class sys_log_ 000315 fmtx sys_log_ 000316 argx sys_log_ 000317 ioa_ctl_string sys_log_ 000350 long sys_log_ 000401 masked_ev_calls_code sys_log_ 000402 unmasked_ev_calls_code sys_log_ 000403 severity sys_log_ 000404 temp_line sys_log_ 000610 sc_subsystem_info_ptr sys_log_ 000612 sys_log_error_info sys_log_ 000722 sl_info sys_log_ 001172 sli_ptr sys_log_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry ext_entry_desc int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ cu_$arg_count_rel cu_$arg_list_ptr cu_$arg_ptr_rel date_time_$format hcs_$block hphcs_$call_bce ioa_ ioa_$general_rs ioa_$general_rs_control_string ioa_$ioa_switch ioa_$rsnnl iox_$control ipc_$mask_ev_calls ipc_$unmask_ev_calls log_write_$data log_write_$message phcs_$ring_0_message signal_ ssu_$get_info_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$null_info_ptr error_table_$unimplemented_version error_table_$wrong_no_of_args sc_stat_$admin_log_iocb sc_stat_$admin_log_write_ptr sc_stat_$admin_sci_ptr sc_stat_$as_log_write_ptr sc_stat_$mc_is_on sc_stat_$sv1_iocb sc_stat_$sv2_iocb sc_stat_$sv3_iocb sc_stat_$test_mode LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 81 000274 220 000304 221 000305 222 000306 224 000307 226 000316 227 000320 229 000321 231 000323 233 000325 235 000376 236 000406 241 000407 243 000421 244 000425 245 000427 247 000435 248 000437 250 000441 251 000442 253 000444 255 000515 256 000525 263 000526 266 000545 267 000546 268 000547 270 000550 273 000565 274 000567 275 000570 277 000571 279 000573 281 000575 282 000600 285 000620 287 000671 289 000744 295 000746 297 000756 298 000762 299 000766 301 000773 302 000776 303 001000 304 001002 305 001014 306 001016 307 001020 309 001050 311 001051 312 001055 315 001111 316 001115 319 001116 320 001122 321 001136 324 001167 326 001174 327 001177 329 001200 330 001201 333 001226 335 001233 336 001236 339 001237 340 001242 342 001262 344 001270 346 001273 347 001274 349 001276 351 001302 353 001312 356 001327 357 001332 359 001353 360 001356 361 001357 363 001362 365 001366 366 001370 368 001411 369 001414 370 001415 372 001420 374 001425 375 001427 377 001447 378 001461 379 001462 382 001464 383 001466 385 001507 386 001513 388 001537 390 001542 393 001546 394 001550 395 001552 398 001554 399 001556 401 001576 402 001610 403 001611 405 001613 407 001622 408 001624 409 001627 411 001650 412 001665 416 001756 417 001760 418 001761 421 002025 422 002036 423 002037 426 002041 427 002042 428 002044 429 002071 431 002103 432 002107 433 002133 435 002142 437 002156 442 002157 444 002162 446 002166 448 002171 450 002205 452 002221 453 002222 455 002231 457 002240 458 002256 463 002257 466 002261 468 002325 471 002401 473 002407 476 002460 479 002524 482 002567 484 002570 485 002621 487 002663 488 002675 493 002733 494 002736 497 002760 498 002763 499 003003 500 003020 511 003025 512 003026 513 003033 516 003034 518 003043 523 003044 526 003052 527 003057 528 003076 533 003077 536 003101 ----------------------------------------------------------- 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