COMPILATION LISTING OF SEGMENT system_startup_ 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 1009.5 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 /****^ HISTORY COMMENTS: 13* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 14* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1056): 15* Correct error message documentation. 16* 2) change(87-02-25,Farley), approve(87-04-15,MCR7659), 17* audit(87-04-21,Fawcett), install(87-04-28,MR12.1-1028): 18* Corrected to call disk_table_$init before calling disk_table_$accept_rlv. 19* END HISTORY COMMENTS */ 20 21 /* format: style2,indcomtxt */ 22 23 /**** This procedure is the process overseer for the Multics initializer 24* process. The initializer starts out in ring 1. Only a small set 25* of commands are permitted primarily to allow a reload to take place. 26* Once the reload is complete the standard process overseer for the 27* initializer, "system_control_", is invoked in ring 4. 28* 29* Modified 1985-04-02, BIM: don't print error message if 30* disk_table_$accept_rlv fails, because it prints plenty 31* of messages. Don't run automatic salvage_dirs if root 32* is not complete. 33* Modified 85-03-27 by E. Swenson to add support for emergency listener. 34* Modified 84-10-30 by EJ Sharpe to remove hvr_ declarations 35* Modified 84-08-08 by EJ Sharpe to remove the volume registration 36* commands: (add del change list)_volume_registration. 37* Modified 84-02-02 BIM for amendments. 38* Modified 831107 BIM to salvage crucial directories 39* Modified August 1983 K. Loepere to change references to bce. 40* Modified August 1983 K. Loepere to delete salv and force_pd_abandon 41* commands. 42* Modified 830529 BIM for error handler bugfixes. 43* Modified May 1982 by E. N. Kittlitz to log config deck 44* Modified March 1982 by J. Bongiovanni to rename >lv.root on NOLV 45* Modified June 1981 by C. Hornig to flush bulk store. 46* Modified April 1981 by Benson I. Margulies for IOX 47* Modified April 1979 by B. Greenberg for NOLV/NODT boot card hacks. 48* Modified Feb 1977 by D. Vinograd to add command for volume reloader. 49* Modified Oct 75 for Nss by TVV 50* Modified 750423 by T. Casey to add reload_system_release and 51* reload_notrim, and delete update. 52* Modified 741218 by PG to turn on soos, dir, and ipc privileges. 53* "update" request added by RE Mullen Aug 1973 54* Originally coded by R. J. Feiertag on March 25, 1971 */ 55 56 system_startup_: 57 procedure (); 58 59 dcl code fixed bin (35); 60 dcl (i, j) fixed bin; 61 dcl SC1 char (168) init (">system_control_1") internal static; 62 /* one wdir is as good as an other */ 63 dcl ME character (32) init ("system_startup_") internal static options (constant); 64 65 dcl test_dir char (*) parameter; 66 dcl l fixed bin (21); /* length of input command */ 67 dcl 1 local_status_branch aligned like status_branch; 68 dcl 1 local_salv_args aligned like salv_args; 69 dcl vcommand character (80) varying; 70 dcl entry_var entry variable options (variable); 71 /* arg to caller */ 72 73 dcl nosc_parameter bit (1) aligned; 74 dcl buffer char (120) unaligned; 75 /* Typewriter input buffer */ 76 dcl IOX_up bit (1) aligned init ("0"b); 77 dcl disk_table_ok bit (1) aligned; 78 79 dcl init bit (1) internal static init ("0"b); 80 /* have we been initialized */ 81 dcl rings (3) fixed bin (3) int static init (7, 7, 7); 82 dcl debug bit (1) internal static init ("0"b); 83 dcl level fixed bin int static init (0); 84 85 86 dcl active_all_rings_data$initializer_tty 87 ext char (32), /* id of initializer console */ 88 active_all_rings_data$initializer_dim 89 ext char (32), 90 active_all_rings_data$system_id 91 ext char (32); 92 93 dcl error_table_$long_record 94 fixed bin (35) ext static; 95 96 dcl ( 97 system_privilege_$soos_priv_on, 98 system_privilege_$dir_priv_on, 99 system_privilege_$ring1_priv_on, 100 system_privilege_$ipc_priv_on 101 ) entry (fixed bin (35)); 102 103 dcl get_system_free_area_ entry returns (ptr); 104 dcl (get_temp_segments_, release_temp_segments_) 105 entry (character (*), (*) pointer, fixed binary (35)); 106 dcl hcs_$quota_read entry (char (*), fixed bin (18), fixed bin (71), bit (36) aligned, bit (36), 107 fixed bin (1), fixed bin (18), fixed bin (35)); 108 dcl hcs_$status_ entry (char (*), char (*), fixed bin (1), ptr, ptr, fixed bin (35)); 109 dcl hcs_$history_regs_set entry (bit (1) aligned); 110 dcl hphcs_$salv_directory entry (ptr, char (*) var, ptr, fixed bin, fixed bin (35)); 111 dcl sct_manager_$set entry (fixed bin, entry, fixed bin (35)); 112 dcl timer_manager_$alarm_interrupt 113 entry; 114 dcl timer_manager_$cpu_time_interrupt 115 entry; 116 dcl call_outer_ring_ entry (pointer, char (*), char (*), fixed bin (3), fixed bin (35)); 117 dcl disk_table_$accept entry options (variable); 118 dcl disk_table_$general_mhv 119 entry (fixed bin (35)); 120 dcl disk_table_$mount_hvol entry options (variable); 121 dcl disk_table_$list entry options (variable); 122 dcl iload entry options (variable); 123 dcl iload$system_release entry options (variable); 124 dcl disk_table_$remove entry options (variable); 125 dcl disk_table_$demount_hvol 126 entry options (variable); 127 dcl disk_table_$reregister entry options (variable); 128 dcl salv_caller$packsalv entry options (variable); 129 dcl salv_caller$rbld_disk entry options (variable); 130 dcl disk_table_$initialize_disk 131 entry options (variable); 132 dcl reload_volume entry options (variable); 133 dcl end_reload_volume entry options (variable); 134 dcl display_volume_log entry options (variable); 135 dcl disk_table_$io_ss_reconfig 136 entry options (variable); 137 dcl recover_volume_log entry options (variable); 138 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) 139 returns (char (250) varying); 140 dcl ioa_ entry options (variable); 141 dcl ioa_$nnl entry options (variable); 142 dcl ioa_$rsnnl entry options (variable); 143 dcl com_err_ entry options (variable); 144 dcl com_err_$suppress_name entry options (variable); 145 dcl condition_ entry (char (*), entry); 146 dcl iox_$init_standard_iocbs 147 entry; 148 dcl disk_table_$accept_rlv entry (fixed bin (35)); 149 dcl disk_table_$init entry (fixed bin (35)); 150 dcl get_group_id_ entry returns (char (32)); 151 dcl hcs_$append_branchx entry (char (*), char (*), fixed bin (5), (3) fixed bin (3), char (*), fixed bin, 152 fixed bin, fixed bin, fixed bin (35)); 153 dcl hcs_$chname_file entry (char (*), char (*), char (*), char (*), fixed bin (35)); 154 dcl hcs_$fs_search_set_wdir 155 entry (char (*), fixed bin (35)); 156 dcl hphcs_$call_bce entry; 157 dcl hphcs_$shutdown entry; 158 dcl hphcs_$syserr entry options (variable); 159 dcl hphcs_$syserr_error_code 160 entry options (variable); 161 dcl hphcs_$syserr_binary entry options (variable); 162 dcl rcp_init entry; 163 dcl rcp_reconfigure_$delete_device 164 entry (char (*), fixed bin (35)); 165 dcl rcp_reconfigure_$add_device 166 entry (char (*), fixed bin (35)); 167 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 168 dcl unique_chars_ entry (bit (*)) returns (char (15)); 169 170 171 dcl (addr, after, before, clock, codeptr, currentsize, divide, hbound, length, ltrim, max, min, null, 172 pointer, rtrim, size, substr, sum, unspec) 173 builtin; 174 dcl stringsize condition; 175 176 177 /* Program */ 178 179 call condition_ ("any_other", error); /* find_condition_info_ aint on the tape */ 180 call sct_manager_$set (cput_sct_index, timer_manager_$cpu_time_interrupt, code); 181 call sct_manager_$set (alrm_sct_index, timer_manager_$alarm_interrupt, code); 182 183 call system_privilege_$soos_priv_on (code); /* Turn on scodeurity-out-of-service privilege */ 184 call system_privilege_$dir_priv_on (code); /* Turn on directory privileges */ 185 call system_privilege_$ring1_priv_on (code); /* turn on ring 1 privileges */ 186 call system_privilege_$ipc_priv_on (code); /* Turn on ipc privileges */ 187 /* code indicates if on previously, ignore */ 188 call hcs_$history_regs_set ("1"b); /* save hregs */ 189 190 code = 0; 191 192 if init 193 then go to read_command; /* if restart, skip initialization */ 194 195 call rcp_init; 196 197 call iox_$init_standard_iocbs; 198 call iox_$attach_ptr (iox_$user_io, 199 active_all_rings_data$initializer_dim || " " || active_all_rings_data$initializer_tty, 200 codeptr (system_startup_), code); 201 if code ^= 0 202 then call die (); 203 204 call iox_$open (iox_$user_io, Stream_input_output, ""b, code); 205 if code ^= 0 206 then call die (); 207 208 test_entry: 209 entry (); 210 211 IOX_up = "1"b; 212 213 /* Obtain the first operator command from the BOOT command arguments */ 214 215 call get_config_size (); 216 call log_configuration (); 217 218 vcommand = ""; 219 nosc_parameter = "0"b; 220 221 do i = 1 to config_n_cards while (vcommand = ""); 222 223 if cards (i).word = INTK_CARD_WORD 224 then do; 225 intk_cardp = addr (config_deck.cards (i)); 226 do j = 1 to hbound (intk_card_array.parms, 1); 227 228 if intk_card.parms (j) = "nodt" 229 then call root_rename ("disk_table"); 230 else if intk_card.parms (j) = "nolv" 231 then call nolv_request; 232 else if intk_card.parms (j) = "nosc" 233 then nosc_parameter = "1"b; 234 else vcommand = vcommand || intk_card.parms (j) || " "; 235 end; 236 end; 237 end; 238 239 code = 0; 240 call disk_table_$init (code); /* Turn on the ring 1 storage system */ 241 if code = 0 242 then disk_table_ok = "1"b; 243 else disk_table_ok = "0"b; 244 pvtp = addr (pvt$); 245 if pvt.rlv_needs_salv & ^pvt.rpvs_requested /* suppress for rpvs */ 246 then do; 247 call disk_table_$accept_rlv (code); 248 if code = 0 249 then call salvage_dirs; /* for speed. */ 250 else call com_err_ (0, ME, 251 "The root logical volume is not complete. ""boot rlvs"" level 2 directory salvage aborted.") 252 ; 253 end; 254 255 call hcs_$append_branchx (">", "system_control_1", 01011b, rings, get_group_id_ (), 1, 0, (0), (0)); 256 257 call hcs_$fs_search_set_wdir (SC1, (0)); /* set default value */ 258 259 call ioa_ ("Multics ^a - ^a", active_all_rings_data$system_id, 260 date_time_$format ("date_time", clock (), "", "")); 261 262 init = "1"b; /* initialization is complete */ 263 if disk_table_ok 264 then do; /* If disk table looks OK */ 265 if vcommand ^= "" 266 then call exec (rtrim (vcommand)); /* do command ONLY if all is cool */ 267 end; 268 269 goto read_command; /* Command processor loop */ 270 271 read_command_entry: 272 entry (); 273 call condition_ ("any_other", error); /* set it for this frame */ 274 goto read_command; 275 read_command_return: 276 return; 277 read_command: 278 do while ("1"b); 279 call ioa_$nnl ("^[Level ^d; ^]Command: ", level ^= 0, level); 280 /* Prompt for command. */ 281 call iox_$get_line (iox_$user_io, addr (buffer), length (buffer), l, code); 282 283 if code = error_table_$long_record 284 then call com_err_ (code, ME, "Input line too long for command buffer."); 285 else if code ^= 0 286 then do; 287 call hphcs_$syserr_error_code (CRASH, code, "^a: Could not read command line.", ME); 288 call hphcs_$call_bce; /* I MEANT THAT 1 */ 289 end; 290 else do; 291 l = l - 1; /* throw away new line */ 292 call exec (substr (buffer, 1, l)); 293 end; 294 end; 295 296 exec: 297 proc (buf); /* This procedure is nonquick, it has a dependent string declaration */ 298 299 dcl buf character (*); 300 dcl work_string character (length (buf)) varying; 301 dcl command character (32); 302 dcl arg (0:20) char (32); 303 dcl an fixed bin; 304 305 arg (*) = ""; 306 an = -1; /* no args unless we see more */ 307 308 work_string = buf; 309 do while (work_string ^= ""); 310 work_string = ltrim (work_string); /* leading blanks go away */ 311 an = an + 1; 312 if an > hbound (arg, 1) 313 then do; 314 call ioa_ ("Too many arguments supplied. ^d is the maximum.", hbound (arg, 1)); 315 return; 316 end; 317 on stringsize 318 begin; 319 call ioa_ ("Token longer than 32 characters: ^a.", before (work_string, " ")); 320 go to exec_return; 321 end; 322 (stringsize): 323 arg (an) = before (work_string, " "); 324 revert stringsize; 325 work_string = after (work_string, " "); 326 end; 327 if an = -1 328 then 329 exec_return: 330 return; 331 332 command = arg (0); 333 334 do i = 1 to hbound (command_abbrev, 1) while (command ^= command_abbrev (i)); 335 end; 336 if i > hbound (command_abbrev, 1) 337 then do; 338 do i = 1 to hbound (command_list, 1) while (command ^= command_list (i)); 339 end; 340 if i > hbound (command_list, 1) 341 then do; 342 call ioa_ ("^a: ^a is not a legal command. Type help for a list of commands.", ME, command); 343 return; 344 end; 345 end; 346 command = command_list (i); /* Expand abbrev */ 347 348 do j = 1 to hbound (check_commands, 1); 349 if check_commands (j) = command & ^(nosc_parameter & command = "standard") 350 /* special case "boot stan nosc" */ 351 then do; 352 code = 0; 353 call disk_table_$accept_rlv (code);/* prints error messages */ 354 if code ^= 0 355 then go to read_command; 356 end; 357 end; 358 go to handle (i); 359 360 handle (1): /* "add_vol" command */ 361 entry_var = disk_table_$accept; 362 call caller (); 363 return; 364 365 handle (2): /* "bce" command */ 366 call hphcs_$call_bce; 367 return; 368 369 handle (3): /* "list_disks" command */ 370 entry_var = disk_table_$list; 371 call caller (); 372 return; 373 374 handle (4): /* "multics" command */ 375 call shutdown_iox; /* this is in ring 1, so it is not crucial */ 376 call call_out ("multics_entry"); 377 return; 378 379 handle (5): /* "reload" command */ 380 code = 0; 381 call disk_table_$general_mhv (code); 382 if code ^= 0 383 then do; 384 call com_err_ (0, ME, "Will not reload"); 385 return; 386 end; 387 entry_var = iload; 388 call caller (); 389 return; 390 391 handle (6): /* "del_lv" command */ 392 entry_var = disk_table_$demount_hvol; 393 call caller (); 394 return; 395 396 handle (7): /* "reload_system_release" command */ 397 entry_var = iload$system_release; 398 call caller (); 399 return; 400 401 handle (8): /* "del_vol" command */ 402 entry_var = disk_table_$remove; 403 call caller (); 404 return; 405 406 handle (9): /* "shutdown" command */ 407 call hphcs_$shutdown; 408 return; 409 410 handle (10): /* "standard" command */ 411 call shutdown_iox; 412 call call_out ("system_control_"); /* call standard process overseer */ 413 return; 414 415 handle (11): /* "reregister" command */ 416 entry_var = disk_table_$reregister; 417 call caller (); 418 return; 419 420 handle (12): /* "startup" command */ 421 call shutdown_iox; 422 call call_out ("startup_entry"); /* call standard process overseer */ 423 return; 424 425 handle (13): /* "salvage_vol" command */ 426 entry_var = salv_caller$packsalv; 427 call caller (); 428 return; 429 430 handle (14): /* "init_vol" command */ 431 entry_var = disk_table_$initialize_disk; 432 call caller (); 433 return; 434 435 handle (15): /* "add_lv" command */ 436 entry_var = disk_table_$mount_hvol; 437 call caller (); 438 return; 439 440 handle (16): /* "help" command */ 441 do i = 1 to hbound (command_list, 1); 442 if command_abbrev (i) ^= "" 443 then call ioa_ ("^a (^a)", command_list (i), command_abbrev (i)); 444 else call ioa_ ("^a", command_list (i)); 445 end; 446 call ioa_ (""); 447 return; 448 449 handle (17): /* "addd" command */ 450 call rcp_reconfigure_$add_device (arg (1), code); 451 return; 452 453 handle (18): /* "deld" command */ 454 call rcp_reconfigure_$delete_device (arg (1), code); 455 return; 456 457 handle (19): /* rebuild_disk command */ 458 entry_var = salv_caller$rbld_disk; 459 call caller (); 460 return; 461 462 handle (20): /* reload_volume command */ 463 entry_var = reload_volume; 464 call caller (); 465 return; 466 467 handle (21): /* end_reload_volume command */ 468 entry_var = end_reload_volume; 469 call caller (); 470 return; 471 472 handle (22): /* recover_volume_log command */ 473 entry_var = recover_volume_log; 474 call caller (); 475 return; 476 477 handle (23): /* debug command */ 478 debug = "1"b; 479 return; 480 481 handle (24): /* release command */ 482 if level > 0 483 then do; 484 level = level - 1; 485 goto read_command_return; 486 end; 487 else do; 488 call ioa_ ("At top of stack"); 489 return; 490 end; 491 492 handle (25): /* display_volume_log command */ 493 entry_var = display_volume_log; 494 call caller (); 495 return; 496 497 handle (26): /* set_drive_usage command */ 498 entry_var = disk_table_$io_ss_reconfig; 499 call caller (); 500 return; 501 502 handle (27): /* salvage_dirs command */ 503 entry_var = salvage_dirs; 504 call caller (); 505 return; 506 507 dcl command_list (27) char (32) static options (constant) 508 init ("add_vol", "bce", "list_disks", "multics", "reload", "del_lv", 509 "reload_system_release", "del_vol", "shutdown", "standard", "reregister", 510 "startup", "salvage_vol", "init_vol", "add_lv", "help", "adddev", "deldev", 511 "rebuild_disk", "reload_volume", "end_reload_volume", "recover_volume_log", 512 "debug", "release", "display_volume_log", "set_drive_usage", "salvage_dirs"); 513 514 dcl command_abbrev (27) char (4) static options (constant) 515 init ("av", "", "ld", "mult", "", "dlv", "", "dv", "shut", "stan", "", "star", 516 "sv", "", "alv", "", "addd", "deld", "", "", "", "", "", "", "", "sdu", ""); 517 518 dcl check_commands (6) char (32) static options (constant) 519 init ("multics", "reload", "reload_system_release", "standard", "startup", 520 "salvage_dirs"); /* These require a complete RLV */ 521 522 caller: 523 proc (); 524 525 if arg (20) ^= "" 526 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 527 arg (11), arg (12), arg (13), arg (14), arg (15), arg (16), arg (17), arg (18), arg (19), arg (20)); 528 else if arg (19) ^= "" 529 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 530 arg (11), arg (12), arg (13), arg (14), arg (15), arg (16), arg (17), arg (18), arg (19)); 531 else if arg (18) ^= "" 532 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 533 arg (11), arg (12), arg (13), arg (14), arg (15), arg (16), arg (17), arg (18)); 534 else if arg (17) ^= "" 535 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 536 arg (11), arg (12), arg (13), arg (14), arg (15), arg (16), arg (17)); 537 else if arg (16) ^= "" 538 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 539 arg (11), arg (12), arg (13), arg (14), arg (15), arg (16)); 540 else if arg (15) ^= "" 541 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 542 arg (11), arg (12), arg (13), arg (14), arg (15)); 543 else if arg (14) ^= "" 544 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 545 arg (11), arg (12), arg (13), arg (14)); 546 else if arg (13) ^= "" 547 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 548 arg (11), arg (12), arg (13)); 549 else if arg (12) ^= "" 550 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 551 arg (11), arg (12)); 552 else if arg (11) ^= "" 553 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10), 554 arg (11)); 555 else if arg (10) ^= "" 556 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9), arg (10)); 557 else if arg (9) ^= "" 558 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8), arg (9)); 559 else if arg (8) ^= "" 560 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7), arg (8)); 561 else if arg (7) ^= "" 562 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6), arg (7)); 563 else if arg (6) ^= "" 564 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5), arg (6)); 565 else if arg (5) ^= "" 566 then call entry_var (arg (1), arg (2), arg (3), arg (4), arg (5)); 567 else if arg (4) ^= "" 568 then call entry_var (arg (1), arg (2), arg (3), arg (4)); 569 else if arg (3) ^= "" 570 then call entry_var (arg (1), arg (2), arg (3)); 571 else if arg (2) ^= "" 572 then call entry_var (arg (1), arg (2)); 573 else if arg (1) ^= "" 574 then call entry_var (arg (1)); 575 else call entry_var (); 576 577 end caller; 578 579 end exec; 580 581 /* Internal procedure to do the NOLV work. This involves renameing 582* >lv.root to a uniquely named thing, and removing all other names 583* from it. */ 584 585 nolv_request: 586 proc; 587 588 dcl namex fixed bin; 589 590 dcl LV_ROOT_ENT char (7) int static options (constant) init ("lv.root"); 591 592 status_area_ptr = get_system_free_area_ (); 593 status_ptr = addr (local_status_branch); 594 call hcs_$status_ (">", LV_ROOT_ENT, 0, status_ptr, status_area_ptr, code); 595 if code ^= 0 596 then call com_err_ (code, ME, "Cannot remove names from >^a", LV_ROOT_ENT); 597 else do; 598 do namex = 1 to status_branch.nnames; 599 if status_entry_names (namex) ^= LV_ROOT_ENT 600 then do; 601 call hcs_$chname_file (">", LV_ROOT_ENT, (status_entry_names (namex)), "", code); 602 if code ^= 0 603 then call com_err_ (code, ME, "Removing name ^a from >^a", status_entry_names (namex), 604 LV_ROOT_ENT); 605 end; 606 end; 607 free status_branch; 608 end; 609 610 call root_rename (LV_ROOT_ENT); 611 call root_rename ("lv"); 612 613 return; 614 615 end nolv_request; 616 617 root_rename: 618 proc (a_segname); 619 620 dcl a_segname char (*); 621 dcl new_ename char (32); 622 623 new_ename = rtrim (a_segname) || "." || unique_chars_ (""b); 624 call hcs_$chname_file (">", a_segname, a_segname, new_ename, code); 625 if code = 0 626 then call ioa_ ("system_startup_: Renamed >^a to >^a.", a_segname, new_ename); 627 628 end root_rename; 629 630 /* This internal procedure handles all signalled errors */ 631 632 error: 633 proc (mcptr, name, wcptr, iptr); 634 635 dcl mcptr ptr, /* pointer to machine conditions */ 636 name char (*), /* name of condition */ 637 wcptr ptr, /* pointer to wall crossing conditions */ 638 iptr ptr; /* points to misc information */ 639 640 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 641 642 dcl 1 auto_fault_msg aligned like fault_msg; 643 dcl error_name char (32); 644 dcl message char (100); 645 dcl i_message char (100) aligned; 646 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 */ 647 2 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 2 2 /* format: style2 */ 2 3 2 4 /* The include file condition_info_header must be used with this file */ 2 5 2 6 declare sub_error_info_ptr pointer; 2 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 2 8 2 header aligned like condition_info_header, 2 9 2 retval fixed bin (35), /* return value */ 2 10 2 name char (32), /* module name */ 2 11 2 info_ptr ptr; 2 12 2 13 declare sub_error_info_version_1 2 14 internal static options (constant) fixed bin init (1); 2 15 2 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 648 649 650 dcl in_error_handler bit (1) aligned internal static init ("0"b); 651 /* detect recursive errors */ 652 653 if in_error_handler 654 then begin; 655 656 declare dead_ptr pointer; 657 declare death_value fixed bin; 658 declare based_deadly based fixed bin; 659 declare baseptr builtin; 660 661 call hphcs_$syserr (CRASH, "^a: Recursive error condition.", ME); 662 /* trust NOTHING */ 663 call hphcs_$call_bce (); 664 dead_ptr = baseptr (-2); /* take attempt to terminate initializer process if hphcs is broken. */ 665 death_value = dead_ptr -> based_deadly; 666 end; 667 in_error_handler = "1"b; 668 669 error_name = name; 670 if iptr ^= null () /* Software Information */ 671 then do; 672 condition_info_header_ptr = iptr; 673 if condition_info_header.quiet_restart 674 then 675 RETURN_FROM_ERROR: 676 do; 677 in_error_handler = "0"b; 678 return; 679 end; 680 681 682 if name = "sub_error_" 683 then do; 684 sub_error_info_ptr = iptr; 685 error_name = sub_error_info.name; 686 end; 687 688 message = ""; 689 690 call ioa_$rsnnl ("Error: ^a condition", message, (0), error_name); 691 call PRINT (message); 692 693 if condition_info_header.status_code ^= 0 694 then call convert_status_code_ (condition_info_header.status_code, "", i_message); 695 else i_message = ""; 696 message = i_message; 697 698 if condition_info_header.info_string ^= "" 699 then call PRINT_V (condition_info_header.info_string); 700 if message ^= "" 701 then call PRINT (message); 702 703 if condition_info_header.action_flags.default_restart 704 then go to RETURN_FROM_ERROR; 705 end; 706 707 else if mcptr = null () 708 then call hphcs_$syserr (BEEP, "^a: unclaimed ^a condition.", ME, name); 709 else do; 710 mcp = mcptr; 711 unspec (auto_fault_msg.mach_cond) = unspec (mc); 712 unspec (auto_fault_msg.hist_reg) = ""b; /* we cant get */ 713 call hphcs_$syserr_binary (LOG, addr (auto_fault_msg), SB_hw_fault, SBL_hw_fault, "^a:", ME); 714 call hphcs_$syserr_error_code (BEEP, mcptr -> mc.errcode, "^a: unclaimed ^a condition.", ME, name); 715 call hphcs_$syserr (ANNOUNCE, "^5xPointer Registers:"); 716 do i = 0 to 7; 717 call hphcs_$syserr (ANNOUNCE, "^-pr^d:^-^p", i, mc.prs (i)); 718 end; 719 call hphcs_$syserr (ANNOUNCE, "^5x Registers:"); 720 call hphcs_$syserr (ANNOUNCE, 721 "^-x0: ^.3b x1: ^.3b x2: ^.3b x3: ^.3b^/^-x4: ^.3b x5: ^.3b x6: ^.3b x7: ^.3b", mc.x (0), 722 mc.x (1), mc.x (2), mc.x (3), mc.x (4), mc.x (5), mc.x (6), mc.x (7)); 723 call hphcs_$syserr (ANNOUNCE, "^-a: ^.3b q: ^.3b e:^.3b", mc.a, mc.q, mc.e); 724 call hphcs_$syserr (ANNOUNCE, "^-timer: ^.3b ralr: ^.3b", mc.t, mc.ralr); 725 call hphcs_$syserr (ANNOUNCE, "^5xSCU Data:^2(^/^w ^w ^w ^w^)", mc.scu); 726 end; 727 728 if ^IOX_up 729 then do; 730 call hphcs_$syserr ("^a: Cannot do IO, crashing."); 731 call hphcs_$call_bce; 732 end; 733 734 if debug 735 then do; 736 level = level + 1; 737 in_error_handler = "0"b; 738 call read_command_entry; /* save the stack */ 739 end; 740 if init 741 then do; 742 in_error_handler = "0"b; 743 go to read_command; /* Try again */ 744 end; 745 call hphcs_$syserr (CRASH, "^a: Error condition while initializing ring 1 environment.", ME); 746 call hphcs_$call_bce; 747 748 PRINT: 749 procedure (a_message); 750 declare a_message char (*); 751 752 if IOX_up 753 then call ioa_ ("^a: ^a", ME, a_message); 754 else call hphcs_$syserr (BEEP, "^a: ^a", ME, a_message); 755 return; 756 757 PRINT_V: 758 entry (a_v_message); 759 declare a_v_message char (*) varying; 760 if IOX_up 761 then call ioa_ ("^a: ^a", ME, a_v_message); 762 else call hphcs_$syserr (ANNOUNCE, "^a: ^a", ME, a_v_message); 763 return; 764 765 end PRINT; 766 767 end error; 768 769 /* This internal procedures terminates the process */ 770 771 die: 772 proc; 773 774 call hphcs_$syserr_error_code (CRASH, code, "^a: error on initializer io streams", ME); 775 call hphcs_$call_bce; 776 end die; 777 778 shutdown_iox: 779 procedure; 780 781 /* leaving i/o switches around in ring 1 is not necessarily fatal. So we do 782* not crash in here, but leave it to system_control_ to crash from ring 4 783* for if something cannot be tolerated. */ 784 785 declare iox_$n_standard_iocbs external fixed bin; 786 declare standard_iocb_ptrs (iox_$n_standard_iocbs) pointer based (iocb_ptrs_ptr); 787 declare iox_$standard_iocb_ptrs 788 bit (36) aligned external static; 789 declare iocb_ptrs_ptr pointer; 790 791 IOX_up = "0"b; 792 iocb_ptrs_ptr = addr (iox_$standard_iocb_ptrs); 793 do i = 1 to iox_$n_standard_iocbs; 794 call iox_$close (standard_iocb_ptrs (i), (0)); 795 call iox_$detach_iocb (standard_iocb_ptrs (i), (0)); 796 end; 797 end shutdown_iox; 798 799 test: 800 entry (test_dir); 801 SC1 = test_dir; 802 return; 803 804 get_config_size: 805 proc (); 806 807 /* * This procedure sets n_cards and max_cards appropriately, by examining 808* * the information in the config_deck segment. 809**/ 810 811 dcl idx fixed bin; 812 dcl linkage_error condition; 813 814 815 config_max_cards = divide (4096 - 1, size (config_card), 17, 0); 816 817 on linkage_error 818 begin; 819 call hphcs_$syserr (CRASH, "^a: The config_deck segment is missing.", ME); 820 call hphcs_$call_bce; 821 end; 822 configp = addr (config_deck$); /* Make addressable */ 823 revert linkage_error; 824 825 try_config_again: 826 if config_deck.cards (1).word = ZERO_CARD_WORD 827 then do; /* It's empty already */ 828 call hphcs_$syserr (CRASH, "^a: The config deck is empty.", ME); 829 call hphcs_$call_bce; 830 go to try_config_again; /* perhaps fixed up in bce */ 831 end; 832 833 do idx = 1 to config_max_cards; /* Otherwise, look for the first free card */ 834 if config_deck.cards (idx).word = FREE_CARD_WORD 835 then goto FOUND_FREE_CARD; 836 end; 837 838 FOUND_FREE_CARD: 839 config_n_cards = idx - 1; /* Last card used is one before the free one */ 840 841 return; /* All done */ 842 end get_config_size; 843 844 call_out: 845 procedure (system_control_entrypoint); 846 847 declare system_control_entrypoint 848 character (*); 849 850 call call_outer_ring_ (codeptr (system_startup_), "system_control_", system_control_entrypoint, (/* ring */ 4), 851 code); 852 call hphcs_$syserr_error_code (CRASH, code, "^a: Could not call out to system_control_$^a.", ME, 853 system_control_entrypoint); 854 call hphcs_$call_bce; 855 856 end call_out; 857 858 log_configuration: 859 proc; /* log the config deck */ 860 861 dcl GROUP_SIZE fixed bin (17) init (16) static options (constant); 862 863 dcl cards_in_group fixed bin; /* 16, or the (smaller) remainder of cards in the deck */ 864 dcl card_index fixed bin; /* which config card */ 865 dcl n_groups fixed bin; /* number of chunk calls required */ 866 867 dcl 1 card_group (cards_in_group) like config_card aligned 868 based (addr (config_deck.cards (card_index))); 869 870 n_groups = divide (config_n_cards + GROUP_SIZE - 1, GROUP_SIZE, 17, 0); 871 do card_index = 1 to config_n_cards by GROUP_SIZE; 872 cards_in_group = min (config_n_cards - card_index + 1, GROUP_SIZE); 873 call hphcs_$syserr_binary (LOG, addr (card_group), SB_config_deck, currentsize (card_group), 874 "Config deck, part ^d of ^d", divide (card_index, GROUP_SIZE, 17, 0) + 1, n_groups); 875 call timer_manager_$sleep (1000, "10"b); /* goof off for 1ms and let hproc run */ 876 end; 877 878 end log_configuration; 879 880 salvage_dirs: 881 procedure; 882 883 declare dir_path char (168); 884 declare starx fixed bin; 885 declare hcs_$star_ entry (char (*), char (*), fixed bin (2), ptr, fixed bin, ptr, ptr, 886 fixed bin (35)); 887 888 call hcs_$star_ (">", "*", star_BRANCHES_ONLY, get_system_free_area_ (), star_entry_count, star_entry_ptr, 889 star_names_ptr, code); /* Dont bother with foo.** */ 890 891 if code ^= 0 892 then do; 893 call com_err_ (code, ME, "Could not list the root."); 894 return; 895 end; 896 897 do starx = 1 to star_entry_count; 898 if star_entries (starx).type = star_DIRECTORY 899 then do; 900 dir_path = ">" || star_names (star_entries (starx).nindex); 901 if dir_path ^= ">system_library_1" & dir_path ^= ">process_dir_dir" 902 then do; 903 call salvage_dir (dir_path); 904 call ensure_quota$$first_pass (dir_path); 905 end; 906 end; 907 end; 908 909 call ensure_quota (">system_control_dir"); 910 call ensure_quota (">"); 911 return; 912 end salvage_dirs; 913 914 salvage_dir: 915 procedure (dir_pathname); 916 declare dir_pathname character (*); 917 918 declare a_time fixed bin (71); 919 declare s_temps (2) ptr; 920 declare salv_message char (2000) varying; 921 922 call get_temp_segments_ (ME, s_temps, code); 923 local_salv_args.temp1_ptr = s_temps (1); 924 local_salv_args.temp2_ptr = s_temps (2); 925 a_time = clock (); 926 local_salv_args.salv_time = substr (unspec (a_time), 21, 36); 927 local_salv_args.options = ""b; 928 local_salv_args.correct_oosw, local_salv_args.delete_connection_failure = "1"b; 929 local_salv_args.check_vtoce = mountedp (dir_pathname, ""); 930 /* Gross, but effective */ 931 local_salv_args.branch_ptr = null (); 932 local_salv_args.current_length = 0; 933 local_salv_args.pathname = dir_pathname; 934 935 salv_message = ""; 936 call ioa_ ("Salvaging ^a.", dir_pathname); 937 call hphcs_$salv_directory (addr (local_salv_args), salv_message, null (), (0), code); 938 call com_err_$suppress_name (code, ME, "^[Salvager reported^/^a.^]", salv_message ^= "", salv_message); 939 call release_temp_segments_ (ME, s_temps, code); 940 return; 941 end salvage_dir; 942 943 ensure_quota: 944 procedure (dir_pathname); 945 declare dir_pathname char (*); 946 947 declare first_pass bit (1) aligned; 948 949 dcl hphcs_$correct_qused entry (char (*), fixed bin (34), fixed bin (34), fixed bin (34), fixed bin (34), 950 bit (1) aligned, fixed bin (35)); 951 declare hphcs_$quota_set external entry (char (*), fixed bin (18), fixed bin (35)); 952 declare (old_seg_used, old_dir_used, new_seg_used, new_dir_used) 953 fixed bin (34); 954 declare did_something bit (1) aligned; 955 declare code fixed bin (35); 956 957 declare Qalloc fixed bin (18); 958 declare trp fixed bin (71); 959 declare tup bit (36) aligned; 960 declare terminal_sw fixed bin (1); 961 declare Qused fixed bin (18); 962 declare sons_lvid bit (36); 963 964 first_pass = "0"b; 965 go to Common; 966 967 ensure_quota$$first_pass: 968 entry (dir_pathname); 969 970 first_pass = "1"b; 971 972 Common: 973 call hphcs_$correct_qused (dir_pathname, old_seg_used, old_dir_used, new_seg_used, new_dir_used, did_something, 974 code); 975 976 if did_something 977 then do; 978 if code ^= 0 979 then call com_err_ (code, ME, "While fixing quota for ^a.", dir_pathname); 980 if old_seg_used ^= new_seg_used 981 then call ioa_ ("^a: Segment quota used changed from ^d to ^d.", dir_pathname, old_seg_used, 982 new_seg_used); 983 if old_dir_used ^= new_dir_used 984 then call ioa_ ("^a: Directory quota used changed from ^d to ^d.", dir_pathname, old_dir_used, 985 new_dir_used); 986 end; 987 else call com_err_ (code, ME, "Warning: Could not validate/correct quota on ^a.", dir_pathname); 988 989 if first_pass 990 then return; 991 992 call hcs_$quota_read (dir_pathname, Qalloc, trp, tup, sons_lvid, terminal_sw, Qused, code); 993 994 if code ^= 0 995 then do; 996 call com_err_ (code, ME, "Could not read quota for ^a.", dir_pathname); 997 return; 998 end; 999 1000 if terminal_sw = 0 1001 then return; /* parent has been bothered */ 1002 if (Qalloc - Qused) > 1000 1003 then return; 1004 1005 call hphcs_$quota_set (dir_pathname, Qused + 1000, code); 1006 if code ^= 0 1007 then call com_err_ (code, ME, "Could not set quota for ^a, which has only ^d record available.", dir_pathname, 1008 Qalloc - Qused); 1009 else call ioa_ ("^a: Forcing quota for ^a from ^d to ^d. Run a quota salvage.", ME, dir_pathname, Qalloc, 1010 Qalloc + 1000); 1011 return; 1012 end ensure_quota; 1013 1014 mountedp: 1015 procedure (dir, entryname) returns (bit (1) aligned); 1016 1017 declare (dir, entryname) char (*); 1018 declare 1 sb aligned like status_branch; 1019 1020 declare hcs_$status_long entry (char (*), char (*), fixed bin (1), ptr, ptr, fixed bin (35)); 1021 declare hcs_$lv_attached entry (bit (36) aligned) returns (fixed bin (35)); 1022 1023 call hcs_$status_long (dir, entryname, (0), addr (sb), null (), code); 1024 if code ^= 0 1025 then return ("0"b); 1026 return (hcs_$lv_attached ((sb.lvid)) = 0); 1027 end mountedp; 1028 1029 /* format: off */ 1030 1031 /* BEGIN INCLUDE FILE ... config_intk_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 3 2 3 3 dcl intk_cardp pointer; /* pointer to INTK card */ 3 4 3 5 dcl 1 intk_card aligned based (intk_cardp), /* INTK card declaration */ 3 6 2 word char (4), /* "intk" */ 3 7 2 warm_or_cold char (4), /* Type of bootload: "warm" or "cold" */ 3 8 2 boot_drive fixed bin, /* Tape drive on which MST is mounted */ 3 9 2 parms (12) char (4), /* up to 12 arbitrary bootload parameters */ 3 10 3 11 2 type_word aligned, 3 12 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 3 13 3 pad1 bit (4) unaligned, 3 14 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 3 15 3 16 dcl 1 intk_card_array aligned based (intk_cardp), /* Overlay for counting parameters */ 3 17 2 pad (3) bit (36) aligned, 3 18 2 parms (max (0, intk_card.n_fields - 2)) bit (36) aligned; 3 19 3 20 dcl INTK_CARD_WORD char (4) aligned internal static options (constant) init ("intk"); 3 21 3 22 /* END INCLUDE FILE ... config_intk_card.incl.pl1 */ 1031 1032 /* BEGIN INCLUDE FILE ... config_deck.incl.pl1 ... 11/13/80, W. Olin Sibert */ 4 2 4 3 dcl (configp, cardp) pointer; 4 4 dcl config_n_cards fixed bin; /* Number of cards used in config */ 4 5 dcl config_max_cards fixed bin; /* Max number of cards in config */ 4 6 4 7 dcl config_deck$ fixed bin external static; 4 8 4 9 dcl 1 config_deck aligned based (configp), 4 10 2 cards (config_n_cards) aligned like config_card, 4 11 2 pad_cards (config_max_cards - config_n_cards) aligned like config_card; 4 12 4 13 dcl 1 config_card aligned based (cardp), 4 14 2 word char (4) aligned, 4 15 2 data_field (14) bit (36) aligned, 4 16 2 type_word aligned like config_card_type_word; 4 17 4 18 dcl 1 config_card_type_word aligned based, 4 19 2 field_type (14) bit (2) unaligned, 4 20 2 pad1 bit (4) unaligned, 4 21 2 n_fields fixed bin (4) unsigned unaligned; 4 22 4 23 dcl (CONFIG_DECIMAL_TYPE init ("11"b), 4 24 CONFIG_OCTAL_TYPE init ("00"b), 4 25 CONFIG_SINGLE_CHAR_TYPE init ("01"b), 4 26 CONFIG_STRING_TYPE init ("10"b)) bit (2) aligned static options (constant); 4 27 4 28 dcl ZERO_CARD_WORD char (4) aligned internal static options (constant) init (""); 4 29 dcl FREE_CARD_WORD char (4) aligned internal static options (constant) init ("ÿÿÿÿ"); 4 30 4 31 dcl VALID_CARD_WORD_CHARACTERS char (38) internal static options (constant) init 4 32 ("abcdefghijklmnopqrstuvwxyz0123456789_."); /* lowercase letters, digits, period and underscore */ 4 33 4 34 dcl EMPTY_FIELD bit (36) aligned internal static options (constant) init ("777777777777"b3); 4 35 4 36 /* END INCLUDE FILE config_deck.incl.pl1 */ 1032 1033 /* BEGIN INCLUDE FILE static_handlers.incl.pl1 */ 5 2 5 3 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 5 4 5 5 /* HISTORY: 5 6*Written by S. H. Webber, 06/20/75. 5 7*Modified: 5 8*12/15/83 by Benson Margulies: added undefined_pointer_sct_index and 5 9* pgt_sct_index. 5 10*06/11/84 by Lee A. Newcomb: added dm_shutdown_warning_sct_index and 5 11* dm_user_shutdown_sct_index for handling of Data Management 5 12* shutdown. 5 13*08/22/84 by R. Michael Tague: Removed dm_shutdown_warning_sct_index and 5 14* dm_user_shutdown_sct_index. Added 5 15* system_shutdown_scheduled_sct_index and 5 16* dm_shutdown_scheduled_sct_index. 5 17**/ 5 18 5 19 5 20 /****^ HISTORY COMMENTS: 5 21* 1) change(85-11-13,Herbst), approve(87-07-21,MCR7697), 5 22* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 5 23* Add system_message_sct_index. 5 24* END HISTORY COMMENTS */ 5 25 5 26 5 27 dcl ( 5 28 shutdown_sct_index init (0), 5 29 store_sct_index init (1), 5 30 mme1_sct_index init (2), 5 31 fault_tag_1_sct_index init (3), 5 32 timer_runout_sct_index init (4), 5 33 command_sct_index init (5), 5 34 derail_sct_index init (6), 5 35 lockup_sct_index init (7), 5 36 connect_sct_index init (8), 5 37 parity_sct_index init (9), 5 38 illegal_procedure_sct_index init (10), 5 39 op_not_complete_sct_index init (11), 5 40 startup_sct_index init (12), 5 41 ovrflo_sct_index init (13), 5 42 zerodivide_sct_index init (14), 5 43 execute_sct_index init (15), 5 44 seg_fault_error_sct_index init (16), 5 45 page_fault_error_sct_index init (17), 5 46 directed_fault_2_sct_index init (18), 5 47 directed_fault_3_sct_index init (19), 5 48 accessviolation_sct_index init (20), 5 49 mme2_sct_index init (21), 5 50 mme3_sct_index init (22), 5 51 mme4_sct_index init (23), 5 52 linkage_error_sct_index init (24), 5 53 fault_tag_3_sct_index init (25), 5 54 undefined_fault_sct_index init (26), 5 55 trouble_sct_index init (31), 5 56 illegal_opcode_sct_index init (32), 5 57 simfault_000000_sct_index init (33), 5 58 illegal_modifier_sct_index init (34), 5 59 illegal_ring_order_sct_index init (35), 5 60 not_in_execute_bracket_sct_index init (36), 5 61 no_execute_permission_sct_index init (37), 5 62 not_in_read_bracket_sct_index init (38), 5 63 no_read_permission_sct_index init (39), 5 64 not_in_write_bracket_sct_index init (40), 5 65 no_write_permission_sct_index init (41), 5 66 not_a_gate_sct_index init (42), 5 67 not_in_call_bracket_sct_index init (43), 5 68 outward_call_sct_index init (44), 5 69 bad_outward_call_sct_index init (45), 5 70 inward_return_sct_index init (46), 5 71 cross_ring_transfer_sct_index init (47), 5 72 ring_alarm_fault_sct_index init (48), 5 73 am_fault_sct_index init (49), 5 74 out_of_bounds_sct_index init (50), 5 75 fixedoverflow_sct_index init (51), 5 76 overflow_sct_index init (52), 5 77 underflow_sct_index init (53), 5 78 stringsize_sct_index init (54), 5 79 other_illegal_proc_sct_index init (55), 5 80 storage_sct_index init (56), 5 81 packed_pointer_fault_sct_index init (57), 5 82 lot_fault_sct_index init (58), 5 83 isot_fault_sct_index init (59), 5 84 system_packed_pointer_sct_index init (60), 5 85 quit_sct_index init (61), 5 86 alrm_sct_index init (62), 5 87 cput_sct_index init (63), 5 88 record_quota_overflow_sct_index init (64), 5 89 size_sct_index init (65), 5 90 neti_sct_index init (66), 5 91 other_command_sct_index init (67), 5 92 susp_sct_index init (68), 5 93 term_sct_index init (69), 5 94 wkp_sct_index init (70), 5 95 undefined_pointer_sct_index init (71), 5 96 pgt_sct_index init (72), 5 97 system_shutdown_scheduled_sct_index 5 98 init (73), 5 99 dm_shutdown_scheduled_sct_index init (74), 5 100 system_message_sct_index init (75) 5 101 ) fixed bin (17) int static options (constant); 5 102 5 103 /* END INCLUDE FILE static_handlers.incl.pl1 */ 1033 1034 /* --------------- 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 ---------------- */ 1034 1035 /* 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 */ 1035 1036 /* */ 8 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 8 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 8 4 /* Modified 07/07/76 by Morris for fault register data */ 8 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 8 6 /* Modified '82 to make values constant */ 8 7 8 8 /* words 0-15 pointer registers */ 8 9 8 10 dcl mcp ptr; 8 11 8 12 dcl 1 mc based (mcp) aligned, 8 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 8 14 (2 regs, /* registers */ 8 15 3 x (0:7) bit (18), /* index registers */ 8 16 3 a bit (36), /* accumulator */ 8 17 3 q bit (36), /* q-register */ 8 18 3 e bit (8), /* exponent */ 8 19 3 pad1 bit (28), 8 20 3 t bit (27), /* timer register */ 8 21 3 pad2 bit (6), 8 22 3 ralr bit (3), /* ring alarm register */ 8 23 8 24 2 scu (0:7) bit (36), 8 25 8 26 2 mask bit (72), /* mem controller mask at time of fault */ 8 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 8 28 2 errcode fixed bin (35), /* fault handler's error code */ 8 29 2 fim_temp, 8 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 8 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 8 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 8 33 2 fault_reg bit (36), /* fault register */ 8 34 2 pad2 bit (1), 8 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 8 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 8 37 2 fault_time bit (54), /* time of fault */ 8 38 8 39 2 eis_info (0:7) bit (36)) unaligned; 8 40 8 41 8 42 dcl (apx fixed bin init (0), 8 43 abx fixed bin init (1), 8 44 bpx fixed bin init (2), 8 45 bbx fixed bin init (3), 8 46 lpx fixed bin init (4), 8 47 lbx fixed bin init (5), 8 48 spx fixed bin init (6), 8 49 sbx fixed bin init (7)) internal static options (constant); 8 50 8 51 8 52 8 53 8 54 dcl scup ptr; 8 55 8 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 8 57 8 58 8 59 /* WORD (0) */ 8 60 8 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 8 62 3 prr bit (3), /* procedure ring register */ 8 63 3 psr bit (15), /* procedure segment register */ 8 64 3 p bit (1), /* procedure privileged bit */ 8 65 8 66 2 apu, /* APPENDING UNIT STATUS */ 8 67 3 xsf bit (1), /* ext seg flag - IT modification */ 8 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 8 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 8 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 8 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 8 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 8 73 3 dsptw bit (1), /* Fetch of DSPTW */ 8 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 8 75 3 sdwp bit (1), /* Fetch of SDW paged */ 8 76 3 ptw bit (1), /* Fetch of PTW */ 8 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 8 78 3 fap bit (1), /* Fetch of final address paged */ 8 79 3 fanp bit (1), /* Fetch of final address non-paged */ 8 80 3 fabs bit (1), /* Fetch of final address absolute */ 8 81 8 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 8 83 8 84 8 85 /* WORD (1) */ 8 86 8 87 2 fd, /* FAULT DATA */ 8 88 3 iro bit (1), /* illegal ring order */ 8 89 3 oeb bit (1), /* out of execute bracket */ 8 90 3 e_off bit (1), /* no execute */ 8 91 3 orb bit (1), /* out of read bracket */ 8 92 3 r_off bit (1), /* no read */ 8 93 3 owb bit (1), /* out of write bracket */ 8 94 3 w_off bit (1), /* no write */ 8 95 3 no_ga bit (1), /* not a gate */ 8 96 3 ocb bit (1), /* out of call bracket */ 8 97 3 ocall bit (1), /* outward call */ 8 98 3 boc bit (1), /* bad outward call */ 8 99 3 inret bit (1), /* inward return */ 8 100 3 crt bit (1), /* cross ring transfer */ 8 101 3 ralr bit (1), /* ring alarm register */ 8 102 3 am_er bit (1), /* associative memory fault */ 8 103 3 oosb bit (1), /* out of segment bounds */ 8 104 3 paru bit (1), /* processor parity upper */ 8 105 3 parl bit (1), /* processor parity lower */ 8 106 3 onc_1 bit (1), /* op not complete type 1 */ 8 107 3 onc_2 bit (1), /* op not complete type 2 */ 8 108 8 109 2 port_stat, /* PORT STATUS */ 8 110 3 ial bit (4), /* illegal action lines */ 8 111 3 iac bit (3), /* illegal action channel */ 8 112 3 con_chan bit (3), /* connect channel */ 8 113 8 114 2 fi_num bit (5), /* (fault/interrupt) number */ 8 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 8 116 8 117 8 118 /* WORD (2) */ 8 119 8 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 8 121 3 trr bit (3), /* temporary ring register */ 8 122 3 tsr bit (15), /* temporary segment register */ 8 123 8 124 2 pad2 bit (9), 8 125 8 126 2 cpu_no bit (3), /* CPU number */ 8 127 8 128 2 delta bit (6), /* tally modification DELTA */ 8 129 8 130 8 131 /* WORD (3) */ 8 132 8 133 2 word3 bit (18), 8 134 8 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 8 136 3 tsna, /* Word 1 status */ 8 137 4 prn bit (3), /* Word 1 PR number */ 8 138 4 prv bit (1), /* Word 1 PR valid bit */ 8 139 3 tsnb, /* Word 2 status */ 8 140 4 prn bit (3), /* Word 2 PR number */ 8 141 4 prv bit (1), /* Word 2 PR valid bit */ 8 142 3 tsnc, /* Word 3 status */ 8 143 4 prn bit (3), /* Word 3 PR number */ 8 144 4 prv bit (1), /* Word 3 PR valid bit */ 8 145 8 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 8 147 8 148 8 149 /* WORD (4) */ 8 150 8 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 8 152 8 153 2 ir, /* INDICATOR REGISTERS */ 8 154 3 zero bit (1), /* zero indicator */ 8 155 3 neg bit (1), /* negative indicator */ 8 156 3 carry bit (1), /* carryry indicator */ 8 157 3 ovfl bit (1), /* overflow indicator */ 8 158 3 eovf bit (1), /* eponent overflow */ 8 159 3 eufl bit (1), /* exponent underflow */ 8 160 3 oflm bit (1), /* overflow mask */ 8 161 3 tro bit (1), /* tally runout */ 8 162 3 par bit (1), /* parity error */ 8 163 3 parm bit (1), /* parity mask */ 8 164 3 bm bit (1), /* ^bar mode */ 8 165 3 tru bit (1), /* truncation mode */ 8 166 3 mif bit (1), /* multi-word instruction mode */ 8 167 3 abs bit (1), /* absolute mode */ 8 168 3 hex bit (1), /* hexadecimal exponent mode */ 8 169 3 pad bit (3), 8 170 8 171 8 172 /* WORD (5) */ 8 173 8 174 2 ca bit (18), /* COMPUTED ADDRESS */ 8 175 8 176 2 cu, /* CONTROL UNIT STATUS */ 8 177 3 rf bit (1), /* on first cycle of repeat instr */ 8 178 3 rpt bit (1), /* repeat instruction */ 8 179 3 rd bit (1), /* repeat double instruction */ 8 180 3 rl bit (1), /* repeat link instruciton */ 8 181 3 pot bit (1), /* IT modification */ 8 182 3 pon bit (1), /* return type instruction */ 8 183 3 xde bit (1), /* XDE from Even location */ 8 184 3 xdo bit (1), /* XDE from Odd location */ 8 185 3 poa bit (1), /* operation preparation */ 8 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 8 187 3 its bit (1), /* ITS modification */ 8 188 3 if bit (1), /* fault occured during instruction fetch */ 8 189 8 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 8 191 8 192 8 193 /* WORDS (6,7) */ 8 194 8 195 2 even_inst bit (36), /* even instruction of faulting pair */ 8 196 8 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 8 198 8 199 8 200 8 201 8 202 8 203 8 204 /* ALTERNATE SCU DECLARATION */ 8 205 8 206 8 207 dcl 1 scux based (scup) aligned, 8 208 8 209 (2 pad0 bit (36), 8 210 8 211 2 fd, /* GROUP II FAULT DATA */ 8 212 3 isn bit (1), /* illegal segment number */ 8 213 3 ioc bit (1), /* illegal op code */ 8 214 3 ia_am bit (1), /* illegal address - modifier */ 8 215 3 isp bit (1), /* illegal slave procedure */ 8 216 3 ipr bit (1), /* illegal procedure */ 8 217 3 nea bit (1), /* non existent address */ 8 218 3 oobb bit (1), /* out of bounds */ 8 219 3 pad bit (29), 8 220 8 221 2 pad2 bit (36), 8 222 8 223 2 pad3a bit (18), 8 224 8 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 8 226 3 prn bit (3), /* PR number */ 8 227 3 prv bit (1), /* PR valid bit */ 8 228 8 229 2 pad3b bit (6)) unaligned, 8 230 8 231 2 pad45 (0:1) bit (36), 8 232 8 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 8 234 8 235 8 236 8 237 /* END INCLUDE FILE mc.incl.pl1 */ 1036 1037 /* BEGIN INCLUDE FILE . . . salv_args */ 9 2 /* Keith Loepere made pathname unal November 1984. */ 9 3 9 4 dcl 1 salv_args aligned based, 9 5 2 temp1_ptr ptr, /* ptr to temp segment */ 9 6 2 temp2_ptr ptr, /* ptr to temp segment */ 9 7 2 salv_time bit (36) aligned, /* Highest valid date/time */ 9 8 2 options aligned, 9 9 3 force_rebuild bit (1) unal, /* ON, if should rebuild directory */ 9 10 3 print_trace bit (1) unal, /* ON, if debugging trace information should be printed. */ 9 11 3 correct_oosw bit (1) unal, /* ON, if directory's out-of-service switch should be reset */ 9 12 3 check_vtoce bit (1) unal, /* ON, if VTOC entries of all branches should be checked. */ 9 13 3 dump bit (1) unal, /* ON, if should dump directory on error condition */ 9 14 3 compact bit (1) unal, /* ON, to force rebuild if one pages can be recovered. */ 9 15 3 delete_connection_failure bit (1) unal, /* ON, to delete branches that have no VTOC entries */ 9 16 3 pad bit (29), 9 17 2 branch_ptr ptr, /* ptr to branch for directory */ 9 18 2 current_length fixed bin, /* number of pages in directory */ 9 19 2 pathname char (168) unal, /* pathname of directory being salvaged */ 9 20 2 master_dir_uid bit (36) aligned, /* master UID for this directory */ 9 21 2 tree_depth fixed bin; /* number of levels from root for this directory */ 9 22 9 23 /* END INCLUDE FILE . . . salv_args */ 1037 1038 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 10 2 10 3 /* This include file contains structures for the hcs_$star_, 10 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 10 5* 10 6* Written 23 October 1978 by Monte Davidoff. 10 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 10 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 10 9**/ 10 10 10 11 /* automatic */ 10 12 10 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 10 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 10 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 10 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 10 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 10 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 10 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 10 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 10 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 10 22 10 23 /* based */ 10 24 10 25 /* hcs_$star_ entry structure */ 10 26 10 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 10 28 2 type fixed binary (2) unsigned unaligned, 10 29 /* storage system type */ 10 30 2 nnames fixed binary (16) unsigned unaligned, 10 31 /* number of names of entry that match star_name */ 10 32 2 nindex fixed binary (18) unsigned unaligned; 10 33 /* index of first name in star_names */ 10 34 10 35 /* hcs_$star_ name structure */ 10 36 10 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 10 38 10 39 /* hcs_$star_list_ branch structure */ 10 40 10 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 10 42 2 type fixed binary (2) unsigned unaligned, 10 43 /* storage system type */ 10 44 2 nnames fixed binary (16) unsigned unaligned, 10 45 /* number of names of entry that match star_name */ 10 46 2 nindex fixed binary (18) unsigned unaligned, 10 47 /* index of first name in star_list_names */ 10 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 10 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 10 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 10 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 10 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 10 53 2 pad bit (7) unaligned, 10 54 2 records fixed binary (18) unsigned unaligned; 10 55 /* records used by branch */ 10 56 10 57 /* hcs_$star_dir_list_ branch structure */ 10 58 10 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 10 60 2 type fixed binary (2) unsigned unaligned, 10 61 /* storage system type */ 10 62 2 nnames fixed binary (16) unsigned unaligned, 10 63 /* number of names of entry that match star_name */ 10 64 2 nindex fixed binary (18) unsigned unaligned, 10 65 /* index of first name in star_list_names */ 10 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 10 67 2 pad bit (36) unaligned, 10 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 10 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 10 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 10 71 2 bit_count fixed binary (24) unaligned; 10 72 /* bit count of the branch */ 10 73 10 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 10 75 10 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 10 77 2 type fixed binary (2) unsigned unaligned, 10 78 /* storage system type */ 10 79 2 nnames fixed binary (16) unsigned unaligned, 10 80 /* number of names of entry that match star_name */ 10 81 2 nindex fixed binary (18) unsigned unaligned, 10 82 /* index of first name in star_list_names */ 10 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 10 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 10 85 2 pathname_len fixed binary (18) unsigned unaligned, 10 86 /* length of the pathname of the link */ 10 87 2 pathname_index fixed binary (18) unsigned unaligned; 10 88 /* index of start of pathname in star_list_names */ 10 89 10 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 10 91 10 92 declare star_list_names char (32) based (star_list_names_ptr) 10 93 dimension (star_links (star_branch_count + star_link_count).nindex 10 94 + star_links (star_branch_count + star_link_count).nnames 10 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 10 96 * binary ( 10 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 10 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 10 99 10 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 10 101 10 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 10 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 10 104 10 105 /* internal static */ 10 106 10 107 /* star_select_sw values */ 10 108 10 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 10 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 10 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 10 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 10 113 fixed binary (3) internal static options (constant) initial (5); 10 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 10 115 fixed binary (3) internal static options (constant) initial (7); 10 116 10 117 /* storage system types */ 10 118 10 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 10 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 10 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 10 122 10 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 1038 1039 /* --------------- BEGIN include file status_structures.incl.pl1 --------------- */ 11 2 11 3 /* Revised from existing include files 09/26/78 by C. D. Tavares */ 11 4 11 5 /* This include file contains branch and link structures returned by 11 6* hcs_$status_ and hcs_$status_long. */ 11 7 11 8 dcl 1 status_branch aligned based (status_ptr), 11 9 2 short aligned, 11 10 3 type fixed bin (2) unaligned unsigned, /* seg, dir, or link */ 11 11 3 nnames fixed bin (16) unaligned unsigned, /* number of names */ 11 12 3 names_relp bit (18) unaligned, /* see entry_names dcl */ 11 13 3 dtcm bit (36) unaligned, /* date/time contents last modified */ 11 14 3 dtu bit (36) unaligned, /* date/time last used */ 11 15 3 mode bit (5) unaligned, /* caller's effective access */ 11 16 3 raw_mode bit (5) unaligned, /* caller's raw "rew" modes */ 11 17 3 pad1 bit (8) unaligned, 11 18 3 records_used fixed bin (18) unaligned unsigned, /* number of NONZERO pages used */ 11 19 11 20 /* Limit of information returned by hcs_$status_ */ 11 21 11 22 2 long aligned, 11 23 3 dtd bit (36) unaligned, /* date/time last dumped */ 11 24 3 dtem bit (36) unaligned, /* date/time branch last modified */ 11 25 3 lvid bit (36) unaligned, /* logical volume ID */ 11 26 3 current_length fixed bin (12) unaligned unsigned, /* number of last page used */ 11 27 3 bit_count fixed bin (24) unaligned unsigned, /* reported length in bits */ 11 28 3 pad2 bit (8) unaligned, 11 29 3 copy_switch bit (1) unaligned, /* copy switch */ 11 30 3 tpd_switch bit (1) unaligned, /* transparent to paging device switch */ 11 31 3 mdir_switch bit (1) unaligned, /* is a master dir */ 11 32 3 damaged_switch bit (1) unaligned, /* salvager warned of possible damage */ 11 33 3 synchronized_switch bit (1) unaligned, /* DM synchronized file */ 11 34 3 pad3 bit (5) unaligned, 11 35 3 ring_brackets (0:2) fixed bin (6) unaligned unsigned, 11 36 3 uid bit (36) unaligned; /* unique ID */ 11 37 11 38 dcl 1 status_link aligned based (status_ptr), 11 39 2 type fixed bin (2) unaligned unsigned, /* as above */ 11 40 2 nnames fixed bin (16) unaligned unsigned, 11 41 2 names_relp bit (18) unaligned, 11 42 2 dtem bit (36) unaligned, 11 43 2 dtd bit (36) unaligned, 11 44 2 pathname_length fixed bin (17) unaligned, /* see pathname */ 11 45 2 pathname_relp bit (18) unaligned; /* see pathname */ 11 46 11 47 dcl status_entry_names (status_branch.nnames) character (32) aligned 11 48 based (pointer (status_area_ptr, status_branch.names_relp)), 11 49 /* array of names returned */ 11 50 status_pathname character (status_link.pathname_length) aligned 11 51 based (pointer (status_area_ptr, status_link.pathname_relp)), 11 52 /* link target path */ 11 53 status_area_ptr pointer, 11 54 status_ptr pointer; 11 55 11 56 dcl (Link initial (0), 11 57 Segment initial (1), 11 58 Directory initial (2)) fixed bin internal static options (constant); 11 59 /* values for type fields declared above */ 11 60 11 61 /* ---------------- END include file status_structures.incl.pl1 ---------------- */ 1039 1040 /* BEGIN INCLUDE FILE .. syserr_binary_def.incl.pl1 */ 12 2 12 3 /* This include file has an ALM version, keep 'em in sync. */ 12 4 12 5 /* format: off */ 12 6 12 7 /* Modified January 1984 by Paul Farley to add an array of entry values 12 8* to be examined by display_cpu_error. */ 12 9 /* Modified October 1984 by EJ Sharpe to include SB_audit_message */ 12 10 /* Modified January 1985 by EJ Sharpe for SB_char_data_classes */ 12 11 /* Modified 1985-01-25, BIM: added ring alarm audit support. */ 12 12 /* Modified 1985-02-20, EJ Sharpe: added SB_ibm3270_mde, syserr_binary_(seg vol)damage_class, 12 13* also changed some codes to "SB_unused_NN" - see line comments */ 12 14 12 15 /* In the future, these will be the only constants needed in this include 12 16*file. They are the binary data class strings for messages in the new format 12 17*syserr logs. The names are all of the form SB_ZZZZZZZ_data_class where 12 18*ZZZZZZZ is the value of the data class string. Message expanders are named 12 19*expand_ZZZZZZZ_msg_ and are referenced by the log perusal tools. */ 12 20 12 21 dcl ( /* include file name */ 12 22 SB_io_status_data_class init ("io_status"), /* io_syserr_msg */ 12 23 SB_hwfault_data_class init ("hwfault"), /* syserr_fault_msg */ 12 24 SB_mos_data_class init ("mos"), /* scr */ 12 25 SB_segdamage_data_class init ("segdamage"), /* segdamage_msg */ 12 26 SB_voldamage_data_class init ("voldamage"), /* segdamage_msg (first two words) */ 12 27 SB_mdc_del_uidpath_data_class init ("mdc_del_uidpath"), /* none - 16 word UID path */ 12 28 SB_mmdam_data_class init ("mmdam"), /* syserr_mmdam_msg */ 12 29 SB_mpc_poll_data_class init ("mpc_poll"), /* poll_mpc_data */ 12 30 SB_fnp_poll_data_class init ("fnp_poll"), /* poll_fnp_data */ 12 31 SB_config_deck_data_class init ("config_deck"), /* config_deck */ 12 32 SB_vtoce_data_class init ("vtoce"), /* vtoce */ 12 33 SB_access_audit_data_class init ("access_audit"), /* access_audit_bin_header */ 12 34 SB_ibm3270_mde_data_class init ("ibm3270_mde") /* ibm3270_mpx_data */ 12 35 ) static internal char (16) varying options (constant); 12 36 12 37 12 38 /************************ 12 39*Once the syserr$binary is replaced with something that takes real data classes 12 40*and all system modules and tools are upgraded to use the new interface, the 12 41*rest of this include file may be discarded. 12 42*************************/ 12 43 12 44 /* The limit of 36 is arbitrary- there is no reason that it can not be 12 45* extended at any time. */ 12 46 12 47 dcl ( 12 48 SB_disk_err init (1), SBL_disk_err init (5), 12 49 SB_hw_fault init (2), SBL_hw_fault init (176), 12 50 SB_io_err init (3), SBL_io_err init (5), 12 51 SB_unused_4 init (4), SBL_unused_4 init (1), /* was "mos_poll" (mos poll time) */ 12 52 SB_mos_err init (5), SBL_mos_err init (2), /* mos memory error data */ 12 53 SB_unused_6 init (6), SBL_unused_6 init (1), /* was "bulk_status" (bulk dcb status) */ 12 54 SB_unused_7 init (7), SBL_unused_7 init (1), /* was "bulk_csb" (bulk csb status) */ 12 55 SB_unused_8 init (8), SBL_unused_8 init (3), /* was "free_st_1" */ 12 56 SB_unused_9 init (9), SBL_unused_9 init (2), /* was "free_st_2" */ 12 57 SB_unused_10 init (10), SBL_unused_10 init (21), /* was "unpr_add" */ 12 58 SB_zerpag init (11), SBL_zerpag init (20), 12 59 SB_unused_12 init (12), SBL_unused_12 init (20), /* was "unpr_add" */ 12 60 SB_vtoc_salv_dam init (13), SBL_vtoc_salv_dam init (20), 12 61 SB_unused_14 init (14), SBL_unused_14 init (20), /* was "page_rw_err" */ 12 62 SB_unused_15 init (15), SBL_unused_15 init (3), /* was "ruad" */ 12 63 SB_random_segdamage init (16), SBL_random_segdamage init (20), 12 64 SB_read_nc init (17), SBL_read_nc init (2), 12 65 SB_unused_18 init (18), SBL_unused_18 init (2), /* was "vtoc_err" */ 12 66 SB_mdc_del_uidpath init (19), SBL_mdc_del_uidpath init (16), 12 67 SB_ocdcm_err init (20), SBL_ocdcm_err init (5), 12 68 SB_mmdam init (21), SBL_mmdam init (2), 12 69 SB_verify_lock init (22), SBL_verify_lock init (176), 12 70 SB_io_err_detail init (23), SBL_io_err_detail init (11), 12 71 SB_mpc_poll init (24), SBL_mpc_poll init (256) /* max */, 12 72 SB_fnp_poll init (25), SBL_fnp_poll init (256) /* max */, 12 73 SB_config_deck init (26), SBL_config_deck init (256) /* 16 cards at 16 words */, 12 74 SB_vtoce init (27), SBL_vtoce init (192), /* 1 VTOCE */ 12 75 SB_access_audit init (28), SBL_access_audit init (256), /* max */ 12 76 SB_ibm3270_mde init (35), SBL_ibm3270_mde init (256), /* max */ 12 77 SB_end_of_table init (36), SBL_end_of_table init (1) 12 78 ) internal static options (constant) fixed bin; 12 79 12 80 12 81 /* The following array is a mapping of the old syserr$binary codes into the 12 82*new data classes for MR11. It is primarily used by syserr_copy to translate 12 83*the binary data codes stored in the wired syserr log (see above) into the data 12 84*classes needed by the ring-0 paged syserr log which is a new format log. It 12 85*is also used by syserr_log_util_ to translate the data classes back into the 12 86*corresponding binary code (for tools not yet upgraded to deal with the new 12 87*format log messages). */ 12 88 12 89 dcl SB_char_data_classes (36) char (16) varying internal static options (constant) 12 90 init ( "io_status", /* 1 */ 12 91 "hwfault", /* 2 */ 12 92 "io_status", /* 3 */ 12 93 "unused_4", /* 4 */ 12 94 "mos", /* 5 */ 12 95 12 96 "unused_6", /* 6 */ 12 97 "unused_7", /* 7 */ 12 98 "unused_8", /* 8 */ 12 99 "unused_9", /* 9 */ 12 100 "unused_10", /* 10 */ 12 101 12 102 "segdamage", /* 11 */ 12 103 "unused_12", /* 12 */ 12 104 "segdamage", /* 13 */ 12 105 "unused_14", /* 14 */ 12 106 "unused_15", /* 15 */ 12 107 12 108 "segdamage", /* 16 */ 12 109 "voldamage", /* 17 */ 12 110 "unused_18", /* 18 */ 12 111 "mdc_del_uidpath", /* 19 */ 12 112 "io_status", /* 20 */ 12 113 12 114 "mmdam", /* 21 */ 12 115 "hwfault", /* 22 */ 12 116 "io_status", /* 23 */ 12 117 "mpc_poll", /* 24 */ 12 118 "fnp_poll", /* 25 */ 12 119 12 120 "config_deck", /* 26 */ 12 121 "vtoce", /* 27 */ 12 122 "access_audit", /* 28 */ 12 123 "unused_29", /* 29 */ 12 124 "unused_30", /* 30 */ 12 125 "unused_31", /* 31 */ 12 126 "unused_32", /* 32 */ 12 127 "unused_33", /* 33 */ 12 128 "unused_34", /* 34 */ 12 129 "ibm3270_mde", /* 35 */ 12 130 "unused_36" /* 36 */ 12 131 ); 12 132 12 133 12 134 /* format: on */ 12 135 12 136 /* These constants are used by various tools which analyze syserr messages and 12 137*still call the old interface "syserr_log_util_". */ 12 138 12 139 dcl syserr_binary_mos_mask init ("060000000000"b3) bit (36) static options (constant); 12 140 dcl syserr_binary_seg_damage_mask init ("000374000000"b3) bit (36) static options (constant); 12 141 dcl syserr_binary_vol_damage_mask init ("003413000000"b3) bit (36) static options (constant); 12 142 dcl syserr_binary_address_damage_mask init ("002010000000"b3) bit (36) static options (constant); 12 143 12 144 dcl display_cpu_error_binary_defs (2) init ( 12 145 2, /** SB_hw_fault */ 12 146 22 /** SB_verify_lock */ 12 147 ) internal static options (constant) fixed bin; 12 148 12 149 /* END INCLUDE FILE syserr_binary_def.incl.pl1 */ 1040 1041 13 2 /* Begin include file ...... syserr_fault_msg.incl.pl1 13 3* Modified 1985-02-21, EJ Sharpe: changed mach_cond to be "like mc" 13 4* Modified 8/12/76 by Noel I. Morris */ 13 5 13 6 13 7 /* This include file defines the format of the syserr message 13 8* generated on faults handled by various modules. 13 9*NOTE: program must also include "mc". */ 13 10 13 11 dcl fmsgp ptr; /* pointer to structure */ 13 12 13 13 dcl 1 fault_msg based (fmsgp) aligned, 13 14 2 mach_cond like mc, /* machine conditions */ 13 15 2 hist_reg (0:127) bit (36); /* history registers */ 13 16 /* someday the hist_reg should be increased to 256 wds to accomodate all DPS8 data */ 13 17 13 18 /* End of include file ...... syserr_fault_msg.incl.pl1 */ 13 19 1041 1042 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 14 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 14 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 14 4 14 5 /* This include file has an ALM version. Keep 'em in sync! */ 14 6 14 7 dcl ( 14 8 14 9 /* The following constants define the message action codes. This indicates 14 10*how a message is to be handled. */ 14 11 14 12 SYSERR_CRASH_SYSTEM init (1), 14 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 14 14 14 15 SYSERR_TERMINATE_PROCESS init (2), 14 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 14 17 14 18 SYSERR_PRINT_WITH_ALARM init (3), 14 19 BEEP init (3), /* Beep and print the message on the console. */ 14 20 14 21 SYSERR_PRINT_ON_CONSOLE init (0), 14 22 ANNOUNCE init (0), /* Just print the message on the console. */ 14 23 14 24 SYSERR_LOG_OR_PRINT init (4), 14 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 14 26 14 27 SYSERR_LOG_OR_DISCARD init (5), 14 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 14 29 14 30 14 31 /* The following constants are added to the normal severities to indicate 14 32*different sorting classes of messages. */ 14 33 14 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 14 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 14 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 14 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 14 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 14 39 ) fixed bin internal static options (constant); 14 40 14 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 1042 1043 /* BEGIN INCLUDE FILE ... pvt.incl.pl1 ... last modified January 1982 */ 15 2 15 3 15 4 /* The physical volume table (PVT) is a wired-down table. 15 5* It has one entry for each spindle present, be it for 15 6* Storage System or "I/O" use. 15 7**/ 15 8 15 9 dcl pvt$ ext, 15 10 pvtp ptr; 15 11 15 12 15 13 dcl 1 pvt based (pvtp) aligned, 15 14 15 15 2 n_entries fixed bin (17), /* number of PVT entries */ 15 16 2 max_n_entries fixed bin (17), /* max number of PVT entries */ 15 17 2 n_in_use fixed bin (17), /* number of PVT entries in use */ 15 18 2 rwun_pvtx fixed bin, /* rewind_unloading pvtx */ 15 19 2 shutdown_state fixed bin, /* state of previous shutdown */ 15 20 2 esd_state fixed bin, /* state of ESD, >0 iff in ESD */ 15 21 2 prev_shutdown_state fixed bin, /* shutdown state of previous bootload */ 15 22 2 prev_esd_state fixed bin, /* ESD state of previous bootload */ 15 23 15 24 2 time_of_bootload fixed bin (71), /* Time of bootload */ 15 25 2 root_lvid bit (36) aligned, /* Logical volume ID of Root Logical Volume (RLV) */ 15 26 2 root_pvid bit (36) aligned, /* Physical volume ID of Root Physical Volume (RPV) */ 15 27 2 root_pvtx fixed bin, /* Index to PVTE for Root Physical Volume (RPV) */ 15 28 2 root_vtocx fixed bin, /* VTOCE index for root (>) */ 15 29 2 disk_table_vtocx fixed bin, /* VTOCE index for disk table on RPV */ 15 30 2 disk_table_uid bit (36) aligned, /* File System UID for disk_table */ 15 31 15 32 2 rpvs_requested bit (1) aligned, /* RPVS keyword given on BOOT */ 15 33 2 rpv_needs_salv bit (1) aligned, /* RPV required (not requested) salvage */ 15 34 2 rlv_needs_salv bit (1) aligned, /* RLV required (not requested) salvage */ 15 35 2 volmap_lock_wait_constant bit (36) aligned,/* For constructing wait event: OR pvte_rel into lower */ 15 36 2 volmap_idle_wait_constant bit (36) aligned,/* For constructing wait event: OR pvte_rel into lower */ 15 37 2 vtoc_map_lock_wait_constant bit (36) aligned, /* For constructing wait event: OR pvte_rel into lower */ 15 38 2 n_volmap_locks_held fixed bin (17), /* Current number of volmap locks held */ 15 39 2 n_vtoc_map_locks_held fixed bin (17), /* Current number of VTOC Map locks held */ 15 40 15 41 2 last_volmap_time fixed bin (71), /* Time a volmap was last locked/unlocked */ 15 42 2 last_vtoc_map_time fixed bin (71), /* Time a VTOC Map was last locked/unlocked */ 15 43 2 total_volmap_lock_time fixed bin (71), /* Total time volmap's were locked (integral) */ 15 44 2 total_vtoc_map_lock_time fixed bin (71), /* Total time VTOC Maps were locked (integral) */ 15 45 15 46 2 n_volmap_locks fixed bin (35), /* Number times a volmap was locked */ 15 47 2 n_vtoc_map_locks fixed bin (35), /* Number times a vtoc_map was locked */ 15 48 2 volmap_lock_nowait_calls fixed bin (35), /* Number calls to lock volmap, no wait */ 15 49 2 volmap_lock_nowait_fails fixed bin (35), /* Number times lock failed */ 15 50 2 volmap_lock_wait_calls fixed bin (35), /* Number calls to lock volmap, wait */ 15 51 2 volmap_lock_wait_fails fixed bin (35), /* Number times lock failed */ 15 52 2 pad (2) bit (36) aligned, 15 53 15 54 2 array fixed bin (71); /* Array of PVTE's -- must be double-word aligned */ 15 55 15 56 15 57 15 58 /* END INCLUDE FILE ...pvt.incl.pl1 */ 1043 1044 1045 /* BEGIN MESSAGE DOCUMENTATION 1046* 1047* Message: 1048* Command: 1049* 1050* S: $info 1051* 1052* T: $init 1053* 1054* M: The Initializer types this message whenever it is waiting 1055* for a ring 1 command. 1056* 1057* A: Type the desired command. The normal command to type when 1058* bringing the system up is startup. 1059* 1060* 1061* Message: 1062* Multics SYSID: DATE TIME 1063* 1064* S: $info 1065* 1066* T: $init 1067* 1068* M: This is the first message that will be typed when the system 1069* is started up. It indicates that the Initializer process is ready to go. 1070* The system ID on the tape is SYSID. 1071* 1072* A: Check the date and time to ensure both are correct. If the clock 1073* reading is wrong, shut down and correct the clock. 1074* 1075* 1076* Message: 1077* system_startup_: XYZ is not a legal command. Type help for a list of commands. 1078* 1079* S: $info 1080* 1081* T: $init 1082* 1083* M: The operator has issued a command to the ring 1 environment 1084* that cannot be executed. 1085* No action was taken on the illegal command. 1086* 1087* A: If the command is misspelled, retype it correctly. If the 1088* command is intended for the ring 4 Answering Service, type "standard" 1089* first to leave the ring 1 environment and then retype the desired command. 1090* 1091* 1092* Message: 1093* system_startup_: unclaimed COND 1094* .br 1095* (machine conditions in octal) 1096* 1097* S: $beep 1098* 1099* T: $init 1100* 1101* M: Some error condition has occurred unexpectedly inside 1102* the ring 1 environment. Diagnostic information is typed after this 1103* line. The system should return to Initializer command level, still 1104* in ring 1, and be able to continue running. 1105* 1106* A: $inform 1107* 1108* Message: 1109* system_startup_: The root logical volume is not complete. 1110*"boot rlvs" level 2 directory salvage aborted. 1111* 1112* S: $info 1113* 1114* T: $init 1115* 1116* M: One or more physical volumes of the 1117* Root Logical Volume (RLV) registered in the volume registration 1118*database are not specified on the root config card, and are therefore 1119*not mounted. Level 2 directory salvage cannot take place with an incomplete 1120*RLV. 1121* 1122* A: Mount the missing packs with the add_vol command, and then 1123*use the salvage_dirs command. 1124* 1125* 1126* Message: 1127* system_startup_: Will not reload 1128* 1129* S: $info 1130* 1131* T: Response to operator reload command. 1132* 1133* M: One or more volumes cannot be mounted. 1134* Reloading cannot proceed. 1135* The system returns to ring 1 command level. 1136* 1137* A: Correct the problem and try again. 1138* 1139* 1140* Message: 1141* system_startup_: The config_deck segment is missing. 1142* 1143* S: $crash 1144* 1145* T: $init 1146* 1147* M: $crashes 1148* The segment config_deck is missing. This error should not 1149* occur, because earlier steps in initialization depend 1150* upon the config deck. 1151* 1152* A: $recover 1153* Use another boot tape, 1154* or check that the hardware is operating correctly. 1155* 1156* Message: 1157* system_startup_: The config deck is empty. 1158* 1159* S: $crash 1160* 1161* T: $init 1162* 1163* M: $crashes 1164* The system will return to bce. This error should not 1165* occur, because earlier steps in initialization depend 1166* upon the config deck. 1167* If it does, however, type GO after putting a config deck in place. 1168* 1169* 1170* A: $recover 1171* Use another boot tape, 1172* or check that the hardware is operating correctly. 1173* 1174* Message: 1175* system_startup_: error on initializer io streams 1176* 1177* S: $crash 1178* 1179* T: $init 1180* 1181* M: $crashes 1182* The system will return to bce. 1183* 1184* A: $recover 1185* Try another boot tape 1186* and check that the hardware is running correctly. 1187* 1188* 1189* Message: 1190* system_startup_: Recursive error condition. 1191* 1192* S: $crash 1193* 1194* T: $init 1195* 1196* M: $crashes 1197* The system will return to bce. 1198* 1199* A: $recover 1200* Boot another system, and examine the dump. 1201* 1202* Message: 1203* system_startup_: unclaimed {condition-name} condition. 1204* 1205* S: $beep 1206* 1207* T: $init 1208* 1209* M: An error has occurred while executing in the ring 1 1210* Initializer environment. The system returns to ring 1 command level. 1211* For some errors machine conditions are displayed in subsequent messages. 1212* 1213* A: $inform 1214* 1215* Message: 1216* system_startup_ Renamed >XXXXX to >XXXXX.!BBB..... 1217* 1218* S: $info 1219* 1220* T: $init 1221* 1222* M: The segment >disk_table or the directory >lv (as specified 1223* by XXXXX in the message) was renamed in response to the "nodt" 1224* or "nolv" option on the bce "boot" command line. 1225* 1226* A: $ignore 1227* 1228* END MESSAGE DOCUMENTATION */ 1229 1230 end system_startup_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0810.0 system_startup_.pl1 >spec>install>1112>system_startup_.pl1 647 1 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 648 2 07/18/81 1100.0 sub_error_info.incl.pl1 >ldd>include>sub_error_info.incl.pl1 1031 3 05/08/81 1853.6 config_intk_card.incl.pl1 >ldd>include>config_intk_card.incl.pl1 1032 4 05/08/81 1853.6 config_deck.incl.pl1 >ldd>include>config_deck.incl.pl1 1033 5 08/06/87 0913.5 static_handlers.incl.pl1 >ldd>include>static_handlers.incl.pl1 1034 6 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.incl.pl1 1035 7 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 1036 8 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 1037 9 01/30/85 1523.9 salv_args.incl.pl1 >ldd>include>salv_args.incl.pl1 1038 10 06/10/82 1045.5 star_structures.incl.pl1 >ldd>include>star_structures.incl.pl1 1039 11 11/22/82 0955.7 status_structures.incl.pl1 >ldd>include>status_structures.incl.pl1 1040 12 03/15/85 0953.1 syserr_binary_def.incl.pl1 >ldd>include>syserr_binary_def.incl.pl1 1041 13 03/15/85 0953.1 syserr_fault_msg.incl.pl1 >ldd>include>syserr_fault_msg.incl.pl1 1042 14 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.incl.pl1 1043 15 05/27/82 1525.8 pvt.incl.pl1 >ldd>include>pvt.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. ANNOUNCE 000617 constant fixed bin(17,0) initial dcl 14-7 set ref 715* 717* 719* 720* 723* 724* 725* 762* BEEP 000623 constant fixed bin(17,0) initial dcl 14-7 set ref 707* 714* 754* CRASH 000633 constant fixed bin(17,0) initial dcl 14-7 set ref 287* 661* 745* 774* 819* 828* 852* FREE_CARD_WORD 011640 constant char(4) initial dcl 4-29 ref 834 GROUP_SIZE constant fixed bin(17,0) initial dcl 861 ref 870 870 871 872 873 INTK_CARD_WORD 000505 constant char(4) initial dcl 3-20 ref 223 IOX_up 000275 automatic bit(1) initial dcl 76 set ref 76* 211* 728 752 760 791* LOG 000622 constant fixed bin(17,0) initial dcl 14-7 set ref 713* 873* LV_ROOT_ENT 000034 constant char(7) initial packed unaligned dcl 590 set ref 594* 595* 599 601* 602* 610* ME 000506 constant char(32) initial packed unaligned dcl 63 set ref 250* 283* 287* 342* 384* 595* 602* 661* 707* 713* 714* 745* 752* 754* 760* 762* 774* 819* 828* 852* 893* 922* 938* 939* 978* 987* 996* 1006* 1009* Qalloc 001173 automatic fixed bin(18,0) dcl 957 set ref 992* 1002 1006 1009* 1009 Qused 001200 automatic fixed bin(18,0) dcl 961 set ref 992* 1002 1005 1006 SBL_hw_fault 000502 constant fixed bin(17,0) initial dcl 12-47 set ref 713* SB_config_deck 000501 constant fixed bin(17,0) initial dcl 12-47 set ref 873* SB_hw_fault 000630 constant fixed bin(17,0) initial dcl 12-47 set ref 713* SC1 000010 internal static char(168) initial packed unaligned dcl 61 set ref 257* 801* Stream_input_output 000623 constant fixed bin(17,0) initial dcl 7-15 set ref 204* ZERO_CARD_WORD constant char(4) initial dcl 4-28 ref 825 a 24 based bit(36) level 3 packed packed unaligned dcl 8-12 set ref 723* a_message parameter char packed unaligned dcl 750 set ref 748 752* 754* a_segname parameter char packed unaligned dcl 620 set ref 617 623 624* 624* 625* a_time 000162 automatic fixed bin(71,0) dcl 918 set ref 925* 926 a_v_message parameter varying char dcl 759 set ref 757 760* 762* action_flags 2 based structure level 2 dcl 1-6 active_all_rings_data$initializer_dim 000074 external static char(32) packed unaligned dcl 86 ref 198 active_all_rings_data$initializer_tty 000072 external static char(32) packed unaligned dcl 86 ref 198 active_all_rings_data$system_id 000076 external static char(32) packed unaligned dcl 86 set ref 259* addr builtin function dcl 171 ref 225 244 281 281 593 713 713 792 822 873 873 873 873 873 873 937 937 1023 1023 after builtin function dcl 171 ref 325 alrm_sct_index 000504 constant fixed bin(17,0) initial dcl 5-27 set ref 181* an 000360 automatic fixed bin(17,0) dcl 303 set ref 306* 311* 311 312 322 327 arg 000110 automatic char(32) array packed unaligned dcl 302 set ref 305* 312 314 314 322* 332 449* 453* 525 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 525* 528 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 528* 531 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 531* 534 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 534* 537 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 537* 540 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 540* 543 543* 543* 543* 543* 543* 543* 543* 543* 543* 543* 543* 543* 543* 543* 546 546* 546* 546* 546* 546* 546* 546* 546* 546* 546* 546* 546* 546* 549 549* 549* 549* 549* 549* 549* 549* 549* 549* 549* 549* 549* 552 552* 552* 552* 552* 552* 552* 552* 552* 552* 552* 552* 555 555* 555* 555* 555* 555* 555* 555* 555* 555* 555* 557 557* 557* 557* 557* 557* 557* 557* 557* 557* 559 559* 559* 559* 559* 559* 559* 559* 559* 561 561* 561* 561* 561* 561* 561* 561* 563 563* 563* 563* 563* 563* 563* 565 565* 565* 565* 565* 565* 567 567* 567* 567* 567* 569 569* 569* 569* 571 571* 571* 573 573* auto_fault_msg 000100 automatic structure level 1 dcl 642 set ref 713 713 based_deadly based fixed bin(17,0) dcl 658 ref 665 baseptr builtin function dcl 659 ref 664 before builtin function dcl 171 ref 319 319 322 branch_ptr 10 000116 automatic pointer level 2 dcl 68 set ref 931* buf parameter char packed unaligned dcl 299 ref 296 300 308 buffer 000237 automatic char(120) packed unaligned dcl 74 set ref 281 281 281 281 292 292 call_outer_ring_ 000136 constant entry external dcl 116 ref 850 card_group based structure array level 1 dcl 867 set ref 873 873 873 873 card_index 000411 automatic fixed bin(17,0) dcl 864 set ref 871* 872 873 873 873 873 873* cardp automatic pointer dcl 4-3 ref 815 cards based structure array level 2 dcl 4-9 set ref 225 873 873 873 873 cards_in_group 000410 automatic fixed bin(17,0) dcl 863 set ref 872* 873 873 check_commands 000036 constant char(32) initial array packed unaligned dcl 518 ref 348 349 check_vtoce 5(03) 000116 automatic bit(1) level 3 packed packed unaligned dcl 68 set ref 929* clock builtin function dcl 171 ref 259 259 925 code 000100 automatic fixed bin(35,0) dcl 59 in procedure "system_startup_" set ref 180* 181* 183* 184* 185* 186* 190* 198* 201 204* 205 239* 240* 241 247* 248 281* 283 283* 285 287* 352* 353* 354 379* 381* 382 449* 453* 594* 595 595* 601* 602 602* 624* 625 774* 850* 852* 888* 891 893* 922* 937* 938* 939* 1023* 1024 code 001172 automatic fixed bin(35,0) dcl 955 in procedure "ensure_quota" set ref 972* 978 978* 987* 992* 994 996* 1005* 1006 1006* codeptr builtin function dcl 171 ref 198 198 850 850 com_err_ 000212 constant entry external dcl 143 ref 250 283 384 595 602 893 978 987 996 1006 com_err_$suppress_name 000214 constant entry external dcl 144 ref 938 command 000100 automatic char(32) packed unaligned dcl 301 set ref 332* 334 338 342* 346* 349 349 command_abbrev 000116 constant char(4) initial array packed unaligned dcl 514 set ref 334 334 336 442 442* command_list 000151 constant char(32) initial array packed unaligned dcl 507 set ref 338 338 340 346 440 442* 444* condition_ 000216 constant entry external dcl 145 ref 179 273 condition_info_header based structure level 1 dcl 1-6 condition_info_header_ptr 000452 automatic pointer dcl 1-4 set ref 672* 673 693 693 698 698 703 config_card based structure level 1 dcl 4-13 ref 815 config_card_type_word based structure level 1 dcl 4-18 config_deck based structure level 1 dcl 4-9 config_deck$ 000262 external static fixed bin(17,0) dcl 4-7 set ref 822 config_max_cards 000305 automatic fixed bin(17,0) dcl 4-5 set ref 815* 833 config_n_cards 000304 automatic fixed bin(17,0) dcl 4-4 set ref 221 838* 870 871 872 configp 000302 automatic pointer dcl 4-3 set ref 223 225 822* 825 834 873 873 873 873 convert_status_code_ 000302 constant entry external dcl 640 ref 693 correct_oosw 5(02) 000116 automatic bit(1) level 3 packed packed unaligned dcl 68 set ref 928* cput_sct_index 000503 constant fixed bin(17,0) initial dcl 5-27 set ref 180* current_length 12 000116 automatic fixed bin(17,0) level 2 dcl 68 set ref 932* currentsize builtin function dcl 171 ref 873 873 date_time_$format 000202 constant entry external dcl 138 ref 259 dead_ptr 000456 automatic pointer dcl 656 set ref 664* 665 death_value 000460 automatic fixed bin(17,0) dcl 657 set ref 665* debug 000066 internal static bit(1) initial packed unaligned dcl 82 set ref 477* 734 default_restart 2(01) based bit(1) level 3 packed packed unaligned dcl 1-6 ref 703 delete_connection_failure 5(06) 000116 automatic bit(1) level 3 packed packed unaligned dcl 68 set ref 928* did_something 001171 automatic bit(1) dcl 954 set ref 972* 976 dir parameter char packed unaligned dcl 1017 set ref 1014 1023* dir_path 000100 automatic char(168) packed unaligned dcl 883 set ref 900* 901 901 903* 904* dir_pathname parameter char packed unaligned dcl 945 in procedure "ensure_quota" set ref 943 967 972* 978* 980* 983* 987* 992* 996* 1005* 1006* 1009* dir_pathname parameter char packed unaligned dcl 916 in procedure "salvage_dir" set ref 914 929* 933 936* disk_table_$accept 000140 constant entry external dcl 117 ref 360 disk_table_$accept_rlv 000222 constant entry external dcl 148 ref 247 353 disk_table_$demount_hvol 000156 constant entry external dcl 125 ref 391 disk_table_$general_mhv 000142 constant entry external dcl 118 ref 381 disk_table_$init 000224 constant entry external dcl 149 ref 240 disk_table_$initialize_disk 000166 constant entry external dcl 130 ref 430 disk_table_$io_ss_reconfig 000176 constant entry external dcl 135 ref 497 disk_table_$list 000146 constant entry external dcl 121 ref 369 disk_table_$mount_hvol 000144 constant entry external dcl 120 ref 435 disk_table_$remove 000154 constant entry external dcl 124 ref 401 disk_table_$reregister 000160 constant entry external dcl 127 ref 415 disk_table_ok 000276 automatic bit(1) dcl 77 set ref 241* 243* 263 display_volume_log 000174 constant entry external dcl 134 ref 492 divide builtin function dcl 171 ref 815 870 873 e 26 based bit(8) level 3 packed packed unaligned dcl 8-12 set ref 723* end_reload_volume 000172 constant entry external dcl 133 ref 467 entry_var 000232 automatic entry variable dcl 70 set ref 360* 369* 387* 391* 396* 401* 415* 425* 430* 435* 457* 462* 467* 472* 492* 497* 502* 525 528 531 534 537 540 543 546 549 552 555 557 559 561 563 565 567 569 571 573 575 entryname parameter char packed unaligned dcl 1017 set ref 1014 1023* errcode 43 based fixed bin(35,0) level 2 packed packed unaligned dcl 8-12 set ref 714* error_name 000360 automatic char(32) packed unaligned dcl 643 set ref 669* 685* 690* error_table_$long_record 000100 external static fixed bin(35,0) dcl 93 ref 283 fault_msg based structure level 1 dcl 13-13 first_pass 001164 automatic bit(1) dcl 947 set ref 964* 970* 989 get_group_id_ 000226 constant entry external dcl 150 ref 255 255 get_system_free_area_ 000112 constant entry external dcl 103 ref 592 888 888 get_temp_segments_ 000114 constant entry external dcl 104 ref 922 hbound builtin function dcl 171 ref 226 312 314 314 334 336 338 340 348 440 hcs_$append_branchx 000230 constant entry external dcl 151 ref 255 hcs_$chname_file 000232 constant entry external dcl 153 ref 601 624 hcs_$fs_search_set_wdir 000234 constant entry external dcl 154 ref 257 hcs_$history_regs_set 000124 constant entry external dcl 109 ref 188 hcs_$lv_attached 000320 constant entry external dcl 1021 ref 1026 hcs_$quota_read 000120 constant entry external dcl 106 ref 992 hcs_$star_ 000310 constant entry external dcl 885 ref 888 hcs_$status_ 000122 constant entry external dcl 108 ref 594 hcs_$status_long 000316 constant entry external dcl 1020 ref 1023 hist_reg 60 000100 automatic bit(36) array level 2 dcl 642 set ref 712* hphcs_$call_bce 000236 constant entry external dcl 156 ref 288 365 663 731 746 775 820 829 854 hphcs_$correct_qused 000312 constant entry external dcl 949 ref 972 hphcs_$quota_set 000314 constant entry external dcl 951 ref 1005 hphcs_$salv_directory 000126 constant entry external dcl 110 ref 937 hphcs_$shutdown 000240 constant entry external dcl 157 ref 406 hphcs_$syserr 000242 constant entry external dcl 158 ref 661 707 715 717 719 720 723 724 725 730 745 754 762 819 828 hphcs_$syserr_binary 000246 constant entry external dcl 161 ref 713 873 hphcs_$syserr_error_code 000244 constant entry external dcl 159 ref 287 714 774 852 i 000101 automatic fixed bin(17,0) dcl 60 set ref 221* 223 225* 334* 334* 336 338* 338* 340 346 358 440* 442 442 442 444* 716* 717* 717* 793* 794 795* i_message 000421 automatic char(100) dcl 645 set ref 693* 695* 696 idx 000100 automatic fixed bin(17,0) dcl 811 set ref 833* 834* 838 iload 000150 constant entry external dcl 122 ref 387 iload$system_release 000152 constant entry external dcl 123 ref 396 in_error_handler 000070 internal static bit(1) initial dcl 650 set ref 653 667* 677* 737* 742* info_string 3 based varying char(256) level 2 dcl 1-6 set ref 698 698* init 000062 internal static bit(1) initial packed unaligned dcl 79 set ref 192 262* 740 intk_card based structure level 1 dcl 3-5 intk_card_array based structure level 1 dcl 3-16 intk_cardp 000300 automatic pointer dcl 3-3 set ref 225* 226 226 228 230 232 234 ioa_ 000204 constant entry external dcl 140 ref 259 314 319 342 442 444 446 488 625 752 760 936 980 983 1009 ioa_$nnl 000206 constant entry external dcl 141 ref 279 ioa_$rsnnl 000210 constant entry external dcl 142 ref 690 iocb_ptrs_ptr 000412 automatic pointer dcl 789 set ref 792* 794 795 iox_$attach_ptr 000264 constant entry external dcl 6-8 ref 198 iox_$close 000266 constant entry external dcl 6-8 ref 794 iox_$detach_iocb 000270 constant entry external dcl 6-8 ref 795 iox_$get_line 000272 constant entry external dcl 6-8 ref 281 iox_$init_standard_iocbs 000220 constant entry external dcl 146 ref 197 iox_$n_standard_iocbs 000304 external static fixed bin(17,0) dcl 785 ref 793 iox_$open 000274 constant entry external dcl 6-8 ref 204 iox_$standard_iocb_ptrs 000306 external static bit(36) dcl 787 set ref 792 iox_$user_io 000276 external static pointer dcl 6-41 set ref 198* 204* 281* iptr parameter pointer dcl 635 ref 632 670 672 684 j 000102 automatic fixed bin(17,0) dcl 60 set ref 226* 228 230 232 234* 348* 349* l 000103 automatic fixed bin(21,0) dcl 66 set ref 281* 291* 291 292 292 length builtin function dcl 171 ref 281 281 300 level 000067 internal static fixed bin(17,0) initial dcl 83 set ref 279 279* 481 484* 484 736* 736 linkage_error 000102 stack reference condition dcl 812 ref 817 823 local_salv_args 000116 automatic structure level 1 dcl 68 set ref 937 937 local_status_branch 000104 automatic structure level 1 dcl 67 set ref 593 long 4 001210 automatic structure level 2 dcl 1018 ltrim builtin function dcl 171 ref 310 lvid 6 001210 automatic bit(36) level 3 packed packed unaligned dcl 1018 set ref 1026 mach_cond 000100 automatic structure level 2 dcl 642 set ref 711* max builtin function dcl 171 ref 226 mc based structure level 1 dcl 8-12 set ref 711 mcp 000306 automatic pointer dcl 8-10 set ref 710* 711 717 720 720 720 720 720 720 720 720 723 723 723 724 724 725 mcptr parameter pointer dcl 635 ref 632 707 710 714 message 000370 automatic char(100) packed unaligned dcl 644 set ref 688* 690* 691* 696* 700 700* min builtin function dcl 171 ref 872 n_fields 17(32) based fixed bin(4,0) level 3 packed packed unsigned unaligned dcl 3-5 ref 226 n_groups 000412 automatic fixed bin(17,0) dcl 865 set ref 870* 873* name 106 based char(32) level 2 in structure "sub_error_info" dcl 2-7 in procedure "error" ref 685 name parameter char packed unaligned dcl 635 in procedure "error" set ref 632 669 682 707* 714* names_relp 0(18) based bit(18) level 3 packed packed unaligned dcl 11-8 ref 599 601 602 namex 000334 automatic fixed bin(17,0) dcl 588 set ref 598* 599 601 602* new_dir_used 001170 automatic fixed bin(34,0) dcl 952 set ref 972* 983 983* new_ename 000364 automatic char(32) packed unaligned dcl 621 set ref 623* 624* 625* new_seg_used 001167 automatic fixed bin(34,0) dcl 952 set ref 972* 980 980* nindex 0(18) based fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 10-27 ref 900 nnames 0(02) based fixed bin(16,0) level 3 packed packed unsigned unaligned dcl 11-8 ref 598 nosc_parameter 000236 automatic bit(1) dcl 73 set ref 219* 232* 349 null builtin function dcl 171 ref 670 707 931 937 937 1023 1023 old_dir_used 001166 automatic fixed bin(34,0) dcl 952 set ref 972* 983 983* old_seg_used 001165 automatic fixed bin(34,0) dcl 952 set ref 972* 980 980* options 5 000116 automatic structure level 2 dcl 68 set ref 927* parms 3 based char(4) array level 2 in structure "intk_card" dcl 3-5 in procedure "system_startup_" ref 228 230 232 234 parms 3 based bit(36) array level 2 in structure "intk_card_array" dcl 3-16 in procedure "system_startup_" ref 226 pathname 13 000116 automatic char(168) level 2 packed packed unaligned dcl 68 set ref 933* pointer builtin function dcl 171 ref 599 601 602 prs based pointer array level 2 dcl 8-12 set ref 717* pvt based structure level 1 dcl 15-13 pvt$ 000300 external static fixed bin(17,0) dcl 15-9 set ref 244 pvtp 000322 automatic pointer dcl 15-9 set ref 244* 245 245 q 25 based bit(36) level 3 packed packed unaligned dcl 8-12 set ref 723* quiet_restart 2(02) based bit(1) level 3 packed packed unaligned dcl 1-6 ref 673 ralr 27(33) based bit(3) level 3 packed packed unaligned dcl 8-12 set ref 724* rcp_init 000250 constant entry external dcl 162 ref 195 rcp_reconfigure_$add_device 000254 constant entry external dcl 165 ref 449 rcp_reconfigure_$delete_device 000252 constant entry external dcl 163 ref 453 recover_volume_log 000200 constant entry external dcl 137 ref 472 regs 20 based structure level 2 packed packed unaligned dcl 8-12 release_temp_segments_ 000116 constant entry external dcl 104 ref 939 reload_volume 000170 constant entry external dcl 132 ref 462 rings 000063 internal static fixed bin(3,0) initial array dcl 81 set ref 255* rlv_needs_salv 22 based bit(1) level 2 dcl 15-13 ref 245 rpvs_requested 20 based bit(1) level 2 dcl 15-13 ref 245 rtrim builtin function dcl 171 ref 265 265 623 s_temps 000164 automatic pointer array dcl 919 set ref 922* 923 924 939* salv_args based structure level 1 dcl 9-4 salv_caller$packsalv 000162 constant entry external dcl 128 ref 425 salv_caller$rbld_disk 000164 constant entry external dcl 129 ref 457 salv_message 000170 automatic varying char(2000) dcl 920 set ref 935* 937* 938 938* salv_time 4 000116 automatic bit(36) level 2 dcl 68 set ref 926* sb 001210 automatic structure level 1 dcl 1018 set ref 1023 1023 sct_manager_$set 000130 constant entry external dcl 111 ref 180 181 scu 30 based bit(36) array level 2 packed packed unaligned dcl 8-12 set ref 725* short based structure level 2 dcl 11-8 size builtin function dcl 171 ref 815 sons_lvid 001201 automatic bit(36) packed unaligned dcl 962 set ref 992* standard_iocb_ptrs based pointer array dcl 786 set ref 794* 795* star_BRANCHES_ONLY 000630 constant fixed bin(2,0) initial dcl 10-110 set ref 888* star_DIRECTORY constant fixed bin(2,0) initial unsigned dcl 10-121 ref 898 star_entries based structure array level 1 dcl 10-27 star_entry_count 000310 automatic fixed bin(17,0) dcl 10-14 set ref 888* 897 star_entry_ptr 000312 automatic pointer dcl 10-15 set ref 888* 898 900 star_names based char(32) array packed unaligned dcl 10-37 ref 900 star_names_ptr 000314 automatic pointer dcl 10-19 set ref 888* 900 starx 000152 automatic fixed bin(17,0) dcl 884 set ref 897* 898 900* status_area_ptr 000316 automatic pointer dcl 11-47 set ref 592* 594* 599 601 602 status_branch based structure level 1 dcl 11-8 ref 607 status_code 104 based fixed bin(35,0) level 2 dcl 1-6 set ref 693 693* status_entry_names based char(32) array dcl 11-47 set ref 599 601 602* status_ptr 000320 automatic pointer dcl 11-47 set ref 593* 594* 598 599 601 602 607 stringsize 000000 stack reference condition dcl 174 ref 317 324 sub_error_info based structure level 1 dcl 2-7 sub_error_info_ptr 000454 automatic pointer dcl 2-6 set ref 684* 685 substr builtin function dcl 171 ref 292 292 926 system_control_entrypoint parameter char packed unaligned dcl 847 set ref 844 850* 852* system_privilege_$dir_priv_on 000104 constant entry external dcl 96 ref 184 system_privilege_$ipc_priv_on 000110 constant entry external dcl 96 ref 186 system_privilege_$ring1_priv_on 000106 constant entry external dcl 96 ref 185 system_privilege_$soos_priv_on 000102 constant entry external dcl 96 ref 183 t 27 based bit(27) level 3 packed packed unaligned dcl 8-12 set ref 724* temp1_ptr 000116 automatic pointer level 2 dcl 68 set ref 923* temp2_ptr 2 000116 automatic pointer level 2 dcl 68 set ref 924* terminal_sw 001177 automatic fixed bin(1,0) dcl 960 set ref 992* 1000 test_dir parameter char packed unaligned dcl 65 ref 799 801 timer_manager_$alarm_interrupt 000132 constant entry external dcl 112 ref 181 181 timer_manager_$cpu_time_interrupt 000134 constant entry external dcl 114 ref 180 180 timer_manager_$sleep 000256 constant entry external dcl 167 ref 875 trp 001174 automatic fixed bin(71,0) dcl 958 set ref 992* tup 001176 automatic bit(36) dcl 959 set ref 992* type based fixed bin(2,0) array level 2 packed packed unsigned unaligned dcl 10-27 ref 898 type_word 17 based structure level 2 dcl 3-5 unique_chars_ 000260 constant entry external dcl 168 ref 623 unspec builtin function dcl 171 set ref 711* 711 712* 926 vcommand 000205 automatic varying char(80) dcl 69 set ref 218* 221 234* 234 265 265 265 wcptr parameter pointer dcl 635 ref 632 word based char(4) array level 3 dcl 4-9 set ref 223 825 834 work_string 000100 automatic varying char dcl 300 set ref 308* 309 310* 310 319 319 322 325* 325 x 20 based bit(18) array level 3 packed packed unaligned dcl 8-12 set ref 720* 720* 720* 720* 720* 720* 720* 720* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CONFIG_DECIMAL_TYPE internal static bit(2) initial dcl 4-23 CONFIG_OCTAL_TYPE internal static bit(2) initial dcl 4-23 CONFIG_SINGLE_CHAR_TYPE internal static bit(2) initial dcl 4-23 CONFIG_STRING_TYPE internal static bit(2) initial dcl 4-23 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 Directory internal static fixed bin(17,0) initial dcl 11-56 EMPTY_FIELD internal static bit(36) initial dcl 4-34 JUST_LOG internal static fixed bin(17,0) initial dcl 14-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 Link internal static fixed bin(17,0) initial dcl 11-56 SBL_access_audit internal static fixed bin(17,0) initial dcl 12-47 SBL_config_deck internal static fixed bin(17,0) initial dcl 12-47 SBL_disk_err internal static fixed bin(17,0) initial dcl 12-47 SBL_end_of_table internal static fixed bin(17,0) initial dcl 12-47 SBL_fnp_poll internal static fixed bin(17,0) initial dcl 12-47 SBL_ibm3270_mde internal static fixed bin(17,0) initial dcl 12-47 SBL_io_err internal static fixed bin(17,0) initial dcl 12-47 SBL_io_err_detail internal static fixed bin(17,0) initial dcl 12-47 SBL_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 12-47 SBL_mmdam internal static fixed bin(17,0) initial dcl 12-47 SBL_mos_err internal static fixed bin(17,0) initial dcl 12-47 SBL_mpc_poll internal static fixed bin(17,0) initial dcl 12-47 SBL_ocdcm_err internal static fixed bin(17,0) initial dcl 12-47 SBL_random_segdamage internal static fixed bin(17,0) initial dcl 12-47 SBL_read_nc internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_10 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_12 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_14 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_15 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_18 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_4 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_6 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_7 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_8 internal static fixed bin(17,0) initial dcl 12-47 SBL_unused_9 internal static fixed bin(17,0) initial dcl 12-47 SBL_verify_lock internal static fixed bin(17,0) initial dcl 12-47 SBL_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 12-47 SBL_vtoce internal static fixed bin(17,0) initial dcl 12-47 SBL_zerpag internal static fixed bin(17,0) initial dcl 12-47 SB_access_audit internal static fixed bin(17,0) initial dcl 12-47 SB_access_audit_data_class internal static varying char(16) initial dcl 12-21 SB_char_data_classes internal static varying char(16) initial array dcl 12-89 SB_config_deck_data_class internal static varying char(16) initial dcl 12-21 SB_disk_err internal static fixed bin(17,0) initial dcl 12-47 SB_end_of_table internal static fixed bin(17,0) initial dcl 12-47 SB_fnp_poll internal static fixed bin(17,0) initial dcl 12-47 SB_fnp_poll_data_class internal static varying char(16) initial dcl 12-21 SB_hwfault_data_class internal static varying char(16) initial dcl 12-21 SB_ibm3270_mde internal static fixed bin(17,0) initial dcl 12-47 SB_ibm3270_mde_data_class internal static varying char(16) initial dcl 12-21 SB_io_err internal static fixed bin(17,0) initial dcl 12-47 SB_io_err_detail internal static fixed bin(17,0) initial dcl 12-47 SB_io_status_data_class internal static varying char(16) initial dcl 12-21 SB_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 12-47 SB_mdc_del_uidpath_data_class internal static varying char(16) initial dcl 12-21 SB_mmdam internal static fixed bin(17,0) initial dcl 12-47 SB_mmdam_data_class internal static varying char(16) initial dcl 12-21 SB_mos_data_class internal static varying char(16) initial dcl 12-21 SB_mos_err internal static fixed bin(17,0) initial dcl 12-47 SB_mpc_poll internal static fixed bin(17,0) initial dcl 12-47 SB_mpc_poll_data_class internal static varying char(16) initial dcl 12-21 SB_ocdcm_err internal static fixed bin(17,0) initial dcl 12-47 SB_random_segdamage internal static fixed bin(17,0) initial dcl 12-47 SB_read_nc internal static fixed bin(17,0) initial dcl 12-47 SB_segdamage_data_class internal static varying char(16) initial dcl 12-21 SB_unused_10 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_12 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_14 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_15 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_18 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_4 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_6 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_7 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_8 internal static fixed bin(17,0) initial dcl 12-47 SB_unused_9 internal static fixed bin(17,0) initial dcl 12-47 SB_verify_lock internal static fixed bin(17,0) initial dcl 12-47 SB_voldamage_data_class internal static varying char(16) initial dcl 12-21 SB_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 12-47 SB_vtoce internal static fixed bin(17,0) initial dcl 12-47 SB_vtoce_data_class internal static varying char(16) initial dcl 12-21 SB_zerpag internal static fixed bin(17,0) initial dcl 12-47 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 14-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 14-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 14-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 14-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 14-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 14-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 14-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 14-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 14-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 14-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 14-7 Segment internal static fixed bin(17,0) initial dcl 11-56 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 14-7 VALID_CARD_WORD_CHARACTERS internal static char(38) initial packed unaligned dcl 4-31 abx internal static fixed bin(17,0) initial dcl 8-42 accessviolation_sct_index internal static fixed bin(17,0) initial dcl 5-27 am_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 apx internal static fixed bin(17,0) initial dcl 8-42 bad_outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 bbx internal static fixed bin(17,0) initial dcl 8-42 bpx internal static fixed bin(17,0) initial dcl 8-42 command_sct_index internal static fixed bin(17,0) initial dcl 5-27 connect_sct_index internal static fixed bin(17,0) initial dcl 5-27 cross_ring_transfer_sct_index internal static fixed bin(17,0) initial dcl 5-27 derail_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_2_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 display_cpu_error_binary_defs internal static fixed bin(17,0) initial array dcl 12-144 dm_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 execute_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_1_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 fixedoverflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 fmsgp automatic pointer dcl 13-11 illegal_modifier_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_opcode_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_procedure_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_ring_order_sct_index internal static fixed bin(17,0) initial dcl 5-27 inward_return_sct_index internal static fixed bin(17,0) initial dcl 5-27 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_$destroy_iocb 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_$error_output external static pointer dcl 6-41 iox_$find_iocb 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_$look_iocb 000000 constant entry external dcl 6-8 iox_$modes 000000 constant entry external dcl 6-8 iox_$move_attach 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_$user_input external static pointer dcl 6-41 iox_$user_output external static pointer dcl 6-41 iox_$write_record 000000 constant entry external dcl 6-8 iox_modes internal static char(24) initial array dcl 7-6 isot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 lbx internal static fixed bin(17,0) initial dcl 8-42 linkage_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 lockup_sct_index internal static fixed bin(17,0) initial dcl 5-27 lot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 lpx internal static fixed bin(17,0) initial dcl 8-42 mme1_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme2_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme3_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme4_sct_index internal static fixed bin(17,0) initial dcl 5-27 neti_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_execute_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_read_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_write_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_a_gate_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_call_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_execute_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_read_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_write_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 op_not_complete_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_command_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_illegal_proc_sct_index internal static fixed bin(17,0) initial dcl 5-27 out_of_bounds_sct_index internal static fixed bin(17,0) initial dcl 5-27 outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 overflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 ovrflo_sct_index internal static fixed bin(17,0) initial dcl 5-27 packed_pointer_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 page_fault_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 parity_sct_index internal static fixed bin(17,0) initial dcl 5-27 pgt_sct_index internal static fixed bin(17,0) initial dcl 5-27 quit_sct_index internal static fixed bin(17,0) initial dcl 5-27 record_quota_overflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 ring_alarm_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 sbx internal static fixed bin(17,0) initial dcl 8-42 scu based structure level 1 dcl 8-56 scup automatic pointer dcl 8-54 scux based structure level 1 dcl 8-207 seg_fault_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 short_iox_modes internal static char(4) initial array dcl 7-12 shutdown_sct_index internal static fixed bin(17,0) initial dcl 5-27 simfault_000000_sct_index internal static fixed bin(17,0) initial dcl 5-27 size_sct_index internal static fixed bin(17,0) initial dcl 5-27 spx internal static fixed bin(17,0) initial dcl 8-42 star_ALL_ENTRIES internal static fixed bin(2,0) initial dcl 10-111 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 10-114 star_LINK internal static fixed bin(2,0) initial unsigned dcl 10-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 10-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 10-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 10-120 star_branch_count automatic fixed bin(17,0) dcl 10-13 star_dir_list_branch based structure array level 1 dcl 10-59 star_link_count automatic fixed bin(17,0) dcl 10-17 star_link_pathname based char packed unaligned dcl 10-102 star_links based structure array level 1 dcl 10-76 star_linkx automatic fixed bin(17,0) dcl 10-18 star_list_branch based structure array level 1 dcl 10-41 star_list_branch_ptr automatic pointer dcl 10-16 star_list_names based char(32) array packed unaligned dcl 10-92 star_list_names_ptr automatic pointer dcl 10-20 star_select_sw automatic fixed bin(3,0) dcl 10-21 startup_sct_index internal static fixed bin(17,0) initial dcl 5-27 status_link based structure level 1 dcl 11-38 status_pathname based char dcl 11-47 storage_sct_index internal static fixed bin(17,0) initial dcl 5-27 store_sct_index internal static fixed bin(17,0) initial dcl 5-27 stringsize_sct_index internal static fixed bin(17,0) initial dcl 5-27 sub_error_info_version_1 internal static fixed bin(17,0) initial dcl 2-13 sum builtin function dcl 171 susp_sct_index internal static fixed bin(17,0) initial dcl 5-27 syserr_binary_address_damage_mask internal static bit(36) initial packed unaligned dcl 12-142 syserr_binary_mos_mask internal static bit(36) initial packed unaligned dcl 12-139 syserr_binary_seg_damage_mask internal static bit(36) initial packed unaligned dcl 12-140 syserr_binary_vol_damage_mask internal static bit(36) initial packed unaligned dcl 12-141 system_message_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_packed_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 term_sct_index internal static fixed bin(17,0) initial dcl 5-27 timer_runout_sct_index internal static fixed bin(17,0) initial dcl 5-27 trouble_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 underflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 wkp_sct_index internal static fixed bin(17,0) initial dcl 5-27 zerodivide_sct_index internal static fixed bin(17,0) initial dcl 5-27 NAMES DECLARED BY EXPLICIT CONTEXT. Common 010735 constant label dcl 972 ref 965 FOUND_FREE_CARD 007707 constant label dcl 838 ref 834 PRINT 007242 constant entry internal dcl 748 ref 691 700 PRINT_V 007336 constant entry internal dcl 757 ref 698 RETURN_FROM_ERROR 006337 constant label dcl 673 ref 703 call_out 007714 constant entry internal dcl 844 ref 376 412 422 caller 004054 constant entry internal dcl 522 ref 362 371 388 393 398 403 417 427 432 437 459 464 469 474 494 499 504 die 007432 constant entry internal dcl 771 ref 201 205 ensure_quota 010707 constant entry internal dcl 943 ref 909 910 ensure_quota$$first_pass 010722 constant entry internal dcl 967 ref 904 error 006237 constant entry internal dcl 632 ref 179 179 273 273 exec 002737 constant entry internal dcl 296 ref 265 292 exec_return 003223 constant label dcl 327 ref 320 get_config_size 007547 constant entry internal dcl 804 ref 215 handle 000000 constant label array(27) dcl 360 set ref 358 log_configuration 010036 constant entry internal dcl 858 ref 216 mountedp 011431 constant entry internal dcl 1014 ref 929 nolv_request 005605 constant entry internal dcl 585 ref 230 read_command 002522 constant label dcl 277 set ref 192 269 274 354 743 read_command_entry 002466 constant entry external dcl 271 ref 738 read_command_return 002521 constant label dcl 275 set ref 485 root_rename 006060 constant entry internal dcl 617 ref 228 610 611 salvage_dir 010405 constant entry internal dcl 914 ref 903 salvage_dirs 010174 constant entry internal dcl 880 ref 248 502 shutdown_iox 007471 constant entry internal dcl 778 ref 374 410 420 system_startup_ 001516 constant entry external dcl 56 ref 198 198 850 850 test 002712 constant entry external dcl 799 test_entry 001766 constant entry external dcl 208 try_config_again 007632 constant label dcl 825 ref 830 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 13004 13326 11644 13014 Length 14254 11644 322 711 1137 62 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME system_startup_ 618 external procedure is an external procedure. exec 476 internal procedure uses auto adjustable storage, is called during a stack extension, and enables or reverts conditions. on unit on line 317 88 on unit caller internal procedure shares stack frame of internal procedure exec. nolv_request internal procedure shares stack frame of external procedure system_startup_. root_rename internal procedure shares stack frame of external procedure system_startup_. error 484 internal procedure is assigned to an entry variable. begin block on line 653 begin block shares stack frame of internal procedure error. PRINT internal procedure shares stack frame of internal procedure error. die internal procedure shares stack frame of external procedure system_startup_. shutdown_iox internal procedure shares stack frame of internal procedure exec. get_config_size 96 internal procedure enables or reverts conditions. on unit on line 817 88 on unit call_out internal procedure shares stack frame of internal procedure exec. log_configuration internal procedure shares stack frame of external procedure system_startup_. salvage_dirs 892 internal procedure is assigned to an entry variable. salvage_dir internal procedure shares stack frame of internal procedure salvage_dirs. ensure_quota internal procedure shares stack frame of internal procedure salvage_dirs. mountedp internal procedure shares stack frame of internal procedure salvage_dirs. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 SC1 system_startup_ 000062 init system_startup_ 000063 rings system_startup_ 000066 debug system_startup_ 000067 level system_startup_ 000070 in_error_handler error STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME error 000100 auto_fault_msg error 000360 error_name error 000370 message error 000421 i_message error 000452 condition_info_header_ptr error 000454 sub_error_info_ptr error 000456 dead_ptr begin block on line 653 000460 death_value begin block on line 653 exec 000100 command exec 000100 work_string exec 000110 arg exec 000360 an exec 000412 iocb_ptrs_ptr shutdown_iox get_config_size 000100 idx get_config_size salvage_dirs 000100 dir_path salvage_dirs 000152 starx salvage_dirs 000162 a_time salvage_dir 000164 s_temps salvage_dir 000170 salv_message salvage_dir 001164 first_pass ensure_quota 001165 old_seg_used ensure_quota 001166 old_dir_used ensure_quota 001167 new_seg_used ensure_quota 001170 new_dir_used ensure_quota 001171 did_something ensure_quota 001172 code ensure_quota 001173 Qalloc ensure_quota 001174 trp ensure_quota 001176 tup ensure_quota 001177 terminal_sw ensure_quota 001200 Qused ensure_quota 001201 sons_lvid ensure_quota 001210 sb mountedp system_startup_ 000100 code system_startup_ 000101 i system_startup_ 000102 j system_startup_ 000103 l system_startup_ 000104 local_status_branch system_startup_ 000116 local_salv_args system_startup_ 000205 vcommand system_startup_ 000232 entry_var system_startup_ 000236 nosc_parameter system_startup_ 000237 buffer system_startup_ 000275 IOX_up system_startup_ 000276 disk_table_ok system_startup_ 000300 intk_cardp system_startup_ 000302 configp system_startup_ 000304 config_n_cards system_startup_ 000305 config_max_cards system_startup_ 000306 mcp system_startup_ 000310 star_entry_count system_startup_ 000312 star_entry_ptr system_startup_ 000314 star_names_ptr system_startup_ 000316 status_area_ptr system_startup_ 000320 status_ptr system_startup_ 000322 pvtp system_startup_ 000334 namex nolv_request 000364 new_ename root_rename 000410 cards_in_group log_configuration 000411 card_index log_configuration 000412 n_groups log_configuration THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as alloc_char_temp cat_realloc_chars call_ent_var_desc call_ent_var call_ext_in call_ext_out_desc call_ext_out call_int_this_desc call_int_this return_mac move_label_var make_label_var tra_ext_1 alloc_auto_adj enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc op_freen_ clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. call_outer_ring_ com_err_ com_err_$suppress_name condition_ convert_status_code_ date_time_$format disk_table_$accept disk_table_$accept_rlv disk_table_$demount_hvol disk_table_$general_mhv disk_table_$init disk_table_$initialize_disk disk_table_$io_ss_reconfig disk_table_$list disk_table_$mount_hvol disk_table_$remove disk_table_$reregister display_volume_log end_reload_volume get_group_id_ get_system_free_area_ get_temp_segments_ hcs_$append_branchx hcs_$chname_file hcs_$fs_search_set_wdir hcs_$history_regs_set hcs_$lv_attached hcs_$quota_read hcs_$star_ hcs_$status_ hcs_$status_long hphcs_$call_bce hphcs_$correct_qused hphcs_$quota_set hphcs_$salv_directory hphcs_$shutdown hphcs_$syserr hphcs_$syserr_binary hphcs_$syserr_error_code iload iload$system_release ioa_ ioa_$nnl ioa_$rsnnl iox_$attach_ptr iox_$close iox_$detach_iocb iox_$get_line iox_$init_standard_iocbs iox_$open rcp_init rcp_reconfigure_$add_device rcp_reconfigure_$delete_device recover_volume_log release_temp_segments_ reload_volume salv_caller$packsalv salv_caller$rbld_disk sct_manager_$set system_privilege_$dir_priv_on system_privilege_$ipc_priv_on system_privilege_$ring1_priv_on system_privilege_$soos_priv_on timer_manager_$alarm_interrupt timer_manager_$cpu_time_interrupt timer_manager_$sleep unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. active_all_rings_data$initializer_dim active_all_rings_data$initializer_tty active_all_rings_data$system_id config_deck$ error_table_$long_record iox_$n_standard_iocbs iox_$standard_iocb_ptrs iox_$user_io pvt$ LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 76 001512 56 001515 179 001524 180 001550 181 001567 183 001606 184 001615 185 001624 186 001633 188 001642 190 001653 192 001654 195 001657 197 001663 198 001670 201 001736 204 001742 205 001761 208 001764 211 001774 215 001776 216 002002 218 002003 219 002004 221 002005 223 002022 225 002027 226 002031 228 002045 230 002062 232 002066 234 002073 235 002130 237 002133 239 002135 240 002136 241 002145 243 002152 244 002153 245 002156 247 002162 248 002170 250 002177 255 002224 257 002317 259 002335 262 002420 263 002423 265 002425 267 002463 269 002464 271 002465 273 002474 274 002520 275 002521 279 002522 281 002551 283 002574 285 002624 287 002626 288 002655 289 002662 291 002663 292 002665 293 002704 294 002705 799 002706 801 002726 802 002735 296 002736 300 002752 305 002765 306 003002 308 003004 309 003017 310 003026 311 003050 312 003051 314 003054 315 003076 317 003077 319 003113 320 003151 322 003155 324 003173 325 003174 326 003217 327 003220 332 003224 334 003227 335 003243 336 003245 338 003247 339 003264 340 003266 342 003271 343 003314 346 003315 348 003322 349 003330 352 003344 353 003345 354 003354 357 003362 358 003365 360 003367 362 003374 363 003375 365 003376 367 003403 369 003404 371 003411 372 003412 374 003413 376 003414 377 003423 379 003424 381 003425 382 003434 384 003437 385 003465 387 003466 388 003473 389 003474 391 003475 393 003502 394 003503 396 003504 398 003511 399 003512 401 003513 403 003520 404 003521 406 003522 408 003527 410 003530 412 003531 413 003540 415 003541 417 003546 418 003547 420 003550 422 003551 423 003560 425 003561 427 003566 428 003567 430 003570 432 003575 433 003576 435 003577 437 003604 438 003605 440 003606 442 003614 444 003650 445 003671 446 003674 447 003705 449 003706 451 003723 453 003724 455 003741 457 003742 459 003747 460 003750 462 003751 464 003756 465 003757 467 003760 469 003765 470 003766 472 003767 474 003774 475 003775 477 003776 479 004001 481 004002 484 004005 485 004007 488 004012 489 004026 492 004027 494 004034 495 004035 497 004036 499 004043 500 004044 502 004045 504 004052 505 004053 522 004054 525 004055 528 004164 531 004270 534 004371 537 004467 540 004562 543 004652 546 004737 549 005021 552 005100 555 005154 557 005225 559 005273 561 005336 563 005376 565 005433 567 005465 569 005514 571 005540 573 005561 575 005577 577 005604 585 005605 592 005606 593 005615 594 005617 595 005656 598 005711 599 005723 601 005736 602 005774 606 006043 607 006045 610 006047 611 006052 613 006057 617 006060 623 006071 624 006150 625 006205 628 006235 632 006236 653 006252 661 006254 663 006300 664 006305 665 006311 667 006313 669 006316 670 006324 672 006330 673 006333 677 006337 678 006341 682 006342 684 006347 685 006350 688 006353 690 006356 691 006411 693 006414 695 006435 696 006440 698 006443 700 006461 703 006470 705 006474 707 006475 710 006532 711 006536 712 006541 713 006544 714 006602 715 006642 716 006662 717 006670 718 006722 719 006725 720 006746 723 007026 724 007063 725 007117 728 007145 730 007150 731 007164 734 007171 736 007174 737 007175 738 007176 740 007202 742 007205 743 007206 745 007211 746 007234 767 007241 748 007242 752 007253 754 007304 755 007335 757 007336 760 007347 762 007400 763 007431 771 007432 774 007433 775 007463 776 007470 778 007471 791 007472 792 007474 793 007477 794 007510 795 007524 796 007542 797 007545 804 007546 815 007554 817 007560 819 007574 820 007617 821 007624 822 007625 823 007631 825 007632 828 007636 829 007662 830 007667 833 007670 834 007677 836 007705 838 007707 841 007713 844 007714 850 007725 852 007771 854 010030 856 010035 858 010036 870 010037 871 010043 872 010064 873 010073 875 010152 876 010167 878 010172 880 010173 888 010201 891 010256 893 010261 894 010305 897 010306 898 010315 900 010323 901 010345 903 010356 904 010361 907 010364 909 010366 910 010377 911 010404 914 010405 922 010416 923 010440 924 010443 925 010445 926 010447 927 010452 928 010471 929 010475 931 010526 932 010530 933 010531 935 010537 936 010540 937 010562 938 010621 939 010664 940 010706 943 010707 964 010720 965 010721 967 010722 970 010733 972 010735 976 010775 978 011000 980 011034 983 011070 986 011124 987 011125 989 011157 992 011162 994 011230 996 011232 997 011264 1000 011265 1002 011270 1005 011275 1006 011323 1009 011367 1011 011430 1014 011431 1023 011447 1024 011513 1026 011521