COMPILATION LISTING OF SEGMENT expand_vtoce_msg_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/17/85 0836.9 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 expand_vtoce_msg_: 7 procedure (); 8 9 /* * EXPAND_VTOCE_MSG_ 10* * 11* * Expander for VTOCE images logged by the scavenger. 12* * 13* * 84-12-05, W. Olin Sibert: Initial coding, after print_syserr_msg_ 14* */ 15 16 declare P_log_message_format_ptr pointer parameter; 17 declare P_log_message_ptr pointer parameter; 18 declare P_expand_mode_ptr pointer parameter; 19 declare P_expansion char (*) varying parameter; 20 declare P_code fixed bin (35) parameter; 21 22 declare temp char (3000) varying; 23 declare fm_offset fixed bin; 24 declare ioa_$rsnnl entry options (variable); 25 declare expand_log_message_$append_octal entry (pointer, pointer, fixed bin, char (*) varying); 26 27 declare (addr, dimension, length, rtrim, size, string, unspec) builtin; 28 29 /* */ 30 31 expand_vtoce_msg_$format: 32 entry (P_log_message_format_ptr, P_log_message_ptr, P_expand_mode_ptr, P_expansion, P_code); 33 34 log_message_ptr = P_log_message_ptr; 35 vtocep = addr (log_message.data (1)); 36 37 goto COMMON; 38 39 40 41 /* This is a compatibility entrypoint-- it processes an old-format "syserr" class 42* message, which has the syserr binary code in the first word of the data. */ 43 44 expand_vtoce_msg_$syserr: 45 entry (P_log_message_format_ptr, P_log_message_ptr, P_expand_mode_ptr, P_expansion, P_code); 46 47 log_message_ptr = P_log_message_ptr; 48 vtocep = addr (log_message.data (2)); 49 50 goto COMMON; 51 52 /* */ 53 54 COMMON: 55 fm_offset = wordno (addr (vtoce.fm)) - wordno (addr (vtoce)); 56 57 call ioa_$rsnnl ("^[Dir^;Seg^] VTOCE UID: ^w, original name: ""^a""^/VTOCE Header:^/", 58 temp, (0), vtoce.dirsw, vtoce.uid, vtoce.primary_name); 59 P_expansion = P_expansion || temp; 60 call expand_log_message_$append_octal (P_log_message_format_ptr, 61 addr (vtoce), fm_offset, P_expansion); 62 63 call ioa_$rsnnl ("^/File map:^/^16(^2(^4(^7o^) ^)^/^)^/", temp, (0), vtoce.fm); 64 P_expansion = P_expansion || temp; 65 66 P_expansion = P_expansion || "VTOCE Permanent info:"; 67 P_expansion = P_expansion || byte (10); 68 call expand_log_message_$append_octal (P_log_message_format_ptr, 69 addrel (addr (vtoce), (fm_offset + 128)), (192 - (128 + fm_offset)), P_expansion); 70 71 return; 72 73 /* BEGIN INCLUDE FILE ... log_message.incl.pl1 ... 84-04-25 ... W. Olin Sibert */ 1 2 1 3 declare 1 log_message_header aligned based, /* Items marked "(SET)" are set by $create_message */ 1 4 2 sentinel bit (36) aligned, /* Proper value declared in log_segment.incl.pl1 */ 1 5 2 sequence fixed bin (35), /* Sequence number for this message (SET) */ 1 6 2 severity fixed bin (8) unaligned, /* Severity of message */ 1 7 2 data_class_lth fixed bin (9) unaligned unsigned, /* Length of data class-- 0 to 16 (SET) */ 1 8 2 time fixed bin (53) unaligned, /* Time message originated */ 1 9 2 text_lth fixed bin (17) unaligned, /* Length of message text. Must be nonzero (SET) */ 1 10 2 data_lth fixed bin (17) unaligned, /* Length of binary data. May be zero (SET) */ 1 11 2 process_id bit (36) aligned; /* Process id of process writing message */ 1 12 1 13 declare 1 log_message aligned based (log_message_ptr), 1 14 2 header aligned like log_message_header, 1 15 2 text char (log_message_text_lth refer (log_message.text_lth)) unaligned, 1 16 2 data_class char (log_message_data_class_lth refer (log_message.data_class_lth)) unaligned, 1 17 2 data dim (log_message_data_lth refer (log_message.data_lth)) bit (36) aligned; 1 18 1 19 declare log_message_ptr pointer; 1 20 declare log_message_text_lth fixed bin; 1 21 declare log_message_data_class_lth fixed bin; 1 22 declare log_message_data_lth fixed bin; 1 23 1 24 /* END INCLUDE FILE ... log_message.incl.pl1 */ 73 74 /* BEGIN INCLUDE FILE ...vtoce.incl.pl1 ... last modified September 1982 */ 2 2 /* Template for a VTOC entry. Length = 192 words. (3 * 64). */ 2 3 /* NOTE: vtoc_man clears pad fields before writing a vtoce. */ 2 4 2 5 dcl vtocep ptr; 2 6 2 7 dcl 1 vtoce based (vtocep) aligned, 2 8 2 9 2 10 (2 pad_free_vtoce_chain bit (36), /* Used to be pointer to next free VTOCE */ 2 11 2 12 2 uid bit (36), /* segment's uid - zero if vtoce is free */ 2 13 2 14 2 msl bit (9), /* maximum segment length in 1024 word units */ 2 15 2 csl bit (9), /* current segment length - in 1024 word units */ 2 16 2 records bit (9), /* number of records used by the seg in second storage */ 2 17 2 pad2 bit (9), 2 18 2 19 2 dtu bit (36), /* date and time segment was last used */ 2 20 2 21 2 dtm bit (36), /* date and time segment was last modified */ 2 22 2 23 2 nqsw bit (1), /* no quota switch - no checking for pages of this seg */ 2 24 2 deciduous bit (1), /* true if hc_sdw */ 2 25 2 nid bit (1), /* no incremental dump switch */ 2 26 2 dnzp bit (1), /* Dont null zero pages */ 2 27 2 gtpd bit (1), /* Global transparent paging device */ 2 28 2 per_process bit (1), /* Per process segment (deleted every bootload) */ 2 29 2 damaged bit (1), /* TRUE if contents damaged */ 2 30 2 fm_damaged bit (1), /* TRUE if filemap checksum bad */ 2 31 2 fm_checksum_valid bit (1), /* TRUE if the checksum has been computed */ 2 32 2 synchronized bit (1), /* TRUE if this is a data management synchronized segment */ 2 33 2 pad3 bit (8), 2 34 2 dirsw bit (1), /* directory switch */ 2 35 2 master_dir bit (1), /* master directory - a root for the logical volume */ 2 36 2 pad4 bit (16)) unaligned, /* not used */ 2 37 2 38 2 fm_checksum bit (36) aligned, /* Checksum of used portion of file map */ 2 39 2 40 (2 quota (0:1) fixed bin (18) unsigned, /* sec storage quota - (0) for non dir pages */ 2 41 2 42 2 used (0:1) fixed bin (18) unsigned, /* sec storage used - (0) for non dir pages */ 2 43 2 44 2 received (0:1) fixed bin (18) unsigned, /* total amount of storage this dir has received */ 2 45 2 46 2 trp (0:1) fixed bin (71), /* time record product - (0) for non dir pages */ 2 47 2 48 2 trp_time (0:1) bit (36), /* time time_record_product was last calculated */ 2 49 2 50 2 51 2 52 2 53 2 54 2 fm (0:255) bit (18), /* file map - 256 entries - 18 bits per entry */ 2 55 2 56 2 pad6 (10) bit (36), /* not used */ 2 57 2 58 2 ncd bit (1), /* no complete dump switch */ 2 59 2 pad7 bit (17), 2 60 2 pad8 bit (18), 2 61 2 62 2 dtd bit (36), /* date-time-dumped */ 2 63 2 64 2 volid (3) bit (36), /* volume ids of last incremental, consolidated, and complete dumps */ 2 65 2 66 2 master_dir_uid bit (36), /* superior master directory uid */ 2 67 2 68 2 69 2 70 2 71 2 uid_path (0:15) bit (36), /* uid pathname of all parents starting after the root */ 2 72 2 73 2 primary_name char (32), /* primary name of the segment */ 2 74 2 75 2 time_created bit (36), /* time the segment was created */ 2 76 2 77 2 par_pvid bit (36), /* physical volume id of the parent */ 2 78 2 79 2 par_vtocx fixed bin (17), /* vtoc entry index of the parent */ 2 80 2 branch_rp bit (18)) unaligned, /* rel pointer of the branch of this segment */ 2 81 2 82 2 cn_salv_time bit (36), /* time branch - vtoce connection checked */ 2 83 2 84 2 access_class bit (72), /* access class in branch */ 2 85 2 perm_flags aligned, 2 86 3 per_bootload bit (1) unal, /* ON => deleted each bootload */ 2 87 3 pad9 bit (35) unal, 2 88 2 owner bit (36); /* pvid of this volume */ 2 89 2 90 dcl vtoce_parts (3) bit (36 * 64) aligned based (vtocep); 2 91 2 92 dcl 1 seg_vtoce based (vtocep) aligned, /* Overlay for vtoce of segments, which don't have quota */ 2 93 2 pad1 bit (7*36), 2 94 2 usage fixed bin (35), /* page fault count: overlays quota */ 2 95 2 pad2 bit (184*36); 2 96 2 97 /* END INCLUDE FILE vtoce.incl.pl1 */ 74 75 76 end expand_vtoce_msg_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/17/85 0834.6 expand_vtoce_msg_.pl1 >special_ldd>online>41-4>expand_vtoce_msg_.pl1 73 1 01/10/85 1340.2 log_message.incl.pl1 >special_ldd>online>41-4>log_message.incl.pl1 74 2 10/04/83 1105.1 vtoce.incl.pl1 >ldd>include>vtoce.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. P_code parameter fixed bin(35,0) dcl 20 ref 31 44 P_expand_mode_ptr parameter pointer dcl 18 ref 31 44 P_expansion parameter varying char dcl 19 set ref 31 44 59* 59 60* 64* 64 66* 66 67* 67 68* P_log_message_format_ptr parameter pointer dcl 16 set ref 31 44 60* 68* P_log_message_ptr parameter pointer dcl 17 ref 31 34 44 47 addr builtin function dcl 27 ref 35 48 54 54 60 60 68 68 data based bit(36) array level 2 dcl 1-13 set ref 35 48 data_class_lth 2(09) based fixed bin(9,0) level 3 packed unsigned unaligned dcl 1-13 ref 35 48 dirsw 5(18) based bit(1) level 2 packed unaligned dcl 2-7 set ref 57* expand_log_message_$append_octal 000012 constant entry external dcl 25 ref 60 68 fm 20 based bit(18) array level 2 packed unaligned dcl 2-7 set ref 54 63* fm_offset 001457 automatic fixed bin(17,0) dcl 23 set ref 54* 60* 68 68 68 header based structure level 2 dcl 1-13 ioa_$rsnnl 000010 constant entry external dcl 24 ref 57 63 log_message based structure level 1 dcl 1-13 log_message_header based structure level 1 dcl 1-3 log_message_ptr 001460 automatic pointer dcl 1-19 set ref 34* 35 47* 48 primary_name 260 based char(32) level 2 packed unaligned dcl 2-7 set ref 57* temp 000100 automatic varying char(3000) dcl 22 set ref 57* 59 63* 64 text_lth 4 based fixed bin(17,0) level 3 packed unaligned dcl 1-13 ref 35 48 uid 1 based bit(36) level 2 packed unaligned dcl 2-7 set ref 57* vtoce based structure level 1 dcl 2-7 set ref 54 60 60 68 68 vtocep 001462 automatic pointer dcl 2-5 set ref 35* 48* 54 54 57 57 57 60 60 63 68 68 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dimension builtin function dcl 27 length builtin function dcl 27 log_message_data_class_lth automatic fixed bin(17,0) dcl 1-21 log_message_data_lth automatic fixed bin(17,0) dcl 1-22 log_message_text_lth automatic fixed bin(17,0) dcl 1-20 rtrim builtin function dcl 27 seg_vtoce based structure level 1 dcl 2-92 size builtin function dcl 27 string builtin function dcl 27 unspec builtin function dcl 27 vtoce_parts based bit(2304) array dcl 2-90 NAMES DECLARED BY EXPLICIT CONTEXT. COMMON 000165 constant label dcl 54 set ref 37 50 expand_vtoce_msg_ 000060 constant entry external dcl 6 expand_vtoce_msg_$format 000073 constant entry external dcl 31 expand_vtoce_msg_$syserr 000131 constant entry external dcl 44 NAMES DECLARED BY CONTEXT OR IMPLICATION. addrel builtin function ref 68 68 byte builtin function ref 67 wordno builtin function ref 54 54 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 552 566 443 562 Length 1000 443 14 176 107 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME expand_vtoce_msg_ 872 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME expand_vtoce_msg_ 000100 temp expand_vtoce_msg_ 001457 fm_offset expand_vtoce_msg_ 001460 log_message_ptr expand_vtoce_msg_ 001462 vtocep expand_vtoce_msg_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. expand_log_message_$append_octal ioa_$rsnnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000057 31 000065 34 000106 35 000112 37 000126 44 000127 47 000144 48 000150 50 000164 54 000165 57 000176 59 000243 60 000257 63 000306 64 000340 66 000354 67 000366 68 000400 71 000442 ----------------------------------------------------------- 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