COMPILATION LISTING OF SEGMENT lib_pathname_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 02/15/84 0856.7 mst Wed 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 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 /* */ 14 /* Name: lib_pathname_ */ 15 /* */ 16 /* This is the subroutine interface for the library_pathname command/af. Given a */ 17 /* library descriptor name, an array of library names, an array of star_names, it */ 18 /* returns an array of pathnames of library entries matching the star_names. The */ 19 /* lib_args_.incl.pl1 include file can be used by the valler to declare space for the */ 20 /* library names and star names arrays. */ 21 /* */ 22 /* Status: */ 23 /* 0) Created: October, 1981 by G. C. Dixon */ 24 /* 1) Modified: January, 1984 by Jim Lippard to get Srequirements and Scontrol from the */ 25 /* calling procedure. */ 26 /* */ 27 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 28 29 30 lib_pathname_: 31 proc (Adescriptor, Plibrary, Pstarname, Pexclude, Srequirements, 32 Scontrol, Presult_area, Ppaths, Npaths, progress, Acode) 33 options (rename ((alloc_, smart_alloc_))); 34 35 dcl Adescriptor char(168) varying, /* name of library descriptor to be used. (In) */ 36 /* If = "", then default descriptor is used. */ 37 Presult_area ptr, /* ptr to area in which array of found pathnames */ 38 /* is allocated. (In) */ 39 Ppaths ptr, /* ptr to array of allocated pathnames. (Out) */ 40 Npaths fixed bin, /* number of allocated pathnames. (Out) */ 41 progress fixed bin, /* integer indicating progress of search. */ 42 /* 0 = search beginning. */ 43 /* 1 = finding library descriptor. */ 44 /* 2 = seeing if library_info command supported */ 45 /* by this descriptor. */ 46 /* 3 = getting default library names if user */ 47 /* specified none. */ 48 /* 4 = getting default search names if user */ 49 /* specified none. */ 50 /* 5 = allocating the root nodes of the tree. */ 51 /* 6 = searching each library root for entries */ 52 /* identified by the search names. */ 53 /* 7 = no entries matching search names found. */ 54 Acode fixed bin(35); /* status code. */ 55 56 dcl Parea ptr, 57 Pnode ptr, 58 Ptree ptr, 59 cleanup condition, 60 code fixed bin(35), 61 i fixed bin; 62 63 dcl area area based(Parea), 64 paths (Npaths) char(200) based(Ppaths), 65 result_area area based(Presult_area); 66 67 dcl (addr, null) builtin; 68 69 dcl condition_ entry (char(*), entry), 70 get_system_msa_ entry (ptr, fixed bin(35), ptr), 71 lib_descriptor_$info entry (char(168) var, ptr, ptr, ptr, bit(72) aligned, bit(36) aligned, 72 ptr, ptr, fixed bin, fixed bin(35)), 73 lib_node_path_$absolute entry (ptr) returns(char(200) var), 74 lib_sort_tree_$make_name_list entry (ptr, ptr, ptr, ptr, fixed bin(35)), 75 msa_manager_$area_handler entry (ptr, char(*), ptr, ptr, bit(1) aligned), 76 release_system_msa_ entry (ptr, fixed bin(35)); 77 78 dcl (FALSE init("0"b), 79 TRUE init("1"b)) bit(1) int static options(constant); 80 81 Acode = 0; /* Initialize return code. */ 82 83 Sc.check_archive = TRUE; 84 Sc.search_names = TRUE; 85 S.primary_name = TRUE; 86 S.pathname = TRUE; 87 88 Parea = null; /* Prepare for release of multi-segment area (MSA)*/ 89 on cleanup call janitor(); 90 91 call condition_ ("area", msa_manager_$area_handler); 92 /* let msa_manager_ handle area conditions. */ 93 call get_system_msa_ (addr(Parea), 0, null); /* get a system MSA. */ 94 95 call lib_descriptor_$info (Adescriptor, Plibrary, Pstarname, Pexclude, 96 Srequirements, Scontrol, Parea, Ptree, progress, Acode); 97 if Acode ^= 0 then go to BAD_SEARCH; 98 99 allocate index_list in (area), /* allocate space to hold list of found status */ 100 name_list in (area), /* nodes. */ 101 node_list in (area); 102 index_list.I = 0; 103 name_list.I = 0; 104 node_list.I = 0; 105 call lib_sort_tree_$make_name_list (Ptree, Pname_list, Pindex_list, Pnode_list, Acode); 106 if Acode ^= 0 then go to NO_MATCH; /* Fill in the list. */ 107 108 Npaths = node_list.I; /* Fill in resulting pathnames. */ 109 allocate paths in (result_area); 110 do i = 1 to node_list.I; 111 Pnode = node_list.e(i); 112 paths(i) = lib_node_path_$absolute (Pnode); 113 end; 114 call janitor(); 115 return; 116 117 118 BAD_SEARCH: 119 NO_MATCH: Ppaths = null; 120 Npaths = 0; 121 call janitor(); 122 return; 123 124 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 125 126 127 janitor: proc; 128 129 if Parea ^= null then 130 call release_system_msa_ (addr(Parea), code); 131 132 end janitor; 133 134 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 135 1 1 /* START OF: lib_based_args_.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* N__a_m_e: lib_based_args_.incl.pl1 */ 1 6 /* */ 1 7 /* This include segment defines structures for the arrays of library names and search*/ 1 8 /* names used by library descriptor commands. This segment, lib_Svalid_req_.incl.pl1, */ 1 9 /* and lib_Scontrol_.incl.pl1 define the complete set of structures required as input */ 1 10 /* to the lib_descriptor_ subroutine. */ 1 11 /* */ 1 12 /* S__t_a_t_u_s */ 1 13 /* */ 1 14 /* 0) Created on: March 1, 1975 by A. J. Scherer */ 1 15 /* 1) Modified on: April 8, 1975 by G. C. Dixon */ 1 16 /* 2) Modified on: May 13, 1976 by G. C. Dixon */ 1 17 /* 3) Modified on: November 2, 1983 by Jim Lippard to align structures */ 1 18 /* */ 1 19 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 20 1 21 1 22 dcl 1 library aligned based (Plibrary), 1 23 /* a structure containing names of libraries to */ 1 24 /* be searched. */ 1 25 2 N fixed bin, /* attribute: number of library names in array. */ 1 26 2 group (0 refer (library.N)), /* attribute: array of library names */ 1 27 3 V char(32) unal, /* attribute: a library name (value). */ 1 28 3 C fixed bin(35); /* attribute: code from check_star_name_ for */ 1 29 dcl Plibrary ptr; /* ptr to: library structure. */ 1 30 /* this library name. */ 1 31 1 32 dcl 1 starname aligned based (Pstarname), 1 33 /* a structure containing names of library entries*/ 1 34 /* being searched for. */ 1 35 2 N fixed bin, /* attribute: number of starnames in array. */ 1 36 2 group (0 refer (starname.N)), /* attribute: array of starnames */ 1 37 3 V char(32) unal, /* attribute: a starname (value). */ 1 38 3 C fixed bin(35); /* attribute: code from check_star_name_ for */ 1 39 /* this starname. */ 1 40 dcl Pstarname ptr; /* ptr to: starname structure. */ 1 41 1 42 dcl 1 exclude aligned based (Pexclude), 1 43 /* a structure containing names of library entries*/ 1 44 /* being excluded from the search. */ 1 45 2 N fixed bin, /* attribute: number of excludes in array. */ 1 46 2 group (0 refer (exclude.N)), /* attribute: array of excludes */ 1 47 3 V char(32) unal, /* attribute: an exclude (value). */ 1 48 3 C fixed bin(35); /* attribute: code from check_star_name_ for */ 1 49 /* this exclude. */ 1 50 dcl Pexclude ptr; /* ptr to: exclude structure. */ 1 51 1 52 /* END OF: lib_based_args_.incl.pl1 * * * * * * * * * * * * * * * * */ 136 137 2 1 /* START OF: lib_list_.incl.pl1 * * * * * * * * * * * * * * * * */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* Name: lib_list_.incl.pl1 */ 2 6 /* */ 2 7 /* This segment declares the list structures which are used by the library */ 2 8 /* maintenance tools. The structures are filled in by lib_sort_tree_, and referenced by */ 2 9 /* lib_output_node_list_, having been allocated originally by one of the maintenance */ 2 10 /* commands (library_map, library_info, library_print, etc). */ 2 11 /* */ 2 12 /* Status */ 2 13 /* */ 2 14 /* 0) Created on: May 30, 1976 by G. C. Dixon */ 2 15 /* */ 2 16 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 17 2 18 2 19 dcl 1 index_list aligned based (Pindex_list), 2 20 /* an index list. */ 2 21 2 N fixed bin(24), /* max length of list. */ 2 22 2 I fixed bin(24), /* current length of list. */ 2 23 2 e (max_entries refer (index_list.N)) 2 24 fixed bin(24), /* the list. */ 2 25 1 name_list aligned based (Pname_list), 2 26 /* a name list. */ 2 27 2 N fixed bin(24), /* max length of list. */ 2 28 2 I fixed bin(24), /* current length of list. */ 2 29 2 e (max_entries refer (name_list.N)) ptr unal, /* list of ptrs to node names. */ 2 30 1 node_list aligned based (Pnode_list), 2 31 /* a list of ptrs to nodes to be output. */ 2 32 2 N fixed bin(24), /* max length of list. */ 2 33 2 I fixed bin(24), /* current length of list. */ 2 34 2 e (max_entries refer (node_list.N)) ptr unal, /* list of ptrs to nodes. */ 2 35 1 page_list aligned based (Ppage_list), 2 36 /* list of page numbers on which each node was */ 2 37 /* output. */ 2 38 2 N fixed bin(24), /* max length of list. */ 2 39 2 I fixed bin(24), /* current length of list. */ 2 40 2 e (max_entries refer (page_list.N)) 2 41 fixed bin(24), /* list of page numbers. */ 2 42 max_entries fixed bin int static init (32000), 2 43 Pindex_list ptr, /* ptr to index_list structure. */ 2 44 Pname_list ptr, /* ptr to name_list structure. */ 2 45 Pnode_list ptr, /* ptr to node_list structure. */ 2 46 Ppage_list ptr; /* ptr to page_list structure. */ 2 47 2 48 /* END OF: lib_list_.incl.pl1 * * * * * * * * * * * * * * * * */ 138 139 3 1 /* START OF: lib_Svalid_req_.incl.pl1 * * * * * * * * * * * * * * * * */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* N__a_m_e: lib_Svalid_req_.incl.pl1 */ 3 6 /* */ 3 7 /* This include segment defines the switches which request/validate the fields */ 3 8 /* in a status node produced by lib_get_tree_. This segment, lib_Scontrol_.incl.pl1, */ 3 9 /* and lib_args_.incl.pl1 define the complete set of structures required as input to */ 3 10 /* the lib_descriptor_ subroutine. This subroutine is called by all of the library */ 3 11 /* descriptor commands to obtain information about entries in a library. */ 3 12 /* */ 3 13 /* If a switch is on, then the corresponding information in the node is valid, or */ 3 14 /* is requested for output. */ 3 15 /* */ 3 16 /* S__t_a_t_u_s */ 3 17 /* */ 3 18 /* 0) Created on: April 8, 1975 by G. C. Dixon */ 3 19 /* */ 3 20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 21 3 22 3 23 dcl 1 Svalid_req aligned based, 3 24 2 primary_name bit(1) unal, /* switch: output includes primary name */ 3 25 2 matching_names bit(1) unal, /* switch: output includes matching names */ 3 26 2 names bit(1) unal, /* switch: output includes all names */ 3 27 3 28 2 pathname bit(1) unal, /* switch: output include pathname of node target */ 3 29 2 kids bit(1) unal, /* switch: children nodes (inferior) exist */ 3 30 2 kids_error bit(1) unal, /* switch: error occurred obtaining kid's info */ 3 31 3 32 2 type bit(1) unal, /* switch: type */ 3 33 2 mode bit(1) unal, /* switch: user's access mode to node target */ 3 34 2 safety bit(1) unal, /* switch: safety switch setting */ 3 35 3 36 2 aim bit(1) unal, /* switch: Access Isolation Mechanism switches */ 3 37 2 copy bit(1) unal, /* switch: copy-on-write switch setting */ 3 38 2 unique_id bit(1) unal, /* switch: unique identifier */ 3 39 3 40 2 author bit(1) unal, /* switch: author of node target */ 3 41 2 dtem bit(1) unal, /* switch: date attributes modified */ 3 42 2 dtd bit(1) unal, /* switch: date dumped */ 3 43 3 44 2 link_target bit(1) unal, /* switch: target pathname of link node */ 3 45 2 dtm bit(1) unal, /* switch: date modified */ 3 46 2 dtu bit(1) unal, /* switch: date used */ 3 47 3 48 2 rb bit(1) unal, /* switch: ring brackets */ 3 49 2 access_class bit(1) unal, /* switch: AIM access class */ 3 50 2 records_used bit(1) unal, /* switch: records used */ 3 51 3 52 2 current_length bit(1) unal, /* switch: current length */ 3 53 2 max_length bit(1) unal, /* switch: maximum length */ 3 54 2 msf_indicator bit(1) unal, /* switch: count of MSF components. */ 3 55 3 56 2 bit_count bit(1) unal, /* switch: bit count */ 3 57 2 bit_count_author bit(1) unal, /* switch: bit count author. */ 3 58 2 offset bit(1) unal, /* switch: offset from segment base */ 3 59 3 60 2 entry_bound bit(1) unal, /* switch: call limit for gate node */ 3 61 2 lvid bit(1) unal, /* switch: logical volume id */ 3 62 2 pvid bit(1) unal, /* switch: physical volume id */ 3 63 3 64 2 quota bit(1) unal, /* switch: directory quota information */ 3 65 2 acl bit(1) unal, /* switch: ACL */ 3 66 2 iacl bit(1) unal, /* switch: initial ACLs */ 3 67 3 68 2 dtc bit(1) unal, /* switch: date-time compiled */ 3 69 2 compiler_name bit(1) unal, /* switch: name of compiler */ 3 70 2 compiler_version bit(1) unal, /* switch: compiler version number */ 3 71 3 72 2 compiler_options bit(1) unal, /* switch: compiler options info */ 3 73 2 object_info bit(1) unal, /* switch: other object segment info */ 3 74 2 not_ascii bit(1) unal, /* switch: contents is not printable */ 3 75 3 76 2 user bit(1) unal, /* switch: user-defined node information */ 3 77 2 root_search_proc bit(1) unal, /* switch: root search procedure info. */ 3 78 2 prev_mode bit(1) unal, /* switch: user's previous acces mode set. */ 3 79 2 pad bit(26) unal, 3 80 3 81 2 delete bit(1) unal, /* switch: on (for lcln) if node to be deleted. */ 3 82 3 83 2 cross_ref bit(1) unal, /* switch: cross-reference all names */ 3 84 2 level bit(1) unal, /* switch: output status tree level number */ 3 85 2 new_line bit(1) unal; /* switch: output begins with newline char */ 3 86 3 87 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 88 /* */ 3 89 /* The following declarations define a series of bit strings to be overlaid by */ 3 90 /* structures which are exactly like Svalid_req above, except for their level 1 name. */ 3 91 /* These structures are used throughout the library descriptor commands and subroutines. */ 3 92 /* */ 3 93 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 94 3 95 3 96 dcl 1 S aligned based (addr(Srequirements)) like Svalid_req, 3 97 Srequirements bit(72) aligned; 3 98 3 99 /* END OF: lib_Svalid_req_.incl.pl1 * * * * * * * * * * * * * * * * */ 140 141 4 1 /* START OF: lib_Scontrol_.incl.pl1 * * * * * * * * * * * * * * * * */ 4 2 4 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 4 /* */ 4 5 /* N__a_m_e: lib_Scontrol_.incl.pl1 */ 4 6 /* */ 4 7 /* This include segment defines the control switches used by library descriptor */ 4 8 /* commands and subroutines. These switches control the amount of information which is */ 4 9 /* attached to each node of the tree by lib_get_tree_. This segment, lib_args_.incl.pl1, */ 4 10 /* and lib_Svalid_req_.incl.pl1 define the complete set of structures required as input */ 4 11 /* to the lib_descriptor_ subroutine. */ 4 12 /* */ 4 13 /* S__t_a_t_u_s */ 4 14 /* */ 4 15 /* 0) Created on: April 8, 1975 by G. C. Dixon */ 4 16 /* 1) Modified on: October 24, 1983 by Jim Lippard to add page_length, first_match */ 4 17 /* */ 4 18 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 19 4 20 dcl 1 Sc aligned based (addr (Scontrol)), 4 21 2 acl bit(1) unal, /* switch: return ACL for library entries. */ 4 22 2 all_status bit(1) unal, /* switch: return extra status information. */ 4 23 2 chase bit(1) unal, /* switch: link entries are to be chased. */ 4 24 4 25 2 check_archive bit(1) unal, /* switch: see if contents of entry is archive. */ 4 26 2 check_ascii bit(1) unal, /* switch: see if contents of entry is ascii. */ 4 27 2 components bit(1) unal, /* switch: return info about parent of terminal */ 4 28 /* nodes of the tree, and about all the */ 4 29 /* nodes below the parent. */ 4 30 4 31 2 container bit(1) unal, /* switch: return info about parent of terminal */ 4 32 /* nodes of the tree. */ 4 33 2 default bit(1) unal, /* switch: use default requirement switch settings*/ 4 34 2 iacl bit(1) unal, /* switch: return initial ACLs for library entries*/ 4 35 4 36 2 object_info bit(1) unal, /* switch: return object info for object segments.*/ 4 37 2 quota bit(1) unal, /* switch: return quota information. */ 4 38 2 retain bit(1) unal, /* switch: print information about nodes awaiting */ 4 39 /* deletion. */ 4 40 4 41 2 pad bit(10) unal, 4 42 4 43 2 first_match bit(1) unal, /* switch: stop after first match */ 4 44 2 page_length bit(1) unal, /* switch: page length of output */ 4 45 4 46 2 delete bit(1) unal, /* switch: delete library entries */ 4 47 2 descriptor bit(1) unal, /* switch: library descriptor */ 4 48 2 exclude bit(1) unal, /* switch: exclusion search names. */ 4 49 4 50 2 footing bit(1) unal, /* switch: footing for output pages. */ 4 51 2 heading bit(1) unal, /* switch: heading for 1st output page. */ 4 52 2 into_path bit(1) unal, /* switch: path into which entries are fetched. */ 4 53 4 54 2 library bit(1) unal, /* switch: library names */ 4 55 2 list bit(1) unal, /* switch: list library entries */ 4 56 2 long bit(1) unal, /* switch: long output format required. */ 4 57 4 58 2 output_file bit(1) unal, /* switch: pathname of output file */ 4 59 2 search_names bit(1) unal, /* switch: search names */ 4 60 2 time bit(1) unal, /* switch: grace time for deletion of entries. */ 4 61 Scontrol bit(36) aligned; /* switches: aligned copy of control switches. */ 4 62 4 63 /* END OF: lib_Scontrol_.incl.pl1 * * * * * * * * * * * * * * * * */ 142 143 144 end lib_pathname_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/15/84 0750.0 lib_pathname_.pl1 >special_ldd>on>6588>lib_pathname_.pl1 136 1 02/15/84 0754.6 lib_based_args_.incl.pl1 >special_ldd>on>6588>lib_based_args_.incl.pl1 138 2 02/28/77 1409.2 lib_list_.incl.pl1 >ldd>include>lib_list_.incl.pl1 140 3 02/28/77 1409.3 lib_Svalid_req_.incl.pl1 >ldd>include>lib_Svalid_req_.incl.pl1 142 4 02/15/84 0754.6 lib_Scontrol_.incl.pl1 >special_ldd>on>6588>lib_Scontrol_.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. Acode parameter fixed bin(35,0) dcl 35 set ref 30 81* 95* 97 105* 106 Adescriptor parameter varying char(168) dcl 35 set ref 30 95* I 1 based fixed bin(24,0) level 2 in structure "node_list" dcl 2-19 in procedure "lib_pathname_" set ref 104* 108 110 I 1 based fixed bin(24,0) level 2 in structure "name_list" dcl 2-19 in procedure "lib_pathname_" set ref 103* I 1 based fixed bin(24,0) level 2 in structure "index_list" dcl 2-19 in procedure "lib_pathname_" set ref 102* N based fixed bin(24,0) level 2 in structure "node_list" dcl 2-19 in procedure "lib_pathname_" set ref 99* N based fixed bin(24,0) level 2 in structure "name_list" dcl 2-19 in procedure "lib_pathname_" set ref 99* N based fixed bin(24,0) level 2 in structure "index_list" dcl 2-19 in procedure "lib_pathname_" set ref 99* Npaths parameter fixed bin(17,0) dcl 35 set ref 30 108* 109 120* Parea 000100 automatic pointer dcl 56 set ref 88* 93 93 95* 99 99 99 129 129 129 Pexclude parameter pointer dcl 1-50 set ref 30 95* Pindex_list 000116 automatic pointer dcl 2-19 set ref 99* 102 105* Plibrary parameter pointer dcl 1-29 set ref 30 95* Pname_list 000120 automatic pointer dcl 2-19 set ref 99* 103 105* Pnode 000102 automatic pointer dcl 56 set ref 111* 112* Pnode_list 000122 automatic pointer dcl 2-19 set ref 99* 104 105* 108 110 111 Ppaths parameter pointer dcl 35 set ref 30 109* 112 118* Presult_area parameter pointer dcl 35 ref 30 109 Pstarname parameter pointer dcl 1-40 set ref 30 95* Ptree 000104 automatic pointer dcl 56 set ref 95* 105* S based structure level 1 dcl 3-96 Sc based structure level 1 dcl 4-20 Scontrol parameter bit(36) dcl 4-20 set ref 30 83 84 95* Srequirements parameter bit(72) dcl 3-96 set ref 30 85 86 95* Svalid_req based structure level 1 dcl 3-23 TRUE constant bit(1) initial unaligned dcl 78 ref 83 84 85 86 addr builtin function dcl 67 ref 83 84 85 86 93 93 129 129 area based area(1024) dcl 63 ref 99 99 99 check_archive 0(03) based bit(1) level 2 packed unaligned dcl 4-20 set ref 83* cleanup 000106 stack reference condition dcl 56 ref 89 code 000114 automatic fixed bin(35,0) dcl 56 set ref 129* condition_ 000012 constant entry external dcl 69 ref 91 e 2 based pointer array level 2 packed unaligned dcl 2-19 ref 111 get_system_msa_ 000014 constant entry external dcl 69 ref 93 i 000115 automatic fixed bin(17,0) dcl 56 set ref 110* 111 112* index_list based structure level 1 dcl 2-19 set ref 99 lib_descriptor_$info 000016 constant entry external dcl 69 ref 95 lib_node_path_$absolute 000020 constant entry external dcl 69 ref 112 lib_sort_tree_$make_name_list 000022 constant entry external dcl 69 ref 105 max_entries constant fixed bin(17,0) initial dcl 2-19 ref 99 99 99 99 99 99 msa_manager_$area_handler 000024 constant entry external dcl 69 ref 91 91 name_list based structure level 1 dcl 2-19 set ref 99 node_list based structure level 1 dcl 2-19 set ref 99 null builtin function dcl 67 ref 88 93 93 118 129 pathname 0(03) based bit(1) level 2 packed unaligned dcl 3-96 set ref 86* paths based char(200) array unaligned dcl 63 set ref 109 112* primary_name based bit(1) level 2 packed unaligned dcl 3-96 set ref 85* progress parameter fixed bin(17,0) dcl 35 set ref 30 95* release_system_msa_ 000026 constant entry external dcl 69 ref 129 result_area based area(1024) dcl 63 ref 109 search_names 0(34) based bit(1) level 2 packed unaligned dcl 4-20 set ref 84* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FALSE internal static bit(1) initial unaligned dcl 78 Ppage_list automatic pointer dcl 2-19 exclude based structure level 1 dcl 1-42 library based structure level 1 dcl 1-22 page_list based structure level 1 dcl 2-19 starname based structure level 1 dcl 1-32 NAMES DECLARED BY EXPLICIT CONTEXT. BAD_SEARCH 000377 constant label dcl 118 ref 97 NO_MATCH 000377 constant label dcl 118 ref 106 janitor 000410 constant entry internal dcl 127 ref 89 114 121 lib_pathname_ 000026 constant entry external dcl 30 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 606 636 440 616 Length 1114 440 30 241 145 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME lib_pathname_ 181 external procedure is an external procedure. on unit on line 89 64 on unit janitor 72 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME lib_pathname_ 000100 Parea lib_pathname_ 000102 Pnode lib_pathname_ 000104 Ptree lib_pathname_ 000114 code lib_pathname_ 000115 i lib_pathname_ 000116 Pindex_list lib_pathname_ 000120 Pname_list lib_pathname_ 000122 Pnode_list lib_pathname_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. condition_ get_system_msa_ lib_descriptor_$info lib_node_path_$absolute lib_sort_tree_$make_name_list msa_manager_$area_handler release_system_msa_ smart_alloc_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 30 000016 81 000033 83 000035 84 000037 85 000041 86 000043 88 000045 89 000047 91 000071 93 000114 95 000134 97 000166 99 000171 102 000254 103 000256 104 000260 105 000262 106 000302 108 000305 109 000310 110 000330 111 000341 112 000344 113 000370 114 000372 115 000376 118 000377 120 000401 121 000402 122 000406 127 000407 129 000415 132 000434 ----------------------------------------------------------- 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