COMPILATION LISTING OF SEGMENT dmpr_finish_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1926.85_Mon_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1989 * 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 14 15 /****^ HISTORY COMMENTS: 16* 1) change(86-08-12,GWMay), approve(86-08-12,MCR7445), audit(86-11-20,GDixon), 17* install(86-11-21,MR12.0-1223): 18* changed to set bit count on the segment .contents_names. 19* 2) change(89-01-06,GWMay), approve(89-01-06,MCR8039), audit(89-01-09,Farley), 20* install(89-01-17,MR12.3-1002): 21* Changed to call msf_mgr_$adjust to correctly set the size of the 22* .contents_names segments. 23* END HISTORY COMMENTS */ 24 25 26 /* format: style1,ind2,^inddcls,ifthenstmt,dclind2,declareind2,ifthendo,ifthen*/ 27 28 dmpr_finish_: proc (code); 29 30 /* This routine provides a centralized cleanup function for the volume dumper. It closes the account segment, unlocks 31* any logs that may have been left locked, detachs a switches that may have been left attached, 32* releases any temp segs, clears any pending alarms by deleting the event channel, and resets the ring 0 33* dumper and its data. This routine is used to clean up both in the normal case and after a dumper abort when 34* the state of the world is not well understood. */ 35 36 /* Modified: 8/82 by GA Texada to fix phx13662, phx13708 */ 37 /* Modified: 3/83 by E. N. Kittlitz for 256K segments. */ 38 /* Modified: 8/01/83 by GA Texada to call manage_volume_pool_$check_reserved 39* to free any reserved volumes not in valid use. */ 40 41 dcl code fixed bin (35); 42 dcl i fixed bin; 43 dcl attach_name char (32); 44 dcl bit_count fixed bin (24); 45 dcl ignore fixed bin (35); 46 dcl tp (4) ptr; 47 48 dcl msf_manager_$adjust entry (ptr, fixed bin, fixed bin (24), bit (3), fixed bin (35)); 49 dcl msf_manager_$close entry (ptr); 50 dcl manage_volume_pool_$check_reserved entry (ptr, entry, fixed bin (35)); 51 dcl manage_volume_pool$free entry (ptr, entry options (variable), char (*) aligned, fixed bin (35)); 52 dcl ioa_$rsnnl entry options (variable); 53 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 54 dcl adjust_bit_count_ entry (char (*), char (*), bit (1), fixed bin, fixed bin (35)); 55 dcl hcs_$delentry_seg entry (ptr, fixed bin (35)); 56 dcl hcs_$terminate_seg entry (ptr, fixed bin, fixed bin (35)); 57 dcl release_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 58 dcl dmpr_report_$error_output entry options (variable); 59 dcl dmpr_report_$online_output entry options (variable); 60 dcl dmpr_log_$close_volume_log entry (fixed bin (35)); 61 dcl set_lock_$unlock entry (bit (36) aligned, fixed bin (35)); 62 dcl ipc_$delete_ev_chn entry (fixed bin (71), fixed bin (35)); 63 dcl hc_backup_$dmpr_unlock_pv entry (bit (36) aligned, fixed bin, fixed bin (35)); 64 dcl hc_backup_$revert_dmpr entry (fixed bin); 65 dcl hcs_$set_256K_switch entry (bit (2) aligned, bit (2) aligned, fixed bin (35)); 66 dcl iox_$close entry (ptr, fixed bin (35)); 67 dcl iox_$find_iocb entry (char (*), ptr, fixed bin (35)); 68 dcl iox_$detach_iocb entry (ptr, fixed bin (35)); 69 70 dcl set_bc_n_truncate bit (3) int static init ("110"b) options (constant); 71 72 dcl null builtin; 73 74 code = 0; 75 if dmprp = null then return; 76 if ^dmpr_data_.data_init then return; /* reject calls if dmpr_data_ not inited */ 77 78 79 if dmpr_data_.bvlp ^= null then do; 80 bvlp = dmpr_data_.bvlp; 81 call unlock_volume_log; 82 call setbc_term (dmpr_data_.bvlp); 83 end; 84 85 86 if dmpr_data_.fcbp ^= null then do; 87 if dmpr_data_.contents_namesp ^= null then do; 88 contents_namesp = dmpr_data_.contents_namesp; 89 bit_count = backup_volume_contents_names.offset * BITS_PER_WORD; 90 call msf_manager_$adjust (dmpr_data_.fcbp, dmpr_data_.component, 91 bit_count, set_bc_n_truncate, ignore); 92 call msf_manager_$close (dmpr_data_.fcbp); 93 end; 94 end; 95 96 if dmpr_data_.pvlp ^= null then do; 97 pvlp = dmpr_data_.pvlp; 98 call unlock_pvolog; 99 call setbc_term (dmpr_data_.pvlp); 100 end; 101 102 if dmpr_data_.contentsp ^= null then 103 call setbc_term (dmpr_data_.contentsp); 104 105 if dmpr_data_.control_iocbp ^= null () then 106 call detach ("dump_control", dmpr_data_.control_iocbp); /* detach control seg */ 107 108 if dmpr_data_.account_iocbp ^= null () then 109 call detach ("account_file", dmpr_data_.account_iocbp); /* and account file */ 110 111 if dmpr_data_.detach then do; 112 if dmpr_data_.outputvol_iocbp ^= null then 113 call dmpr_report_$online_output (0, myname, 114 "Finished volume ^a: ^d ^d ^d ^d", dmpr_data_.volname, 115 dmpr_data_.dump_volume_dir_rec, dmpr_data_.dump_volume_dir_num, dmpr_data_.dump_volume_seg_rec, 116 dmpr_data_.dump_volume_seg_num); 117 dmpr_data_.not_reported = "0"b; 118 if dmpr_data_.pre_attach_vol = 0 then 119 call detach ("dump_volume", dmpr_data_.outputvol_iocbp); /* and output volume */ 120 else do; 121 do i = dmpr_data_.vol_idx + 1 to dmpr_data_.pre_attach_vol 122 while (dmpr_data_.pre_attach_pvlp (i) ^= null ()); 123 if dmpr_data_.auto_vol then 124 call manage_volume_pool$free (dmpr_data_.vpp, dmpr_report_$error_output, 125 dmpr_data_.pre_attach_volname (i), ignore); 126 call hcs_$delentry_seg (dmpr_data_.pre_attach_pvlp (i), ignore); 127 end; 128 do i = 1 to dmpr_data_.pre_attach_vol while (dmpr_data_.pre_attach_iocbp (i) ^= null ()); 129 call ioa_$rsnnl ("^a.^d", attach_name, ignore, "dump_volume", i); 130 call detach (attach_name, dmpr_data_.pre_attach_iocbp (i)); 131 end; 132 dmpr_data_.pre_attach_vol = 0; 133 end; 134 end; 135 136 if dmpr_data_.vpp ^= null () then /* free ANY old reserved volumes */ 137 call manage_volume_pool_$check_reserved (dmpr_data_.vpp, dmpr_report_$error_output, (0)); 138 /* don't care about code here */ 139 if dmpr_data_.error_iocbp ^= null () then 140 call detach ("error_file", dmpr_data_.error_iocbp); /* and error file */ 141 if dmpr_data_.dump_type = incr & dmpr_data_.incr_ev_chn ^= 0 then do; /* incremental case */ 142 call ipc_$delete_ev_chn (dmpr_data_.incr_ev_chn, code); 143 dmpr_data_.incr_ev_chn = 0; 144 end; 145 146 call hc_backup_$dmpr_unlock_pv (dmpr_data_.pvid, dmpr_data_.dump_type, ignore); 147 148 call hc_backup_$revert_dmpr (dmpr_data_.dump_type); 149 150 tp (1) = dmpr_data_.dirp; 151 tp (2) = dmpr_data_.inputp; 152 tp (3) = dmpr_data_.recordp; 153 tp (4) = dmpr_data_.infop; 154 155 call release_temp_segments_ ("dumper", tp, code); 156 call hcs_$set_256K_switch (dmpr_data_.old_256K_switch, (""b), (0)); 157 158 dmpr_data_.dump_in_progress = "0"b; /* finished */ 159 call set_lock_$unlock (dmpr_data_.lock, ignore); 160 161 dmprp = null; /* vanish the control seg */ 162 return; 163 164 165 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 166 167 168 detach: proc (iocb_name, iocbp); 169 170 /* This proc detachs the switch specified . It ignores all errors */ 171 172 dcl iocb_name char (*); 173 dcl tiocbp ptr; 174 dcl iocbp ptr; 175 176 call iox_$find_iocb (iocb_name, tiocbp, ignore); 177 178 call iox_$close (tiocbp, ignore); 179 180 call iox_$detach_iocb (tiocbp, ignore); 181 182 iocbp = null (); 183 184 return; 185 186 end detach; 187 188 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 189 190 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 191 192 193 unlock_volume_log: proc; 194 195 /* This proc unlocks the backup_volume_log, which may be locked. It also closes the volume log. */ 196 197 call set_lock_$unlock (backup_volume_log.lock, ignore); 198 call dmpr_log_$close_volume_log (code); 199 return; 200 end unlock_volume_log; 201 202 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 203 204 205 unlock_pvolog: proc; 206 207 /* This proc unlocks the output volume log */ 208 209 call set_lock_$unlock (pvolog.lock, ignore); 210 return; 211 end unlock_pvolog; 212 213 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 214 215 216 setbc_term: proc (p); 217 218 /* This proc terminates the specified segment and sets the ptr to it to null */ 219 220 dcl p ptr; 221 dcl dn char (168); 222 dcl en char (32); 223 dcl ldn fixed bin; 224 call hcs_$fs_get_path_name (p, dn, ldn, en, ignore); 225 call adjust_bit_count_ (dn, en, "0"b, (0), ignore); 226 call hcs_$terminate_seg (p, 0, ignore); 227 p = null; 228 229 end setbc_term; 230 1 1 /* BEGIN INCLUDE FILE ... dmpr_data_.incl.pl1 Feb 1976 */ 1 2 /* format: style1,ind2,^inddcls,ifthenstmt,dclind2,declareind2,ifthendo,ifthen*/ 1 3 /* Modified 7/79 by D. Vinograd to add new variables and change to based structure */ 1 4 /* Modified: 1/26/83 by GA Texada to add cur_vol_open and change version to 2. */ 1 5 /* Modified: 04/05/83 by GA Texada to add trace switch to support tracing. */ 1 6 /* Modified 04/84 by GA Texada to change to version 3 (disk_type). This begins the adding of new items */ 1 7 /* to the END of the structure to facilite easy additions. */ 1 8 dcl dmprp ptr ext static init (null); 1 9 dcl dmpr_data_version_2 fixed bin int static init (2) options (constant); 1 10 dcl dmpr_data_version_3 fixed bin int static init (3) options (constant); 1 11 /* Version 3 is current */ 1 12 1 13 dcl 1 dmpr_data_ aligned based (dmprp), 1 14 2 version fixed bin, /* version */ 1 15 2 lock bit (36), /* inter-lock */ 1 16 2 ptrs, 1 17 3 pre_attach_pvlp (50) ptr, /* array of pvolog ptrs */ 1 18 3 contents_namesp ptr, /* ptr to contents name seg */ 1 19 3 pre_attach_iocbp (50) ptr, /* array of output iocbp */ 1 20 3 pvlp ptr, /* ptr to dump volume log */ 1 21 3 account_iocbp ptr, /* iocbp for account seg */ 1 22 3 infop ptr, /* ptr to info seg */ 1 23 3 inputp ptr, /* ptr to input storage for sup interface */ 1 24 3 recordp ptr, /* ditto for output */ 1 25 3 control_iocbp ptr, /* iocbp for dump control segment */ 1 26 3 error_iocbp ptr, /* iocbp for error output file */ 1 27 3 outputvol_iocbp ptr, /* iocbp for dump volume */ 1 28 3 contentsp ptr, /* ptr to dump volume table of contents */ 1 29 3 bvlp ptr, /* ptr to volume log */ 1 30 3 dirp ptr, /* ptr to directory buffer seg */ 1 31 3 segp ptr, /* ptr to segment to be dumped */ 1 32 3 fcbp ptr, /* ptr to file control block for contents_name msf */ 1 33 3 vpp ptr, /* ptr to volume pool */ 1 34 2 fixed_bin, 1 35 3 retrys fixed bin, /* number of time segment disappeared while being dumped */ 1 36 3 physical_volume_dir_num fixed bin, /* number of dirs dumped from this physical volume */ 1 37 3 physical_volume_dir_rec fixed bin, /* number of dir records on this physical volume */ 1 38 3 physical_volume_seg_num fixed bin, /* number of segs dumped from this physical volume */ 1 39 3 physical_volume_seg_rec fixed bin, /* number of seg records dumped from this physical volume */ 1 40 3 vol_log_dir_num fixed bin, /* dirs dumped from pvol to dump vol */ 1 41 3 vol_log_dir_rec fixed bin, /* dir rec on this pvol to dump vol */ 1 42 3 vol_log_seg_num fixed bin, /* segs dumped from pvol to dump vol */ 1 43 3 vol_log_seg_rec fixed bin, /* seg rec dumped from pvol to dump vol */ 1 44 3 dump_volume_dir_num fixed bin, /* number of dirs dumped on this dump volume */ 1 45 3 dump_volume_dir_rec fixed bin, /* number of dir records on this dump volume */ 1 46 3 dump_volume_seg_num fixed bin, /* number of segs dumped on this dump volume */ 1 47 3 dump_volume_seg_rec fixed bin, /* number of seg records dumped on this dump volume */ 1 48 3 num_null_vtoce fixed bin, /* number of null vtoce dumped from this physical volume */ 1 49 3 num_vtoce_only fixed bin, /* number of vtoce only */ 1 50 3 mod_after_time fixed bin (71), /* dump all modified since this date */ 1 51 3 dump_type fixed bin, /* type of dump */ 1 52 3 save_time fixed bin (71), /* date, time of start of dump */ 1 53 3 start_time fixed bin (71), /* start time of physical volume pass */ 1 54 3 wakeup_interval fixed bin (71), /* interval between wakeups of dumper in micro secs. */ 1 55 3 incr_ev_chn fixed bin (71), /* event chn used to wakeup incremental dumper */ 1 56 3 incr_skip_count fixed bin, /* number of incr cycles skiped befor purging */ 1 57 3 pre_attach_vol fixed bin, /* if greater then 1 then pre attach output streams */ 1 58 3 vol_idx fixed bin, /* index of multi volume attachment sequence */ 1 59 3 component fixed bin, /* msf component of contents_name seg */ 1 60 2 bits, 1 61 3 volid bit (36), /* uid of dump volume */ 1 62 3 pre_attach_volid (50) bit (36), /* array of volid */ 1 63 3 cycle_uid bit (36), /* uid of this dump cycle */ 1 64 3 pvid bit (36), /* uid of physical volume being dumped */ 1 65 3 flags, 1 66 ( 4 purge bit (1), /* if on purge volume logs */ 1 67 4 auto_vol bit (1), /* if on use automatic dump volume selection */ 1 68 4 disable_error_report bit (1), /* if on disables error reporting */ 1 69 4 arg_init bit (1), /* if on indicates args have been processed */ 1 70 4 manual_free bit (1), /* on if manual free will be done */ 1 71 4 err_online bit (1), /* Flag error output to be online, default to a file */ 1 72 4 detach bit (1), /* if on control detachment of dump volume */ 1 73 4 no_object bit (1), /* if on not copy object from ring 0 */ 1 74 4 no_update bit (1), /* if on prevent vtoce update */ 1 75 4 data_init bit (1), /* if on indicates that data structure has been initialized */ 1 76 4 reset bit (1), /* if on put items back on list */ 1 77 4 accounting bit (1), /* if on enables accounting */ 1 78 4 dmpr_asleep bit (1), /* dumper is asleep - interlock to prevent restart of last volume */ 1 79 4 dump_in_progress bit (1), /* recursive entry interlock */ 1 80 4 not_reported bit (1), /* on if output counts not reported */ 1 81 4 names bit (1), /* collect all names from dirs that are dumped */ 1 82 4 cur_vol_open bit (1), /* if a successful open on this volname */ 1 83 4 trace bit (1), /* ON => trace */ 1 84 4 pad bit (18)) unal, /* fill out the word properly */ 1 85 3 old_256K_switch bit(2) aligned, /* 256K segs enabled prior to this dumper invocation?*/ 1 86 3 rpv_pvid bit (36), /* because the label really doesn't have it */ 1 87 2 chars, 1 88 3 sys_dir char (168), /* system directory where all volume dumper data lives */ 1 89 3 prev_volname char (32), 1 90 3 pre_attach_volname (50) char (32), /* array of volnames */ 1 91 3 io_module char (32), /* name of attached outer module for output io */ 1 92 3 pvname char (32), /* name of physical volume being dumped */ 1 93 3 att_desc char (256), /* attach description for output */ 1 94 3 volname char (32), /* name of dump volume */ 1 95 3 control_name char (32), /* dump control file name */ 1 96 3 myname char (32), /* name of entry called */ 1 97 3 operator char (32), /* operator name */ 1 98 3 restart_pvname char (32), /* where to restart complete or consolidated dump */ 1 99 3 lvname char (32), /* name of logical volume being dumped */ 1 100 2 disk_type fixed bin; /* disk type for recording in the volog */ 1 101 1 102 1 103 /* END OF INCLUDE FILE ... dmpr_data_.incl.pl1 */ 231 232 2 1 /* BEGIN INCLUDE FILE ... backup_static_variables.incl.pl1 ... March 1976 */ 2 2 2 3 2 4 dcl incr fixed bin init (1) internal static options (constant); /* incremental dump mode */ 2 5 dcl cons fixed bin init (2) internal static options (constant); /* consolidated dump mode */ 2 6 dcl comp fixed bin init (3) internal static options (constant); /* complete dump mode */ 2 7 dcl backup_version_1 fixed bin init (1) static internal options (constant); /* backup_version_1 of input/output structures */ 2 8 2 9 2 10 2 11 /* END INCLUDE FILE ... backup_static_variables.incl.pl1 */ 233 234 3 1 /* BEGIN INCLUDE FILE ... backup_volume_log.incl.pl1 ... Feb 1976 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(88-03-03,GWMay), approve(89-10-03,MCR8135), 3 6* audit(89-10-04,Beattie), install(89-10-10,MR12.3-1089): 3 7* Added values for storing the number of incremental and consolidated dump 3 8* sets to retain in the volume log. Incremented version number to 3. 3 9* END HISTORY COMMENTS */ 3 10 3 11 3 12 /* Modified: 3/7/84 by GA Texada to change to version 2 */ 3 13 dcl bvlp ptr; 3 14 dcl bvlep ptr; 3 15 3 16 dcl backup_volume_log_version_1 fixed bin static init (1) options (constant); 3 17 dcl backup_volume_log_version_2 fixed bin init(2) int static options(constant); 3 18 dcl backup_volume_log_version_3 fixed bin init(3) int static options(constant); 3 19 3 20 dcl 1 backup_volume_log based (bvlp) aligned, 3 21 2 header like backup_volume_header aligned, 3 22 2 info like backup_pvol_info aligned, 3 23 2 version fixed bin, /* version number */ 3 24 2 lock bit (36), /* shared data base */ 3 25 2 pvname char (32), /* physical volume name */ 3 26 2 pvid bit (36), /* physical volume id */ 3 27 2 next fixed bin, /* next available dump record */ 3 28 2 reload_groups fixed bin, /* number of reload groups in log */ 3 29 2 purge_control (3), /* control selective purging by dump type */ 3 30 3 group (36) bit (1) unaligned, /* up to 36 reload groups */ 3 31 2 disk_type fixed bin unal, /* type of disk drive */ 3 32 2 half_word_pad bit(18) unal, /* MBZ */ 3 33 2 rpv_pvid bit(36), /* pvid of this volumes RPV */ 3 34 2 Nsaved_incr_sets fixed bin, /* number of incr cycles to retain */ 3 35 2 Nsaved_cons_sets fixed bin, /* number of incr cycles to retain */ 3 36 2 pad (31) bit (36), /* for future expansion (MBZ) */ 3 37 2 array (1:1 refer (backup_volume_log.next)) like bvle aligned; 3 38 3 39 dcl 1 bvle based (bvlep) aligned, 3 40 2 cycle_uid bit (36), /* uid of this dump cycle */ 3 41 2 dump_type fixed bin, /* type of dump */ 3 42 2 volname char (32), /* name of output volume */ 3 43 2 open_time fixed bin (71), /* opening time of dump pass on this physical volume */ 3 44 2 close_time fixed bin (71), /* ending time of dump pass */ 3 45 2 volid bit (36), /* uid of output volume */ 3 46 2 io_module char (32), /* outer module name that wrote this volume */ 3 47 2 flags, /* flags */ 3 48 3 purge_scan_logged bit (1) unaligned, /* if on object looged during purge scan */ 3 49 3 pad1 bit (35) unaligned, 3 50 2 pad (7) bit (36), /* for future expansion */ 3 51 (2 dir_num fixed bin, /* number of dirs dumped on this pass */ 3 52 2 dir_rec fixed bin, /* number of records of dirs */ 3 53 2 seg_num fixed bin, /* number of segs dumped on this pass */ 3 54 2 seg_rec fixed bin) unaligned; /* number of records of segs */ 3 55 3 56 /* END INCLUDE FILE ... backup_volume_log */ 235 236 4 1 /* BEGIN INCLUDE FILE ... backup_pvol_info.incl.pl1 */ 4 2 4 3 dcl bpvip ptr; 4 4 4 5 dcl 1 backup_pvol_info based (bpvip) aligned, 4 6 2 label like label aligned, 4 7 2 n_vtoce fixed bin, 4 8 2 n_free_vtoce fixed bin, 4 9 2 n_rec fixed bin, 4 10 2 baseadd fixed bin, 4 11 2 n_free_rec fixed bin; 4 12 4 13 /* END INCLUDE FILE ... backup_pvol_info.incl.pl1 */ 237 238 5 1 /* BEGIN INCLUDE FILE ... fs_vol_label.incl.pl1 .. last modified January 1982 for new volume map format */ 5 2 5 3 /****^ HISTORY COMMENTS: 5 4* 1) change(86-04-10,Fawcett), approve(86-04-10,MCR7383), 5 5* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 5 6* Add the subvolume info. 5 7* 2) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 5 8* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 5 9* Added inconsistent_dbm bit used to determine consistency of volume 5 10* dumper bit maps. 5 11* END HISTORY COMMENTS */ 5 12 5 13 /* This is the label at fixed location of each physical volume. Length 1 page */ 5 14 /* Note: fsout_vol clears pad fields before writing the label */ 5 15 5 16 dcl labelp ptr; 5 17 5 18 dcl 1 label based (labelp) aligned, 5 19 5 20 /* First comes data not used by Multics.. for compatibility with GCOS */ 5 21 5 22 2 gcos (5*64) fixed bin, 5 23 5 24 /* Now we have the Multics label */ 5 25 5 26 2 Multics char (32) init ("Multics Storage System Volume"), /* Identifier */ 5 27 2 version fixed bin, /* Version 1 */ 5 28 2 mfg_serial char (32), /* Manufacturer's serial number */ 5 29 2 pv_name char (32), /* Physical volume name. */ 5 30 2 lv_name char (32), /* Name of logical volume for pack */ 5 31 2 pvid bit (36), /* Unique ID of this pack */ 5 32 2 lvid bit (36), /* unique ID of its logical vol */ 5 33 2 root_pvid bit (36), /* unique ID of the pack containing the root. everybody must agree. */ 5 34 2 time_registered fixed bin (71), /* time imported to system */ 5 35 2 n_pv_in_lv fixed bin, /* # phys volumes in logical */ 5 36 2 vol_size fixed bin, /* total size of volume, in records */ 5 37 2 vtoc_size fixed bin, /* number of recs in fixed area + vtoc */ 5 38 2 not_used bit (1) unal, /* used to be multiple_class */ 5 39 2 private bit (1) unal, /* TRUE if was registered as private */ 5 40 2 inconsistent_dbm bit (1) unal, /* TRUE if ESD-less crash */ 5 41 2 flagpad bit (33) unal, 5 42 2 max_access_class bit (72), /* Maximum access class for stuff on volume */ 5 43 2 min_access_class bit (72), /* Minimum access class for stuff on volume */ 5 44 2 password bit (72), /* not yet used */ 5 45 2 number_of_sv fixed bin, /* if = 0 not a subvolume else the number of svs */ 5 46 2 this_sv fixed bin, /* what subvolume number it is */ 5 47 2 sub_vol_name char (1), /* what subvolume name (a b c d) it is */ 5 48 2 pad1 (13) fixed bin, 5 49 2 time_mounted fixed bin (71), /* time mounted */ 5 50 2 time_map_updated fixed bin (71), /* time vmap known good */ 5 51 5 52 /* The next two words overlay time_unmounted on pre-MR10 systems. This 5 53* forces a salvage if an MR10 pack is mounted on an earlier system. 5 54* */ 5 55 2 volmap_version fixed bin, /* version of volume map (currently 1) */ 5 56 2 pad6 fixed bin, 5 57 5 58 2 time_salvaged fixed bin (71), /* time salvaged */ 5 59 2 time_of_boot fixed bin (71), /* time of last bootload */ 5 60 2 time_unmounted fixed bin (71), /* time unmounted cleanly */ 5 61 2 last_pvtx fixed bin, /* pvtx in that PDMAP */ 5 62 2 pad1a (2) fixed bin, 5 63 2 err_hist_size fixed bin, /* size of pack error history */ 5 64 2 time_last_dmp (3) fixed bin (71), /* time last completed dump pass started */ 5 65 2 time_last_reloaded fixed bin (71), /* what it says */ 5 66 2 pad2 (40) fixed bin, 5 67 2 root, 5 68 3 here bit (1), /* TRUE if the root is on this pack */ 5 69 3 root_vtocx fixed bin (35), /* VTOC index of root, if it is here */ 5 70 3 shutdown_state fixed bin, /* Status of hierarchy */ 5 71 3 pad7 bit (1) aligned, 5 72 3 disk_table_vtocx fixed bin, /* VTOC index of disk table on RPV */ 5 73 3 disk_table_uid bit (36) aligned, /* UID of disk table */ 5 74 3 esd_state fixed bin, /* State of esd */ 5 75 2 volmap_record fixed bin, /* Begin record of volume map */ 5 76 2 size_of_volmap fixed bin, /* Number of records in volume map */ 5 77 2 vtoc_map_record fixed bin, /* Begin record of VTOC map */ 5 78 2 size_of_vtoc_map fixed bin, /* Number of records in VTOC map */ 5 79 2 volmap_unit_size fixed bin, /* Number of words per volume map section */ 5 80 2 vtoc_origin_record fixed bin, /* Begin record of VTOC */ 5 81 2 dumper_bit_map_record fixed bin, /* Begin record of dumper bit-map */ 5 82 2 vol_trouble_count fixed bin, /* Count of inconsistencies found since salvage */ 5 83 2 pad3 (52) fixed bin, 5 84 2 nparts fixed bin, /* Number of special partitions on pack */ 5 85 2 parts (47), 5 86 3 part char (4), /* Name of partition */ 5 87 3 frec fixed bin, /* First record */ 5 88 3 nrec fixed bin, /* Number of records */ 5 89 3 pad5 fixed bin, 5 90 2 pad4 (5*64) fixed bin; 5 91 5 92 dcl Multics_ID_String char (32) init ("Multics Storage System Volume") static; 5 93 5 94 /* END INCLUDE FILE fs_vol_label.incl.pl1 */ 239 240 6 1 /* BEGIN INCLUDE FILE ... backup_volume_header ... Feb 1976 */ 6 2 6 3 dcl hdp ptr; /* ptr to header */ 6 4 6 5 dcl 1 backup_volume_header based (hdp) aligned, 6 6 2 pattern1 bit (36), /* unique word 1 */ 6 7 2 rec1_type fixed bin, /* record 1 type */ 6 8 2 rec1_len fixed bin, /* length in chars */ 6 9 2 pattern2 bit (36), /* unique word 2 */ 6 10 2 rec2_type fixed bin, /* record 2 type */ 6 11 2 rec2_len fixed bin, /* length in chars */ 6 12 2 pattern3 bit (36), /* unique word 3 */ 6 13 2 time_dumped bit (36); /* dump time of this record */ 6 14 6 15 dcl vtoce_type fixed bin static init (1) options (constant); /* type code for vtoce */ 6 16 dcl dir_type fixed bin static init (2) options (constant); /* type code for directory */ 6 17 dcl seg_type fixed bin static init (3) options (constant); /* type code for segment */ 6 18 dcl null_type fixed bin static init (4) options (constant); /* type code for null record */ 6 19 dcl volume_log_type fixed bin static init (5) options (constant); /* type code for volume log */ 6 20 dcl prev_output_log_type fixed bin static init (6) options (constant); /* type code for prev output log */ 6 21 dcl contents_type fixed bin static init (7) options (constant); /* type code for contents segment of previous volume */ 6 22 dcl info_type fixed bin static init (8) options (constant); /* type code for info structure */ 6 23 6 24 dcl pattern1 bit (36) int static init ("110111000011001100011101101010100101"b) options (constant); 6 25 dcl pattern2 bit (36) int static init ("101001010101101110001100110000111011"b) options (constant); 6 26 dcl pattern3 bit (36) int static init ("001000111100110011100010010101011010"b) options (constant); 6 27 6 28 /* END INCLUDE FILE ... backup_volume_header */ 241 242 7 1 /* BEGIN INCLUDE FILE backup_volume_contents.incl.pl1 ... May 1976 */ 7 2 7 3 7 4 7 5 /****^ HISTORY COMMENTS: 7 6* 1) change(86-11-10,GWMay), approve(86-11-10,MCR7445), audit(86-11-19,GDixon), 7 7* install(86-11-21,MR12.0-1223): 7 8* increased the size of the offset field to fixed bin (18). 7 9* END HISTORY COMMENTS */ 7 10 7 11 7 12 dcl contentsp ptr; /* ptr to structure */ 7 13 7 14 dcl backup_volume_contents_version_3 fixed bin static init (3) options (constant); 7 15 7 16 7 17 dcl 1 v1_backup_volume_contents based (contentsp) aligned, 7 18 2 header like backup_volume_header aligned, 7 19 2 version fixed bin, /* version number of structure */ 7 20 2 volname char (32), /* volume name */ 7 21 2 volid bit (36), /* volume id */ 7 22 2 next fixed bin, /* index of next available slot in uid array */ 7 23 2 array (1: 1 refer (backup_volume_contents.next)), /* array of arrays of data objects on this output volume */ 7 24 3 uid bit (36); /* uid */ 7 25 7 26 dcl 1 v2_backup_volume_contents based (contentsp) aligned, 7 27 2 header like backup_volume_header aligned, 7 28 2 version fixed bin, /* version number of structure */ 7 29 2 volname char (32), /* volume name */ 7 30 2 volid bit (36), /* volume id */ 7 31 2 next fixed bin, /* index of next available slot in uid array */ 7 32 2 pad (10) bit (36), 7 33 2 array (1: 1 refer (backup_volume_contents.next)), /* array of arrays of data objects on this output volume */ 7 34 3 uid bit (36), /* uid */ 7 35 3 location, /* offset of name string */ 7 36 4 component fixed bin (17) unal, 7 37 4 offset fixed bin (17) unal ; 7 38 7 39 dcl 1 backup_volume_contents based (contentsp) aligned, 7 40 2 header like backup_volume_header aligned, 7 41 2 version fixed bin, /* version number of structure */ 7 42 2 volname char (32), /* volume name */ 7 43 2 volid bit (36), /* volume id */ 7 44 2 next fixed bin, /* index of next available slot in uid array */ 7 45 2 pad (10) bit (36), 7 46 2 array (1: 1 refer (backup_volume_contents.next)), /* array of arrays of data objects on this output volume */ 7 47 3 uid bit (36), /* uid */ 7 48 3 tape_loc fixed bin (35), 7 49 3 pad1 bit (36), 7 50 3 location, /* offset of name string */ 7 51 4 component fixed bin (18) unsigned unal, 7 52 4 offset fixed bin (18) unsigned unal ; 7 53 7 54 dcl contents_namesp ptr; /* ptr to optional name seg */ 7 55 7 56 dcl 1 backup_volume_contents_names based (contents_namesp) aligned, 7 57 2 version fixed bin, 7 58 2 offset fixed bin (18), /* next free location */ 7 59 2 pad (6) bit (36), 7 60 2 begin bit (36); 7 61 7 62 7 63 /* END INCLUDE FILE backup_volume_contents.incl.pl1 */ 243 244 8 1 /* BEGIN INCLUDE FILE ... pvolog.incl.pl1 9/76 */ 8 2 8 3 dcl pvlp ptr; 8 4 dcl pvlep ptr; 8 5 8 6 dcl pvolog_version_1 fixed bin int static init (1) options (constant); 8 7 8 8 dcl 1 pvolog aligned based (pvlp), 8 9 2 lock bit (36), 8 10 2 version fixed bin, 8 11 2 dump_type fixed bin, 8 12 2 mount_time fixed bin (71), 8 13 2 volid bit (36), 8 14 2 next fixed bin, 8 15 2 in_use fixed bin, 8 16 2 array (1:1 refer (pvolog.next)) like pvle aligned; 8 17 8 18 dcl 1 pvle based (pvlep) aligned, 8 19 2 pvname char (32), 8 20 2 invocation_count fixed bin; 8 21 8 22 /* END INCLUDE FILE ... pvolog.incl.pl1 */ 245 246 9 1 /* BEGIN INCLUDE FILE ... system_constants.incl.pl1 */ 9 2 9 3 /****^ HISTORY COMMENTS: 9 4* 1) change(86-11-12,GWMay), approve(86-11-12,MCR7445), audit(86-11-19,GDixon), 9 5* install(86-11-21,MR12.0-1223): 9 6* created. 9 7* END HISTORY COMMENTS */ 9 8 9 9 /* format: off */ 9 10 9 11 /* ************************************************************************ */ 9 12 /* */ 9 13 /* Function: Provides constants for commonly used Multics system values. */ 9 14 /* */ 9 15 /* Usage: These values are available for use in place of "magic" numbers */ 9 16 /* (unexplained numbers) in programming applications. */ 9 17 /* */ 9 18 /* Definitions: */ 9 19 /* */ 9 20 /* PER bit character/byte word page segment */ 9 21 /* */ 9 22 /* bits 1 9 36 36864 9400320 */ 9 23 /* characters/bytes 1 4 4096 1044480 */ 9 24 /* words 1 1024 261120 */ 9 25 /* pages 1 255 */ 9 26 /* segments 1 */ 9 27 /* */ 9 28 /* The base values for a bit, char, word and page are determined by the */ 9 29 /* Multics hardware implementation. The other values are calculated from */ 9 30 /* their relation to one another as shown in the matrix above. */ 9 31 /* */ 9 32 /* BITS_PER_CHAR = 9 (defined by the hardware) */ 9 33 /* BITS_PER_WORD = BITS_PER_CHAR * CHARS_PER_WORD */ 9 34 /* = 9 * 4 */ 9 35 /* = 36 */ 9 36 /* BITS_PER_PAGE = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE */ 9 37 /* = 9 * 4 * 1024 */ 9 38 /* = 36864 */ 9 39 /* BITS_PER_SEGMENT = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE * */ 9 40 /* PAGES_PER_SEGMENT */ 9 41 /* = 9 * 4 * 1024 * 255 */ 9 42 /* = 9400320 */ 9 43 /* */ 9 44 /* CHARS_PER_WORD = 4 (defined by the hardware) */ 9 45 /* CHARS_PER_PAGE = CHARS_PER_WORD * WORDS_PER_PAGE */ 9 46 /* = 4 * 1024 */ 9 47 /* = 4096 */ 9 48 /* CHARS_PER_SEGMENT = CHARS_PER_WORD * WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 9 49 /* = 4 * 1024 * 255 */ 9 50 /* = 1044480 */ 9 51 /* */ 9 52 /* WORDS_PER_PAGE = 1024 (defined by the hardware) */ 9 53 /* WORDS_PER_SEGMENT = WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 9 54 /* = 1024 * 255 */ 9 55 /* = 261120 */ 9 56 /* */ 9 57 /* PAGES_PER_SEGMENT = 255 (defined by system standard) */ 9 58 /* */ 9 59 /* ************************************************************************ */ 9 60 9 61 declare BITS_PER_CHAR fixed bin (4) internal static 9 62 options (constant) initial (9); 9 63 9 64 declare BITS_PER_WORD fixed bin (6) internal static 9 65 options (constant) initial (36); 9 66 9 67 declare BITS_PER_PAGE fixed bin (16) internal static 9 68 options (constant) initial (36864); 9 69 9 70 declare BITS_PER_SEGMENT fixed bin (24) internal static 9 71 options (constant) initial (9400320); 9 72 9 73 declare CHARS_PER_WORD fixed bin (3) internal static 9 74 options (constant) initial (4); 9 75 9 76 declare CHARS_PER_PAGE fixed bin (13) internal static 9 77 options (constant) initial (4096); 9 78 9 79 declare CHARS_PER_SEGMENT fixed bin (21) internal static 9 80 options (constant) initial (1044480); 9 81 9 82 /* Note: WORDS_PER_PAGE should be equal to sys_info$max_page_size */ 9 83 9 84 declare WORDS_PER_PAGE fixed bin (11) internal static 9 85 options (constant) initial (1024); 9 86 9 87 /* Note: WORDS_PER_SEGMENT should be equal to sys_info$max_seg_size */ 9 88 9 89 declare WORDS_PER_SEGMENT fixed bin (21) internal static 9 90 options (constant) initial (261120); 9 91 9 92 declare PAGES_PER_SEGMENT fixed bin (8) internal static 9 93 options (constant) initial (255); 9 94 9 95 /* END INCLUDE FILE ... system_constants.incl.pl1 */ 9 96 247 248 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 */ 249 250 251 252 end dmpr_finish_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1926.8 dmpr_finish_.pl1 >udd>sm>ds>w>ml>dmpr_finish_.pl1 231 1 10/24/84 1033.1 dmpr_data_.incl.pl1 >ldd>incl>dmpr_data_.incl.pl1 233 2 09/05/80 1236.5 backup_static_variables.incl.pl1 >ldd>incl>backup_static_variables.incl.pl1 235 3 10/12/89 2113.4 backup_volume_log.incl.pl1 >ldd>incl>backup_volume_log.incl.pl1 237 4 06/07/77 1333.6 backup_pvol_info.incl.pl1 >ldd>incl>backup_pvol_info.incl.pl1 239 5 07/21/88 2136.0 fs_vol_label.incl.pl1 >ldd>incl>fs_vol_label.incl.pl1 241 6 09/05/80 1236.5 backup_volume_header.incl.pl1 >ldd>incl>backup_volume_header.incl.pl1 243 7 11/24/86 1343.9 backup_volume_contents.incl.pl1 >ldd>incl>backup_volume_contents.incl.pl1 245 8 03/26/81 1420.5 pvolog.incl.pl1 >ldd>incl>pvolog.incl.pl1 247 9 11/24/86 1343.9 system_constants.incl.pl1 >ldd>incl>system_constants.incl.pl1 249 10 04/06/83 1339.4 terminate_file.incl.pl1 >ldd>incl>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. BITS_PER_WORD constant fixed bin(6,0) initial dcl 9-64 ref 89 account_iocbp 316 based pointer level 3 dcl 1-13 set ref 108 108* adjust_bit_count_ 000024 constant entry external dcl 54 ref 225 attach_name 000101 automatic char(32) packed unaligned dcl 43 set ref 129* 130* auto_vol 475(01) based bit(1) level 4 packed packed unaligned dcl 1-13 ref 123 backup_pvol_info based structure level 1 dcl 4-5 backup_volume_contents_names based structure level 1 dcl 7-56 backup_volume_header based structure level 1 dcl 6-5 backup_volume_log based structure level 1 dcl 3-20 bit_count 000111 automatic fixed bin(24,0) dcl 44 set ref 89* 90* bits 410 based structure level 2 dcl 1-13 bvle based structure level 1 dcl 3-39 bvlp 336 based pointer level 3 in structure "dmpr_data_" dcl 1-13 in procedure "dmpr_finish_" set ref 79 80 82* bvlp 000124 automatic pointer dcl 3-13 in procedure "dmpr_finish_" set ref 80* 197 chars 500 based structure level 2 dcl 1-13 code parameter fixed bin(35,0) dcl 41 set ref 28 74* 142* 155* 198* component 407 based fixed bin(17,0) level 3 dcl 1-13 set ref 90* contents_namesp 000126 automatic pointer dcl 7-54 in procedure "dmpr_finish_" set ref 88* 89 contents_namesp 146 based pointer level 3 in structure "dmpr_data_" dcl 1-13 in procedure "dmpr_finish_" ref 87 88 contentsp 334 based pointer level 3 dcl 1-13 set ref 102 102* control_iocbp 326 based pointer level 3 dcl 1-13 set ref 105 105* data_init 475(09) based bit(1) level 4 packed packed unaligned dcl 1-13 ref 76 detach 475(06) based bit(1) level 4 packed packed unaligned dcl 1-13 ref 111 dirp 340 based pointer level 3 dcl 1-13 ref 150 dmpr_data_ based structure level 1 dcl 1-13 dmpr_log_$close_volume_log 000040 constant entry external dcl 60 ref 198 dmpr_report_$error_output 000034 constant entry external dcl 58 ref 123 123 136 136 dmpr_report_$online_output 000036 constant entry external dcl 59 ref 112 dmprp 000062 external static pointer initial dcl 1-8 set ref 75 76 79 80 82 86 87 88 90 90 92 96 97 99 102 102 105 105 108 108 111 112 112 112 112 112 112 112 117 118 118 121 121 121 123 123 123 126 128 128 130 132 136 136 139 139 141 141 142 143 146 146 148 150 151 152 153 156 158 159 161* dn 000166 automatic char(168) packed unaligned dcl 221 set ref 224* 225* dump_in_progress 475(13) based bit(1) level 4 packed packed unaligned dcl 1-13 set ref 158* dump_type 372 based fixed bin(17,0) level 3 dcl 1-13 set ref 141 146* 148* dump_volume_dir_num 361 based fixed bin(17,0) level 3 dcl 1-13 set ref 112* dump_volume_dir_rec 362 based fixed bin(17,0) level 3 dcl 1-13 set ref 112* dump_volume_seg_num 363 based fixed bin(17,0) level 3 dcl 1-13 set ref 112* dump_volume_seg_rec 364 based fixed bin(17,0) level 3 dcl 1-13 set ref 112* en 000240 automatic char(32) packed unaligned dcl 222 set ref 224* 225* error_iocbp 330 based pointer level 3 dcl 1-13 set ref 139 139* fcbp 344 based pointer level 3 dcl 1-13 set ref 86 90* 92* fixed_bin 350 based structure level 2 dcl 1-13 flags 475 based structure level 3 dcl 1-13 hc_backup_$dmpr_unlock_pv 000046 constant entry external dcl 63 ref 146 hc_backup_$revert_dmpr 000050 constant entry external dcl 64 ref 148 hcs_$delentry_seg 000026 constant entry external dcl 55 ref 126 hcs_$fs_get_path_name 000022 constant entry external dcl 53 ref 224 hcs_$set_256K_switch 000052 constant entry external dcl 65 ref 156 hcs_$terminate_seg 000030 constant entry external dcl 56 ref 226 i 000100 automatic fixed bin(17,0) dcl 42 set ref 121* 121* 123 126* 128* 128* 129* 130* ignore 000112 automatic fixed bin(35,0) dcl 45 set ref 90* 123* 126* 129* 146* 159* 176* 178* 180* 197* 209* 224* 225* 226* incr constant fixed bin(17,0) initial dcl 2-4 ref 141 incr_ev_chn 402 based fixed bin(71,0) level 3 dcl 1-13 set ref 141 142* 143* infop 320 based pointer level 3 dcl 1-13 ref 153 inputp 322 based pointer level 3 dcl 1-13 ref 151 ioa_$rsnnl 000020 constant entry external dcl 52 ref 129 iocb_name parameter char packed unaligned dcl 172 set ref 168 176* iocbp parameter pointer dcl 174 set ref 168 182* iox_$close 000054 constant entry external dcl 66 ref 178 iox_$detach_iocb 000060 constant entry external dcl 68 ref 180 iox_$find_iocb 000056 constant entry external dcl 67 ref 176 ipc_$delete_ev_chn 000044 constant entry external dcl 62 ref 142 label based structure level 1 dcl 5-18 ldn 000250 automatic fixed bin(17,0) dcl 223 set ref 224* lock 1 based bit(36) level 2 in structure "dmpr_data_" dcl 1-13 in procedure "dmpr_finish_" set ref 159* lock 2016 based bit(36) level 2 in structure "backup_volume_log" dcl 3-20 in procedure "dmpr_finish_" set ref 197* lock based bit(36) level 2 in structure "pvolog" dcl 8-8 in procedure "dmpr_finish_" set ref 209* manage_volume_pool$free 000016 constant entry external dcl 51 ref 123 manage_volume_pool_$check_reserved 000014 constant entry external dcl 50 ref 136 msf_manager_$adjust 000010 constant entry external dcl 48 ref 90 msf_manager_$close 000012 constant entry external dcl 49 ref 92 myname 1542 based char(32) level 3 dcl 1-13 set ref 112* not_reported 475(14) based bit(1) level 4 packed packed unaligned dcl 1-13 set ref 117* null builtin function dcl 72 ref 75 79 86 87 96 102 105 108 112 121 128 136 139 161 182 227 offset 1 based fixed bin(18,0) level 2 dcl 7-56 ref 89 old_256K_switch 476 based bit(2) level 3 dcl 1-13 set ref 156* outputvol_iocbp 332 based pointer level 3 dcl 1-13 set ref 112 118* p parameter pointer dcl 220 set ref 216 224* 226* 227* pre_attach_iocbp 150 based pointer array level 3 dcl 1-13 set ref 128 130* pre_attach_pvlp 2 based pointer array level 3 dcl 1-13 set ref 121 126* pre_attach_vol 405 based fixed bin(17,0) level 3 dcl 1-13 set ref 118 121 128 132* pre_attach_volname 562 based char(32) array level 3 dcl 1-13 set ref 123* ptrs 2 based structure level 2 dcl 1-13 pvid 474 based bit(36) level 3 dcl 1-13 set ref 146* pvle based structure level 1 dcl 8-18 pvlp 314 based pointer level 3 in structure "dmpr_data_" dcl 1-13 in procedure "dmpr_finish_" set ref 96 97 99* pvlp 000130 automatic pointer dcl 8-3 in procedure "dmpr_finish_" set ref 97* 209 pvolog based structure level 1 dcl 8-8 recordp 324 based pointer level 3 dcl 1-13 ref 152 release_temp_segments_ 000032 constant entry external dcl 57 ref 155 set_bc_n_truncate 000000 constant bit(3) initial packed unaligned dcl 70 set ref 90* set_lock_$unlock 000042 constant entry external dcl 61 ref 159 197 209 tiocbp 000142 automatic pointer dcl 173 set ref 176* 178* 180* tp 000114 automatic pointer array dcl 46 set ref 150* 151* 152* 153* 155* vol_idx 406 based fixed bin(17,0) level 3 dcl 1-13 ref 121 volname 1522 based char(32) level 3 dcl 1-13 set ref 112* vpp 346 based pointer level 3 dcl 1-13 set ref 123* 136 136* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BITS_PER_CHAR internal static fixed bin(4,0) initial dcl 9-61 BITS_PER_PAGE internal static fixed bin(16,0) initial dcl 9-67 BITS_PER_SEGMENT internal static fixed bin(24,0) initial dcl 9-70 CHARS_PER_PAGE internal static fixed bin(13,0) initial dcl 9-76 CHARS_PER_SEGMENT internal static fixed bin(21,0) initial dcl 9-79 CHARS_PER_WORD internal static fixed bin(3,0) initial dcl 9-73 Multics_ID_String internal static char(32) initial packed unaligned dcl 5-92 PAGES_PER_SEGMENT internal static fixed bin(8,0) initial dcl 9-92 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_TERM internal static bit(3) initial packed unaligned dcl 10-14 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 WORDS_PER_PAGE internal static fixed bin(11,0) initial dcl 9-84 WORDS_PER_SEGMENT internal static fixed bin(21,0) initial dcl 9-89 backup_version_1 internal static fixed bin(17,0) initial dcl 2-7 backup_volume_contents based structure level 1 dcl 7-39 backup_volume_contents_version_3 internal static fixed bin(17,0) initial dcl 7-14 backup_volume_log_version_1 internal static fixed bin(17,0) initial dcl 3-16 backup_volume_log_version_2 internal static fixed bin(17,0) initial dcl 3-17 backup_volume_log_version_3 internal static fixed bin(17,0) initial dcl 3-18 bpvip automatic pointer dcl 4-3 bvlep automatic pointer dcl 3-14 comp internal static fixed bin(17,0) initial dcl 2-6 cons internal static fixed bin(17,0) initial dcl 2-5 contents_type internal static fixed bin(17,0) initial dcl 6-21 contentsp automatic pointer dcl 7-12 dir_type internal static fixed bin(17,0) initial dcl 6-16 dmpr_data_version_2 internal static fixed bin(17,0) initial dcl 1-9 dmpr_data_version_3 internal static fixed bin(17,0) initial dcl 1-10 hdp automatic pointer dcl 6-3 info_type internal static fixed bin(17,0) initial dcl 6-22 labelp automatic pointer dcl 5-16 null_type internal static fixed bin(17,0) initial dcl 6-18 pattern1 internal static bit(36) initial packed unaligned dcl 6-24 pattern2 internal static bit(36) initial packed unaligned dcl 6-25 pattern3 internal static bit(36) initial packed unaligned dcl 6-26 prev_output_log_type internal static fixed bin(17,0) initial dcl 6-20 pvlep automatic pointer dcl 8-4 pvolog_version_1 internal static fixed bin(17,0) initial dcl 8-6 seg_type internal static fixed bin(17,0) initial dcl 6-17 terminate_file_switches based structure level 1 packed packed unaligned dcl 10-4 v1_backup_volume_contents based structure level 1 dcl 7-17 v2_backup_volume_contents based structure level 1 dcl 7-26 volume_log_type internal static fixed bin(17,0) initial dcl 6-19 vtoce_type internal static fixed bin(17,0) initial dcl 6-15 NAMES DECLARED BY EXPLICIT CONTEXT. detach 001060 constant entry internal dcl 168 ref 105 108 118 130 139 dmpr_finish_ 000065 constant entry external dcl 28 setbc_term 001201 constant entry internal dcl 216 ref 82 99 102 unlock_pvolog 001166 constant entry internal dcl 205 ref 98 unlock_volume_log 001142 constant entry internal dcl 193 ref 81 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1626 1712 1315 1636 Length 2334 1315 64 406 311 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dmpr_finish_ 276 external procedure is an external procedure. detach internal procedure shares stack frame of external procedure dmpr_finish_. unlock_volume_log internal procedure shares stack frame of external procedure dmpr_finish_. unlock_pvolog internal procedure shares stack frame of external procedure dmpr_finish_. setbc_term internal procedure shares stack frame of external procedure dmpr_finish_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dmpr_finish_ 000100 i dmpr_finish_ 000101 attach_name dmpr_finish_ 000111 bit_count dmpr_finish_ 000112 ignore dmpr_finish_ 000114 tp dmpr_finish_ 000124 bvlp dmpr_finish_ 000126 contents_namesp dmpr_finish_ 000130 pvlp dmpr_finish_ 000142 tiocbp detach 000166 dn setbc_term 000240 en setbc_term 000250 ldn setbc_term THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. adjust_bit_count_ dmpr_log_$close_volume_log dmpr_report_$error_output dmpr_report_$online_output hc_backup_$dmpr_unlock_pv hc_backup_$revert_dmpr hcs_$delentry_seg hcs_$fs_get_path_name hcs_$set_256K_switch hcs_$terminate_seg ioa_$rsnnl iox_$close iox_$detach_iocb iox_$find_iocb ipc_$delete_ev_chn manage_volume_pool$free manage_volume_pool_$check_reserved msf_manager_$adjust msf_manager_$close release_temp_segments_ set_lock_$unlock THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dmprp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000062 74 000072 75 000074 76 000100 79 000105 80 000111 81 000113 82 000114 86 000125 87 000134 88 000140 89 000142 90 000145 92 000163 96 000174 97 000203 98 000205 99 000206 102 000217 105 000234 108 000264 111 000313 112 000321 117 000371 118 000376 121 000422 123 000441 126 000477 127 000512 128 000514 129 000537 130 000576 131 000617 132 000621 136 000625 139 000653 141 000702 142 000712 143 000723 146 000730 148 000742 150 000753 151 000760 152 000764 153 000770 155 000774 156 001017 158 001037 159 001044 161 001054 162 001057 168 001060 176 001071 178 001114 180 001125 182 001136 184 001141 193 001142 197 001143 198 001155 199 001165 205 001166 209 001167 210 001200 216 001201 224 001203 225 001234 226 001270 227 001305 229 001310 ----------------------------------------------------------- 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