COMPILATION LISTING OF SEGMENT dir_dump 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 1030.6 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* Written anonymously in time immemorial. */ 14 /* Modified for salvager_severities BIM 831118 */ 15 16 dir_dump: proc (a_dp, a_cur_len); 17 /* dump directory during salvage */ 18 dcl (dp, a_dp, print_ptr) ptr, 19 i fixed bin (18), 20 (cur_len, a_cur_len, start) fixed bin (17), 21 for_vtoce bit (1) aligned, 22 w (8) fixed bin (35) based (print_ptr), 23 zero_line bit (36*8) based (print_ptr), 24 (t_line, char_fmt) char (32) aligned, 25 1 pad_stg aligned int static, 26 2 pd1 bit (4*36) init ((16) "001111111"b), 27 2 pd2 bit (4*36) init ((16) "001111111"b), 28 tb_line bit (8*36) based (addr (t_line)), 29 salv_err_msg ext entry options (variable), 30 (addr, fixed, rel, ptr, translate, unspec, collate, substr) builtin; 31 32 dcl first bit (1) aligned int static init ("1"b); 33 dcl map_string char (128) int static; /* ascii translation table for dir printeng */ 34 1 1 /* BEGIN INCLUDE FILE ... salv_data.incl.pl1 ... last modified July 1982 */ 1 2 1 3 dcl salv_data$debug bit (1) aligned external; /* ON, For additional debugging messages. */ 1 4 dcl salv_data$dump bit (1) aligned external; /* ON, to dump bad directories and VTOC entries. */ 1 5 dcl salv_data$lock bit (36) external aligned; /* lock to prevent more than one process from using salv_data. */ 1 6 dcl salv_data$on_line bit (1) aligned external; /* ON, for online salvage. */ 1 7 dcl salv_data$print_path bit (1) aligned external; /* ON, if pathname of each directory should be printed. */ 1 8 dcl salv_data$printer_delay fixed bin aligned external; /* Number of minutes to wait for a not ready printer. */ 1 9 dcl salv_data$rpv bit (1) aligned external; /* ON, for root physical volume salvage. */ 1 10 dcl salv_data$vol_read_ahead fixed bin external; 1 11 1 12 1 13 /* END INCLUDE FILE ... salv_data.incl.pl1 ... */ 35 2 1 /* Begin include file salvager_severities.incl.pl1 BIM 831118 */ 2 2 /* format: style3 */ 2 3 2 4 declare ( 2 5 SALV_CRASH init (1), /** Something salvager-detected is life threatening. Should never happen */ 2 6 SALV_ANNOUNCE init (2), /** Worthy of the console if online */ 2 7 SALV_LOG init (4), /** worthy of the syserr log */ 2 8 SALV_DEBUG init (5), /** just like 4, but dump the dir */ 2 9 SALV_JUST_LOG init (6) /** barely worthy of the syserr log */ 2 10 ) fixed bin int static options (constant); 2 11 2 12 /* End include file salvager_severities.incl.pl1 */ 36 37 38 dp = a_dp; 39 cur_len = a_cur_len * 1024; /* express in words */ 40 for_vtoce = "0"b; 41 42 doub: 43 44 /* Setup mask for dump_dir. */ 45 46 if first then do; 47 map_string = collate (); 48 substr (map_string, 1, 32) = (32) "."; 49 substr (map_string, 128, 1) = "."; 50 first = "0"b; 51 end; 52 if salv_data$on_line then return; 53 if ^salv_data$dump then return; 54 55 start = fixed (rel (dp)); 56 57 do i = start to (cur_len + start) -8 by 8; /* print 8 word lines */ 58 print_ptr = ptr (dp, i); 59 if zero_line ^= "0"b then do; 60 call salv_err_msg (SALV_DEBUG, "^6o^4x^w^2x^w^2x^w^2x^w^2x^w^2x^w^2x^w^2x^w", 61 i, w (1), w (2), w (3), w (4), w (5), w (6), w (7), w (8)); 62 tb_line = zero_line & unspec (pad_stg); /* set up for char printout */ 63 char_fmt = translate (t_line, map_string); 64 call salv_err_msg (SALV_DEBUG, "^88x^a", char_fmt); 65 end; 66 loop_c: end; 67 68 return; 69 70 vtoce: entry(a_vtocep); /* dump only vtoce */ 71 /* now to print out vtoce */ 72 dcl a_vtocep ptr; 73 74 for_vtoce = "1"b; 75 dp = a_vtocep; 76 cur_len = 192; /* vtoce is 192 words */ 77 goto doub; 78 79 80 end dir_dump; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0807.8 dir_dump.pl1 >spec>install>1112>dir_dump.pl1 35 1 10/25/82 1015.6 salv_data.incl.pl1 >ldd>include>salv_data.incl.pl1 36 2 11/29/83 0929.9 salvager_severities.incl.pl1 >ldd>include>salvager_severities.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. SALV_DEBUG 000010 constant fixed bin(17,0) initial dcl 2-4 set ref 60* 64* a_cur_len parameter fixed bin(17,0) dcl 18 ref 16 39 a_dp parameter pointer dcl 18 ref 16 38 a_vtocep parameter pointer dcl 72 ref 70 75 addr builtin function dcl 18 ref 62 char_fmt 000120 automatic char(32) dcl 18 set ref 63* 64* collate builtin function dcl 18 ref 47 cur_len 000105 automatic fixed bin(17,0) dcl 18 set ref 39* 57 76* dp 000100 automatic pointer dcl 18 set ref 38* 55 58 75* first 000010 internal static bit(1) initial dcl 32 set ref 42 50* fixed builtin function dcl 18 ref 55 for_vtoce 000107 automatic bit(1) dcl 18 set ref 40* 74* i 000104 automatic fixed bin(18,0) dcl 18 set ref 57* 58 60* map_string 000011 internal static char(128) packed unaligned dcl 33 set ref 47* 48* 49* 63 pad_stg 000000 constant structure level 1 dcl 18 ref 62 print_ptr 000102 automatic pointer dcl 18 set ref 58* 59 60 60 60 60 60 60 60 60 62 ptr builtin function dcl 18 ref 58 rel builtin function dcl 18 ref 55 salv_data$dump 000054 external static bit(1) dcl 1-4 ref 53 salv_data$on_line 000056 external static bit(1) dcl 1-6 ref 52 salv_err_msg 000052 constant entry external dcl 18 ref 60 64 start 000106 automatic fixed bin(17,0) dcl 18 set ref 55* 57 57 substr builtin function dcl 18 set ref 48* 49* t_line 000110 automatic char(32) dcl 18 set ref 62 63 tb_line based bit(288) packed unaligned dcl 18 set ref 62* translate builtin function dcl 18 ref 63 unspec builtin function dcl 18 ref 62 w based fixed bin(35,0) array dcl 18 set ref 60* 60* 60* 60* 60* 60* 60* 60* zero_line based bit(288) packed unaligned dcl 18 ref 59 62 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. SALV_ANNOUNCE internal static fixed bin(17,0) initial dcl 2-4 SALV_CRASH internal static fixed bin(17,0) initial dcl 2-4 SALV_JUST_LOG internal static fixed bin(17,0) initial dcl 2-4 SALV_LOG internal static fixed bin(17,0) initial dcl 2-4 salv_data$debug external static bit(1) dcl 1-3 salv_data$lock external static bit(36) dcl 1-5 salv_data$print_path external static bit(1) dcl 1-7 salv_data$printer_delay external static fixed bin(17,0) dcl 1-8 salv_data$rpv external static bit(1) dcl 1-9 salv_data$vol_read_ahead external static fixed bin(17,0) dcl 1-10 NAMES DECLARED BY EXPLICIT CONTEXT. dir_dump 000101 constant entry external dcl 16 doub 000116 constant label dcl 42 ref 77 loop_c 000311 constant label dcl 66 vtoce 000320 constant entry external dcl 70 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 414 474 336 424 Length 674 336 60 164 55 42 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dir_dump 150 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 first dir_dump 000011 map_string dir_dump STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dir_dump 000100 dp dir_dump 000102 print_ptr dir_dump 000104 i dir_dump 000105 cur_len dir_dump 000106 start dir_dump 000107 for_vtoce dir_dump 000110 t_line dir_dump 000120 char_fmt dir_dump THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_bit_temp call_ext_out_desc return_mac shorten_stack ext_entry set_chars_eis translate_2 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. salv_err_msg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. salv_data$dump salv_data$on_line LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000075 38 000106 39 000112 40 000115 42 000116 47 000121 48 000124 49 000127 50 000131 52 000132 53 000134 55 000136 57 000141 58 000151 59 000154 60 000160 62 000236 63 000252 64 000266 66 000311 68 000314 70 000315 74 000325 75 000327 76 000333 77 000335 ----------------------------------------------------------- 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