COMPILATION LISTING OF SEGMENT dmpr_info_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 10/22/84 0911.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 dmpr_info_: proc (code); 12 13 /* This routine initializes the info segment that is written as the first object on each output 14* volume. The info segment describes the dump pass and defines what system it came from by means 15* of the rpv uid, which will be different from site to site. This infomation is used by the volume reloader. */ 16 17 18 dcl code fixed bin (35); 19 dcl lvname char (32) aligned; 20 21 dcl clock_ entry returns (fixed bin (71)); 22 dcl mdc_$pvname_info entry (char (*) aligned, bit (36) aligned, char (*) aligned, 23 bit (36) aligned, fixed bin, fixed bin (35)); 24 1 1 /* BEGIN INCLUDE FILE ... backup_info.incl.pl1 ... June 1976 */ 1 2 1 3 dcl infop ptr; /* ptr to structure */ 1 4 1 5 dcl backup_info_version_2 fixed bin static init (2) options (constant); /* version number */ 1 6 1 7 dcl 1 backup_info based (infop) aligned, 1 8 2 header like backup_volume_header aligned, 1 9 2 version fixed bin, /* version number */ 1 10 2 rpv_pvid bit (36), /* pvid of rpv */ 1 11 2 rpv_lvid bit (36), /* lvid of rpv */ 1 12 2 rpv_disk_type fixed bin, /* disk model index of rpv */ 1 13 2 dump_volid bit (36), /* dump volume id */ 1 14 2 pad bit (36), 1 15 2 dump_type fixed bin, /* type of dump */ 1 16 2 dump_volname char (32), /* volname of dump volume */ 1 17 2 system_id char (32), /* system identifier */ 1 18 2 control_file char (168), /* path name of dump control file */ 1 19 2 operator char (32); /* operator who started dump */ 1 20 1 21 /* END INCLUDE FILE ... backup_info.incl.pl1 */ 25 2 1 /* BEGIN INCLUDE FILE ... dmpr_data_.incl.pl1 Feb 1976 */ 2 2 /* format: style1,ind2,^inddcls,ifthenstmt,dclind2,declareind2,ifthendo,ifthen*/ 2 3 /* Modified 7/79 by D. Vinograd to add new variables and change to based structure */ 2 4 /* Modified: 1/26/83 by GA Texada to add cur_vol_open and change version to 2. */ 2 5 /* Modified: 04/05/83 by GA Texada to add trace switch to support tracing. */ 2 6 /* Modified 04/84 by GA Texada to change to version 3 (disk_type). This begins the adding of new items */ 2 7 /* to the END of the structure to facilite easy additions. */ 2 8 dcl dmprp ptr ext static init (null); 2 9 dcl dmpr_data_version_2 fixed bin int static init (2) options (constant); 2 10 dcl dmpr_data_version_3 fixed bin int static init (3) options (constant); 2 11 /* Version 3 is current */ 2 12 2 13 dcl 1 dmpr_data_ aligned based (dmprp), 2 14 2 version fixed bin, /* version */ 2 15 2 lock bit (36), /* inter-lock */ 2 16 2 ptrs, 2 17 3 pre_attach_pvlp (50) ptr, /* array of pvolog ptrs */ 2 18 3 contents_namesp ptr, /* ptr to contents name seg */ 2 19 3 pre_attach_iocbp (50) ptr, /* array of output iocbp */ 2 20 3 pvlp ptr, /* ptr to dump volume log */ 2 21 3 account_iocbp ptr, /* iocbp for account seg */ 2 22 3 infop ptr, /* ptr to info seg */ 2 23 3 inputp ptr, /* ptr to input storage for sup interface */ 2 24 3 recordp ptr, /* ditto for output */ 2 25 3 control_iocbp ptr, /* iocbp for dump control segment */ 2 26 3 error_iocbp ptr, /* iocbp for error output file */ 2 27 3 outputvol_iocbp ptr, /* iocbp for dump volume */ 2 28 3 contentsp ptr, /* ptr to dump volume table of contents */ 2 29 3 bvlp ptr, /* ptr to volume log */ 2 30 3 dirp ptr, /* ptr to directory buffer seg */ 2 31 3 segp ptr, /* ptr to segment to be dumped */ 2 32 3 fcbp ptr, /* ptr to file control block for contents_name msf */ 2 33 3 vpp ptr, /* ptr to volume pool */ 2 34 2 fixed_bin, 2 35 3 retrys fixed bin, /* number of time segment disappeared while being dumped */ 2 36 3 physical_volume_dir_num fixed bin, /* number of dirs dumped from this physical volume */ 2 37 3 physical_volume_dir_rec fixed bin, /* number of dir records on this physical volume */ 2 38 3 physical_volume_seg_num fixed bin, /* number of segs dumped from this physical volume */ 2 39 3 physical_volume_seg_rec fixed bin, /* number of seg records dumped from this physical volume */ 2 40 3 vol_log_dir_num fixed bin, /* dirs dumped from pvol to dump vol */ 2 41 3 vol_log_dir_rec fixed bin, /* dir rec on this pvol to dump vol */ 2 42 3 vol_log_seg_num fixed bin, /* segs dumped from pvol to dump vol */ 2 43 3 vol_log_seg_rec fixed bin, /* seg rec dumped from pvol to dump vol */ 2 44 3 dump_volume_dir_num fixed bin, /* number of dirs dumped on this dump volume */ 2 45 3 dump_volume_dir_rec fixed bin, /* number of dir records on this dump volume */ 2 46 3 dump_volume_seg_num fixed bin, /* number of segs dumped on this dump volume */ 2 47 3 dump_volume_seg_rec fixed bin, /* number of seg records dumped on this dump volume */ 2 48 3 num_null_vtoce fixed bin, /* number of null vtoce dumped from this physical volume */ 2 49 3 num_vtoce_only fixed bin, /* number of vtoce only */ 2 50 3 mod_after_time fixed bin (71), /* dump all modified since this date */ 2 51 3 dump_type fixed bin, /* type of dump */ 2 52 3 save_time fixed bin (71), /* date, time of start of dump */ 2 53 3 start_time fixed bin (71), /* start time of physical volume pass */ 2 54 3 wakeup_interval fixed bin (71), /* interval between wakeups of dumper in micro secs. */ 2 55 3 incr_ev_chn fixed bin (71), /* event chn used to wakeup incremental dumper */ 2 56 3 incr_skip_count fixed bin, /* number of incr cycles skiped befor purging */ 2 57 3 pre_attach_vol fixed bin, /* if greater then 1 then pre attach output streams */ 2 58 3 vol_idx fixed bin, /* index of multi volume attachment sequence */ 2 59 3 component fixed bin, /* msf component of contents_name seg */ 2 60 2 bits, 2 61 3 volid bit (36), /* uid of dump volume */ 2 62 3 pre_attach_volid (50) bit (36), /* array of volid */ 2 63 3 cycle_uid bit (36), /* uid of this dump cycle */ 2 64 3 pvid bit (36), /* uid of physical volume being dumped */ 2 65 3 flags, 2 66 ( 4 purge bit (1), /* if on purge volume logs */ 2 67 4 auto_vol bit (1), /* if on use automatic dump volume selection */ 2 68 4 disable_error_report bit (1), /* if on disables error reporting */ 2 69 4 arg_init bit (1), /* if on indicates args have been processed */ 2 70 4 manual_free bit (1), /* on if manual free will be done */ 2 71 4 err_online bit (1), /* Flag error output to be online, default to a file */ 2 72 4 detach bit (1), /* if on control detachment of dump volume */ 2 73 4 no_object bit (1), /* if on not copy object from ring 0 */ 2 74 4 no_update bit (1), /* if on prevent vtoce update */ 2 75 4 data_init bit (1), /* if on indicates that data structure has been initialized */ 2 76 4 reset bit (1), /* if on put items back on list */ 2 77 4 accounting bit (1), /* if on enables accounting */ 2 78 4 dmpr_asleep bit (1), /* dumper is asleep - interlock to prevent restart of last volume */ 2 79 4 dump_in_progress bit (1), /* recursive entry interlock */ 2 80 4 not_reported bit (1), /* on if output counts not reported */ 2 81 4 names bit (1), /* collect all names from dirs that are dumped */ 2 82 4 cur_vol_open bit (1), /* if a successful open on this volname */ 2 83 4 trace bit (1), /* ON => trace */ 2 84 4 pad bit (18)) unal, /* fill out the word properly */ 2 85 3 old_256K_switch bit(2) aligned, /* 256K segs enabled prior to this dumper invocation?*/ 2 86 3 rpv_pvid bit (36), /* because the label really doesn't have it */ 2 87 2 chars, 2 88 3 sys_dir char (168), /* system directory where all volume dumper data lives */ 2 89 3 prev_volname char (32), 2 90 3 pre_attach_volname (50) char (32), /* array of volnames */ 2 91 3 io_module char (32), /* name of attached outer module for output io */ 2 92 3 pvname char (32), /* name of physical volume being dumped */ 2 93 3 att_desc char (256), /* attach description for output */ 2 94 3 volname char (32), /* name of dump volume */ 2 95 3 control_name char (32), /* dump control file name */ 2 96 3 myname char (32), /* name of entry called */ 2 97 3 operator char (32), /* operator name */ 2 98 3 restart_pvname char (32), /* where to restart complete or consolidated dump */ 2 99 3 lvname char (32), /* name of logical volume being dumped */ 2 100 2 disk_type fixed bin; /* disk type for recording in the volog */ 2 101 2 102 2 103 /* END OF INCLUDE FILE ... dmpr_data_.incl.pl1 */ 26 3 1 /* BEGIN INCLUDE FILE ... backup_volume_header ... Feb 1976 */ 3 2 3 3 dcl hdp ptr; /* ptr to header */ 3 4 3 5 dcl 1 backup_volume_header based (hdp) aligned, 3 6 2 pattern1 bit (36), /* unique word 1 */ 3 7 2 rec1_type fixed bin, /* record 1 type */ 3 8 2 rec1_len fixed bin, /* length in chars */ 3 9 2 pattern2 bit (36), /* unique word 2 */ 3 10 2 rec2_type fixed bin, /* record 2 type */ 3 11 2 rec2_len fixed bin, /* length in chars */ 3 12 2 pattern3 bit (36), /* unique word 3 */ 3 13 2 time_dumped bit (36); /* dump time of this record */ 3 14 3 15 dcl vtoce_type fixed bin static init (1) options (constant); /* type code for vtoce */ 3 16 dcl dir_type fixed bin static init (2) options (constant); /* type code for directory */ 3 17 dcl seg_type fixed bin static init (3) options (constant); /* type code for segment */ 3 18 dcl null_type fixed bin static init (4) options (constant); /* type code for null record */ 3 19 dcl volume_log_type fixed bin static init (5) options (constant); /* type code for volume log */ 3 20 dcl prev_output_log_type fixed bin static init (6) options (constant); /* type code for prev output log */ 3 21 dcl contents_type fixed bin static init (7) options (constant); /* type code for contents segment of previous volume */ 3 22 dcl info_type fixed bin static init (8) options (constant); /* type code for info structure */ 3 23 3 24 dcl pattern1 bit (36) int static init ("110111000011001100011101101010100101"b) options (constant); 3 25 dcl pattern2 bit (36) int static init ("101001010101101110001100110000111011"b) options (constant); 3 26 dcl pattern3 bit (36) int static init ("001000111100110011100010010101011010"b) options (constant); 3 27 3 28 /* END INCLUDE FILE ... backup_volume_header */ 27 28 29 infop = dmpr_data_.infop; 30 31 backup_info.pattern1 = pattern1; 32 backup_info.pattern2 = pattern2; 33 backup_info.pattern3 = pattern3; 34 35 backup_info.rec1_type = info_type; 36 backup_info.rec1_len = 4 * size (backup_info); 37 38 backup_info.rec2_type = null_type; 39 backup_info.rec2_len = 0; 40 41 call mdc_$pvname_info ("rpv", backup_info.rpv_pvid, lvname, backup_info.rpv_lvid, 42 backup_info.rpv_disk_type, code); 43 if code ^= 0 then return; 44 dmpr_data_.rpv_pvid = backup_info.rpv_pvid; /* because the label really doesn't have it */ 45 backup_info.version = backup_info_version_2; 46 backup_info.control_file = dmpr_data_.control_name; 47 backup_info.operator = dmpr_data_.operator; 48 backup_info.dump_type = dmpr_data_.dump_type; 49 return; 50 51 end dmpr_info_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/22/84 0902.2 dmpr_info_.pl1 >spec>on>6739-10/22/84>dmpr_info_.pl1 25 1 09/05/80 1136.5 backup_info.incl.pl1 >ldd>include>backup_info.incl.pl1 26 2 10/22/84 0901.5 dmpr_data_.incl.pl1 >spec>on>6739-10/22/84>dmpr_data_.incl.pl1 27 3 09/05/80 1136.5 backup_volume_header.incl.pl1 >ldd>include>backup_volume_header.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. backup_info based structure level 1 dcl 1-7 set ref 36 backup_info_version_2 constant fixed bin(17,0) initial dcl 1-5 ref 45 backup_volume_header based structure level 1 dcl 3-5 bits 410 based structure level 2 dcl 2-13 chars 500 based structure level 2 dcl 2-13 code parameter fixed bin(35,0) dcl 18 set ref 11 41* 43 control_file 37 based char(168) level 2 dcl 1-7 set ref 46* control_name 1532 based char(32) level 3 dcl 2-13 ref 46 dmpr_data_ based structure level 1 dcl 2-13 dmprp 000012 external static pointer initial dcl 2-8 ref 29 44 46 47 48 dump_type 372 based fixed bin(17,0) level 3 in structure "dmpr_data_" dcl 2-13 in procedure "dmpr_info_" ref 48 dump_type 16 based fixed bin(17,0) level 2 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 48* fixed_bin 350 based structure level 2 dcl 2-13 header based structure level 2 dcl 1-7 info_type constant fixed bin(17,0) initial dcl 3-22 ref 35 infop 320 based pointer level 3 in structure "dmpr_data_" dcl 2-13 in procedure "dmpr_info_" ref 29 infop 000110 automatic pointer dcl 1-3 in procedure "dmpr_info_" set ref 29* 31 32 33 35 36 36 38 39 41 41 41 44 45 46 47 48 lvname 000100 automatic char(32) dcl 19 set ref 41* mdc_$pvname_info 000010 constant entry external dcl 22 ref 41 null_type constant fixed bin(17,0) initial dcl 3-18 ref 38 operator 111 based char(32) level 2 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 47* operator 1552 based char(32) level 3 in structure "dmpr_data_" dcl 2-13 in procedure "dmpr_info_" ref 47 pattern1 000002 constant bit(36) initial unaligned dcl 3-24 in procedure "dmpr_info_" ref 31 pattern1 based bit(36) level 3 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 31* pattern2 000001 constant bit(36) initial unaligned dcl 3-25 in procedure "dmpr_info_" ref 32 pattern2 3 based bit(36) level 3 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 32* pattern3 6 based bit(36) level 3 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 33* pattern3 000000 constant bit(36) initial unaligned dcl 3-26 in procedure "dmpr_info_" ref 33 ptrs 2 based structure level 2 dcl 2-13 rec1_len 2 based fixed bin(17,0) level 3 dcl 1-7 set ref 36* rec1_type 1 based fixed bin(17,0) level 3 dcl 1-7 set ref 35* rec2_len 5 based fixed bin(17,0) level 3 dcl 1-7 set ref 39* rec2_type 4 based fixed bin(17,0) level 3 dcl 1-7 set ref 38* rpv_disk_type 13 based fixed bin(17,0) level 2 dcl 1-7 set ref 41* rpv_lvid 12 based bit(36) level 2 dcl 1-7 set ref 41* rpv_pvid 477 based bit(36) level 3 in structure "dmpr_data_" dcl 2-13 in procedure "dmpr_info_" set ref 44* rpv_pvid 11 based bit(36) level 2 in structure "backup_info" dcl 1-7 in procedure "dmpr_info_" set ref 41* 44 version 10 based fixed bin(17,0) level 2 dcl 1-7 set ref 45* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. clock_ 000000 constant entry external dcl 21 contents_type internal static fixed bin(17,0) initial dcl 3-21 dir_type internal static fixed bin(17,0) initial dcl 3-16 dmpr_data_version_2 internal static fixed bin(17,0) initial dcl 2-9 dmpr_data_version_3 internal static fixed bin(17,0) initial dcl 2-10 hdp automatic pointer dcl 3-3 prev_output_log_type internal static fixed bin(17,0) initial dcl 3-20 seg_type internal static fixed bin(17,0) initial dcl 3-17 volume_log_type internal static fixed bin(17,0) initial dcl 3-19 vtoce_type internal static fixed bin(17,0) initial dcl 3-15 NAME DECLARED BY EXPLICIT CONTEXT. dmpr_info_ 000015 constant entry external dcl 11 NAME DECLARED BY CONTEXT OR IMPLICATION. size builtin function ref 36 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 172 206 125 202 Length 426 125 14 203 45 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dmpr_info_ 102 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dmpr_info_ 000100 lvname dmpr_info_ 000110 infop dmpr_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. mdc_$pvname_info THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dmprp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000012 29 000022 31 000026 32 000030 33 000032 35 000034 36 000036 38 000040 39 000042 41 000043 43 000101 44 000104 45 000112 46 000114 47 000117 48 000122 49 000124 ----------------------------------------------------------- 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