1 /* START OF: lib_descriptor_.incl.pl1 * * * * * * * * * * * * * * * * */ 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 /* */ 5 /* N^H__^Ha_^Hm_^He: lib_descriptor_.incl.pl1 */ 6 /* */ 7 /* This include segment defines the structures which are included in the library */ 8 /* descriptor segments used as data bases by Multics library maintenance tools. */ 9 /* */ 10 /* S^H__^Ht_^Ha_^Ht_^Hu_^Hs */ 11 /* */ 12 /* 0) Created by: G. C. Dixon in April, 1974. */ 13 /* 1) Modified by: G. C. Dixon in May, 1976. */ 14 /* */ 15 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 16 17 dcl 1 descriptor aligned based (P.descriptor), 18 /* structure which defines the location within */ 19 /* the descriptor of description aggregates. */ 20 2 version fixed bin, /* version number of this descriptor. (= 2) */ 21 2 name char(32), /* name of this descriptor. */ 22 2 command_default_values, /* aggregate: default values to be used for */ 23 /* commands which reference the descriptor. */ 24 3 O fixed bin(19), /* offset of aggregate from P.descriptor. */ 25 2 roots, /* aggregate: root nodes of the library. */ 26 3 O fixed bin(19); /* offset of aggregate from P.descriptor. */ 27 dcl Vdescriptor_2 fixed bin int static options(constant) init (2); 28 ^L 29 dcl 1 command_default_values based (P.command_default_values), 30 /* array of structures which defines the */ 31 /* default values which are applied to */ 32 /* each command which uses the library */ 33 /* descriptor. There is one array element */ 34 /* for each command. */ 35 2 N fixed bin, /* count of commands. */ 36 2 group (0 refer (command_default_values.N)), /* array of structures. */ 37 3 S unaligned, /* switches: */ 38 4 unsupported bit(1), /* on if the command described by this */ 39 /* element of the array of structures is */ 40 /* _^Hn_^Ho_^Ht supported by this descriptor. */ 41 3 library_names, /* names of the default libraries which are to */ 42 /* be used for this command, if the user */ 43 /* omits the library name. */ 44 4 O fixed bin(19), /* offset of the names structure. */ 45 3 search_names, /* star names which identify the library */ 46 /* entries to be search for, if the user */ 47 /* omits the search name. */ 48 4 O fixed bin(19); /* offset of the names structure. */ 49 50 dcl 1 library_names based (Plibrary_names), 51 /* array of default library names for one command.*/ 52 2 N fixed bin, /* count of names. */ 53 2 group (0 refer (library_names.N)), /* array of names. */ 54 3 V char(32) aligned, /* a name. */ 55 3 C fixed bin(35); /* code from check_star_name_$entry for name. */ 56 57 dcl 1 search_names based (Psearch_names), 58 /* array of default search names for one command. */ 59 2 N fixed bin, /* count of names. */ 60 2 group (0 refer (search_names.N)), /* array of names. */ 61 3 V char(32) aligned, /* a name. */ 62 3 C fixed bin(35); /* code from check_star_name_$entry for name. */ 63 ^L 64 %include lib_commands_; 65 ^L 66 dcl 1 roots based (P.roots), /* array of structures, each structure of which */ 67 /* defines the names, absolute path name, type,*/ 68 /* and search procedure for a root of the */ 69 /* library defined by this descriptor. */ 70 2 N fixed bin, /* count of roots */ 71 2 root (0 refer (roots.N)), /* array of roots. */ 72 3 name, /* names by which this root may be referenced. */ 73 4 O fixed bin(19), /* offset of name array. */ 74 3 path char(168) varying, /* absolute path name of the root directory or */ 75 /* archive segment. */ 76 3 type fixed bin, /* type of root. 2 = directory, 4 = archive. */ 77 3 search_proc_name char(65) varying, /* name of procedure used to search root. */ 78 3 search_proc entry (ptr, char(168) varying, ptr, bit(72) aligned, bit(36) aligned, 79 fixed bin, fixed bin, ptr, entry, 80 ptr, ptr, fixed bin(35)) variable; 81 /* entry point of the program which knows how */ 82 /* to search for library entries in this */ 83 /* root. */ 84 85 dcl 1 root_names based (Proot_names), 86 /* array of root names for one root. */ 87 2 N fixed bin, /* count of names. */ 88 2 root_name (0 refer (root_names.N)) /* array of names. */ 89 char(32); 90 91 dcl 1 P aligned, /* structure containing pointers to the aggregates*/ 92 /* defined above. */ 93 2 descriptor ptr, 94 2 command_default_values ptr, 95 2 roots ptr, 96 Plibrary_names ptr, 97 Psearch_names ptr, 98 Proot_names ptr; 99 100 /* END OF: lib_descriptor_.incl.pl1 * * * * * * * * * * * * * * * * */