COMPILATION LISTING OF SEGMENT copy_acl_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 12/07/87 1346.2 mst Mon Options: optimize map 1 /****^ ************************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* * Copyright, (C) Massachusetts Institute of Technology, 1983 * 8* * * 9* ************************************************************** */ 10 11 12 13 14 15 16 /****^ HISTORY COMMENTS: 17* 1) change(87-08-27,TLNguyen), approve(87-08-27,MCR7755), 18* audit(87-09-08,Lippard), install(87-12-07,MR12.2-1009): 19* Change copy_acl_ to set the error switch just before it calls 20* fs_util_$replace_acl. 21* END HISTORY COMMENTS */ 22 23 24 /* format: style2,idind30,indcomtxt */ 25 26 copy_acl_: 27 proc (Dir_name_1, Entryname_1, Dir_name_2, Entryname_2, Errsw, Code); 28 29 30 /* Routine to copy the acl from one file to another. 31* Called by the copy command. 32* Coded by John Strayhorn, 7/1/70 */ 33 /* Modified by M. Weaver 31 December 1970 */ 34 /* Modified 7/1/74 by Steve Herbst to copy MSF acls */ 35 /* Modified 12/19/79 by Gary Dixon to copy seg->MSF acls, or vice versa */ 36 /* Modified 2/20/83 Jay Pattin for object_type_ */ 37 /* Modified 830927 BIM for object_type_ --> fs_util_ */ 38 39 dcl cleanup condition; 40 41 dcl (Dir_name_1, Entryname_1, Dir_name_2, Entryname_2) 42 char (*); /* arguments */ 43 44 dcl Code fixed bin (35); 45 dcl error_table_$not_seg_type fixed bin (35) ext static; 46 dcl error_table_$unsupported_operation 47 fixed bin (35) ext static; 48 dcl Errsw bit (1) aligned; 49 /* indicates which seg error was on */ 50 51 declare fs_util_$suffix_info entry (character (*), character (*), pointer, fixed binary (35)); 52 declare fs_util_$list_acl entry (character (*), character (*), character (*), pointer, pointer, 53 fixed binary (35)); 54 declare fs_util_$list_extended_acl entry (character (*), character (*), character (*), pointer, pointer, 55 fixed binary (35)); 56 declare fs_util_$replace_acl entry (character (*), character (*), pointer, bit (1), fixed binary (35)); 57 declare fs_util_$replace_extended_acl entry (character (*), character (*), pointer, bit (1), fixed binary (35)); 58 declare fs_util_$get_type entry (character (*), character (*), character (*), fixed binary (35)); 59 declare get_system_free_area_ entry () returns (ptr); 60 declare sub_err_ entry () options (variable); 61 62 declare fs_util_type_2 char (32) unaligned; 63 declare dir_name (2) char (168) unaligned; 64 declare entryname (2) char (32) unaligned; 65 1 1 /* Begin include file -- acl_structures.incl.pl1 BIM 3/82 */ 1 2 /* format: style3,indcomtxt,idind30 */ 1 3 1 4 declare acl_ptr pointer; 1 5 declare acl_count fixed bin; 1 6 1 7 declare 1 general_acl aligned based (acl_ptr), /* for fs_util_ */ 1 8 2 version char (8) aligned, 1 9 2 count fixed bin, 1 10 2 entries (acl_count refer (general_acl.count)) aligned like general_acl_entry; 1 11 1 12 declare 1 general_acl_entry based, 1 13 2 access_name character (32) unaligned, 1 14 2 mode bit (36) aligned, 1 15 2 status_code fixed bin (35); 1 16 1 17 1 18 declare 1 general_extended_acl aligned based (acl_ptr), /* for fs_util_ */ 1 19 2 version char (8) aligned, 1 20 2 count fixed bin, 1 21 2 entries (acl_count refer (general_extended_acl.count)) aligned like general_extended_acl_entry; 1 22 1 23 declare 1 general_extended_acl_entry aligned based, 1 24 2 access_name character (32) unaligned, 1 25 2 mode bit (36) aligned, 1 26 2 extended_mode bit (36) aligned, 1 27 2 status_code fixed bin (35); 1 28 1 29 1 30 declare 1 general_delete_acl aligned based (acl_ptr), /* for file_system_ */ 1 31 2 version char (8) aligned, 1 32 2 count fixed bin, 1 33 2 entries (acl_count refer (general_delete_acl.count)) aligned like delete_acl_entry; 1 34 1 35 declare 1 general_delete_acl_entry aligned based, 1 36 2 access_name character (32) unaligned, 1 37 2 status_code fixed bin (35); 1 38 1 39 1 40 declare 1 segment_acl aligned based (acl_ptr), 1 41 2 version fixed bin, 1 42 2 count fixed bin, 1 43 2 entries (acl_count refer (segment_acl.count)) aligned like segment_acl_entry; 1 44 1 45 declare 1 segment_acl_entry like general_extended_acl_entry aligned based; 1 46 declare 1 segment_acl_array (acl_count) aligned like segment_acl_entry based (acl_ptr); 1 47 1 48 1 49 declare 1 directory_acl aligned based (acl_ptr), 1 50 2 version fixed bin, 1 51 2 count fixed bin, 1 52 2 entries (acl_count refer (directory_acl.count)) aligned like directory_acl_entry; 1 53 1 54 declare 1 directory_acl_entry like general_acl_entry aligned based; 1 55 declare 1 directory_acl_array (acl_count) aligned like directory_acl_entry based (acl_ptr); 1 56 1 57 1 58 declare 1 delete_acl based (acl_ptr) aligned, 1 59 2 version fixed bin, 1 60 2 count fixed bin, 1 61 2 entries (acl_count refer (delete_acl.count)) aligned like delete_acl_entry; 1 62 1 63 declare 1 delete_acl_entry like general_delete_acl_entry aligned based; 1 64 declare 1 delete_acl_array (acl_count) aligned like delete_acl_entry based (acl_ptr); 1 65 1 66 1 67 declare (SEG_ACL_VERSION_1 init ("sga1"), 1 68 DIR_ACL_VERSION_1 init ("dra1"), 1 69 DELETE_ACL_VERSION_1 init ("dla1")) 1 70 char (4) int static options (constant); 1 71 1 72 declare (GENERAL_ACL_VERSION_1 init ("gacl001"), 1 73 GENERAL_EXTENDED_ACL_VERSION_1 init ("gxacl001"), 1 74 GENERAL_DELETE_ACL_VERSION_1 init ("gdacl001")) 1 75 char (8) internal static options (constant); 1 76 1 77 declare ACL_VERSION_1 fixed bin init (1) int static options (constant); 1 78 1 79 /* End include file acl_structures.incl.pl1 */ 66 2 1 /* BEGIN INCLUDE FILE: suffix_info.incl.pl1 */ 2 2 /* format: style3,indcomtxt,idind30 */ 2 3 /**** Jay Pattin 2/13/83 2 4* M. Pandolf 1984.11.30 to set FS_OBJECT_TYPE_MSF to -multisegment_file 2 5* 2 6* The include file copy_flags.incl.pl1 must be included in any program using this include file. 2 7* 2 8* This structure is returned by the suffix_XXX_$suffix_info subroutines */ 2 9 2 10 declare suffix_info_ptr ptr; 2 11 2 12 declare 1 suffix_info aligned based (suffix_info_ptr), 2 13 2 version char (8), 2 14 2 type char (32) unaligned, 2 15 2 type_name char (32) unaligned, /* Singular name of the object type, e.g. "mailbox" */ 2 16 2 plural_name char (32) unaligned, /* Plural of above, e.g. "mailboxes" */ 2 17 2 flags unaligned, 2 18 3 standard_object bit (1) unaligned, /* ON if not an extended object (no suffix_XXX_) */ 2 19 3 extended_acl bit (1) unaligned, /* ON if uses extended ACLs, off if regular ACLs */ 2 20 3 has_switches bit (1) unaligned, /* ON if supports switches for objects */ 2 21 3 mbz1 bit (33) unaligned, 2 22 2 modes char (36), /* correspondence between bits and chars for extended modes */ 2 23 2 max_mode_len fixed bin, /* maximum number of modes on an object */ 2 24 2 num_ring_brackets fixed bin, /* number of ring brackets on object */ 2 25 2 copy_flags like copy_flags, /* See copy_flags.incl.pl1 */ 2 26 2 info_pathname char (168) unaligned; 2 27 /* pathname of info segment containing more info */ 2 28 2 29 declare SUFFIX_INFO_VERSION_1 char (8) static options (constant) init ("SUFFIX01"); 2 30 2 31 /* This information is returned by the suffix_XXX_$list_switches subroutines */ 2 32 2 33 declare switch_list_ptr ptr, 2 34 alloc_switch_count fixed bin, 2 35 alloc_switch_name_count fixed bin; 2 36 2 37 declare 1 switch_list aligned based (switch_list_ptr), 2 38 2 version char (8), /* SWITCH_LIST_VERSION_1 */ 2 39 2 switch_count fixed bin, /* total number of switches */ 2 40 2 switch_name_count fixed bin, /* total number of names */ 2 41 2 switches (alloc_switch_count refer (switch_list.switch_count)), 2 42 3 name_index fixed bin, /* index of first name for this switch */ 2 43 3 name_count fixed bin, /* number of names for this switch */ 2 44 3 default_value bit (1) aligned, /* default setting for this switch */ 2 45 3 mbz1 bit (36) aligned, /* reserved for future use */ 2 46 2 names (alloc_switch_name_count refer (switch_list.switch_name_count)) char (32); 2 47 2 48 declare SWITCH_LIST_VERSION_1 char (8) static options (constant) init ("SWLIST01"); 2 49 2 50 declare ( 2 51 FS_OBJECT_TYPE_SEGMENT init ("-segment"), 2 52 FS_OBJECT_TYPE_DIRECTORY init ("-directory"), 2 53 FS_OBJECT_TYPE_MSF init ("-multisegment_file"), 2 54 FS_OBJECT_TYPE_DM_FILE init ("-dm_file"), 2 55 FS_OBJECT_TYPE_LINK init ("-link") 2 56 ) char (32) unaligned int static options (constant); 2 57 2 58 /* END INCLUDE FILE: suffix_info.incl.pl1 */ 67 3 1 /* BEGIN INCLUDE FILE: copy_flags.incl.pl1 */ 3 2 3 3 /* Flags for attributes that should/may be copied by the copy_ subroutine. This include file is 3 4* required by suffix_info.incl.pl1 and copy_options.incl.pl1 3 5* 3 6* Jay Pattin 6/23/83 */ 3 7 3 8 declare 1 copy_flags aligned based, /* ON means that this attribute may be copied by copy_ */ 3 9 2 names bit (1) unaligned, 3 10 2 acl bit (1) unaligned, 3 11 2 ring_brackets bit (1) unaligned, 3 12 2 max_length bit (1) unaligned, 3 13 2 copy_switch bit (1) unaligned, 3 14 2 safety_switch bit (1) unaligned, 3 15 2 dumper_switches bit (1) unaligned, 3 16 2 entry_bound bit (1) unaligned, /* only for vanilla object segments */ 3 17 2 extend bit (1) unaligned, /* copy_ may append to end of existing object */ 3 18 2 update bit (1) unaligned, /* copy_ may replace contents of existing object */ 3 19 2 mbz bit (26) unaligned; 3 20 3 21 /* END INCLUDE FILE: copy_flags.incl.pl1 */ 68 69 declare 1 si aligned like suffix_info; 4 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 4 2 /* format: style3 */ 4 3 4 4 /* These constants are to be used for the flags argument of sub_err_ */ 4 5 /* They are just "string (condition_info_header.action_flags)" */ 4 6 4 7 declare ( 4 8 ACTION_CAN_RESTART init (""b), 4 9 ACTION_CANT_RESTART init ("1"b), 4 10 ACTION_DEFAULT_RESTART 4 11 init ("01"b), 4 12 ACTION_QUIET_RESTART 4 13 init ("001"b), 4 14 ACTION_SUPPORT_SIGNAL 4 15 init ("0001"b) 4 16 ) bit (36) aligned internal static options (constant); 4 17 4 18 /* End include file */ 70 71 72 dcl (addr, null) builtin; 73 74 /* begin coding */ 75 Code = 0; 76 acl_ptr = null (); /* make cleanup handler happy */ 77 78 /* establish cleanup condition */ 79 on cleanup call clean_up; 80 81 /* get input parameters */ 82 dir_name (1) = Dir_name_1; 83 dir_name (2) = Dir_name_2; 84 entryname (1) = Entryname_1; 85 entryname (2) = Entryname_2; 86 87 /* determine the type (extended or standard) of specified source and target entries */ 88 Errsw = "0"b; /* Error apply to source. */ 89 si.version = SUFFIX_INFO_VERSION_1; /* get version name for "si" structure */ 90 call fs_util_$suffix_info (dir_name (1), entryname (1), addr (si), Code); 91 if Code ^= 0 92 then return; 93 94 Errsw = "1"b; /* indicates error applied to target */ 95 call fs_util_$get_type (dir_name (2), entryname (2), fs_util_type_2, Code); 96 if Code ^= 0 97 then return; 98 99 /**** * 100* Errsw = 1 since mismatch is layed at door of output */ 101 102 if si.type ^= fs_util_type_2 103 then do; 104 if si.type = FS_OBJECT_TYPE_SEGMENT | si.type = FS_OBJECT_TYPE_MSF 105 then call SPECIAL_CASE_SEG_MSF; /* perhaps seg -> msf or vica versa */ 106 else Code = error_table_$not_seg_type; /* ycch, used to get dirseg right ... */ 107 return; 108 end; 109 110 111 /**** * 112* here is a pair of the same type ! */ 113 114 Errsw = "0"b; /* indicates error applied to source */ 115 if si.extended_acl 116 then do; 117 call fs_util_$list_extended_acl (dir_name (1), entryname (1), GENERAL_EXTENDED_ACL_VERSION_1, 118 get_system_free_area_ (), acl_ptr, Code); 119 if Code = error_table_$unsupported_operation 120 then call sub_err_ ((0), "Invalid suffix_XXX_", ACTION_CANT_RESTART, null (), (0), 121 "suffix_^a_ claims to support extended acl's, but does not supply a list_extended_acl operation." 122 , fs_util_type_2); 123 124 else if Code ^= 0 125 then go to EXIT; 126 127 Errsw = "1"b; /* indicates error applied to target */ 128 call fs_util_$replace_extended_acl (dir_name (2), entryname (2), acl_ptr, "1"b /* no sysdaemon! */, 129 Code); 130 131 if Code = error_table_$unsupported_operation 132 then call sub_err_ ((0), "Invalid suffix_XXX_", ACTION_CANT_RESTART, null (), (0), 133 "suffix_^a_ claims to support extended acl's, but does not supply a replace_extended_acl operation." 134 , fs_util_type_2); 135 136 go to EXIT; /* Leaving code set */ 137 138 end; 139 140 /**** * 141* Land here for non-extended acls */ 142 143 144 Errsw = "0"b; /* indicates error applied to source */ 145 call fs_util_$list_acl (dir_name (1), entryname (1), GENERAL_ACL_VERSION_1, get_system_free_area_ (), acl_ptr, 146 Code); 147 if Code ^= 0 148 then go to EXIT; 149 150 Errsw = "1"b; /* indicates error applied to target */ 151 call fs_util_$replace_acl (dir_name (2), entryname (2), acl_ptr, "1"b /* no sysdaemon! */, Code); 152 153 go to EXIT; 154 155 156 /**** * 157* This procedure handles the special case of copying acls back and forth 158* between segments and msf's. Someday, we may permit this for dm files 159* as well. */ 160 161 SPECIAL_CASE_SEG_MSF: 162 procedure; 163 164 165 /**** * 166* To get into this procedure, the input object had to be a seg 167* or msf. now examine the output object to see if the types are 168* compatable. */ 169 170 if fs_util_type_2 ^= FS_OBJECT_TYPE_SEGMENT & fs_util_type_2 ^= FS_OBJECT_TYPE_MSF 171 then do; 172 Code = error_table_$not_seg_type; 173 return; 174 end; 175 176 Errsw = "0"b; /* indicates error applied to source */ 177 call fs_util_$list_extended_acl (dir_name (1), entryname (1), GENERAL_EXTENDED_ACL_VERSION_1, 178 get_system_free_area_ (), acl_ptr, Code); 179 if Code ^= 0 180 then return; 181 182 Errsw = "1"b; /* indicates error applied to target */ 183 call fs_util_$replace_extended_acl (dir_name (2), entryname (2), acl_ptr, "1"b /* no sysdaemon! */, Code); 184 185 return; 186 end SPECIAL_CASE_SEG_MSF; 187 188 189 EXIT: 190 call clean_up (); 191 192 if Code = 0 193 then Errsw = "0"b; 194 195 return; 196 197 198 clean_up: 199 proc; 200 201 if acl_ptr ^= null () 202 then do; 203 free general_acl; /* or general_extended_acl, illegal but effective */ 204 return; 205 end; 206 207 end clean_up; 208 209 end copy_acl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/07/87 1343.3 copy_acl_.pl1 >spec>install>1009>copy_acl_.pl1 66 1 10/14/83 1606.6 acl_structures.incl.pl1 >ldd>include>acl_structures.incl.pl1 67 2 03/05/85 1807.3 suffix_info.incl.pl1 >ldd>include>suffix_info.incl.pl1 68 3 10/14/83 1606.7 copy_flags.incl.pl1 >ldd>include>copy_flags.incl.pl1 70 4 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.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. ACTION_CANT_RESTART 000034 constant bit(36) initial dcl 4-7 set ref 119* 131* Code parameter fixed bin(35,0) dcl 44 set ref 26 75* 90* 91 95* 96 106* 117* 119 124 128* 131 145* 147 151* 172* 177* 179 183* 192 Dir_name_1 parameter char unaligned dcl 41 ref 26 82 Dir_name_2 parameter char unaligned dcl 41 ref 26 83 Entryname_1 parameter char unaligned dcl 41 ref 26 84 Entryname_2 parameter char unaligned dcl 41 ref 26 85 Errsw parameter bit(1) dcl 48 set ref 26 88* 94* 114* 127* 144* 150* 176* 182* 192* FS_OBJECT_TYPE_MSF 000000 constant char(32) initial unaligned dcl 2-50 ref 104 170 FS_OBJECT_TYPE_SEGMENT 000010 constant char(32) initial unaligned dcl 2-50 ref 104 170 GENERAL_ACL_VERSION_1 000024 constant char(8) initial unaligned dcl 1-72 set ref 145* GENERAL_EXTENDED_ACL_VERSION_1 000022 constant char(8) initial unaligned dcl 1-72 set ref 117* 177* SUFFIX_INFO_VERSION_1 000020 constant char(8) initial unaligned dcl 2-29 ref 89 acl_ptr 000262 automatic pointer dcl 1-4 set ref 76* 117* 128* 145* 151* 177* 183* 201 203 addr builtin function dcl 72 ref 90 90 cleanup 000100 stack reference condition dcl 39 ref 79 copy_flags based structure level 1 dcl 3-8 count 2 based fixed bin(17,0) level 2 dcl 1-7 ref 203 delete_acl_entry based structure level 1 dcl 1-63 dir_name 000116 automatic char(168) array unaligned dcl 63 set ref 82* 83* 90* 95* 117* 128* 145* 151* 177* 183* directory_acl_entry based structure level 1 dcl 1-54 entryname 000242 automatic char(32) array unaligned dcl 64 set ref 84* 85* 90* 95* 117* 128* 145* 151* 177* 183* error_table_$not_seg_type 000010 external static fixed bin(35,0) dcl 45 ref 106 172 error_table_$unsupported_operation 000012 external static fixed bin(35,0) dcl 46 ref 119 131 extended_acl 32(01) 000264 automatic bit(1) level 3 packed unaligned dcl 69 set ref 115 flags 32 000264 automatic structure level 2 packed unaligned dcl 69 fs_util_$get_type 000026 constant entry external dcl 58 ref 95 fs_util_$list_acl 000016 constant entry external dcl 52 ref 145 fs_util_$list_extended_acl 000020 constant entry external dcl 54 ref 117 177 fs_util_$replace_acl 000022 constant entry external dcl 56 ref 151 fs_util_$replace_extended_acl 000024 constant entry external dcl 57 ref 128 183 fs_util_$suffix_info 000014 constant entry external dcl 51 ref 90 fs_util_type_2 000106 automatic char(32) unaligned dcl 62 set ref 95* 102 119* 131* 170 170 general_acl based structure level 1 dcl 1-7 ref 203 general_acl_entry based structure level 1 unaligned dcl 1-12 general_delete_acl_entry based structure level 1 dcl 1-35 general_extended_acl_entry based structure level 1 dcl 1-23 get_system_free_area_ 000030 constant entry external dcl 59 ref 117 117 145 145 177 177 null builtin function dcl 72 ref 76 119 119 131 131 201 segment_acl_entry based structure level 1 dcl 1-45 si 000264 automatic structure level 1 dcl 69 set ref 90 90 sub_err_ 000032 constant entry external dcl 60 ref 119 131 suffix_info based structure level 1 dcl 2-12 type 2 000264 automatic char(32) level 2 packed unaligned dcl 69 set ref 102 104 104 version 000264 automatic char(8) level 2 dcl 69 set ref 89* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACL_VERSION_1 internal static fixed bin(17,0) initial dcl 1-77 ACTION_CAN_RESTART internal static bit(36) initial dcl 4-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 4-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 4-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 4-7 DELETE_ACL_VERSION_1 internal static char(4) initial unaligned dcl 1-67 DIR_ACL_VERSION_1 internal static char(4) initial unaligned dcl 1-67 FS_OBJECT_TYPE_DIRECTORY internal static char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_DM_FILE internal static char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_LINK internal static char(32) initial unaligned dcl 2-50 GENERAL_DELETE_ACL_VERSION_1 internal static char(8) initial unaligned dcl 1-72 SEG_ACL_VERSION_1 internal static char(4) initial unaligned dcl 1-67 SWITCH_LIST_VERSION_1 internal static char(8) initial unaligned dcl 2-48 acl_count automatic fixed bin(17,0) dcl 1-5 alloc_switch_count automatic fixed bin(17,0) dcl 2-33 alloc_switch_name_count automatic fixed bin(17,0) dcl 2-33 delete_acl based structure level 1 dcl 1-58 delete_acl_array based structure array level 1 dcl 1-64 directory_acl based structure level 1 dcl 1-49 directory_acl_array based structure array level 1 dcl 1-55 general_delete_acl based structure level 1 dcl 1-30 general_extended_acl based structure level 1 dcl 1-18 segment_acl based structure level 1 dcl 1-40 segment_acl_array based structure array level 1 dcl 1-46 suffix_info_ptr automatic pointer dcl 2-10 switch_list based structure level 1 dcl 2-37 switch_list_ptr automatic pointer dcl 2-33 NAMES DECLARED BY EXPLICIT CONTEXT. EXIT 000742 constant label dcl 189 ref 124 136 147 153 SPECIAL_CASE_SEG_MSF 000753 constant entry internal dcl 161 ref 104 clean_up 001101 constant entry internal dcl 198 ref 79 189 copy_acl_ 000144 constant entry external dcl 26 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1302 1336 1123 1312 Length 1606 1123 34 234 157 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME copy_acl_ 383 external procedure is an external procedure. on unit on line 79 64 on unit SPECIAL_CASE_SEG_MSF internal procedure shares stack frame of external procedure copy_acl_. clean_up 64 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME copy_acl_ 000106 fs_util_type_2 copy_acl_ 000116 dir_name copy_acl_ 000242 entryname copy_acl_ 000262 acl_ptr copy_acl_ 000264 si copy_acl_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op ext_entry_desc int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. fs_util_$get_type fs_util_$list_acl fs_util_$list_extended_acl fs_util_$replace_acl fs_util_$replace_extended_acl fs_util_$suffix_info get_system_free_area_ sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$not_seg_type error_table_$unsupported_operation LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 26 000136 75 000176 76 000200 79 000202 82 000224 83 000232 84 000237 85 000244 88 000251 89 000252 90 000254 91 000303 94 000306 95 000310 96 000335 102 000340 104 000344 106 000356 107 000361 114 000362 115 000363 117 000366 119 000432 124 000514 127 000516 128 000521 131 000553 136 000634 144 000635 145 000636 147 000702 150 000705 151 000707 153 000741 189 000742 192 000746 195 000752 161 000753 170 000754 172 000764 173 000770 176 000771 177 000773 179 001037 182 001043 183 001045 185 001077 198 001100 201 001106 203 001113 204 001121 207 001122 ----------------------------------------------------------- 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