COMPILATION LISTING OF SEGMENT set_volume_log Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 10/10/89 1420.1 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 6* * * 7* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 8* * * 9* * Copyright (c) 1972 by Massachusetts Institute of * 10* * Technology and Honeywell Information Systems, Inc. * 11* * * 12* *********************************************************** */ 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(88-03-03,GWMay), approve(89-10-03,MCR8135), 17* audit(89-10-04,Beattie), install(89-10-10,MR12.3-1089): 18* Added the -incr_sets and -cons_sets control arguments to be used for 19* setting the number of dump volume sets to retain in the volume log. 20* Add short form of -rg for -reload_group. 21* END HISTORY COMMENTS */ 22 23 24 set_volume_log: proc; 25 26 /* This command allows the caller to set the reload_group filed of the specified volume log */ 27 28 29 30 /* set flags */ 31 lock = "0"b; 32 volog_dir = ">daemon_dir_dir>volume_backup"; 33 bvlp = null; 34 save_cons_set, save_incr_set = 0; 35 set_reload_groups, set_save_cons_set, set_save_incr_set = "0"b; 36 37 /* pick up name of volume log */ 38 call cu_$arg_ptr (1, argp, argl, code); 39 if code ^= 0 then do; 40 call com_err_ (code, myname); 41 arg_err: call ioa_ ( 42 "Usage: ^a volog {-control_args} 43 control_args: -working_dir, -wd 44 -reload_groups N, -rg N (N > 1) 45 -cons_sets N, -cs N (N > 0, ""all"", ""a"") 46 -incr_sets N, -is N (N > 0, ""all"", ""a"")", myname); 47 goto finish; 48 end; 49 50 if substr (ltrim (arg), 1, length ("-")) = "-" then do; 51 call com_err_ (error_table_$bad_arg, myname, "^a", arg); 52 goto arg_err; 53 end; 54 else 55 volog = arg; 56 /* pickup control args if any */ 57 ac = 2; 58 call cu_$arg_count (nargs); 59 do while (ac <= nargs); 60 call cu_$arg_ptr (ac, argp, argl, code); 61 if code ^= 0 then do; 62 no_arg: call cu_$arg_ptr (ac-1, argp, argl, code); 63 call com_err_ (code, myname, "Unable to access operand following argument ^a.", arg); 64 goto finish; 65 end; 66 if arg = "-reload_groups" | arg = "-rg" then do; 67 ac = ac + 1; 68 call cu_$arg_ptr (ac, argp, argl, code); 69 if code ^= 0 then goto no_arg; 70 reload_groups = cv_dec_check_ ((arg), code); 71 if code ^= 0 then do; 72 call com_err_ (0, myname, "invalid numeric arg ^a", arg); 73 goto finish; 74 end; 75 if reload_groups < 1 then reload_groups = 1; 76 set_reload_groups = "1"b; 77 end; 78 else 79 if arg = "-incr_sets" | arg = "-is" then do; 80 ac = ac + 1; 81 call cu_$arg_ptr (ac, argp, argl, code); 82 if code ^= 0 then goto no_arg; 83 if arg = "all" | arg = "a" then 84 save_incr_set = 0; 85 else do; 86 save_incr_set = cv_dec_check_ ((arg), code); 87 if code ^= 0 then do; 88 call com_err_ (0, myname, "invalid numeric ^a", arg); 89 goto finish; 90 end; 91 92 if save_incr_set < 1 then do; 93 call com_err_ (0, myname, 94 "invalid arg -incr_sets(-is) ^a", arg); 95 goto finish; 96 end; 97 end; 98 set_save_incr_set = "1"b; 99 end; 100 else 101 if arg = "-cons_sets" | arg = "-cs" then do; 102 ac = ac + 1; 103 call cu_$arg_ptr (ac, argp, argl, code); 104 if code ^= 0 then goto no_arg; 105 if arg = "all" | arg = "a" then 106 save_cons_set = 0; 107 else do; 108 save_cons_set = cv_dec_check_ ((arg), code); 109 if code ^= 0 then do; 110 call com_err_ (0, myname, "invalid numeric arg ^a", arg); 111 goto finish; 112 end; 113 114 if save_cons_set < 1 then do; 115 call com_err_ (0, myname, 116 "invalid arg -cons_sets(-cs) ^a", arg); 117 goto finish; 118 end; 119 end; 120 set_save_cons_set = "1"b; 121 end; 122 else if arg = "-wd" | arg = "-working_dir" then volog_dir = get_wdir_ (); 123 else do; 124 call com_err_ (error_table_$bad_arg, myname, "^a", arg); 125 goto arg_err; 126 end; 127 ac = ac + 1; 128 end; 129 130 code = 0; 131 /* set cleanup handler to unlock and release */ 132 call get_bvlp (volog); 133 on cleanup call finish_; 134 /* get temp segs and set flag */ 135 /* lock volume log and set flag */ 136 call lock_volume_log; 137 lock = "1"b; 138 /* build name list of all dump volumes in log */ 139 /* initialize what will be new volume log */ 140 if set_reload_groups then backup_volume_log.reload_groups = reload_groups; 141 if set_save_cons_set then backup_volume_log.Nsaved_cons_sets = save_cons_set; 142 if set_save_incr_set then backup_volume_log.Nsaved_incr_sets = save_incr_set; 143 144 call unlock_volume_log; 145 lock = "0"b; 146 finish: 147 call finish_; 148 return; 149 150 err: call com_err_ (code, myname); 151 goto finish; 152 153 154 lock_volume_log: proc; 155 156 /* This proc locks the volume log */ 157 158 call set_lock_$lock (backup_volume_log.lock, -1, code); 159 if code = error_table_$invalid_lock_reset then code = 0; 160 else if code ^= 0 then do; 161 call com_err_ (code, myname, "Unable to lock volog"); 162 goto finish; 163 end; 164 return; 165 end lock_volume_log; 166 167 unlock_volume_log: proc; 168 169 /* This proc unlocks the volume log */ 170 171 call set_lock_$unlock (backup_volume_log.lock, code); 172 return; 173 end unlock_volume_log; 174 175 176 177 finish_: proc; 178 /* unlock, terminate, and release as required */ 179 if lock then call unlock_volume_log; 180 if bvlp ^= null then 181 call adjust_bit_count_ (volog_dir, volog_name, "1"b, (0), ignore); 182 if bvlp ^= null then call hcs_$terminate_noname (bvlp, ignore); 183 bvlp = null; 184 end finish_; 185 186 get_bvlp: proc (name); 187 dcl name char (32); 188 call suffixed_name_$make (name, "volog", volog_name, code); 189 if code ^= 0 then do; 190 call com_err_ (code, myname, "Unable to contruct volog name for ^a", name); 191 goto finish; 192 end; 193 194 /* and then ptr */ 195 call hcs_$initiate (volog_dir, volog_name, "", 0, 0, bvlp, code); 196 if bvlp = null then do; 197 call com_err_ (code, myname, "Unable to get ptr to volog ^a>^a", 198 volog_dir, volog_name); 199 goto finish; 200 end; 201 end get_bvlp; 202 203 dcl volog char (32); 204 dcl volog_name char(32); 205 dcl volog_dir char (168); 206 dcl arg char (argl) based (argp); 207 dcl myname char (32) int static init ("set_volume_log") options (constant); 208 dcl argl fixed bin; 209 dcl argp ptr; 210 dcl reload_groups fixed bin; 211 dcl save_cons_set fixed bin; 212 dcl save_incr_set fixed bin; 213 dcl lock bit (1) init ("0"b); 214 dcl set_reload_groups bit (1); 215 dcl set_save_cons_set bit (1); 216 dcl set_save_incr_set bit (1); 217 dcl nargs fixed bin; 218 dcl ac fixed bin; 219 dcl code fixed bin (35); 220 dcl ignore fixed bin (35); 221 222 223 dcl cleanup condition; 224 225 dcl error_table_$bad_arg external fixed bin (35); 226 dcl error_table_$invalid_lock_reset fixed bin (35) ext; 227 228 dcl adjust_bit_count_ entry (char (*), char (*), bit (1), fixed bin, fixed bin (35)); 229 dcl cu_$arg_count entry (fixed bin); 230 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 231 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin); 232 dcl com_err_ entry options (variable); 233 dcl suffixed_name_$make entry (char (*), char (*), char (*), fixed bin (35)); 234 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin, fixed bin, ptr, fixed bin (35)); 235 dcl set_lock_$lock entry (bit (36) aligned, fixed bin, fixed bin (35)); 236 dcl set_lock_$unlock entry (bit (36) aligned, fixed bin (35)); 237 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 238 dcl ioa_ entry options (variable); 239 dcl get_wdir_ entry returns (char(168)); 240 241 dcl (length, ltrim, null, substr) builtin; 242 1 1 /* BEGIN INCLUDE FILE ... backup_volume_log.incl.pl1 ... Feb 1976 */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(88-03-03,GWMay), approve(89-10-03,MCR8135), 1 6* audit(89-10-04,Beattie), install(89-10-10,MR12.3-1089): 1 7* Added values for storing the number of incremental and consolidated dump 1 8* sets to retain in the volume log. Incremented version number to 3. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 /* Modified: 3/7/84 by GA Texada to change to version 2 */ 1 13 dcl bvlp ptr; 1 14 dcl bvlep ptr; 1 15 1 16 dcl backup_volume_log_version_1 fixed bin static init (1) options (constant); 1 17 dcl backup_volume_log_version_2 fixed bin init(2) int static options(constant); 1 18 dcl backup_volume_log_version_3 fixed bin init(3) int static options(constant); 1 19 1 20 dcl 1 backup_volume_log based (bvlp) aligned, 1 21 2 header like backup_volume_header aligned, 1 22 2 info like backup_pvol_info aligned, 1 23 2 version fixed bin, /* version number */ 1 24 2 lock bit (36), /* shared data base */ 1 25 2 pvname char (32), /* physical volume name */ 1 26 2 pvid bit (36), /* physical volume id */ 1 27 2 next fixed bin, /* next available dump record */ 1 28 2 reload_groups fixed bin, /* number of reload groups in log */ 1 29 2 purge_control (3), /* control selective purging by dump type */ 1 30 3 group (36) bit (1) unaligned, /* up to 36 reload groups */ 1 31 2 disk_type fixed bin unal, /* type of disk drive */ 1 32 2 half_word_pad bit(18) unal, /* MBZ */ 1 33 2 rpv_pvid bit(36), /* pvid of this volumes RPV */ 1 34 2 Nsaved_incr_sets fixed bin, /* number of incr cycles to retain */ 1 35 2 Nsaved_cons_sets fixed bin, /* number of incr cycles to retain */ 1 36 2 pad (31) bit (36), /* for future expansion (MBZ) */ 1 37 2 array (1:1 refer (backup_volume_log.next)) like bvle aligned; 1 38 1 39 dcl 1 bvle based (bvlep) aligned, 1 40 2 cycle_uid bit (36), /* uid of this dump cycle */ 1 41 2 dump_type fixed bin, /* type of dump */ 1 42 2 volname char (32), /* name of output volume */ 1 43 2 open_time fixed bin (71), /* opening time of dump pass on this physical volume */ 1 44 2 close_time fixed bin (71), /* ending time of dump pass */ 1 45 2 volid bit (36), /* uid of output volume */ 1 46 2 io_module char (32), /* outer module name that wrote this volume */ 1 47 2 flags, /* flags */ 1 48 3 purge_scan_logged bit (1) unaligned, /* if on object looged during purge scan */ 1 49 3 pad1 bit (35) unaligned, 1 50 2 pad (7) bit (36), /* for future expansion */ 1 51 (2 dir_num fixed bin, /* number of dirs dumped on this pass */ 1 52 2 dir_rec fixed bin, /* number of records of dirs */ 1 53 2 seg_num fixed bin, /* number of segs dumped on this pass */ 1 54 2 seg_rec fixed bin) unaligned; /* number of records of segs */ 1 55 1 56 /* END INCLUDE FILE ... backup_volume_log */ 243 2 1 /* BEGIN INCLUDE FILE ... backup_pvol_info.incl.pl1 */ 2 2 2 3 dcl bpvip ptr; 2 4 2 5 dcl 1 backup_pvol_info based (bpvip) aligned, 2 6 2 label like label aligned, 2 7 2 n_vtoce fixed bin, 2 8 2 n_free_vtoce fixed bin, 2 9 2 n_rec fixed bin, 2 10 2 baseadd fixed bin, 2 11 2 n_free_rec fixed bin; 2 12 2 13 /* END INCLUDE FILE ... backup_pvol_info.incl.pl1 */ 244 3 1 /* BEGIN INCLUDE FILE ... fs_vol_label.incl.pl1 .. last modified January 1982 for new volume map format */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-04-10,Fawcett), approve(86-04-10,MCR7383), 3 5* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 3 6* Add the subvolume info. 3 7* 2) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 3 8* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 3 9* Added inconsistent_dbm bit used to determine consistency of volume 3 10* dumper bit maps. 3 11* END HISTORY COMMENTS */ 3 12 3 13 /* This is the label at fixed location of each physical volume. Length 1 page */ 3 14 /* Note: fsout_vol clears pad fields before writing the label */ 3 15 3 16 dcl labelp ptr; 3 17 3 18 dcl 1 label based (labelp) aligned, 3 19 3 20 /* First comes data not used by Multics.. for compatibility with GCOS */ 3 21 3 22 2 gcos (5*64) fixed bin, 3 23 3 24 /* Now we have the Multics label */ 3 25 3 26 2 Multics char (32) init ("Multics Storage System Volume"), /* Identifier */ 3 27 2 version fixed bin, /* Version 1 */ 3 28 2 mfg_serial char (32), /* Manufacturer's serial number */ 3 29 2 pv_name char (32), /* Physical volume name. */ 3 30 2 lv_name char (32), /* Name of logical volume for pack */ 3 31 2 pvid bit (36), /* Unique ID of this pack */ 3 32 2 lvid bit (36), /* unique ID of its logical vol */ 3 33 2 root_pvid bit (36), /* unique ID of the pack containing the root. everybody must agree. */ 3 34 2 time_registered fixed bin (71), /* time imported to system */ 3 35 2 n_pv_in_lv fixed bin, /* # phys volumes in logical */ 3 36 2 vol_size fixed bin, /* total size of volume, in records */ 3 37 2 vtoc_size fixed bin, /* number of recs in fixed area + vtoc */ 3 38 2 not_used bit (1) unal, /* used to be multiple_class */ 3 39 2 private bit (1) unal, /* TRUE if was registered as private */ 3 40 2 inconsistent_dbm bit (1) unal, /* TRUE if ESD-less crash */ 3 41 2 flagpad bit (33) unal, 3 42 2 max_access_class bit (72), /* Maximum access class for stuff on volume */ 3 43 2 min_access_class bit (72), /* Minimum access class for stuff on volume */ 3 44 2 password bit (72), /* not yet used */ 3 45 2 number_of_sv fixed bin, /* if = 0 not a subvolume else the number of svs */ 3 46 2 this_sv fixed bin, /* what subvolume number it is */ 3 47 2 sub_vol_name char (1), /* what subvolume name (a b c d) it is */ 3 48 2 pad1 (13) fixed bin, 3 49 2 time_mounted fixed bin (71), /* time mounted */ 3 50 2 time_map_updated fixed bin (71), /* time vmap known good */ 3 51 3 52 /* The next two words overlay time_unmounted on pre-MR10 systems. This 3 53* forces a salvage if an MR10 pack is mounted on an earlier system. 3 54* */ 3 55 2 volmap_version fixed bin, /* version of volume map (currently 1) */ 3 56 2 pad6 fixed bin, 3 57 3 58 2 time_salvaged fixed bin (71), /* time salvaged */ 3 59 2 time_of_boot fixed bin (71), /* time of last bootload */ 3 60 2 time_unmounted fixed bin (71), /* time unmounted cleanly */ 3 61 2 last_pvtx fixed bin, /* pvtx in that PDMAP */ 3 62 2 pad1a (2) fixed bin, 3 63 2 err_hist_size fixed bin, /* size of pack error history */ 3 64 2 time_last_dmp (3) fixed bin (71), /* time last completed dump pass started */ 3 65 2 time_last_reloaded fixed bin (71), /* what it says */ 3 66 2 pad2 (40) fixed bin, 3 67 2 root, 3 68 3 here bit (1), /* TRUE if the root is on this pack */ 3 69 3 root_vtocx fixed bin (35), /* VTOC index of root, if it is here */ 3 70 3 shutdown_state fixed bin, /* Status of hierarchy */ 3 71 3 pad7 bit (1) aligned, 3 72 3 disk_table_vtocx fixed bin, /* VTOC index of disk table on RPV */ 3 73 3 disk_table_uid bit (36) aligned, /* UID of disk table */ 3 74 3 esd_state fixed bin, /* State of esd */ 3 75 2 volmap_record fixed bin, /* Begin record of volume map */ 3 76 2 size_of_volmap fixed bin, /* Number of records in volume map */ 3 77 2 vtoc_map_record fixed bin, /* Begin record of VTOC map */ 3 78 2 size_of_vtoc_map fixed bin, /* Number of records in VTOC map */ 3 79 2 volmap_unit_size fixed bin, /* Number of words per volume map section */ 3 80 2 vtoc_origin_record fixed bin, /* Begin record of VTOC */ 3 81 2 dumper_bit_map_record fixed bin, /* Begin record of dumper bit-map */ 3 82 2 vol_trouble_count fixed bin, /* Count of inconsistencies found since salvage */ 3 83 2 pad3 (52) fixed bin, 3 84 2 nparts fixed bin, /* Number of special partitions on pack */ 3 85 2 parts (47), 3 86 3 part char (4), /* Name of partition */ 3 87 3 frec fixed bin, /* First record */ 3 88 3 nrec fixed bin, /* Number of records */ 3 89 3 pad5 fixed bin, 3 90 2 pad4 (5*64) fixed bin; 3 91 3 92 dcl Multics_ID_String char (32) init ("Multics Storage System Volume") static; 3 93 3 94 /* END INCLUDE FILE fs_vol_label.incl.pl1 */ 245 4 1 /* BEGIN INCLUDE FILE ... backup_volume_header ... Feb 1976 */ 4 2 4 3 dcl hdp ptr; /* ptr to header */ 4 4 4 5 dcl 1 backup_volume_header based (hdp) aligned, 4 6 2 pattern1 bit (36), /* unique word 1 */ 4 7 2 rec1_type fixed bin, /* record 1 type */ 4 8 2 rec1_len fixed bin, /* length in chars */ 4 9 2 pattern2 bit (36), /* unique word 2 */ 4 10 2 rec2_type fixed bin, /* record 2 type */ 4 11 2 rec2_len fixed bin, /* length in chars */ 4 12 2 pattern3 bit (36), /* unique word 3 */ 4 13 2 time_dumped bit (36); /* dump time of this record */ 4 14 4 15 dcl vtoce_type fixed bin static init (1) options (constant); /* type code for vtoce */ 4 16 dcl dir_type fixed bin static init (2) options (constant); /* type code for directory */ 4 17 dcl seg_type fixed bin static init (3) options (constant); /* type code for segment */ 4 18 dcl null_type fixed bin static init (4) options (constant); /* type code for null record */ 4 19 dcl volume_log_type fixed bin static init (5) options (constant); /* type code for volume log */ 4 20 dcl prev_output_log_type fixed bin static init (6) options (constant); /* type code for prev output log */ 4 21 dcl contents_type fixed bin static init (7) options (constant); /* type code for contents segment of previous volume */ 4 22 dcl info_type fixed bin static init (8) options (constant); /* type code for info structure */ 4 23 4 24 dcl pattern1 bit (36) int static init ("110111000011001100011101101010100101"b) options (constant); 4 25 dcl pattern2 bit (36) int static init ("101001010101101110001100110000111011"b) options (constant); 4 26 dcl pattern3 bit (36) int static init ("001000111100110011100010010101011010"b) options (constant); 4 27 4 28 /* END INCLUDE FILE ... backup_volume_header */ 246 5 1 /* BEGIN INCLUDE FILE ... backup_static_variables.incl.pl1 ... March 1976 */ 5 2 5 3 5 4 dcl incr fixed bin init (1) internal static options (constant); /* incremental dump mode */ 5 5 dcl cons fixed bin init (2) internal static options (constant); /* consolidated dump mode */ 5 6 dcl comp fixed bin init (3) internal static options (constant); /* complete dump mode */ 5 7 dcl backup_version_1 fixed bin init (1) static internal options (constant); /* backup_version_1 of input/output structures */ 5 8 5 9 5 10 5 11 /* END INCLUDE FILE ... backup_static_variables.incl.pl1 */ 247 248 249 end set_volume_log; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/10/89 1355.3 set_volume_log.pl1 >special_ldd>install>MR12.3-1089>set_volume_log.pl1 243 1 10/10/89 1357.9 backup_volume_log.incl.pl1 >special_ldd>install>MR12.3-1089>backup_volume_log.incl.pl1 244 2 06/07/77 1233.6 backup_pvol_info.incl.pl1 >ldd>include>backup_pvol_info.incl.pl1 245 3 07/21/88 2036.0 fs_vol_label.incl.pl1 >ldd>include>fs_vol_label.incl.pl1 246 4 09/05/80 1136.5 backup_volume_header.incl.pl1 >ldd>include>backup_volume_header.incl.pl1 247 5 09/05/80 1136.5 backup_static_variables.incl.pl1 >ldd>include>backup_static_variables.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. Nsaved_cons_sets 2040 based fixed bin(17,0) level 2 dcl 1-20 set ref 141* Nsaved_incr_sets 2037 based fixed bin(17,0) level 2 dcl 1-20 set ref 142* ac 000206 automatic fixed bin(17,0) dcl 218 set ref 57* 59 60* 62 67* 67 68* 80* 80 81* 102* 102 103* 127* 127 adjust_bit_count_ 000014 constant entry external dcl 228 ref 180 arg based char packed unaligned dcl 206 set ref 50 51* 54 63* 66 66 70 72* 78 78 83 83 86 88* 93* 100 100 105 105 108 110* 115* 122 122 124* argl 000172 automatic fixed bin(17,0) dcl 208 set ref 38* 50 51 51 54 60* 62* 63 63 66 66 68* 70 72 72 78 78 81* 83 83 86 88 88 93 93 100 100 103* 105 105 108 110 110 115 115 122 122 124 124 argp 000174 automatic pointer dcl 209 set ref 38* 50 51 54 60* 62* 63 66 66 68* 70 72 78 78 81* 83 83 86 88 93 100 100 103* 105 105 108 110 115 122 122 124 backup_pvol_info based structure level 1 dcl 2-5 backup_volume_header based structure level 1 dcl 4-5 backup_volume_log based structure level 1 dcl 1-20 bvle based structure level 1 dcl 1-39 bvlp 000220 automatic pointer dcl 1-13 set ref 33* 140 141 142 158 171 180 182 182* 183* 195* 196 cleanup 000212 stack reference condition dcl 223 ref 133 code 000207 automatic fixed bin(35,0) dcl 219 set ref 38* 39 40* 60* 61 62* 63* 68* 69 70* 71 81* 82 86* 87 103* 104 108* 109 130* 150* 158* 159 159* 160 161* 171* 188* 189 190* 195* 197* com_err_ 000024 constant entry external dcl 232 ref 40 51 63 72 88 93 110 115 124 150 161 190 197 cu_$arg_count 000016 constant entry external dcl 229 ref 58 cu_$arg_ptr 000020 constant entry external dcl 230 ref 38 60 62 68 81 103 cv_dec_check_ 000022 constant entry external dcl 231 ref 70 86 108 error_table_$bad_arg 000010 external static fixed bin(35,0) dcl 225 set ref 51* 124* error_table_$invalid_lock_reset 000012 external static fixed bin(35,0) dcl 226 ref 159 get_wdir_ 000042 constant entry external dcl 239 ref 122 hcs_$initiate 000030 constant entry external dcl 234 ref 195 hcs_$terminate_noname 000036 constant entry external dcl 237 ref 182 ignore 000210 automatic fixed bin(35,0) dcl 220 set ref 180* 182* ioa_ 000040 constant entry external dcl 238 ref 41 label based structure level 1 dcl 3-18 length builtin function dcl 241 ref 50 lock 000201 automatic bit(1) initial packed unaligned dcl 213 in procedure "set_volume_log" set ref 31* 137* 145* 179 213* lock 2016 based bit(36) level 2 in structure "backup_volume_log" dcl 1-20 in procedure "set_volume_log" set ref 158* 171* ltrim builtin function dcl 241 ref 50 myname 000000 constant char(32) initial packed unaligned dcl 207 set ref 40* 41* 51* 63* 72* 88* 93* 110* 115* 124* 150* 161* 190* 197* name parameter char(32) packed unaligned dcl 187 set ref 186 188* 190* nargs 000205 automatic fixed bin(17,0) dcl 217 set ref 58* 59 null builtin function dcl 241 ref 33 180 182 183 196 reload_groups 2031 based fixed bin(17,0) level 2 in structure "backup_volume_log" dcl 1-20 in procedure "set_volume_log" set ref 140* reload_groups 000176 automatic fixed bin(17,0) dcl 210 in procedure "set_volume_log" set ref 70* 75 75* 140 save_cons_set 000177 automatic fixed bin(17,0) dcl 211 set ref 34* 105* 108* 114 141 save_incr_set 000200 automatic fixed bin(17,0) dcl 212 set ref 34* 83* 86* 92 142 set_lock_$lock 000032 constant entry external dcl 235 ref 158 set_lock_$unlock 000034 constant entry external dcl 236 ref 171 set_reload_groups 000202 automatic bit(1) packed unaligned dcl 214 set ref 35* 76* 140 set_save_cons_set 000203 automatic bit(1) packed unaligned dcl 215 set ref 35* 120* 141 set_save_incr_set 000204 automatic bit(1) packed unaligned dcl 216 set ref 35* 98* 142 substr builtin function dcl 241 ref 50 suffixed_name_$make 000026 constant entry external dcl 233 ref 188 volog 000100 automatic char(32) packed unaligned dcl 203 set ref 54* 132* volog_dir 000120 automatic char(168) packed unaligned dcl 205 set ref 32* 122* 180* 195* 197* volog_name 000110 automatic char(32) packed unaligned dcl 204 set ref 180* 188* 195* 197* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Multics_ID_String internal static char(32) initial packed unaligned dcl 3-92 backup_version_1 internal static fixed bin(17,0) initial dcl 5-7 backup_volume_log_version_1 internal static fixed bin(17,0) initial dcl 1-16 backup_volume_log_version_2 internal static fixed bin(17,0) initial dcl 1-17 backup_volume_log_version_3 internal static fixed bin(17,0) initial dcl 1-18 bpvip automatic pointer dcl 2-3 bvlep automatic pointer dcl 1-14 comp internal static fixed bin(17,0) initial dcl 5-6 cons internal static fixed bin(17,0) initial dcl 5-5 contents_type internal static fixed bin(17,0) initial dcl 4-21 dir_type internal static fixed bin(17,0) initial dcl 4-16 hdp automatic pointer dcl 4-3 incr internal static fixed bin(17,0) initial dcl 5-4 info_type internal static fixed bin(17,0) initial dcl 4-22 labelp automatic pointer dcl 3-16 null_type internal static fixed bin(17,0) initial dcl 4-18 pattern1 internal static bit(36) initial packed unaligned dcl 4-24 pattern2 internal static bit(36) initial packed unaligned dcl 4-25 pattern3 internal static bit(36) initial packed unaligned dcl 4-26 prev_output_log_type internal static fixed bin(17,0) initial dcl 4-20 seg_type internal static fixed bin(17,0) initial dcl 4-17 volume_log_type internal static fixed bin(17,0) initial dcl 4-19 vtoce_type internal static fixed bin(17,0) initial dcl 4-15 NAMES DECLARED BY EXPLICIT CONTEXT. arg_err 000346 constant label dcl 41 ref 52 125 err 001444 constant label dcl 150 finish 001437 constant label dcl 146 ref 47 64 73 89 95 111 117 151 162 191 199 finish_ 001560 constant entry internal dcl 177 ref 133 146 get_bvlp 001660 constant entry internal dcl 186 ref 132 lock_volume_log 001462 constant entry internal dcl 154 ref 136 no_arg 000476 constant label dcl 62 ref 69 82 104 set_volume_log 000270 constant entry external dcl 24 unlock_volume_log 001537 constant entry internal dcl 167 ref 144 179 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2270 2334 2054 2300 Length 2662 2054 44 312 213 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME set_volume_log 350 external procedure is an external procedure. on unit on line 133 64 on unit lock_volume_log internal procedure shares stack frame of external procedure set_volume_log. unlock_volume_log 70 internal procedure is called by several nonquick procedures. finish_ 88 internal procedure is called by several nonquick procedures. get_bvlp internal procedure shares stack frame of external procedure set_volume_log. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME set_volume_log 000100 volog set_volume_log 000110 volog_name set_volume_log 000120 volog_dir set_volume_log 000172 argl set_volume_log 000174 argp set_volume_log 000176 reload_groups set_volume_log 000177 save_cons_set set_volume_log 000200 save_incr_set set_volume_log 000201 lock set_volume_log 000202 set_reload_groups set_volume_log 000203 set_save_cons_set set_volume_log 000204 set_save_incr_set set_volume_log 000205 nargs set_volume_log 000206 ac set_volume_log 000207 code set_volume_log 000210 ignore set_volume_log 000220 bvlp set_volume_log THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. adjust_bit_count_ com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ get_wdir_ hcs_$initiate hcs_$terminate_noname ioa_ set_lock_$lock set_lock_$unlock suffixed_name_$make THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$invalid_lock_reset LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000267 213 000275 31 000276 32 000277 33 000302 34 000304 35 000306 38 000311 39 000327 40 000331 41 000346 47 000366 50 000367 51 000404 52 000436 54 000437 57 000442 58 000444 59 000453 60 000457 61 000474 62 000476 63 000516 64 000551 66 000552 67 000564 68 000565 69 000602 70 000604 71 000635 72 000640 73 000674 75 000675 76 000702 77 000704 78 000705 80 000715 81 000716 82 000733 83 000735 86 000751 87 001001 88 001004 89 001043 92 001044 93 001047 95 001103 98 001104 99 001106 100 001107 102 001117 103 001120 104 001135 105 001137 108 001153 109 001203 110 001206 111 001242 114 001243 115 001246 117 001302 120 001303 121 001305 122 001306 124 001326 125 001360 127 001361 128 001362 130 001363 132 001364 133 001366 136 001410 137 001411 140 001413 141 001420 142 001425 144 001432 145 001436 146 001437 148 001443 150 001444 151 001461 154 001462 158 001463 159 001501 160 001507 161 001511 162 001534 164 001535 167 001536 171 001544 172 001556 177 001557 179 001565 180 001575 182 001636 183 001654 184 001657 186 001660 188 001662 189 001710 190 001712 191 001742 195 001743 196 002005 197 002011 199 002044 201 002045 ----------------------------------------------------------- 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