COMPILATION LISTING OF SEGMENT get_primary_name_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/12/82 1245.0 mst Fri 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 get_primary_name_: procedure (P_dname, P_ename, P_found_ename, P_code); 12 13 /* * GET_PRIMARY_NAME_ 14* * 15* * This routine is used by get_library_segment to search through new format (1972) 16* * Multics online and offline libraries. It looks for the segment or archive component 17* * called P_ename, in the P_dname directory. If it finds it, it returns the primary 18* * name of the segment it found in P_found_ename, and returns P_code as zero. If it 19* * doesn't find it, but had no problems looking, it returns P_code as 1 and leaves 20* * P_found_ename alone, to cause get_library_segment to keep looking. Otherwise, if 21* * it encounters an error searching, it returns the error code. 22* * 23* * The search_archives entrypoint additionally looks through all the archives in the 24* * directory, in case the component names are not on the archives (as is the case for 25* * the CISL Development Machine libraries, for instance). 26* * 27* * Written 08/07/72, by Gary C. Dixon 28* * Rewritten, to add $search_archives, 03/25/81, W. Olin Sibert 29* */ 30 31 dcl P_dname char (*) parameter; /* pathname of the directory to be searched. (Input) */ 32 dcl P_ename char (*) parameter; /* entryname of the entry to be found. (Input) */ 33 dcl P_found_ename char (*) parameter; /* primary name of the found entry. (Output) */ 34 dcl P_code fixed bin (35) parameter; /* status code. (Output) */ 35 36 dcl dname char (168); 37 dcl ename char (32); 38 dcl code fixed bin (35); 39 dcl first_error fixed bin (35); 40 dcl search_sw bit (1) aligned; 41 dcl idx fixed bin; 42 dcl archive_ptr pointer; 43 dcl archive_bc fixed bin (24); 44 45 dcl 1 status_buffer aligned like status_branch automatic; 46 47 dcl status_area area aligned based (status_area_ptr); 48 49 dcl archive_$get_component entry (pointer, fixed bin (24), char (*), pointer, fixed bin(24), fixed bin(35)); 50 dcl get_system_free_area_ entry () returns (pointer); 51 dcl hcs_$initiate_count entry (char (*), char (*), char (*), fixed bin (24), fixed bin (2), pointer, fixed bin (35)); 52 dcl hcs_$star_ entry (char (*), char (*), fixed bin (2), pointer, fixed bin, pointer, pointer, fixed bin (35)); 53 dcl hcs_$status_ entry (char (*), char (*), fixed bin (1), pointer, pointer, fixed bin (35)); 54 dcl hcs_$terminate_noname entry (pointer, fixed bin (35)); 55 56 dcl error_table_$no_component fixed bin (35) external static; 57 dcl error_table_$noentry fixed bin (35) external static; 58 dcl error_table_$nomatch fixed bin (35) external static; 59 60 dcl cleanup condition; 61 62 dcl (addr, null, sum, unspec, pointer) builtin; 63 64 /* */ 65 66 search_sw = "0"b; /* Just look at names, don't search archives */ 67 goto COMMON; 68 69 70 get_primary_name_$search_archives: entry (P_dname, P_ename, P_found_ename, P_code); 71 72 /* * Entry to search all archives in the directory if it doesn't find what it 73* * wants when just looking up the name. */ 74 75 search_sw = "1"b; 76 goto COMMON; 77 78 79 COMMON: dname = P_dname; 80 ename = P_ename; 81 82 status_area_ptr = get_system_free_area_ (); 83 status_ptr = addr (status_buffer); 84 unspec (status_buffer) = ""b; 85 star_names_ptr = null (); 86 star_entry_ptr = null (); 87 archive_ptr = null (); 88 89 on condition (cleanup) 90 call clean_up (); 91 92 call hcs_$status_ (dname, ename, 1, status_ptr, status_area_ptr, code); 93 if code = 0 then do; /* Found it */ 94 P_found_ename = status_entry_names (1); 95 goto FINISHED; 96 end; 97 98 else if code ^= error_table_$noentry then /* An error. Just abort */ 99 goto FINISHED; 100 101 else if ^search_sw then do; /* If we're not to search, just set code to 1 */ 102 NOT_FOUND: code = 1; 103 goto FINISHED; /* and finish */ 104 end; 105 106 /* */ 107 108 call hcs_$star_ (dname, "**.archive", star_ALL_ENTRIES, status_area_ptr, 109 star_entry_count, star_entry_ptr, star_names_ptr, code); 110 111 if code = error_table_$nomatch then goto NOT_FOUND; /* Nothing there to look through -- not an error */ 112 else if code ^= 0 then goto FINISHED; /* Treat anything else as an error */ 113 114 first_error = 0; /* Set to nonzero by the first error */ 115 do idx = 1 to star_entry_count; /* Loop through all the archives */ 116 call hcs_$initiate_count (dname, star_names (star_entries (idx).nindex), "", 117 archive_bc, 0, archive_ptr, code); 118 if archive_ptr = null () then do; /* Just ignore errors searching archives */ 119 if first_error = 0 then /* remember any errors other than not-found */ 120 if code ^= error_table_$noentry then first_error = code; 121 goto NEXT_ARCHIVE; 122 end; 123 124 call archive_$get_component (archive_ptr, archive_bc, ename, (null ()), (0), code); 125 if code = 0 then do; /* Found it */ 126 P_found_ename = star_names (star_entries (idx).nindex); /* Set the return name */ 127 goto FINISHED; /* and finish up */ 128 end; 129 130 else if (code ^= error_table_$no_component) & (first_error = 0) then 131 first_error = code; /* If a format error, etc., remember it */ 132 133 call hcs_$terminate_noname (archive_ptr, (0)); /* Forget about this one */ 134 135 NEXT_ARCHIVE: 136 end; /* of loop through possible archives */ 137 138 if first_error = 0 then /* Didn't find it, anywhere, but had no problems looking */ 139 code = 1; /* indicate, and fall through */ 140 else code = first_error; /* Otherwise, return the code for the first problem */ 141 142 143 FINISHED: 144 P_code = code; 145 call clean_up (); 146 return; 147 148 /* */ 149 150 clean_up: proc (); 151 152 /* Cleanup procedure */ 153 154 if status_branch.names_relp ^= ""b then 155 free status_entry_names in (status_area); 156 if star_names_ptr ^= null () then 157 free star_names in (status_area); 158 if star_entry_ptr ^= null () then 159 free star_entries in (status_area); 160 if archive_ptr ^= null () then 161 call hcs_$terminate_noname (archive_ptr, (0)); 162 163 return; 164 end clean_up; 165 166 1 2 /* --------------- BEGIN include file status_structures.incl.pl1 --------------- */ 1 3 1 4 /* Revised from existing include files 09/26/78 by C. D. Tavares */ 1 5 1 6 /* This include file contains branch and link structures returned by 1 7* hcs_$status_ and hcs_$status_long. */ 1 8 1 9 dcl 1 status_branch aligned based (status_ptr), 1 10 2 short aligned, 1 11 3 type fixed bin (2) unaligned unsigned, /* seg, dir, or link */ 1 12 3 nnames fixed bin (16) unaligned unsigned, /* number of names */ 1 13 3 names_relp bit (18) unaligned, /* see entry_names dcl */ 1 14 3 dtcm bit (36) unaligned, /* date/time contents last modified */ 1 15 3 dtu bit (36) unaligned, /* date/time last used */ 1 16 3 mode bit (5) unaligned, /* caller's effective access */ 1 17 3 raw_mode bit (5) unaligned, /* caller's raw "rew" modes */ 1 18 3 pad1 bit (8) unaligned, 1 19 3 records_used fixed bin (18) unaligned unsigned, /* number of NONZERO pages used */ 1 20 1 21 /* Limit of information returned by hcs_$status_ */ 1 22 1 23 2 long aligned, 1 24 3 dtd bit (36) unaligned, /* date/time last dumped */ 1 25 3 dtem bit (36) unaligned, /* date/time branch last modified */ 1 26 3 lvid bit (36) unaligned, /* logical volume ID */ 1 27 3 current_length fixed bin (12) unaligned unsigned, /* number of last page used */ 1 28 3 bit_count fixed bin (24) unaligned unsigned, /* reported length in bits */ 1 29 3 pad2 bit (8) unaligned, 1 30 3 copy_switch bit (1) unaligned, /* copy switch */ 1 31 3 tpd_switch bit (1) unaligned, /* transparent to paging device switch */ 1 32 3 mdir_switch bit (1) unaligned, /* is a master dir */ 1 33 3 damaged_switch bit (1) unaligned, /* salvager warned of possible damage */ 1 34 3 pad3 bit (6) unaligned, 1 35 3 ring_brackets (0:2) fixed bin (6) unaligned unsigned, 1 36 3 uid bit (36) unaligned; /* unique ID */ 1 37 1 38 dcl 1 status_link aligned based (status_ptr), 1 39 2 type fixed bin (2) unaligned unsigned, /* as above */ 1 40 2 nnames fixed bin (16) unaligned unsigned, 1 41 2 names_relp bit (18) unaligned, 1 42 2 dtem bit (36) unaligned, 1 43 2 dtd bit (36) unaligned, 1 44 2 pathname_length fixed bin (17) unaligned, /* see pathname */ 1 45 2 pathname_relp bit (18) unaligned; /* see pathname */ 1 46 1 47 dcl status_entry_names (status_branch.nnames) character (32) aligned 1 48 based (pointer (status_area_ptr, status_branch.names_relp)), 1 49 /* array of names returned */ 1 50 status_pathname character (status_link.pathname_length) aligned 1 51 based (pointer (status_area_ptr, status_link.pathname_relp)), 1 52 /* link target path */ 1 53 status_area_ptr pointer, 1 54 status_ptr pointer; 1 55 1 56 dcl (Link initial (0), 1 57 Segment initial (1), 1 58 Directory initial (2)) fixed bin internal static options (constant); 1 59 /* values for type fields declared above */ 1 60 1 61 /* ---------------- END include file status_structures.incl.pl1 ---------------- */ 166 167 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 2 2 2 3 /* This include file contains structures for the hcs_$star_, 2 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 2 5* 2 6* Written 23 October 1978 by Monte Davidoff. 2 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 2 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 2 9**/ 2 10 2 11 /* automatic */ 2 12 2 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 2 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 2 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 2 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 2 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 2 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 2 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 2 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 2 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 2 22 2 23 /* based */ 2 24 2 25 /* hcs_$star_ entry structure */ 2 26 2 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 2 28 2 type fixed binary (2) unsigned unaligned, 2 29 /* storage system type */ 2 30 2 nnames fixed binary (16) unsigned unaligned, 2 31 /* number of names of entry that match star_name */ 2 32 2 nindex fixed binary (18) unsigned unaligned; 2 33 /* index of first name in star_names */ 2 34 2 35 /* hcs_$star_ name structure */ 2 36 2 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 2 38 2 39 /* hcs_$star_list_ branch structure */ 2 40 2 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 42 2 type fixed binary (2) unsigned unaligned, 2 43 /* storage system type */ 2 44 2 nnames fixed binary (16) unsigned unaligned, 2 45 /* number of names of entry that match star_name */ 2 46 2 nindex fixed binary (18) unsigned unaligned, 2 47 /* index of first name in star_list_names */ 2 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 2 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 2 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 2 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 2 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 2 53 2 pad bit (7) unaligned, 2 54 2 records fixed binary (18) unsigned unaligned; 2 55 /* records used by branch */ 2 56 2 57 /* hcs_$star_dir_list_ branch structure */ 2 58 2 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 60 2 type fixed binary (2) unsigned unaligned, 2 61 /* storage system type */ 2 62 2 nnames fixed binary (16) unsigned unaligned, 2 63 /* number of names of entry that match star_name */ 2 64 2 nindex fixed binary (18) unsigned unaligned, 2 65 /* index of first name in star_list_names */ 2 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 2 67 2 pad bit (36) unaligned, 2 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 2 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 2 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 2 71 2 bit_count fixed binary (24) unaligned; 2 72 /* bit count of the branch */ 2 73 2 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 2 75 2 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 77 2 type fixed binary (2) unsigned unaligned, 2 78 /* storage system type */ 2 79 2 nnames fixed binary (16) unsigned unaligned, 2 80 /* number of names of entry that match star_name */ 2 81 2 nindex fixed binary (18) unsigned unaligned, 2 82 /* index of first name in star_list_names */ 2 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 2 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 2 85 2 pathname_len fixed binary (18) unsigned unaligned, 2 86 /* length of the pathname of the link */ 2 87 2 pathname_index fixed binary (18) unsigned unaligned; 2 88 /* index of start of pathname in star_list_names */ 2 89 2 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 2 91 2 92 declare star_list_names char (32) based (star_list_names_ptr) 2 93 dimension (star_links (star_branch_count + star_link_count).nindex 2 94 + star_links (star_branch_count + star_link_count).nnames 2 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 2 96 * binary ( 2 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 2 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 2 99 2 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 2 101 2 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 2 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 2 104 2 105 /* internal static */ 2 106 2 107 /* star_select_sw values */ 2 108 2 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 2 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 2 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 2 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 2 113 fixed binary (3) internal static options (constant) initial (5); 2 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 2 115 fixed binary (3) internal static options (constant) initial (7); 2 116 2 117 /* storage system types */ 2 118 2 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 2 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 2 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 2 122 2 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 167 168 169 end get_primary_name_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/12/82 1112.2 get_primary_name_.pl1 >spec>on>11/12/82>get_primary_name_.pl1 166 1 09/26/79 1144.9 status_structures.incl.pl1 >ldd>include>status_structures.incl.pl1 167 2 06/10/82 1045.5 star_structures.incl.pl1 >ldd>include>star_structures.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 34 set ref 11 70 143* P_dname parameter char unaligned dcl 31 ref 11 70 79 P_ename parameter char unaligned dcl 32 ref 11 70 80 P_found_ename parameter char unaligned dcl 33 set ref 11 70 94* 126* addr builtin function dcl 62 ref 83 archive_$get_component 000010 constant entry external dcl 49 ref 124 archive_bc 000170 automatic fixed bin(24,0) dcl 43 set ref 116* 124* archive_ptr 000166 automatic pointer dcl 42 set ref 87* 116* 118 124* 133* 160 160* cleanup 000204 stack reference condition dcl 60 ref 89 code 000162 automatic fixed bin(35,0) dcl 38 set ref 92* 93 98 102* 108* 111 112 116* 119 119 124* 125 130 130 138* 140* 143 dname 000100 automatic char(168) unaligned dcl 36 set ref 79* 92* 108* 116* ename 000152 automatic char(32) unaligned dcl 37 set ref 80* 92* 124* error_table_$no_component 000024 external static fixed bin(35,0) dcl 56 ref 130 error_table_$noentry 000026 external static fixed bin(35,0) dcl 57 ref 98 119 error_table_$nomatch 000030 external static fixed bin(35,0) dcl 58 ref 111 first_error 000163 automatic fixed bin(35,0) dcl 39 set ref 114* 119 119* 130 130* 138 140 get_system_free_area_ 000012 constant entry external dcl 50 ref 82 hcs_$initiate_count 000014 constant entry external dcl 51 ref 116 hcs_$star_ 000016 constant entry external dcl 52 ref 108 hcs_$status_ 000020 constant entry external dcl 53 ref 92 hcs_$terminate_noname 000022 constant entry external dcl 54 ref 133 160 idx 000165 automatic fixed bin(17,0) dcl 41 set ref 115* 116 126* names_relp 0(18) based bit(18) level 3 packed unaligned dcl 1-9 ref 94 154 154 nindex 0(18) based fixed bin(18,0) array level 2 packed unsigned unaligned dcl 2-27 ref 116 126 nnames 0(02) based fixed bin(16,0) array level 2 in structure "star_entries" packed unsigned unaligned dcl 2-27 in procedure "get_primary_name_" ref 156 nnames 0(02) based fixed bin(16,0) level 3 in structure "status_branch" packed unsigned unaligned dcl 1-9 in procedure "get_primary_name_" ref 154 null builtin function dcl 62 ref 85 86 87 118 124 156 158 160 pointer builtin function dcl 62 ref 94 154 search_sw 000164 automatic bit(1) dcl 40 set ref 66* 75* 101 short based structure level 2 dcl 1-9 star_ALL_ENTRIES 000012 constant fixed bin(2,0) initial dcl 2-111 set ref 108* star_entries based structure array level 1 dcl 2-27 ref 158 star_entry_count 000216 automatic fixed bin(17,0) dcl 2-14 set ref 108* 115 156 158 star_entry_ptr 000220 automatic pointer dcl 2-15 set ref 86* 108* 116 126 156 158 158 star_names based char(32) array unaligned dcl 2-37 set ref 116* 126 156 star_names_ptr 000222 automatic pointer dcl 2-19 set ref 85* 108* 116 126 156 156 status_area based area(1024) dcl 47 ref 154 156 158 status_area_ptr 000212 automatic pointer dcl 1-47 set ref 82* 92* 94 108* 154 154 156 158 status_branch based structure level 1 dcl 1-9 status_buffer 000171 automatic structure level 1 dcl 45 set ref 83 84* status_entry_names based char(32) array dcl 1-47 ref 94 154 status_ptr 000214 automatic pointer dcl 1-47 set ref 83* 92* 94 154 154 154 sum builtin function dcl 62 ref 156 unspec builtin function dcl 62 set ref 84* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Directory internal static fixed bin(17,0) initial dcl 1-56 Link internal static fixed bin(17,0) initial dcl 1-56 Segment internal static fixed bin(17,0) initial dcl 1-56 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 2-114 star_BRANCHES_ONLY internal static fixed bin(2,0) initial dcl 2-110 star_DIRECTORY internal static fixed bin(2,0) initial unsigned dcl 2-121 star_LINK internal static fixed bin(2,0) initial unsigned dcl 2-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 2-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 2-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 2-120 star_branch_count automatic fixed bin(17,0) dcl 2-13 star_dir_list_branch based structure array level 1 dcl 2-59 star_link_count automatic fixed bin(17,0) dcl 2-17 star_link_pathname based char unaligned dcl 2-102 star_links based structure array level 1 dcl 2-76 star_linkx automatic fixed bin(17,0) dcl 2-18 star_list_branch based structure array level 1 dcl 2-41 star_list_branch_ptr automatic pointer dcl 2-16 star_list_names based char(32) array unaligned dcl 2-92 star_list_names_ptr automatic pointer dcl 2-20 star_select_sw automatic fixed bin(3,0) dcl 2-21 status_link based structure level 1 dcl 1-38 status_pathname based char dcl 1-47 NAMES DECLARED BY EXPLICIT CONTEXT. COMMON 000113 constant label dcl 79 ref 67 76 FINISHED 000533 constant label dcl 143 ref 95 98 103 112 127 NEXT_ARCHIVE 000523 constant label dcl 135 ref 121 NOT_FOUND 000250 constant label dcl 102 ref 111 clean_up 000544 constant entry internal dcl 150 ref 89 145 get_primary_name_ 000032 constant entry external dcl 11 get_primary_name_$search_archives 000063 constant entry external dcl 70 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1044 1076 653 1054 Length 1322 653 32 210 170 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME get_primary_name_ 224 external procedure is an external procedure. on unit on line 89 64 on unit clean_up 74 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_primary_name_ 000100 dname get_primary_name_ 000152 ename get_primary_name_ 000162 code get_primary_name_ 000163 first_error get_primary_name_ 000164 search_sw get_primary_name_ 000165 idx get_primary_name_ 000166 archive_ptr get_primary_name_ 000170 archive_bc get_primary_name_ 000171 status_buffer get_primary_name_ 000212 status_area_ptr get_primary_name_ 000214 status_ptr get_primary_name_ 000216 star_entry_count get_primary_name_ 000220 star_entry_ptr get_primary_name_ 000222 star_names_ptr get_primary_name_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return mpfx2 enable ext_entry_desc int_entry free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. archive_$get_component get_system_free_area_ hcs_$initiate_count hcs_$star_ hcs_$status_ hcs_$terminate_noname THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$no_component error_table_$noentry error_table_$nomatch LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000025 66 000057 67 000060 70 000061 75 000110 76 000112 79 000113 80 000121 82 000126 83 000135 84 000137 85 000142 86 000144 87 000145 89 000146 92 000170 93 000226 94 000230 95 000242 98 000243 101 000246 102 000250 103 000252 108 000253 111 000321 112 000325 114 000327 115 000330 116 000337 118 000411 119 000415 121 000424 124 000425 125 000463 126 000465 127 000502 130 000503 133 000512 135 000523 138 000525 140 000532 143 000533 145 000536 146 000542 150 000543 154 000551 156 000570 158 000624 160 000633 163 000652 ----------------------------------------------------------- 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