COMPILATION LISTING OF SEGMENT le_complete_binary_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/86 1255.7 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 4* * * 5* *********************************************************** */ 6 7 /****^ HISTORY COMMENTS: 8* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 9* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 10* Originally written to backpatch unresolved references and complete 11* generation of MSF objects by producing component 0. 12* END HISTORY COMMENTS */ 13 14 /* format: style1,insnl,ifthendo,indthenelse,^indnoniterdo,^inditerdo,indcom,^indthenbegin,^indprocbody,ind2,ll78,initcol0,dclind4,idind24,struclvlind1,comcol41 */ 15 16 le_complete_binary_: 17 proc (lecp, /** components pointer (in ) */ 18 lebp); /** binaries pointer (in ) */ 19 20 /*** ****************************************************************/ 21 /*** */ 22 /*** Name: le_complete_binary_ */ 23 /*** Input: lecp, lebp */ 24 /*** Function: creates MSF component 0 and sets the ACL on the */ 25 /*** resulting MSF. Note that this is unnecessary if */ 26 /*** the output binary is not an MSF, since ocu_ will */ 27 /*** set the ACL correctly on exit, but the ACL on a */ 28 /*** MSF includes the directory and segment acls. */ 29 /*** Output: none */ 30 /*** */ 31 /*** ****************************************************************/ 32 33 /* parameters */ 34 35 dcl lecp ptr parameter; 36 dcl lebp ptr parameter; 37 38 /* procedures */ 39 40 dcl expand_pathname_ entry (char (*), char (*), char (*), 41 fixed bin (35)); 42 dcl fs_util_$add_acl_entries 43 entry (char (*), char (*), ptr, fixed bin (35)); 44 dcl get_group_id_$tag_star entry () returns (char (32)); 45 dcl get_system_free_area_ entry () returns (ptr); 46 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), 47 fixed bin (35)); 48 dcl hcs_$get_uid_seg entry (ptr, bit (36) aligned, fixed bin (35)); 49 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, 50 fixed bin (24), fixed bin (35)); 51 dcl le_backpatch_$execute entry (ptr, ptr); 52 dcl le_error_ entry options (variable); 53 dcl object_info_$brief entry (ptr, fixed bin (24), ptr, 54 fixed bin (35)); 55 56 /* external */ 57 58 dcl le_data_$caller external char (32) varying; 59 dcl 01 le_data_$symbol_table 60 aligned like std_symbol_header external; 61 dcl le_data_$version_number external fixed bin; 62 dcl le_data_$version_suffix external char (64) varying; 63 64 /* based */ 65 66 dcl 01 leb aligned based (lebp), 67 02 header aligned like le_binaries.header, 68 02 binary dim (0:0 refer (leb.n_binaries)) 69 like le_binaries.binary; 70 dcl sys_area area based (sys_areap); 71 72 /* automatic */ 73 74 dcl dn char (168) automatic; 75 dcl dnl fixed bin automatic; 76 dcl ec fixed bin (35) automatic; 77 dcl en char (32) automatic; 78 dcl i fixed bin automatic; 79 dcl 01 le_gen_info aligned like gen_info automatic; 80 dcl 01 my_acl aligned automatic, 81 02 version char (8) aligned, 82 02 count fixed bin, 83 02 entry aligned like general_acl_entry; 84 dcl 01 oi aligned like object_info automatic; 85 dcl sys_areap ptr automatic; 86 87 /* conditions */ 88 89 dcl cleanup condition; 90 91 /* builtin */ 92 93 dcl addr builtin; 94 dcl null builtin; 95 96 /* execute any backpatches that were required */ 97 98 call le_backpatch_$execute (lecp, lebp); 99 100 /* if the object is a single segment binary, we are done. If it is */ 101 /* an MSF, we have to create component 0. */ 102 103 if leb.n_binaries = 1 104 then return; 105 106 /* create the generator info */ 107 108 le_gen_info.gen_created = le_data_$symbol_table.object_created; 109 le_gen_info.generator = le_data_$caller; 110 le_gen_info.gen_number = le_data_$version_number; 111 le_gen_info.gen_version = le_data_$caller || le_data_$version_suffix; 112 113 sys_areap = get_system_free_area_ (); 114 115 component_count = leb.n_binaries; 116 117 /* make sure a release frees out allocated storage */ 118 119 component_listp = null; 120 121 on cleanup 122 begin; 123 if component_listp ^= null 124 then free component_list in (sys_area); 125 end; 126 127 /* allocate the component list */ 128 129 allocate component_list in (sys_area); 130 131 /* copy the segment pointers into it */ 132 133 do i = 1 to component_count; 134 component_list (i) = leb.binary (i).segp; 135 end; 136 137 /* create the MSF transfer vector */ 138 139 call ocu_$create_msf (component_listp, component_count, 140 addr (le_gen_info), ec); 141 142 /* free the component list */ 143 144 free component_list in (sys_area); 145 146 if ec ^= 0 147 then call le_error_ (LE_FATAL_ERROR, ec, 148 "^/Creating MSF transfer vector (component 0)."); 149 150 call hcs_$fs_get_path_name (leb.binary (1).segp, dn, dnl, en, ec); 151 152 /* get the binary info for component 0 */ 153 154 call initiate_file_ (dn, "0", R_ACCESS, leb.binary (0).segp, 155 leb.binary (0).bc, ec); 156 oi.version_number = object_info_version_2; 157 158 call object_info_$brief (leb.binary (0).segp, leb.binary (0).bc, 159 addr (oi), ec); 160 leb.binary (0).textp = oi.textp; 161 leb.binary (0).defnp = oi.defp; 162 leb.binary (0).linkp = oi.linkp; 163 leb.binary (0).symbp = oi.symbp; 164 leb.binary (0).statp = oi.statp; 165 leb.binary (0).textl = oi.tlng; 166 leb.binary (0).defnl = oi.dlng; 167 leb.binary (0).linkl = oi.llng; 168 leb.binary (0).symbl = oi.slng; 169 leb.binary (0).statl = oi.ilng; 170 171 call hcs_$get_uid_seg (leb.binary (0).segp, leb.binary (0).uid, ec); 172 173 /* set the ACL on the Multi-Segment File */ 174 175 call expand_pathname_ (dn, dn, en, ec); 176 177 my_acl.version = GENERAL_ACL_VERSION_1; 178 my_acl.count = 1; 179 my_acl.entry.access_name = get_group_id_$tag_star (); 180 my_acl.entry.mode = RE_ACCESS; 181 my_acl.entry.status_code = 0; 182 183 call fs_util_$add_acl_entries (dn, en, addr (my_acl), ec); 184 185 return; 186 187 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 188 189 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 190 191 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 192 2 1 /* Begin include file -- acl_structures.incl.pl1 BIM 3/82 */ 2 2 /* format: style3,indcomtxt,idind30 */ 2 3 2 4 declare acl_ptr pointer; 2 5 declare acl_count fixed bin; 2 6 2 7 declare 1 general_acl aligned based (acl_ptr), /* for fs_util_ */ 2 8 2 version char (8) aligned, 2 9 2 count fixed bin, 2 10 2 entries (acl_count refer (general_acl.count)) aligned like general_acl_entry; 2 11 2 12 declare 1 general_acl_entry based, 2 13 2 access_name character (32) unaligned, 2 14 2 mode bit (36) aligned, 2 15 2 status_code fixed bin (35); 2 16 2 17 2 18 declare 1 general_extended_acl aligned based (acl_ptr), /* for fs_util_ */ 2 19 2 version char (8) aligned, 2 20 2 count fixed bin, 2 21 2 entries (acl_count refer (general_extended_acl.count)) aligned like general_extended_acl_entry; 2 22 2 23 declare 1 general_extended_acl_entry aligned based, 2 24 2 access_name character (32) unaligned, 2 25 2 mode bit (36) aligned, 2 26 2 extended_mode bit (36) aligned, 2 27 2 status_code fixed bin (35); 2 28 2 29 2 30 declare 1 general_delete_acl aligned based (acl_ptr), /* for file_system_ */ 2 31 2 version char (8) aligned, 2 32 2 count fixed bin, 2 33 2 entries (acl_count refer (general_delete_acl.count)) aligned like delete_acl_entry; 2 34 2 35 declare 1 general_delete_acl_entry aligned based, 2 36 2 access_name character (32) unaligned, 2 37 2 status_code fixed bin (35); 2 38 2 39 2 40 declare 1 segment_acl aligned based (acl_ptr), 2 41 2 version fixed bin, 2 42 2 count fixed bin, 2 43 2 entries (acl_count refer (segment_acl.count)) aligned like segment_acl_entry; 2 44 2 45 declare 1 segment_acl_entry like general_extended_acl_entry aligned based; 2 46 declare 1 segment_acl_array (acl_count) aligned like segment_acl_entry based (acl_ptr); 2 47 2 48 2 49 declare 1 directory_acl aligned based (acl_ptr), 2 50 2 version fixed bin, 2 51 2 count fixed bin, 2 52 2 entries (acl_count refer (directory_acl.count)) aligned like directory_acl_entry; 2 53 2 54 declare 1 directory_acl_entry like general_acl_entry aligned based; 2 55 declare 1 directory_acl_array (acl_count) aligned like directory_acl_entry based (acl_ptr); 2 56 2 57 2 58 declare 1 delete_acl based (acl_ptr) aligned, 2 59 2 version fixed bin, 2 60 2 count fixed bin, 2 61 2 entries (acl_count refer (delete_acl.count)) aligned like delete_acl_entry; 2 62 2 63 declare 1 delete_acl_entry like general_delete_acl_entry aligned based; 2 64 declare 1 delete_acl_array (acl_count) aligned like delete_acl_entry based (acl_ptr); 2 65 2 66 2 67 declare (SEG_ACL_VERSION_1 init ("sga1"), 2 68 DIR_ACL_VERSION_1 init ("dra1"), 2 69 DELETE_ACL_VERSION_1 init ("dla1")) 2 70 char (4) int static options (constant); 2 71 2 72 declare (GENERAL_ACL_VERSION_1 init ("gacl001"), 2 73 GENERAL_EXTENDED_ACL_VERSION_1 init ("gxacl001"), 2 74 GENERAL_DELETE_ACL_VERSION_1 init ("gdacl001")) 2 75 char (8) internal static options (constant); 2 76 2 77 declare ACL_VERSION_1 fixed bin init (1) int static options (constant); 2 78 2 79 /* End include file acl_structures.incl.pl1 */ 193 3 1 /**** START OF: le_data.incl.pl1 * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 3 5* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 3 6* Originally written to define the structures used internally by le_. 3 7* END HISTORY COMMENTS */ 3 8 3 9 /*** ****************************************************************/ 3 10 /*** */ 3 11 /*** Name: le_data */ 3 12 /*** Function: This include file defines the data structures */ 3 13 /*** used internally by the linkage_editor subroutine. */ 3 14 /*** */ 3 15 /*** ****************************************************************/ 3 16 3 17 /* error severity constants */ 3 18 3 19 dcl LE_WARNING fixed bin static options (constant) init (1); 3 20 dcl LE_ERROR fixed bin static options (constant) init (2); 3 21 dcl LE_FATAL_ERROR fixed bin static options (constant) init (3); 3 22 dcl LE_ABORT_ERROR fixed bin static options (constant) init (4); 3 23 3 24 /* section identifier constants */ 3 25 3 26 dcl _mult_ RT=AV0146 Tw'fTw)zAVtape_mult_ RUAV0044 TTFAV,tape_mult_ RUAV0185 T5׆T?AVtape_mult_ RU3rAV0085 T)T AVUtape_mult_ RUAV0085 TG4TH6SAVUtape_mult_ RU AV0085 T1TzAVUtape_mult_ RUuEAV0085 T +T oAVUtape_mult_ RUAV0085 T] T?AVUtape_mult_ R`AV0139 TljJTlrAVtape_mult_ RkKAV0230 T;TC$AVtape_mult_ RkQAV0024 T HTܮAVtape_mult_ RlPAV0024 T%}T%؊5AVtape_mult_ Rl AV0024 Tu Tu5AVtape_mult_ RmAV0024 T}eT~rAVtape_mult_ RnSAV0024 T¦TAVtape_mult_ Rn\AV0227 T_TAVtape_mult_ RnrAV0045 T T aAV-tape_mult_ RnމAV0045 T8zT8{special_ldd>install>MR12.0-1241>le_complete_binary_.pl1 192 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 193 2 10/14/83 1606.6 acl_structures.incl.pl1 >ldd>include>acl_structures.incl.pl1 194 3 12/10/86 1248.4 le_data.incl.pl1 >special_ldd>install>MR12.0-1241>le_data.incl.pl1 195 4 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.incl.pl1 196 5 12/10/86 1248.0 ocu_dcls.incl.pl1 >special_ldd>install>MR12.0-1241>ocu_dcls.incl.pl1 197 6 05/06/74 1751.6 std_symbol_header.incl.pl1 >ldd>include>std_symbol_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. GENERAL_ACL_VERSION_1 000000 constant char(8) initial unaligned dcl 2-72 ref 177 LE_FATAL_ERROR 000013 constant fixed bin(17,0) initial dcl 3-21 set ref 146* RE_ACCESS constant bit(3) initial unaligned dcl 1-11 ref 180 R_ACCESS 000002 constant bit(3) initial unaligned dcl 1-11 set ref 154* access_name 3 000374 automatic char(32) level 3 packed unaligned dcl 80 set ref 179* addr builtin function dcl 93 ref 139 139 158 158 183 183 bc 4 based fixed bin(24,0) array level 3 dcl 66 set ref 154* 158* binary 2 based structure array level 2 in structure "le_binaries" dcl 3-260 in procedure "le_complete_binary_" binary 2 based structure array level 2 in structure "leb" dcl 66 in procedure "le_complete_binary_" cleanup 000502 stack reference condition dcl 89 ref 121 component_count 000512 automatic fixed bin(15,0) unsigned dcl 5-56 set ref 115* 123 129 133 139* 144 component_list based pointer array dcl 5-58 set ref 123 129 134* 144 component_listp 000510 automatic pointer dcl 5-55 set ref 119* 123 123 129* 134 139* 144 count 2 000374 automatic fixed bin(17,0) level 2 dcl 80 set ref 178* defnl 24(18) based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 66 set ref 166* defnp 14 based pointer array level 3 dcl 66 set ref 161* defp 4 000412 automatic pointer level 2 dcl 84 set ref 161 delete_acl_entry based structure level 1 dcl 2-63 directory_acl_entry based structure level 1 dcl 2-54 dlng 17 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 166 dn 000100 automatic char(168) unaligned dcl 74 set ref 150* 154* 175* 175* 183* dnl 000152 automatic fixed bin(17,0) dcl 75 set ref 150* ec 000153 automatic fixed bin(35,0) dcl 76 set ref 139* 146 146* 150* 154* 158* 171* 175* 183* en 000154 automatic char(32) unaligned dcl 77 set ref 150* 175* 183* entry 3 000374 automatic structure level 2 dcl 80 expand_pathname_ 000010 constant entry external dcl 40 ref 175 fs_util_$add_acl_entries 000012 constant entry external dcl 42 ref 183 gen_created 000166 automatic fixed bin(71,0) level 2 dcl 79 set ref 108* gen_info based structure level 1 dcl 5-61 gen_number 4 000166 automatic fixed bin(17,0) level 2 dcl 79 set ref 110* gen_version 5 000166 automatic varying char(512) level 2 dcl 79 set ref 111* general_acl_entry based structure level 1 unaligned dcl 2-12 general_delete_acl_entry based structure level 1 dcl 2-35 general_extended_acl_entry based structure level 1 dcl 2-23 generator 2 000166 automatic char(8) level 2 dcl 79 set ref 109* get_group_id_$tag_star 000014 constant entry external dcl 44 ref 179 get_system_free_area_ 000016 constant entry external dcl 45 ref 113 hcs_$fs_get_path_name 000020 constant entry external dcl 46 ref 150 hcs_$get_uid_seg 000022 constant entry external dcl 48 ref 171 header based structure level 2 in structure "le_binaries" dcl 3-260 in procedure "le_complete_binary_" header based structure level 2 in structure "leb" dcl 66 in procedure "le_complete_binary_" i 000164 automatic fixed bin(17,0) dcl 78 set ref 133* 134 134* ilng 21 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 169 initiate_file_ 000024 constant entry external dcl 49 ref 154 le_backpatch_$execute 000026 constant entry external dcl 51 ref 98 le_binaries based structure level 1 dcl 3-260 le_comp based structure level 1 dcl 3-89 le_data_$caller 000034 external static varying char(32) dcl 58 ref 109 111 le_data_$symbol_table 000036 external static structure level 1 dcl 59 le_data_$version_number 000040 external static fixed bin(17,0) dcl 61 ref 110 le_data_$version_suffix 000042 external static varying char(64) dcl 62 ref 111 le_definition based structure level 1 dcl 3-175 le_error_ 000030 constant entry external dcl 52 ref 146 le_gen_info 000166 automatic structure level 1 dcl 79 set ref 139 139 le_link based structure level 1 dcl 3-233 le_patch based structure level 1 dcl 3-298 leb based structure level 1 dcl 66 lebp parameter pointer dcl 36 set ref 16 98* 103 115 134 150 154 154 158 158 160 161 162 163 164 165 166 167 168 169 171 171 lecp parameter pointer dcl 35 set ref 16 98* linkl 25 based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 66 set ref 167* linkp 6 000412 automatic pointer level 2 in structure "oi" dcl 84 in procedure "le_complete_binary_" set ref 162 linkp 16 based pointer array level 3 in structure "leb" dcl 66 in procedure "le_complete_binary_" set ref 162* llng 20 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 167 mode 13 000374 automatic bit(36) level 3 dcl 80 set ref 180* my_acl 000374 automatic structure level 1 dcl 80 set ref 183 183 n_binaries based fixed bin(17,0) level 3 dcl 66 ref 103 115 null builtin function dcl 94 ref 119 123 object_created 6 000036 external static fixed bin(71,0) level 2 dcl 59 ref 108 object_info based structure level 1 dcl 4-6 object_info_$brief 000032 constant entry external dcl 53 ref 158 object_info_version_2 constant fixed bin(17,0) initial dcl 4-60 ref 156 ocu_$create_msf 000044 constant entry external dcl 5-153 ref 139 oi 000412 automatic structure level 1 dcl 84 set ref 158 158 segment_acl_entry based structure level 1 dcl 2-45 segp 2 based pointer array level 3 dcl 66 set ref 134 150* 154* 158* 171* slng 22 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 168 statl 26 based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 66 set ref 169* statp 10 000412 automatic pointer level 2 in structure "oi" dcl 84 in procedure "le_complete_binary_" set ref 164 statp 22 based pointer array level 3 in structure "leb" dcl 66 in procedure "le_complete_binary_" set ref 164* status_code 14 000374 automatic fixed bin(35,0) level 3 dcl 80 set ref 181* std_symbol_header based structure level 1 dcl 6-1 symbl 25(18) based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 66 set ref 168* symbp 20 based pointer array level 3 in structure "leb" dcl 66 in procedure "le_complete_binary_" set ref 163* symbp 12 000412 automatic pointer level 2 in structure "oi" dcl 84 in procedure "le_complete_binary_" set ref 163 sys_area based area(1024) dcl 70 ref 123 129 144 sys_areap 000500 automatic pointer dcl 85 set ref 113* 123 129 144 textl 24 based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 66 set ref 165* textp 2 000412 automatic pointer level 2 in structure "oi" dcl 84 in procedure "le_complete_binary_" set ref 160 textp 12 based pointer array level 3 in structure "leb" dcl 66 in procedure "le_complete_binary_" set ref 160* tlng 16 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 165 uid 5 based bit(36) array level 3 dcl 66 set ref 171* version 000374 automatic char(8) level 2 dcl 80 set ref 177* version_number 000412 automatic fixed bin(17,0) level 2 dcl 84 set ref 156* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACL_VERSION_1 internal static fixed bin(17,0) initial dcl 2-77 A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DEFINITION_FLAGS_ENTRY internal static bit(4) initial unaligned dcl 5-38 DEFINITION_FLAGS_IGNORE internal static bit(4) initial unaligned dcl 5-37 DEFINITION_FLAGS_INDIRECT internal static bit(4) initial unaligned dcl 5-40 DEFINITION_FLAGS_RETAIN internal static bit(4) initial unaligned dcl 5-39 DELETE_ACL_VERSION_1 internal static char(4) initial unaligned dcl 2-67 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 DIR_ACL_VERSION_1 internal static char(4) initial unaligned dcl 2-67 Definition internal static fixed bin(3,0) initial dcl 3-32 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 GENERAL_DELETE_ACL_VERSION_1 internal static char(8) initial unaligned dcl 2-72 GENERAL_EXTENDED_ACL_VERSION_1 internal static char(8) initial unaligned dcl 2-72 Heap internal static fixed bin(3,0) initial dcl 3-38 LE_ABORT_ERROR internal static fixed bin(17,0) initial dcl 3-22 LE_ERROR internal static fixed bin(17,0) initial dcl 3-20 LE_WARNING internal static fixed bin(17,0) initial dcl 3-19 Linkage internal static fixed bin(3,0) initial dcl 3-28 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 OPEN_FLAGS_BOUND internal static bit(6) initial unaligned dcl 5-20 OPEN_FLAGS_NO_HASHTABLE internal static bit(6) initial unaligned dcl 5-32 OPEN_FLAGS_PERPROCESS_STATIC internal static bit(6) initial unaligned dcl 5-29 OPEN_FLAGS_PROCEDURE internal static bit(6) initial unaligned dcl 5-24 OPEN_FLAGS_RELOCATABLE internal static bit(6) initial unaligned dcl 5-22 OPEN_FLAGS_SEPARATE_STATIC internal static bit(6) initial unaligned dcl 5-26 Patch_Init internal static fixed bin(17,0) initial dcl 3-59 Patch_Link internal static fixed bin(17,0) initial dcl 3-58 Patch_Self_Init internal static fixed bin(17,0) initial dcl 3-61 Patch_Symbol_Ref internal static fixed bin(17,0) initial dcl 3-60 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 Refname_Base internal static fixed bin(3,0) initial dcl 3-49 Refname_Offsetname internal static fixed bin(3,0) initial dcl 3-51 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SEG_ACL_VERSION_1 internal static char(4) initial unaligned dcl 2-67 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 Self_Base internal static fixed bin(3,0) initial dcl 3-47 Self_Offsetname internal static fixed bin(3,0) initial dcl 3-53 Static internal static fixed bin(3,0) initial dcl 3-34 Symbol internal static fixed bin(3,0) initial dcl 3-30 System internal static fixed bin(3,0) initial dcl 3-36 Text internal static fixed bin(3,0) initial dcl 3-26 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 acl_count automatic fixed bin(17,0) dcl 2-5 acl_ptr automatic pointer dcl 2-4 def_count automatic fixed bin(17,0) dcl 3-173 delete_acl based structure level 1 dcl 2-58 delete_acl_array based structure array level 1 dcl 2-64 directory_acl based structure level 1 dcl 2-49 directory_acl_array based structure array level 1 dcl 2-55 general_acl based structure level 1 dcl 2-7 general_delete_acl based structure level 1 dcl 2-30 general_extended_acl based structure level 1 dcl 2-18 le_components based structure level 1 dcl 3-72 le_definitions based structure level 1 dcl 3-167 le_links based structure level 1 dcl 3-225 le_options based structure level 1 dcl 3-202 le_patches based structure level 1 dcl 3-293 le_segnames based structure level 1 dcl 3-149 link_count automatic fixed bin(17,0) dcl 3-231 ocu_$backpatch 000000 constant entry external dcl 5-146 ocu_$close 000000 constant entry external dcl 5-76 ocu_$emit_definition 000000 constant entry external dcl 5-90 ocu_$emit_firstref_trap 000000 constant entry external dcl 5-134 ocu_$emit_link 000000 constant entry external dcl 5-115 ocu_$emit_msf_map 000000 constant entry external dcl 5-104 ocu_$emit_partial_link 000000 constant entry external dcl 5-126 ocu_$emit_segname 000000 constant entry external dcl 5-98 ocu_$emit_static 000000 constant entry external dcl 5-109 ocu_$emit_symbol 000000 constant entry external dcl 5-139 ocu_$emit_text 000000 constant entry external dcl 5-83 ocu_$open 000000 constant entry external dcl 5-69 ocu_$release 000000 constant entry external dcl 5-80 reloc_str based char unaligned dcl 5-53 reloc_strl automatic fixed bin(21,0) dcl 5-51 reloc_strp automatic pointer dcl 5-50 section_nm internal static char(16) initial array unaligned dcl 3-41 segment_acl based structure level 1 dcl 2-40 segment_acl_array based structure array level 1 dcl 2-46 segname_count automatic fixed bin(17,0) dcl 3-156 word_array based bit(36) array unaligned dcl 5-48 word_arrayl automatic fixed bin(18,0) unsigned dcl 5-46 word_arrayp automatic pointer dcl 5-45 NAME DECLARED BY EXPLICIT CONTEXT. le_complete_binary_ 000042 constant entry external dcl 16 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1014 1062 572 1024 Length 1414 572 46 315 221 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME le_complete_binary_ 428 external procedure is an external procedure. on unit on line 121 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME le_complete_binary_ 000100 dn le_complete_binary_ 000152 dnl le_complete_binary_ 000153 ec le_complete_binary_ 000154 en le_complete_binary_ 000164 i le_complete_binary_ 000166 le_gen_info le_complete_binary_ 000374 my_acl le_complete_binary_ 000412 oi le_complete_binary_ 000500 sys_areap le_complete_binary_ 000510 component_listp le_complete_binary_ 000512 component_count le_complete_binary_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry int_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. expand_pathname_ fs_util_$add_acl_entries get_group_id_$tag_star get_system_free_area_ hcs_$fs_get_path_name hcs_$get_uid_seg initiate_file_ le_backpatch_$execute le_error_ object_info_$brief ocu_$create_msf THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. le_data_$caller le_data_$symbol_table le_data_$version_number le_data_$version_suffix LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000036 98 000047 103 000060 108 000065 109 000071 110 000076 111 000100 113 000124 115 000133 119 000137 121 000141 123 000155 125 000166 129 000167 133 000175 134 000205 135 000217 139 000221 144 000240 146 000244 150 000272 154 000330 156 000376 158 000400 160 000422 161 000427 162 000433 163 000437 164 000443 165 000447 166 000454 167 000456 168 000461 169 000463 171 000466 175 000501 177 000524 178 000526 179 000530 180 000537 181 000541 183 000542 185 000571 ----------------------------------------------------------- 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