COMPILATION LISTING OF SEGMENT amu_fdump_mgr_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/12/88 1432.2 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(87-01-19,Parisek), approve(87-07-09,MCR7746), 12* audit(87-07-17,Fawcett), install(87-07-28,MR12.1-1049): 13* Corrected the ioa_ control string on line 149 to correctly format error 14* msg. (phx20262). 15* 2) change(87-09-03,Parisek), approve(88-03-09,MCR7861), 16* audit(88-07-08,Farley), install(88-07-12,MR12.2-1055): 17* Check for inconsistent dump segment components and print the 18* inconsistencies if found. 19* END HISTORY COMMENTS */ 20 21 22 amu_fdump_mgr_: procedure options (separate_static); 23 24 25 return; /* not an entrypoint */ 26 27 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend,ifthendo,ifthen,^thendo */ 28 29 /* This procedure is in charge of initiating and terminating segments which 30* make up FDUMP images. It also manages a chain of previously initiated FDUMPs, 31* in order to make the whole process more efficient. It is not, however, in any 32* way associated with address translation; that is the province of 33* amu_fdump_translate_. 34* 35* 09/06/80 -- WOS, from earlier version by CAH 36* 07/30/81 -- RAF, to add search dir 37* 08/18/81 -- RAF, to call amu_$hardcore_fdump 38* 06/30/82 -- RAF, to add find_fdump 39* 08/31/84 -- BLB, to modify find_fdump and init_fdump to use system_dump_info structure. 40* 11/08/84 -- BLB, to ignore non-entries when initializing best_bet values. 41**/ /* 42* 43*/* Parameters */ 44 45 dcl ( 46 P_amu_info_ptr pointer, 47 P_caller char (*), 48 P_code fixed bin (35), 49 P_dirname char (*), 50 P_dump_info_ptr ptr, 51 P_dump_name char (*), 52 P_new fixed bin 53 ) parameter; 54 55 /* Automatic */ 56 57 dcl 1 best_bet, 58 2 ftime fixed bin (71), 59 2 list_idx fixed bin; 60 dcl bc fixed bin (24); 61 dcl 1 branch aligned like status_branch automatic; 62 dcl code fixed bin (35); 63 dcl cur_dump_time fixed bin (71); 64 dcl cur_state char (1); 65 dcl dirname char (168); 66 dcl ename char (32); 67 dcl ename_prefix varying char (32); 68 dcl ename_suffix varying char (32); 69 dcl 1 fdi aligned like fdump_info automatic; 70 dcl first_seg_ename char (32); 71 dcl found bit(1); 72 dcl idx fixed bin; 73 dcl ignore_code fixed bin (35); 74 dcl ignore_bc fixed bin (24); 75 dcl path_idx fixed bin; 76 dcl rs_length fixed bin; 77 dcl starname char (32); 78 dcl system_area_ptr ptr; 79 dcl ttime fixed bin(71); 80 81 /* Based */ 82 83 dcl system_area area based (system_area_ptr); 84 85 /* Entry and External */ 86 87 dcl amu_$error_for_caller entry options (variable); 88 dcl amu_$list_system_dumps entry (character (*), character (8) aligned, fixed bin, pointer, pointer, 89 fixed binary (35)); 90 dcl amu_et_$invalid_dump fixed bin (35) external static; 91 dcl amu_$fdump_mpt entry (pointer, char(*), fixed bin (35)); 92 dcl amu_$fdump_mpt_current_process entry (ptr); 93 dcl amu_$fdump_mpt_terminate entry (ptr); 94 dcl amu_$create_translation entry (pointer, fixed bin); 95 dcl amu_$search_path_get_dump entry (ptr, fixed bin (35)); 96 dcl amu_$temp_seg_release_all entry (pointer); 97 dcl error_table_$nomatch fixed bin (35) external static; 98 dcl error_table_$noentry fixed bin (35) external static; 99 dcl error_table_$translation_failed fixed bin (35) external static; 100 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 101 dcl get_system_free_area_ entry () returns (pointer); 102 dcl hcs_$star_ entry (char (*), char (*), fixed bin (2), pointer, fixed bin, pointer, pointer, fixed bin (35)); 103 dcl hcs_$status_long entry (char (*), char (*), fixed bin (1), pointer, pointer, fixed bin (35)); 104 dcl initiate_file_ entry (char(*), char(*), bit(*), ptr, fixed bin(24), fixed bin(35)); 105 dcl ioa_ entry () options (variable); 106 dcl ioa_$rsnnl entry() options(variable); 107 dcl pathname_ entry (char(*), char(*)) returns(char(168)); 108 dcl terminate_file_ entry (ptr, fixed bin(24), bit(*), fixed bin(35)); 109 110 dcl cleanup condition; 111 112 dcl (addr, after, divide, hbound, lbound, 113 max, reverse, rtrim, sum, 114 null, unspec) builtin; 115 116 dcl zero_bc fixed bin (24) int static options (constant) init (0); 117 118 119 120 ERROR_RETURN: /* general error exit */ 121 P_code = code; 122 return; 123 124 125 /*****************************************************************************/ 126 127 amu_fdump_mgr_$cur_erf: 128 entry (P_amu_info_ptr); 129 130 amu_info_ptr = P_amu_info_ptr; 131 cur_state = ">"; 132 call what_erf ("0"b); 133 return; 134 135 /*****************************************************************************/ 136 137 amu_fdump_mgr_$find_fdump: 138 entry (P_caller, P_amu_info_ptr, P_dump_name, P_new, P_dump_info_ptr, P_code); 139 140 /* This entry finds the fdump specified by P_new; 141* 142* P_caller who called me (input), 143* P_amu_info_ptr amu_info pointer (input), 144* This can be null() if there is no current fdump. 145* P_dump_name absolute pathname of the current fdump, if there 146* is one (input), 147* P_new number specifying the action to be taken to find 148* the fdump (input) 149* P_dump_info_ptr pointer to system_dump_info structure (input). 150* The structure is filled in with the dump found (output) 151* P_code standard error code (output). 152**/ 153 154 P_code, code = 0; 155 amu_info_ptr = P_amu_info_ptr; 156 system_dump_info_ptr = P_dump_info_ptr; 157 system_area_ptr = get_system_free_area_(); 158 system_dump_list_ptr = null(); 159 160 ename, dirname, 161 system_dump_info.dump_dir_name, system_dump_info.dump_seg_prefix, 162 system_dump_info.dump_name, system_dump_info.dump_entry_format = ""; 163 164 on cleanup begin; 165 if system_dump_list_ptr ^= null() then free system_dump_list in (system_area); 166 end; 167 168 call amu_$list_system_dumps ("*", SYSTEM_DUMP_LIST_VERSION_1, LIST_FDUMPS, system_area_ptr, system_dump_list_ptr, code); 169 if code ^= 0 then do; 170 call amu_$error_for_caller ((null ()), code, P_caller, 171 "Selecting the ^[first^;^[last^;^[previous^;^[next^]^]^]^] fdump.", P_new=0, P_new=1, P_new=2, P_new=3); 172 goto ERROR_RETURN; 173 end; 174 175 ttime = -1; /* We loop to skip non-existant entries */ 176 do idx = 1 to system_dump_list.n_dumps while (ttime = -1); 177 call get_fdump_time (system_dump_list.per_dump(idx).dir_name, system_dump_list.per_dump(idx).full_entryname, ttime); 178 best_bet.ftime = ttime; 179 best_bet.list_idx = idx; 180 end; 181 182 if P_new >= 2 then do; /* next */ 183 call expand_pathname_(P_dump_name, dirname, ename,code); 184 if code ^= 0 then do; 185 call amu_$error_for_caller (null(), code, P_caller, "Could not expand fdump name ^a", P_dump_name); 186 goto ERROR_RETURN; 187 end; 188 call get_fdump_time (dirname, ename, ttime); 189 cur_dump_time = fdump_info.dump_seg_ptr (0) -> dump.dump_header.time; 190 best_bet.ftime = 10**15; /* larger that 52 bit clock */ 191 end; 192 193 do idx = 1 to system_dump_list.n_dumps; 194 found = "0"b; 195 call find_erf (system_dump_list.dir_name(idx), system_dump_list.full_entryname(idx), P_new, best_bet.ftime, 196 cur_dump_time, found); 197 if found then best_bet.list_idx = idx; 198 end; 199 200 if P_dump_name = pathname_ (system_dump_list.dir_name (best_bet.list_idx), 201 system_dump_list.full_entryname (best_bet.list_idx)) then do; 202 /* Nothing was found */ 203 /* this should only happen if next or previous specified */ 204 code = error_table_$noentry; 205 call amu_$error_for_caller (null(), 0, P_caller, 206 "There is no ^[previous^;next^] fdump. The current fdump ^[^a^;^s^] is the ^[first^;last^] one.", 207 P_new=2, P_dump_name^="", P_dump_name, P_new=2); 208 goto ERROR_RETURN; 209 end; 210 211 else do; /* fill in structure and return */ 212 system_dump_info.dump_dir_name = system_dump_list.dir_name (best_bet.list_idx); 213 system_dump_info.dump_seg_prefix = 214 reverse (after (after (reverse (system_dump_list.full_entryname (best_bet.list_idx)), "."), ".")); 215 system_dump_info.dump_name = system_dump_list.minimal_entryname (best_bet.list_idx); 216 call ioa_$rsnnl ("^a.^^d.^a", system_dump_info.dump_entry_format, rs_length, 217 system_dump_info.dump_seg_prefix, system_dump_info.dump_name); 218 end; 219 220 if system_dump_list_ptr ^= null() then free system_dump_list in (system_area); 221 P_code = code; 222 return; 223 224 /*****************************************************************************/ 225 226 amu_fdump_mgr_$init_fdump: 227 entry (P_caller, P_dump_info_ptr, P_amu_info_ptr, P_code); 228 229 /* This entry initializes a translation for a given fdump. 230* 231* P_caller who called me (input) 232* P_dump_info_ptr ptr to system_dump_info structure which contains the fdump info (input) 233* P_amu_info_ptr pointer to amu_info (output) 234* P_code standard error code (output) 235**/ 236 237 dcl bif bit (1); 238 dcl bidx fixed bin; 239 dcl bstring char (64); 240 241 P_code = 0; 242 amu_info_ptr = P_amu_info_ptr; 243 system_dump_info_ptr = P_dump_info_ptr; 244 dirname = system_dump_info.dump_dir_name; 245 /* get the primary name */ 246 call ioa_$rsnnl (system_dump_info.dump_entry_format, ename, rs_length, 0); 247 call hcs_$status_long (dirname, ename, 1, addr (branch), (null ()), code); 248 if code ^= 0 then do; /* This code wil malfunction if a dump is renamed */ 249 call amu_$error_for_caller ((null ()), code, P_caller, "^a^[>^]^a", dirname, (dirname ^= ">"), ename); 250 goto ERROR_RETURN; 251 end; 252 253 first_seg_ename = ename; 254 255 ename_prefix = system_dump_info.dump_seg_prefix; 256 ename_suffix = system_dump_info.dump_name; 257 258 fdi.dump_seg_ptr (*) = null (); 259 fdi.dump_seg_lth (*) = 0; 260 bidx = 0; 261 bif = "0"b; 262 263 do idx = lbound (fdi.dump_seg_ptr, 1) to hbound (fdi.dump_seg_ptr, 1); 264 /* initiate the dump segments */ 265 call ioa_$rsnnl (system_dump_info.dump_entry_format, ename, rs_length, idx); 266 call initiate_file_ (dirname, ename, R_ACCESS, fdi.dump_seg_ptr (idx), bc, code); 267 if (fdi.dump_seg_ptr (idx) = null ()) then 268 if code = error_table_$noentry then do; 269 if idx ^= 0 then do; 270 if bidx > 0 then do; 271 idx = idx-1; 272 goto GOT_ALL_DUMP_SEGMENTS; 273 end; 274 bidx = idx; 275 goto next_idx; 276 end; 277 else do; 278 call amu_$error_for_caller (null(), code, P_caller, "FDUMP ^a.", pathname_(dirname, ename)); 279 goto ERROR_RETURN; 280 end; 281 end; 282 else do; /* some error initiating the segment */ 283 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "^a^[>^]^a", dirname, (dirname ^= ">"), 284 ename); 285 goto ERROR_RETURN; 286 end; 287 fdi.dump_seg_lth (idx) = divide (bc, 36, 19, 0); 288 if bidx > 0 then do; 289 bif = "1"b; 290 code = error_table_$translation_failed; 291 call ioa_$rsnnl (rtrim(system_dump_info.dump_entry_format) || " dump segment missing.", bstring, (0), bidx); 292 call amu_$error_for_caller (amu_info_ptr, code, P_caller, bstring); 293 goto ERROR_RETURN; 294 end; 295 next_idx: 296 end; /* of loop finding segments */ 297 298 GOT_ALL_DUMP_SEGMENTS: 299 300 code = 0; 301 dumpptr = fdi.dump_seg_ptr (0); 302 if (unspec (dump.dump_header.valid)) ^= "1"b then do; 303 /* Is this a valid dump ?? */ 304 code, P_code = amu_et_$invalid_dump; 305 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "ERF ^a", ename); 306 return; 307 end; 308 309 if idx < 1 then do; /* found nothing at all */ 310 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "^a^[>^]^a", dirname, (dirname ^= ">"), ename); 311 goto ERROR_RETURN; /* not that code was still set */ 312 end; 313 314 call amu_$create_translation (amu_info_ptr, FDUMP_TYPE); /* get a fresh amu_info */ 315 316 allocate fdump_info in (amu_area) set (amu_info.fdump_info_ptr); 317 /* make a new fdump_info */ 318 fdump_info = fdi; /* copy in what we already have */ 319 fdump_info.version = AMU_FDUMP_INFO_VERSION_1; 320 fdump_info.dump_seg_0_uid = branch.uid; 321 fdump_info.dump_dname = dirname; 322 fdump_info.dump_ename = first_seg_ename; 323 fdump_info.erf_name = system_dump_info.dump_name; /* strip off the leading period */ 324 fdump_info.ref_count = 1; 325 fdump_info.n_dump_segs = idx; 326 fdump_info.copy_block_ptr = null (); 327 fdump_info.system_id, fdump_info.version_id = ""; 328 cur_state = ">"; 329 amu_info.process_idx = 0; 330 /* fill in the process table */ 331 call amu_$fdump_mpt (amu_info_ptr, P_caller, code); 332 if code ^= 0 then do; /* msg already printed */ 333 goto ERROR_RETURN; 334 end; 335 336 P_amu_info_ptr = amu_info_ptr; /* return the fruits of our labors */ 337 338 return; /* end of code for this entrypoint */ 339 340 /*****************************************************************************/ 341 342 amu_fdump_mgr_$name_erf: 343 entry (P_amu_info_ptr); 344 amu_info_ptr = P_amu_info_ptr; 345 cur_state = ""; 346 call what_erf ("1"b); 347 return; 348 349 /*****************************************************************************/ 350 351 amu_fdump_mgr_$really_terminate_fdump: 352 entry (P_amu_info_ptr, P_code); 353 354 /* This entry is used to "really" terminate an FDUMP, and free any 355* temporaries that may have been allocated for it. 356**/ 357 358 amu_info_ptr = P_amu_info_ptr; 359 if amu_info.fdump_info_ptr = null then return; 360 call amu_$fdump_mpt_terminate (amu_info_ptr); 361 do idx = 1 to fdump_info.n_dump_segs; /* terminate the dump */ 362 call terminate_file_(fdump_info.dump_seg_ptr (idx - 1), zero_bc, TERM_FILE_TERM, ignore_code); 363 end; 364 365 call amu_$temp_seg_release_all (fdump_info.copy_block_ptr); 366 367 free fdump_info in (amu_area); 368 369 amu_info.fdump_info_ptr = null (); 370 return; /* end of code for this entrypoint */ 371 372 /*****************************************************************************/ 373 374 amu_fdump_mgr_$terminate_fdump: 375 entry (P_amu_info_ptr, P_code); 376 377 /* This entry is used to "terminate" an FDUMP. All this means, though, is 378* that its reference count is decremented. To really terminate it (that is, 379* to reuse its temporary segments and segno's), the really_terminate_fdump 380* entrypoint must be used. 381**/ 382 383 amu_info_ptr = P_amu_info_ptr; 384 385 fdump_info.ref_count = max ((fdump_info.ref_count - 1), 0); 386 387 P_code = 0; 388 return; /* There. Simple, wasn't it? */ 389 390 /*****************************************************************************/ 391 392 find_erf: 393 proc (dirname, ename, which, best_fdump_time, cur_dump_time, found); 394 395 dcl best_fdump_time fixed bin (71); 396 dcl cur_dump_time fixed bin (71); 397 dcl (dirname, ename) char(*); 398 dcl found bit(1); 399 dcl which fixed bin; 400 401 dcl ttime fixed bin (71); 402 403 found = "0"b; 404 ttime = -1; 405 call get_fdump_time (dirname, ename, ttime); 406 if ttime = -1 then return; /* couldn't look at this one, so skip */ 407 408 goto case(which); 409 410 case(0): /* look for oldest, want the first */ 411 412 if ttime < best_fdump_time then do; 413 found = "1"b; 414 best_fdump_time = ttime; 415 end; 416 return; 417 418 case(1): /* look for newest, want the last */ 419 420 if ttime > best_fdump_time then do; 421 found = "1"b; 422 best_fdump_time = ttime; 423 end; 424 return; 425 426 case(2): /* look for next oldest, want previous */ 427 428 if ttime < cur_dump_time then do; 429 if ttime > best_fdump_time then do; 430 found = "1"b; 431 best_fdump_time = ttime; 432 end; 433 end; 434 return; 435 436 case(3): /* look for next newest, want next */ 437 438 if ttime > cur_dump_time then do; 439 if (ttime - cur_dump_time) < best_fdump_time then do; 440 found = "1"b; 441 best_fdump_time = ttime - cur_dump_time; 442 end; 443 end; 444 return; 445 446 end find_erf; 447 448 /*****************************************************************************/ 449 450 get_fdump_time: 451 proc (dirname, fdump_name, dtime); 452 453 dcl dirname char(*); 454 dcl fdump_name char (*); 455 456 dcl code fixed bin(35); 457 dcl dtime fixed bin (71); 458 459 code = 0; 460 call initiate_file_ (dirname, fdump_name, R_ACCESS, dumpptr, ignore_bc, code); 461 if dumpptr = null() then return; 462 dtime = dump.dump_header.time; 463 call terminate_file_(dumpptr, zero_bc, TERM_FILE_TERM, ignore_code); 464 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 465 466 467 end get_fdump_time; 468 469 /*****************************************************************************/ 470 471 amu_fdump_mgr_$list_fdump: 472 entry (P_caller, P_dirname, P_amu_info_ptr, P_code); 473 474 P_code, code = 0; 475 amu_info_ptr = P_amu_info_ptr; 476 477 if P_dirname = "" then do; 478 call amu_$search_path_get_dump (sl_info_p, code); 479 if code ^= 0 then do; 480 call amu_$error_for_caller ((null ()), code, P_caller, "Getting dump search paths."); 481 goto ERROR_RETURN; 482 end; 483 do path_idx = 1 to sl_info.num_paths; 484 dirname = sl_info.paths (path_idx).pathname; 485 call list_all_erf; 486 end; 487 return; 488 end; 489 490 491 else dirname = P_dirname; /* Use the callers */ 492 call list_all_erf; 493 return; 494 495 /*****************************************************************************/ 496 497 list_all_erf: 498 proc; 499 starname = "*.*.0.*"; 500 501 star_entry_ptr = null (); 502 star_names_ptr = null (); 503 system_area_ptr = get_system_free_area_ (); 504 505 on condition (cleanup) 506 begin; 507 if star_names_ptr ^= null () then free star_names in (system_area); 508 if star_entry_ptr ^= null () then free star_entries in (system_area); 509 end; 510 511 call hcs_$star_ (dirname, starname, star_ALL_ENTRIES, addr (system_area), star_entry_count, star_entry_ptr, 512 star_names_ptr, code); 513 514 if code = error_table_$nomatch then do; 515 call ioa_ ("No ERF found in ^a", dirname); 516 return; 517 end; 518 519 else if code ^= 0 then do; 520 call amu_$error_for_caller ((null ()), code, P_caller, "^a^[>^]^a", dirname, (dirname ^= ">"), starname); 521 goto ERROR_RETURN; 522 end; 523 call ioa_ ("ERF LIST FOR ^a", dirname); 524 do idx = 1 to star_entry_count; 525 call ioa_ ("^-^a", star_names (idx)); 526 end; 527 528 free star_names in (system_area); 529 free star_entries in (system_area); 530 531 revert condition (cleanup); 532 return; 533 end list_all_erf; 534 535 /*****************************************************************************/ 536 537 what_erf: 538 proc (print_sys_vid); 539 540 dcl date_time_ entry (fixed bin (71), char (*)), 541 dump_date char (32), 542 print_sys_vid bit (1); 543 544 dumpptr = fdump_info.dump_seg_ptr (0); 545 call date_time_ (dump.dump_header.time, dump_date); 546 if amu_info.early_dump then 547 call ioa_ ("This is an early dump.^/"); 548 call ioa_ ("^1a ERF ^3a in directory ^a dumped at ^a.^[^[^/ System-ID ^a^;^s^]^[ Version-ID ^a^;^s^]^]", 549 cur_state, fdump_info.erf_name, fdump_info.dump_dname, dump_date, print_sys_vid, fdump_info.system_id ^= "", 550 fdump_info.system_id, fdump_info.version_id ^= "", fdump_info.version_id); 551 if print_sys_vid then call amu_$fdump_mpt_current_process (amu_info_ptr); 552 return; 553 end what_erf; 2 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 2 2* 2 3* Values for the "access mode" argument so often used in hardcore 2 4* James R. Davis 26 Jan 81 MCR 4844 2 5* Added constants for SM access 4/28/82 Jay Pattin 2 6* Added text strings 03/19/85 Chris Jones 2 7**/ 2 8 2 9 2 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 2 11 dcl ( 2 12 N_ACCESS init ("000"b), 2 13 R_ACCESS init ("100"b), 2 14 E_ACCESS init ("010"b), 2 15 W_ACCESS init ("001"b), 2 16 RE_ACCESS init ("110"b), 2 17 REW_ACCESS init ("111"b), 2 18 RW_ACCESS init ("101"b), 2 19 S_ACCESS init ("100"b), 2 20 M_ACCESS init ("010"b), 2 21 A_ACCESS init ("001"b), 2 22 SA_ACCESS init ("101"b), 2 23 SM_ACCESS init ("110"b), 2 24 SMA_ACCESS init ("111"b) 2 25 ) bit (3) internal static options (constant); 2 26 2 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 2 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 2 29 2 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 2 31 static options (constant); 2 32 2 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 2 34 static options (constant); 2 35 2 36 dcl ( 2 37 N_ACCESS_BIN init (00000b), 2 38 R_ACCESS_BIN init (01000b), 2 39 E_ACCESS_BIN init (00100b), 2 40 W_ACCESS_BIN init (00010b), 2 41 RW_ACCESS_BIN init (01010b), 2 42 RE_ACCESS_BIN init (01100b), 2 43 REW_ACCESS_BIN init (01110b), 2 44 S_ACCESS_BIN init (01000b), 2 45 M_ACCESS_BIN init (00010b), 2 46 A_ACCESS_BIN init (00001b), 2 47 SA_ACCESS_BIN init (01001b), 2 48 SM_ACCESS_BIN init (01010b), 2 49 SMA_ACCESS_BIN init (01011b) 2 50 ) fixed bin (5) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 554 3 1 /* BEGIN INCLUDE FILE amu_fdump_info.incl.pl1 */ 3 2 3 3 dcl 1 fdump_info aligned based (amu_info.fdump_info_ptr), 3 4 2 version char (8), 3 5 2 ref_count fixed bin, /* number of initiations */ 3 6 3 7 2 erf_name char (32), /* ERF name for this dump */ 3 8 2 dump_dname char (168), /* location of the dump */ 3 9 2 dump_ename char (32), /* ename of component zero */ 3 10 2 system_id char (8), /* the system_id of this erf */ 3 11 2 version_id char (8), /* the version id of this erf */ 3 12 2 dump_seg_0_uid bit (36) aligned, /* for determining EQ-ness and gullibility checking */ 3 13 3 14 2 n_dump_segs fixed bin, /* number of real segs in the dump */ 3 15 2 copy_block_ptr pointer, /* pointer to chain of temp segment blocks */ 3 16 3 17 2 dump_seg_ptr (0:31) pointer, /* pointer and length arrays */ 3 18 2 dump_seg_lth (0:31) fixed bin (18), 3 19 3 20 2 fdump_process_table_ptr pointer; /* pointer to array describing processes */ 3 21 3 22 3 23 dcl 1 fdump_process_table aligned based (fdump_info.fdump_process_table_ptr), 3 24 2 size fixed bin, /* number of entries */ 3 25 3 26 2 array (0:alloc_fdump_process_table_size - 1 refer (fdump_process_table.size)) like fp_table; 3 27 3 28 dcl 1 fp_table based (fp_table_ptr), 3 29 2 first_seg fixed bin, 3 30 2 last_seg fixed bin, 3 31 2 process_info_ptr pointer unaligned, /* pointer to process_info structure, if filled in */ 3 32 2 dmp_seg_indx fixed bin, /* dump seg index where process can be found */ 3 33 2 dmp_seg_offset fixed bin (24), /* offset in the segment refered to by dmp_seg_indx where process starts */ 3 34 2 cpu_name char (1), 3 35 2 dbr fixed bin (24), /* address portion of DBR */ 3 36 2 apte_offset fixed bin (18); 3 37 3 38 dcl fp_table_ptr ptr; 3 39 3 40 dcl alloc_fdump_process_table_size fixed bin; 3 41 3 42 dcl AMU_FDUMP_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_erf1"); 3 43 dcl AMU_FDUMP_INFO_VERSION char (8) internal static options (constant) init ("amu_erf1"); 3 44 3 45 /* END INCLUDE FILE amu_fdump_info.incl.pl1 */ 555 4 1 /* BEGIN INCLUDE FILE amu_info.incl.pl1 */ 4 2 4 3 dcl 1 amu_info aligned based (amu_info_ptr), 4 4 2 version char (8) aligned, /* AMU_INFO_VERSION */ 4 5 2 flags aligned, 4 6 3 early_dump bit(1) unal, 4 7 3 pad bit(35) unal, 4 8 2 type fixed bin unal, /* One of the types below */ 4 9 2 time_created fixed bin (71) aligned, /* time created -- for debugging purposes */ 4 10 2 chain, /* a chain of all the amu_info's which exist */ 4 11 3 prev pointer unaligned, 4 12 3 next pointer unaligned, 4 13 4 14 2 area_ptr pointer, /* pointer to area used for allocating things */ 4 15 4 16 2 translation_table_ptr pointer, /* pointer to address map -- always present */ 4 17 /* SEE: amu_translation.incl.pl1 */ 4 18 2 fdump_info_ptr pointer, 4 19 /* pointer to FDUMP info, present if looking at an FDUMP */ 4 20 /* SEE: amu_fdump_info.incl.pl1 */ 4 21 /* old_uid_table pointer if looking at a SAVED PROC. */ 4 22 /* See: amu_old_uid_table */ 4 23 4 24 4 25 2 hardcore_info_ptr pointer, /* pointer to hardcore information -- always present */ 4 26 /* SEE: amu_hardcore_info.incl.pl1 */ 4 27 2 copy_chain pointer, /* pointer to info about segment copies */ 4 28 /* SEE: amu_copy_info.incl.pl1 */ 4 29 2 process_info_ptr pointer, /* pointer to process info for this translation */ 4 30 /* SEE: amu_process_info.incl.pl1 */ 4 31 2 process_idx fixed bin, /* index of process in translation-specifc process table */ 4 32 4 33 2 proc_idx_hold fixed bin, /* a place to keep the index when a changing to another proc */ 4 34 4 35 2 error_info, /* various info about how amu_error_ is to behave */ 4 36 3 error_flags aligned, 4 37 4 handler_exists bit (1) unaligned, /* set to indicate existence of an amu_error handler */ 4 38 4 in_subsystem bit (1) unaligned, /* This amu_info belongs to an ssu_ maintained subsystem */ 4 39 4 pad bit (34) unaligned, 4 40 3 sci_ptr pointer, /* sci_ptr for subsystem, if in_subsystem = "1"b */ 4 41 2 definitions_info_ptr ptr; 4 42 4 43 dcl amu_area area based (amu_info.area_ptr); 4 44 4 45 dcl amu_info_ptr pointer; 4 46 4 47 dcl (FDUMP_TYPE init (1037), /* the various legitimate types of amu_info's */ 4 48 FDUMP_PROCESS_TYPE init (1038), 4 49 ONLINE_TYPE init (1039), 4 50 ONLINE_PROCESS_TYPE init (1040), 4 51 NETWORK_FDUMP_TYPE init (1041), 4 52 NETWORK_ONLINE_TYPE init (1042), 4 53 SAVED_PROC_TYPE init (1043), 4 54 INDIRECT_TYPE init (1044)) fixed bin internal static options (constant); 4 55 4 56 dcl AMU_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_v1"); 4 57 dcl AMU_INFO_VERSION char (8) internal static options (constant) init ("amu_v1"); 4 58 dcl AMU_INFO_VERSION_2 char (8) internal static options (constant) init ("amu_v2"); 4 59 4 60 dcl PDIR_SUFFIX char(4) init("pdir") int static options(constant); 4 61 4 62 /* END INCLUDE FILE amu_info.incl.pl1 */ 556 5 1 /* BEGIN INCLUDE FILE ... bos_dump.incl.pl1 ... */ 5 2 /* Modified 1 September 1976 */ 5 3 /* Modified 11/11/80 by J. A. Bush for the DPS8/70M CPU */ 5 4 /* Modified 6/12/81 by Rich Coppola to extend the dps8 extended fault reg to 5 5* 15 bits */ 5 6 /* Modified 02/23/81, W. Olin Sibert, to describe old and new FDUMP styles */ 5 7 5 8 5 9 dcl dumpptr ptr; /* pointer to following structure */ 5 10 5 11 dcl 1 dump based (dumpptr) aligned, /* header of dump by fdump */ 5 12 2 dump_header aligned like dump_header, 5 13 5 14 2 segs (1008), /* segment array */ 5 15 3 segno bit (18) unal, /* segment number */ 5 16 3 length bit (18) unal, /* length of segment in sector sized blocks */ 5 17 5 18 2 amptwregs (0 : 63) bit (36), /* assoc. mem. page table word regs */ 5 19 2 amptwptrs (0 : 63) bit (36), /* assoc. mem. page table word pointers */ 5 20 2 amsdwregs (0 : 63) bit (72), /* assoc. mem. segment descriptor word registers */ 5 21 2 amsdwptrs (0 : 63) bit (36), /* assoc. mem. segment descriptor word pointers */ 5 22 5 23 2 ouhist (0 : 63) bit (72), /* operations unit history registers */ 5 24 2 cuhist (0 : 63) bit (72), /* control unit history registers */ 5 25 2 duhist (0 : 63) bit (72), /* decimal unit history registers */ 5 26 2 auhist (0 : 63) bit (72), /* appending unit history registers */ 5 27 5 28 2 prs (0 : 7) ptr, /* pointer registers */ 5 29 5 30 2 regs aligned like dump_registers, /* assorted machine registers */ 5 31 5 32 2 low_order_port bit (3), /* from which clock is read */ 5 33 2 pad4 bit (36), 5 34 2 mctime fixed bin (52), /* time conditions were taken */ 5 35 2 pad5 (0 : 3) bit (36), 5 36 5 37 2 misc_registers like dump_misc_registers, /* Assorted registers & processor data */ 5 38 5 39 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 5 40 5 41 2 coreblocks (0 : 7), 5 42 3 num_first bit (18) unal, /* first addr in coreblock */ 5 43 3 num_blocks bit (18) unal, /* number of blocks used */ 5 44 2 pad7 (112) fixed bin; 5 45 5 46 5 47 dcl 1 dump_header aligned based, /* Standard header for FDUMP */ 5 48 2 words_dumped fixed bin (35), /* total words in dump */ 5 49 2 valid bit (1), /* = 1 if there is a 6180 dump to be had */ 5 50 2 time fixed bin (71), /* time of dump */ 5 51 2 erfno fixed bin (18), /* Error Report Form Number */ 5 52 2 num_segs fixed bin, /* number of segments dumped */ 5 53 2 valid_355 bit (1), /* = 1 if there is a dn355 dump to be had */ 5 54 2 dumped_355s bit (4), /* indicates which 355s were dumped */ 5 55 2 time_355 fixed bin (71), /* time of 355 dump */ 5 56 2 version fixed bin, /* currently 2 */ 5 57 2 pad0 (5) fixed bin; /* pad0 to 16 words */ 5 58 5 59 dcl 1 dump_registers aligned based, /* Standard (SREG) arrangement of registers in dump */ 5 60 (2 x (0 : 7) bit (18), /* index registers */ 5 61 2 a bit (36), /* the a register */ 5 62 2 q bit (36), /* the q register */ 5 63 2 e bit (8), /* the e register */ 5 64 2 pad2 bit (28), /* pad */ 5 65 2 t bit (27), /* timer register */ 5 66 2 pad3 bit (6), /* pad */ 5 67 2 ralr bit (3)) unaligned; /* ring alarm register */ 5 68 5 69 dcl 1 dump_misc_registers aligned based, 5 70 2 scu (0 : 7) bit (36), /* from store control unit instr. */ 5 71 2 mcm (0 : 7) bit (72), /* memory controller masks every 64 K */ 5 72 2 dbr bit (72), /* descriptor segment base register */ 5 73 2 intrpts bit (36), /* interrupts */ 5 74 2 bar bit (36), /* base address register */ 5 75 2 modereg bit (36), /* mode register */ 5 76 2 cmodereg bit (36), /* cache mode register */ 5 77 2 faultreg bit (36), /* fault register */ 5 78 2 ext_fault_reg bit (15) unaligned, /* DPS8 extended fault register */ 5 79 2 pad6 bit (21) unaligned; 5 80 5 81 5 82 5 83 dcl 1 v1_dump aligned based (dumpptr), /* Old version of FDUMP (pre March, 1981) */ 5 84 2 dump_header aligned like dump_header, 5 85 5 86 2 segs (688), /* segment array */ 5 87 3 segno bit (18) unal, /* segment number */ 5 88 3 length bit (18) unal, /* length of segment in sector sized blocks */ 5 89 5 90 2 amsdwregs (0 : 15) bit (72), /* assoc. mem. segment descriptor word registers */ 5 91 2 amsdwptrs (0 : 15) bit (36), /* assoc. mem. segment descriptor word pointers */ 5 92 2 amptwregs (0 : 15) bit (36), /* assoc. mem. page table word regs */ 5 93 2 amptwptrs (0 : 15) bit (36), /* assoc. mem. page table word pointers */ 5 94 2 pad1 (0 : 15) bit (36), 5 95 5 96 2 ouhist (0 : 15) bit (72), /* operations unit history registers */ 5 97 2 cuhist (0 : 15) bit (72), /* control unit history registers */ 5 98 2 auhist (0 : 15) bit (72), /* appending unit history registers */ 5 99 2 duhist (0 : 15) bit (72), /* decimal unit history registers */ 5 100 5 101 2 prs (0 : 7) ptr, /* pointer registers */ 5 102 5 103 2 regs aligned like dump_registers, /* assorted machine registers */ 5 104 5 105 2 mctime fixed bin (52), /* time conditions were taken */ 5 106 2 pad4 (0 : 5) bit (36), 5 107 5 108 2 misc_registers aligned like dump_misc_registers, /* Assorted registers */ 5 109 5 110 2 pad5 bit (36), 5 111 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 5 112 2 pad6 (15) bit (36), 5 113 2 low_order_port bit (3), /* from which clock was read */ 5 114 5 115 2 coreblocks (0 : 7), 5 116 3 num_first bit (18) unal, /* first addr in coreblock */ 5 117 3 num_blocks bit (18) unal; /* number of blocks used */ 5 118 5 119 5 120 dcl DUMP_VERSION_1 fixed bin internal static options (constant) init (1); 5 121 dcl DUMP_VERSION_2 fixed bin internal static options (constant) init (2); 5 122 5 123 /* END INCLUDE FILE ... bos_dump.incl.pl1 ... */ 557 6 1 /* BEGIN INCLUDE FILE . . . sl_info.incl.pl1 */ 6 2 6 3 6 4 6 5 /****^ HISTORY COMMENTS: 6 6* 1) change(87-11-16,Lippard), approve(87-12-21,MCR7822), 6 7* audit(88-02-09,Blair), install(88-02-16,MR12.2-1023): 6 8* Modified to add INITIATED_SEGS type. 6 9* 2) change(87-11-19,Lippard), approve(87-12-21,MCR7822), 6 10* audit(88-02-09,Blair), install(88-02-16,MR12.2-1023): 6 11* Added uid to sl_info structure. 6 12* END HISTORY COMMENTS */ 6 13 6 14 6 15 declare 1 sl_info aligned based (sl_info_p), 6 16 2 version fixed binary, /* Must be 1 */ 6 17 2 num_paths fixed binary, /* Number of search paths */ 6 18 2 change_index_p pointer, /* Pointer to search list's update count */ 6 19 2 change_index fixed binary (71), /* This search list's update count */ 6 20 2 pad1 (6) bit (36), /* Must be zero */ 6 21 2 paths (sl_info_num_paths refer (sl_info.num_paths)), 6 22 3 type fixed binary, /* Type of search path */ 6 23 3 code fixed binary (35), /* Standard status code of search path */ 6 24 3 uid bit (36), /* Unique ID */ 6 25 3 pathname char (168) unaligned; /* Search pathname */ 6 26 6 27 declare sl_info_num_paths fixed binary; 6 28 declare sl_info_p pointer; 6 29 declare sl_info_version_1 fixed binary internal static options (constant) initial (1); 6 30 6 31 /* Keyword Types */ 6 32 6 33 declare ABSOLUTE_PATH fixed binary internal static options (constant) initial (0); 6 34 declare UNEXPANDED_PATH fixed binary internal static options (constant) initial (1); 6 35 declare REFERENCING_DIR fixed binary internal static options (constant) initial (3); 6 36 declare WORKING_DIR fixed binary internal static options (constant) initial (4); 6 37 declare PROCESS_DIR fixed binary internal static options (constant) initial (5); 6 38 declare HOME_DIR fixed binary internal static options (constant) initial (6); 6 39 declare INITIATED_SEGS fixed binary internal static options (constant) initial (7); 6 40 6 41 /* END INCLUDE FILE . . . sl_info.incl.pl1 */ 558 7 1 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 7 2 7 3 /* This include file contains structures for the hcs_$star_, 7 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 7 5* 7 6* Written 23 October 1978 by Monte Davidoff. 7 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 7 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 7 9**/ 7 10 7 11 /* automatic */ 7 12 7 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 7 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 7 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 7 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 7 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 7 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 7 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 7 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 7 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 7 22 7 23 /* based */ 7 24 7 25 /* hcs_$star_ entry structure */ 7 26 7 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 7 28 2 type fixed binary (2) unsigned unaligned, 7 29 /* storage system type */ 7 30 2 nnames fixed binary (16) unsigned unaligned, 7 31 /* number of names of entry that match star_name */ 7 32 2 nindex fixed binary (18) unsigned unaligned; 7 33 /* index of first name in star_names */ 7 34 7 35 /* hcs_$star_ name structure */ 7 36 7 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 7 38 7 39 /* hcs_$star_list_ branch structure */ 7 40 7 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 7 42 2 type fixed binary (2) unsigned unaligned, 7 43 /* storage system type */ 7 44 2 nnames fixed binary (16) unsigned unaligned, 7 45 /* number of names of entry that match star_name */ 7 46 2 nindex fixed binary (18) unsigned unaligned, 7 47 /* index of first name in star_list_names */ 7 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 7 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 7 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 7 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 7 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 7 53 2 pad bit (7) unaligned, 7 54 2 records fixed binary (18) unsigned unaligned; 7 55 /* records used by branch */ 7 56 7 57 /* hcs_$star_dir_list_ branch structure */ 7 58 7 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 7 60 2 type fixed binary (2) unsigned unaligned, 7 61 /* storage system type */ 7 62 2 nnames fixed binary (16) unsigned unaligned, 7 63 /* number of names of entry that match star_name */ 7 64 2 nindex fixed binary (18) unsigned unaligned, 7 65 /* index of first name in star_list_names */ 7 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 7 67 2 pad bit (36) unaligned, 7 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 7 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 7 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 7 71 2 bit_count fixed binary (24) unaligned; 7 72 /* bit count of the branch */ 7 73 7 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 7 75 7 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 7 77 2 type fixed binary (2) unsigned unaligned, 7 78 /* storage system type */ 7 79 2 nnames fixed binary (16) unsigned unaligned, 7 80 /* number of names of entry that match star_name */ 7 81 2 nindex fixed binary (18) unsigned unaligned, 7 82 /* index of first name in star_list_names */ 7 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 7 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 7 85 2 pathname_len fixed binary (18) unsigned unaligned, 7 86 /* length of the pathname of the link */ 7 87 2 pathname_index fixed binary (18) unsigned unaligned; 7 88 /* index of start of pathname in star_list_names */ 7 89 7 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 7 91 7 92 declare star_list_names char (32) based (star_list_names_ptr) 7 93 dimension (star_links (star_branch_count + star_link_count).nindex 7 94 + star_links (star_branch_count + star_link_count).nnames 7 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 7 96 * binary ( 7 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 7 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 7 99 7 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 7 101 7 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 7 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 7 104 7 105 /* internal static */ 7 106 7 107 /* star_select_sw values */ 7 108 7 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 7 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 7 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 7 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 7 113 fixed binary (3) internal static options (constant) initial (5); 7 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 7 115 fixed binary (3) internal static options (constant) initial (7); 7 116 7 117 /* storage system types */ 7 118 7 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 7 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 7 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 7 122 7 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 559 8 1 /* --------------- BEGIN include file status_structures.incl.pl1 --------------- */ 8 2 8 3 /* Revised from existing include files 09/26/78 by C. D. Tavares */ 8 4 8 5 /* This include file contains branch and link structures returned by 8 6* hcs_$status_ and hcs_$status_long. */ 8 7 8 8 dcl 1 status_branch aligned based (status_ptr), 8 9 2 short aligned, 8 10 3 type fixed bin (2) unaligned unsigned, /* seg, dir, or link */ 8 11 3 nnames fixed bin (16) unaligned unsigned, /* number of names */ 8 12 3 names_relp bit (18) unaligned, /* see entry_names dcl */ 8 13 3 dtcm bit (36) unaligned, /* date/time contents last modified */ 8 14 3 dtu bit (36) unaligned, /* date/time last used */ 8 15 3 mode bit (5) unaligned, /* caller's effective access */ 8 16 3 raw_mode bit (5) unaligned, /* caller's raw "rew" modes */ 8 17 3 pad1 bit (8) unaligned, 8 18 3 records_used fixed bin (18) unaligned unsigned, /* number of NONZERO pages used */ 8 19 8 20 /* Limit of information returned by hcs_$status_ */ 8 21 8 22 2 long aligned, 8 23 3 dtd bit (36) unaligned, /* date/time last dumped */ 8 24 3 dtem bit (36) unaligned, /* date/time branch last modified */ 8 25 3 lvid bit (36) unaligned, /* logical volume ID */ 8 26 3 current_length fixed bin (12) unaligned unsigned, /* number of last page used */ 8 27 3 bit_count fixed bin (24) unaligned unsigned, /* reported length in bits */ 8 28 3 pad2 bit (8) unaligned, 8 29 3 copy_switch bit (1) unaligned, /* copy switch */ 8 30 3 tpd_switch bit (1) unaligned, /* transparent to paging device switch */ 8 31 3 mdir_switch bit (1) unaligned, /* is a master dir */ 8 32 3 damaged_switch bit (1) unaligned, /* salvager warned of possible damage */ 8 33 3 synchronized_switch bit (1) unaligned, /* DM synchronized file */ 8 34 3 pad3 bit (5) unaligned, 8 35 3 ring_brackets (0:2) fixed bin (6) unaligned unsigned, 8 36 3 uid bit (36) unaligned; /* unique ID */ 8 37 8 38 dcl 1 status_link aligned based (status_ptr), 8 39 2 type fixed bin (2) unaligned unsigned, /* as above */ 8 40 2 nnames fixed bin (16) unaligned unsigned, 8 41 2 names_relp bit (18) unaligned, 8 42 2 dtem bit (36) unaligned, 8 43 2 dtd bit (36) unaligned, 8 44 2 pathname_length fixed bin (17) unaligned, /* see pathname */ 8 45 2 pathname_relp bit (18) unaligned; /* see pathname */ 8 46 8 47 dcl status_entry_names (status_branch.nnames) character (32) aligned 8 48 based (pointer (status_area_ptr, status_branch.names_relp)), 8 49 /* array of names returned */ 8 50 status_pathname character (status_link.pathname_length) aligned 8 51 based (pointer (status_area_ptr, status_link.pathname_relp)), 8 52 /* link target path */ 8 53 status_area_ptr pointer, 8 54 status_ptr pointer; 8 55 8 56 dcl (Link initial (0), 8 57 Segment initial (1), 8 58 Directory initial (2)) fixed bin internal static options (constant); 8 59 /* values for type fields declared above */ 8 60 8 61 /* ---------------- END include file status_structures.incl.pl1 ---------------- */ 560 9 1 /* Begin include file system_dump_info.incl.pl1 */ 9 2 /* format: style3,idind30 */ 9 3 9 4 /* Information needed to get set up on an fdump */ 9 5 9 6 declare system_dump_info_ptr pointer; 9 7 declare 1 system_dump_info aligned based (system_dump_info_ptr), 9 8 2 version char (8) aligned, 9 9 2 dump_dir_name char (168) unaligned, 9 10 2 dump_seg_prefix char (32) varying, /* includes last ., not component number */ 9 11 2 dump_name char (32) varying, /* Usually ERF number */ 9 12 2 dump_entry_format char (40) unaligned;/* ioa_ string that you feed the component number into */ 9 13 9 14 declare SYSTEM_DUMP_INFO_VERSION_1 char (8) init ("sysd0001") int static options (constant); 9 15 9 16 declare system_dump_list_ptr pointer; 9 17 declare 1 system_dump_list aligned based (system_dump_list_ptr), 9 18 2 version char (8) aligned, 9 19 2 n_dumps fixed bin, 9 20 2 per_dump (system_dump_list_n_dumps refer (system_dump_list.n_dumps)) aligned, 9 21 3 dir_name char (168) unaligned, 9 22 3 minimal_entryname char (32) unaligned,/* for non-dup's, just number */ 9 23 3 full_entryname char (32) unaligned,/* component 0 entryname */ 9 24 3 new_directory bit (1) aligned, /* first of its dir */ 9 25 3 duplicate bit (1) aligned; /* on if more than one ERF N in same directory */ 9 26 9 27 declare system_dump_list_n_dumps fixed bin; 9 28 declare SYSTEM_DUMP_LIST_VERSION_1 char (8) aligned init ("sysdl001") int static options (constant); 9 29 9 30 declare (LIST_ALL fixed bin init (1), 9 31 LIST_FDUMPS fixed bin init (2), 9 32 LIST_PDIRS fixed bin init (3)) 9 33 int static options (constant); 9 34 9 35 /* End include file system_dump_info.incl.pl1 */ 561 10 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 10 2 /* format: style2,^inddcls,idind32 */ 10 3 10 4 declare 1 terminate_file_switches based, 10 5 2 truncate bit (1) unaligned, 10 6 2 set_bc bit (1) unaligned, 10 7 2 terminate bit (1) unaligned, 10 8 2 force_write bit (1) unaligned, 10 9 2 delete bit (1) unaligned; 10 10 10 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 10 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 10 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 10 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 10 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 10 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 10 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 10 18 10 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 562 563 564 end amu_fdump_mgr_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/12/88 1432.2 amu_fdump_mgr_.pl1 >spec>install>1055>amu_fdump_mgr_.pl1 465 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 554 2 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 555 3 09/22/83 1102.5 amu_fdump_info.incl.pl1 >ldd>include>amu_fdump_info.incl.pl1 556 4 11/20/84 0856.1 amu_info.incl.pl1 >ldd>include>amu_info.incl.pl1 557 5 08/12/81 2025.8 bos_dump.incl.pl1 >ldd>include>bos_dump.incl.pl1 558 6 02/18/88 2023.8 sl_info.incl.pl1 >ldd>include>sl_info.incl.pl1 559 7 06/10/82 1045.5 star_structures.incl.pl1 >ldd>include>star_structures.incl.pl1 560 8 11/22/82 0955.7 status_structures.incl.pl1 >ldd>include>status_structures.incl.pl1 561 9 11/20/84 0854.8 system_dump_info.incl.pl1 >ldd>include>system_dump_info.incl.pl1 562 10 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. AMU_FDUMP_INFO_VERSION_1 000012 constant char(8) initial packed unaligned dcl 3-42 ref 319 FDUMP_TYPE 000010 constant fixed bin(17,0) initial dcl 4-47 set ref 314* LIST_FDUMPS 000060 constant fixed bin(17,0) initial dcl 9-30 set ref 168* P_amu_info_ptr parameter pointer dcl 45 set ref 127 130 137 155 226 242 336* 342 344 351 358 374 383 471 475 P_caller parameter char packed unaligned dcl 45 set ref 137 170* 185* 205* 226 249* 278* 283* 292* 305* 310* 331* 471 480* 520* P_code parameter fixed bin(35,0) dcl 45 set ref 120* 137 154* 221* 226 241* 304* 351 374 387* 471 474* P_dirname parameter char packed unaligned dcl 45 ref 471 477 491 P_dump_info_ptr parameter pointer dcl 45 ref 137 156 226 243 P_dump_name parameter char packed unaligned dcl 45 set ref 137 183* 185* 200 205 205* P_new parameter fixed bin(17,0) dcl 45 set ref 137 170 170 170 170 182 195* 205 205 R_ACCESS 000031 constant bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" set ref 460* R_ACCESS 000031 constant bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" set ref 266* SYSTEM_DUMP_LIST_VERSION_1 000006 constant char(8) initial dcl 9-28 set ref 168* TERM_FILE_TERM 000004 constant bit(3) initial packed unaligned dcl 10-14 set ref 362* 463* addr builtin function dcl 112 ref 247 247 511 511 after builtin function dcl 112 ref 213 213 amu_$create_translation 000026 constant entry external dcl 94 ref 314 amu_$error_for_caller 000012 constant entry external dcl 87 ref 170 185 205 249 278 283 292 305 310 480 520 amu_$fdump_mpt 000020 constant entry external dcl 91 ref 331 amu_$fdump_mpt_current_process 000022 constant entry external dcl 92 ref 551 amu_$fdump_mpt_terminate 000024 constant entry external dcl 93 ref 360 amu_$list_system_dumps 000014 constant entry external dcl 88 ref 168 amu_$search_path_get_dump 000030 constant entry external dcl 95 ref 478 amu_$temp_seg_release_all 000032 constant entry external dcl 96 ref 365 amu_area based area(1024) dcl 4-43 ref 316 367 amu_et_$invalid_dump 000016 external static fixed bin(35,0) dcl 90 ref 304 amu_info based structure level 1 dcl 4-3 amu_info_ptr 000562 automatic pointer dcl 4-45 set ref 130* 155* 189 242* 283* 292* 305* 310* 314* 316 316 318 319 320 321 322 323 324 325 326 327 327 329 331* 336 344* 358* 359 360* 361 362 365 367 367 369 383* 385 385 475* 544 546 548 548 548 548 548 548 551* area_ptr 10 based pointer level 2 dcl 4-3 ref 316 367 bc 000103 automatic fixed bin(24,0) dcl 60 set ref 266* 287 best_bet 000100 automatic structure level 1 unaligned dcl 57 best_fdump_time parameter fixed bin(71,0) dcl 395 set ref 392 410 414* 418 422* 429 431* 439 441* bidx 000541 automatic fixed bin(17,0) dcl 238 set ref 260* 270 274* 288 291* bif 000540 automatic bit(1) packed unaligned dcl 237 set ref 261* 289* branch 000104 automatic structure level 1 dcl 61 set ref 247 247 bstring 000542 automatic char(64) packed unaligned dcl 239 set ref 291* 292* cleanup 000532 stack reference condition dcl 110 ref 164 505 531 code 000640 automatic fixed bin(35,0) dcl 456 in procedure "get_fdump_time" set ref 459* 460* code 000116 automatic fixed bin(35,0) dcl 62 in procedure "amu_fdump_mgr_" set ref 120 154* 168* 169 170* 183* 184 185* 204* 221 247* 248 249* 266* 267 278* 283* 290* 292* 298* 304* 305* 310* 331* 332 474* 478* 479 480* 511* 514 519 520* copy_block_ptr 104 based pointer level 2 dcl 3-3 set ref 326* 365* cur_dump_time parameter fixed bin(71,0) dcl 396 in procedure "find_erf" ref 392 426 436 439 441 cur_dump_time 000120 automatic fixed bin(71,0) dcl 63 in procedure "amu_fdump_mgr_" set ref 189* 195* cur_state 000122 automatic char(1) packed unaligned dcl 64 set ref 131* 328* 345* 548* date_time_ 000064 constant entry external dcl 540 ref 545 dir_name 3 based char(168) array level 3 packed packed unaligned dcl 9-17 set ref 177* 195* 200* 212 dirname 000123 automatic char(168) packed unaligned dcl 65 in procedure "amu_fdump_mgr_" set ref 160* 183* 188* 244* 247* 249* 249 266* 278* 278* 283* 283 310* 310 321 484* 491* 511* 515* 520* 520 523* dirname parameter char packed unaligned dcl 453 in procedure "get_fdump_time" set ref 450 460* dirname parameter char packed unaligned dcl 397 in procedure "find_erf" set ref 392 405* divide builtin function dcl 112 ref 287 dtime parameter fixed bin(71,0) dcl 457 set ref 450 462* dump based structure level 1 dcl 5-11 dump_date 000650 automatic char(32) packed unaligned dcl 540 set ref 545* 548* dump_dir_name 2 based char(168) level 2 packed packed unaligned dcl 9-7 set ref 160* 212* 244 dump_dname 13 based char(168) level 2 dcl 3-3 set ref 321* 548* dump_ename 65 based char(32) level 2 dcl 3-3 set ref 322* dump_entry_format 76 based char(40) level 2 packed packed unaligned dcl 9-7 set ref 160* 216* 246* 265* 291 dump_header based structure level 2 in structure "dump" dcl 5-11 in procedure "amu_fdump_mgr_" dump_header based structure level 1 dcl 5-47 in procedure "amu_fdump_mgr_" dump_misc_registers based structure level 1 dcl 5-69 dump_name 65 based varying char(32) level 2 dcl 9-7 set ref 160* 215* 216* 256 323 dump_registers based structure level 1 dcl 5-59 dump_seg_0_uid 101 based bit(36) level 2 dcl 3-3 set ref 320* dump_seg_lth 206 000230 automatic fixed bin(18,0) array level 2 dcl 69 set ref 259* 287* dump_seg_prefix 54 based varying char(32) level 2 dcl 9-7 set ref 160* 213* 216* 255 dump_seg_ptr 106 based pointer array level 2 in structure "fdump_info" dcl 3-3 in procedure "amu_fdump_mgr_" set ref 189 362* 544 dump_seg_ptr 106 000230 automatic pointer array level 2 in structure "fdi" dcl 69 in procedure "amu_fdump_mgr_" set ref 258* 263 263 266* 267 301 dumpptr 000564 automatic pointer dcl 5-9 set ref 301* 302 460* 461 462 463* 544* 545 early_dump 2 based bit(1) level 3 packed packed unaligned dcl 4-3 ref 546 ename 000175 automatic char(32) packed unaligned dcl 66 in procedure "amu_fdump_mgr_" set ref 160* 183* 188* 246* 247* 249* 253 265* 266* 278* 278* 283* 305* 310* ename parameter char packed unaligned dcl 397 in procedure "find_erf" set ref 392 405* ename_prefix 000205 automatic varying char(32) dcl 67 set ref 255* ename_suffix 000216 automatic varying char(32) dcl 68 set ref 256* erf_name 3 based char(32) level 2 dcl 3-3 set ref 323* 548* error_table_$noentry 000036 external static fixed bin(35,0) dcl 98 ref 204 267 error_table_$nomatch 000034 external static fixed bin(35,0) dcl 97 ref 514 error_table_$translation_failed 000040 external static fixed bin(35,0) dcl 99 ref 290 expand_pathname_ 000042 constant entry external dcl 100 ref 183 fdi 000230 automatic structure level 1 dcl 69 set ref 318 fdump_info based structure level 1 dcl 3-3 set ref 316 318* 367 fdump_info_ptr 14 based pointer level 2 dcl 4-3 set ref 189 316* 318 319 320 321 322 323 324 325 326 327 327 359 361 362 365 367 369* 385 385 544 548 548 548 548 548 548 fdump_name parameter char packed unaligned dcl 454 set ref 450 460* first_seg_ename 000500 automatic char(32) packed unaligned dcl 70 set ref 253* 322 flags 2 based structure level 2 dcl 4-3 found parameter bit(1) packed unaligned dcl 398 in procedure "find_erf" set ref 392 403* 413* 421* 430* 440* found 000510 automatic bit(1) packed unaligned dcl 71 in procedure "amu_fdump_mgr_" set ref 194* 195* 197 fp_table based structure level 1 unaligned dcl 3-28 ftime 000100 automatic fixed bin(71,0) level 2 dcl 57 set ref 178* 190* 195* full_entryname 65 based char(32) array level 3 packed packed unaligned dcl 9-17 set ref 177* 195* 200* 213 get_system_free_area_ 000044 constant entry external dcl 101 ref 157 503 hbound builtin function dcl 112 ref 263 hcs_$star_ 000046 constant entry external dcl 102 ref 511 hcs_$status_long 000050 constant entry external dcl 103 ref 247 idx 000511 automatic fixed bin(17,0) dcl 72 set ref 176* 177 177 179* 193* 195 195 197* 263* 265* 266 267 269 271* 271 274 287* 309 325 361* 362* 524* 525* ignore_bc 000513 automatic fixed bin(24,0) dcl 74 set ref 460* ignore_code 000512 automatic fixed bin(35,0) dcl 73 set ref 362* 463* initiate_file_ 000052 constant entry external dcl 104 ref 266 460 ioa_ 000054 constant entry external dcl 105 ref 515 523 525 546 548 ioa_$rsnnl 000056 constant entry external dcl 106 ref 216 246 265 291 lbound builtin function dcl 112 ref 263 list_idx 2 000100 automatic fixed bin(17,0) level 2 dcl 57 set ref 179* 197* 200 200 212 213 215 long 4 000104 automatic structure level 2 dcl 61 max builtin function dcl 112 ref 385 minimal_entryname 55 based char(32) array level 3 packed packed unaligned dcl 9-17 ref 215 n_dump_segs 102 based fixed bin(17,0) level 2 dcl 3-3 set ref 325* 361 n_dumps 2 based fixed bin(17,0) level 2 dcl 9-17 ref 165 176 193 220 nnames 0(02) based fixed bin(16,0) array level 2 packed packed unsigned unaligned dcl 7-27 ref 507 528 null builtin function dcl 112 ref 158 165 170 185 185 205 205 220 247 249 258 267 278 278 326 359 369 461 480 501 502 507 508 520 num_paths 1 based fixed bin(17,0) level 2 dcl 6-15 ref 483 path_idx 000514 automatic fixed bin(17,0) dcl 75 set ref 483* 484* pathname 17 based char(168) array level 3 packed packed unaligned dcl 6-15 ref 484 pathname_ 000060 constant entry external dcl 107 ref 200 278 278 paths 14 based structure array level 2 dcl 6-15 per_dump 3 based structure array level 2 dcl 9-17 print_sys_vid parameter bit(1) packed unaligned dcl 540 set ref 537 548* 551 process_idx 24 based fixed bin(17,0) level 2 dcl 4-3 set ref 329* ref_count 2 based fixed bin(17,0) level 2 dcl 3-3 set ref 324* 385* 385 reverse builtin function dcl 112 ref 213 213 rs_length 000515 automatic fixed bin(17,0) dcl 76 set ref 216* 246* 265* rtrim builtin function dcl 112 ref 291 sl_info based structure level 1 dcl 6-15 sl_info_p 000566 automatic pointer dcl 6-28 set ref 478* 483 484 star_ALL_ENTRIES 000057 constant fixed bin(2,0) initial dcl 7-111 set ref 511* star_entries based structure array level 1 dcl 7-27 ref 508 529 star_entry_count 000570 automatic fixed bin(17,0) dcl 7-14 set ref 507 508 511* 524 528 529 star_entry_ptr 000572 automatic pointer dcl 7-15 set ref 501* 507 508 508 511* 528 529 star_names based char(32) array packed unaligned dcl 7-37 set ref 507 525* 528 star_names_ptr 000574 automatic pointer dcl 7-19 set ref 502* 507 507 511* 525 528 starname 000516 automatic char(32) packed unaligned dcl 77 set ref 499* 511* 520* status_branch based structure level 1 dcl 8-8 sum builtin function dcl 112 ref 507 528 system_area based area(1024) dcl 83 set ref 165 220 507 508 511 511 528 529 system_area_ptr 000526 automatic pointer dcl 78 set ref 157* 165 168* 220 503* 507 508 511 511 528 529 system_dump_info based structure level 1 dcl 9-7 system_dump_info_ptr 000576 automatic pointer dcl 9-6 set ref 156* 160 160 160 160 212 213 215 216 216 216 243* 244 246 255 256 265 291 323 system_dump_list based structure level 1 dcl 9-17 set ref 165 220 system_dump_list_ptr 000600 automatic pointer dcl 9-16 set ref 158* 165 165 168* 176 177 177 193 195 195 200 200 212 213 215 220 220 system_id 75 based char(8) level 2 dcl 3-3 set ref 327* 548 548* terminate_file_ 000062 constant entry external dcl 108 ref 362 463 time 2 based fixed bin(71,0) level 3 dcl 5-11 set ref 189 462 545* ttime 000530 automatic fixed bin(71,0) dcl 79 in procedure "amu_fdump_mgr_" set ref 175* 176 177* 178 188* ttime 000630 automatic fixed bin(71,0) dcl 401 in procedure "find_erf" set ref 404* 405* 406 410 414 418 422 426 429 431 436 439 441 uid 11 000104 automatic bit(36) level 3 packed packed unaligned dcl 61 set ref 320 unspec builtin function dcl 112 ref 302 valid 1 based bit(1) level 3 dcl 5-11 ref 302 version based char(8) level 2 dcl 3-3 set ref 319* version_id 77 based char(8) level 2 dcl 3-3 set ref 327* 548 548* which parameter fixed bin(17,0) dcl 399 ref 392 408 zero_bc 000054 constant fixed bin(24,0) initial dcl 116 set ref 362* 463* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABSOLUTE_PATH internal static fixed bin(17,0) initial dcl 6-33 AMU_FDUMP_INFO_VERSION internal static char(8) initial packed unaligned dcl 3-43 AMU_INFO_VERSION internal static char(8) initial packed unaligned dcl 4-57 AMU_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 4-56 AMU_INFO_VERSION_2 internal static char(8) initial packed unaligned dcl 4-58 A_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 2-33 in procedure "amu_fdump_mgr_" DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 in procedure "get_fdump_time" DUMP_VERSION_1 internal static fixed bin(17,0) initial dcl 5-120 DUMP_VERSION_2 internal static fixed bin(17,0) initial dcl 5-121 Directory internal static fixed bin(17,0) initial dcl 8-56 E_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" FDUMP_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 4-47 HOME_DIR internal static fixed bin(17,0) initial dcl 6-38 INDIRECT_TYPE internal static fixed bin(17,0) initial dcl 4-47 INITIATED_SEGS internal static fixed bin(17,0) initial dcl 6-39 LIST_ALL internal static fixed bin(17,0) initial dcl 9-30 LIST_PDIRS internal static fixed bin(17,0) initial dcl 9-30 Link internal static fixed bin(17,0) initial dcl 8-56 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" M_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" NETWORK_FDUMP_TYPE internal static fixed bin(17,0) initial dcl 4-47 NETWORK_ONLINE_TYPE internal static fixed bin(17,0) initial dcl 4-47 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" N_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" ONLINE_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 4-47 ONLINE_TYPE internal static fixed bin(17,0) initial dcl 4-47 PDIR_SUFFIX internal static char(4) initial packed unaligned dcl 4-60 PROCESS_DIR internal static fixed bin(17,0) initial dcl 6-37 REFERENCING_DIR internal static fixed bin(17,0) initial dcl 6-35 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" REW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" RE_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" RW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" RW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" SAVED_PROC_TYPE internal static fixed bin(17,0) initial dcl 4-47 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" SA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 2-30 in procedure "amu_fdump_mgr_" SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 in procedure "get_fdump_time" SMA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" SM_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" SYSTEM_DUMP_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 9-14 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" S_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" Segment internal static fixed bin(17,0) initial dcl 8-56 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 10-12 TERM_FILE_DELETE internal static bit(5) initial packed unaligned dcl 10-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 10-16 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 10-11 TERM_FILE_TRUNC_BC internal static bit(2) initial packed unaligned dcl 10-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 10-15 UNEXPANDED_PATH internal static fixed bin(17,0) initial dcl 6-34 WORKING_DIR internal static fixed bin(17,0) initial dcl 6-36 W_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 in procedure "amu_fdump_mgr_" W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 in procedure "get_fdump_time" W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 in procedure "amu_fdump_mgr_" W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 in procedure "get_fdump_time" alloc_fdump_process_table_size automatic fixed bin(17,0) dcl 3-40 fdump_process_table based structure level 1 dcl 3-23 fp_table_ptr automatic pointer dcl 3-38 sl_info_num_paths automatic fixed bin(17,0) dcl 6-27 sl_info_version_1 internal static fixed bin(17,0) initial dcl 6-29 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 7-114 star_BRANCHES_ONLY internal static fixed bin(2,0) initial dcl 7-110 star_DIRECTORY internal static fixed bin(2,0) initial unsigned dcl 7-121 star_LINK internal static fixed bin(2,0) initial unsigned dcl 7-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 7-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 7-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 7-120 star_branch_count automatic fixed bin(17,0) dcl 7-13 star_dir_list_branch based structure array level 1 dcl 7-59 star_link_count automatic fixed bin(17,0) dcl 7-17 star_link_pathname based char packed unaligned dcl 7-102 star_links based structure array level 1 dcl 7-76 star_linkx automatic fixed bin(17,0) dcl 7-18 star_list_branch based structure array level 1 dcl 7-41 star_list_branch_ptr automatic pointer dcl 7-16 star_list_names based char(32) array packed unaligned dcl 7-92 star_list_names_ptr automatic pointer dcl 7-20 star_select_sw automatic fixed bin(3,0) dcl 7-21 status_area_ptr automatic pointer dcl 8-47 status_entry_names based char(32) array dcl 8-47 status_link based structure level 1 dcl 8-38 status_pathname based char dcl 8-47 status_ptr automatic pointer dcl 8-47 system_dump_list_n_dumps automatic fixed bin(17,0) dcl 9-27 terminate_file_switches based structure level 1 packed packed unaligned dcl 10-4 v1_dump based structure level 1 dcl 5-83 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_RETURN 000265 constant label dcl 120 ref 172 186 208 250 279 285 293 311 333 481 521 GOT_ALL_DUMP_SEGMENTS 002247 constant label dcl 298 set ref 272 amu_fdump_mgr_ 000257 constant entry external dcl 22 amu_fdump_mgr_$cur_erf 000273 constant entry external dcl 127 amu_fdump_mgr_$find_fdump 000323 constant entry external dcl 137 amu_fdump_mgr_$init_fdump 001400 constant entry external dcl 226 amu_fdump_mgr_$list_fdump 002714 constant entry external dcl 471 amu_fdump_mgr_$name_erf 002515 constant entry external dcl 342 amu_fdump_mgr_$really_terminate_fdump 002543 constant entry external dcl 351 amu_fdump_mgr_$terminate_fdump 002661 constant entry external dcl 374 case 000000 constant label array(0:3) dcl 410 ref 408 find_erf 003062 constant entry internal dcl 392 ref 195 get_fdump_time 003214 constant entry internal dcl 450 ref 177 188 405 list_all_erf 003332 constant entry internal dcl 497 ref 485 492 next_idx 002245 constant label dcl 295 ref 275 what_erf 003736 constant entry internal dcl 537 ref 132 346 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4664 4752 4152 4752 Length 5434 4152 66 446 511 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME amu_fdump_mgr_ 688 external procedure is an external procedure. on unit on line 164 64 on unit find_erf internal procedure shares stack frame of external procedure amu_fdump_mgr_. get_fdump_time internal procedure shares stack frame of external procedure amu_fdump_mgr_. list_all_erf 123 internal procedure enables or reverts conditions. on unit on line 505 64 on unit what_erf internal procedure shares stack frame of external procedure amu_fdump_mgr_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME amu_fdump_mgr_ 000100 best_bet amu_fdump_mgr_ 000103 bc amu_fdump_mgr_ 000104 branch amu_fdump_mgr_ 000116 code amu_fdump_mgr_ 000120 cur_dump_time amu_fdump_mgr_ 000122 cur_state amu_fdump_mgr_ 000123 dirname amu_fdump_mgr_ 000175 ename amu_fdump_mgr_ 000205 ename_prefix amu_fdump_mgr_ 000216 ename_suffix amu_fdump_mgr_ 000230 fdi amu_fdump_mgr_ 000500 first_seg_ename amu_fdump_mgr_ 000510 found amu_fdump_mgr_ 000511 idx amu_fdump_mgr_ 000512 ignore_code amu_fdump_mgr_ 000513 ignore_bc amu_fdump_mgr_ 000514 path_idx amu_fdump_mgr_ 000515 rs_length amu_fdump_mgr_ 000516 starname amu_fdump_mgr_ 000526 system_area_ptr amu_fdump_mgr_ 000530 ttime amu_fdump_mgr_ 000540 bif amu_fdump_mgr_ 000541 bidx amu_fdump_mgr_ 000542 bstring amu_fdump_mgr_ 000562 amu_info_ptr amu_fdump_mgr_ 000564 dumpptr amu_fdump_mgr_ 000566 sl_info_p amu_fdump_mgr_ 000570 star_entry_count amu_fdump_mgr_ 000572 star_entry_ptr amu_fdump_mgr_ 000574 star_names_ptr amu_fdump_mgr_ 000576 system_dump_info_ptr amu_fdump_mgr_ 000600 system_dump_list_ptr amu_fdump_mgr_ 000630 ttime find_erf 000640 code get_fdump_time 000650 dump_date what_erf THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as alloc_char_temp call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 mpfx2 enable_op shorten_stack reverse_cs set_chars_eis ss_ext_entry ss_ext_entry_desc ss_int_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. amu_$create_translation amu_$error_for_caller amu_$fdump_mpt amu_$fdump_mpt_current_process amu_$fdump_mpt_terminate amu_$list_system_dumps amu_$search_path_get_dump amu_$temp_seg_release_all date_time_ decimal_exp_ expand_pathname_ get_system_free_area_ hcs_$star_ hcs_$status_long initiate_file_ ioa_ ioa_$rsnnl pathname_ terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. amu_et_$invalid_dump error_table_$noentry error_table_$nomatch error_table_$translation_failed LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 000256 25 000264 120 000265 122 000267 127 000270 130 000303 131 000306 132 000310 133 000314 137 000315 154 000352 155 000354 156 000357 157 000362 158 000371 160 000373 164 000412 165 000426 166 000441 168 000442 169 000500 170 000502 172 000567 175 000570 176 000572 177 000610 178 000637 179 000641 180 000643 182 000645 183 000651 184 000677 185 000701 186 000741 188 000742 189 000745 190 000752 193 000776 194 001007 195 001010 197 001053 198 001060 200 001062 204 001121 205 001124 208 001213 212 001214 213 001224 215 001312 216 001322 220 001356 221 001370 222 001372 226 001373 241 001422 242 001423 243 001426 244 001431 246 001434 247 001462 248 001524 249 001526 250 001605 253 001606 255 001611 256 001617 258 001624 259 001637 260 001650 261 001651 263 001652 265 001657 266 001704 267 001743 269 001755 270 001757 271 001761 272 001763 274 001764 275 001766 278 001767 279 002047 283 002050 285 002124 287 002125 288 002131 289 002133 290 002135 291 002140 292 002214 293 002244 295 002245 298 002247 301 002250 302 002252 304 002256 305 002262 306 002316 309 002317 310 002322 311 002377 314 002400 316 002411 318 002420 319 002423 320 002426 321 002430 322 002433 323 002436 324 002443 325 002445 326 002447 327 002451 328 002457 329 002461 331 002462 332 002505 333 002507 336 002510 338 002512 342 002513 344 002525 345 002530 346 002532 347 002536 351 002537 358 002555 359 002560 360 002564 361 002573 362 002605 363 002635 365 002637 367 002650 369 002653 370 002656 374 002657 383 002673 385 002676 387 002705 388 002706 471 002707 474 002741 475 002743 477 002746 478 002755 479 002766 480 002770 481 003024 483 003025 484 003035 485 003043 486 003047 487 003051 491 003052 492 003055 493 003061 392 003062 403 003100 404 003105 405 003107 406 003130 408 003136 410 003141 413 003144 414 003150 416 003151 418 003152 421 003155 422 003161 424 003162 426 003163 429 003166 430 003170 431 003174 434 003175 436 003176 439 003201 440 003204 441 003210 444 003213 450 003214 459 003232 460 003233 461 003272 462 003277 463 003303 467 003330 497 003331 499 003337 501 003343 502 003345 503 003346 505 003354 507 003370 508 003426 509 003436 511 003437 514 003506 515 003513 516 003532 519 003533 520 003535 521 003613 523 003616 524 003640 525 003652 526 003676 528 003701 529 003731 531 003734 532 003735 537 003736 544 003740 545 003744 546 003761 548 004004 551 004103 552 004120 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved