COMPILATION LISTING OF SEGMENT gfms_print_names_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1144.6 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 gfms_print_names_: proc (n); 7 8 /* Sort and print file names (n names) 9* 10* Author: Dave Ward 10/10/80 11* Change: Dave Ward 10/15/80 totals. 12* Change: Dave Ward 10/16/80 separate file name and catalog. 13* Change: Dave Ward 10/30/80 reel, date time header. 14* Change: Dave Ward 11/11/80 bug in sort comparison routine. 15* Change: Dave Ward 11/18/80 periods in attributes and defect display. 16**/ 17 dcl n fixed bin parm; 18 j = 1; /* Index to first start entry. */ 19 do i = 1 to n; /* Prepare index to file name entries. */ 20 fnep = addr (start_entry (j)); /* Locate next file name entry. */ 21 sa (i) = j; /* j => index to entry. */ 22 j = j + size (file_name_entry); 23 end; 24 if prfn then do; 25 call SORT ((n), sa, cmp); 26 27 /* Print in sorted order. */ 28 if dump then call ioa_$nnl ("^|"); /* New page if dumping or printing tree. */ 29 call date_time_ (clock_ (), dt); 30 call ioa_ ( 31 "gcos_fms (version ^a)" 32 ||"^/tape reel ^a ^a" 33 , version 34 , file_serial_num 35 , dt 36 ); 37 call ioa_ ( 38 "^/" /* Skip line after header. */ 39 || "^23tS sequential file" 40 ||"^/^23tR random" 41 ||"^/^23tA ascii" 42 ||"^/^23tI I-D-S" 43 ||"^/" 44 ||" maximum v| user defect file" /* 1st header line. */ 45 ||"^/" /* Skip a line. */ 46 ||" llinks llinks mode information code name catalog" /* 2nd header line. */ 47 ); 48 print_name, last_name = " "; 49 do i = 1 to n; 50 fnep = addr (start_entry (sa (i))); /* Located next file name entry in sorted order. */ 51 if file_name_entry.name = last_name then print_name = " "; 52 else print_name, last_name = file_name_entry.name; 53 l = length (file_name_entry.defective); 54 call ioa_ ( 55 "^4i." /* name count. */ 56 ||"^7i" /* current size. */ 57 ||"^[ no limit^s^;^9i^]" /* max size. */ 58 ||"^1x^4a" /* mode */ 59 ||"^1x^[^12.3b^;^6( .^)^s^]" /* user info. */ 60 ||"^1x^[^va^;.^s^s^]^va" /* defective. */ 61 ||"^1x^12a" /* file name. */ 62 ||"^1x^a" /* catalog */ 63 , i 64 , file_name_entry.llinks 65 , file_name_entry.attr.max_size_llinks = 0, file_name_entry.attr.max_size_llinks 66 , md (file_name_entry.attr.mode) 67 , file_name_entry.attr.present, file_name_entry.attr.value 68 , l>0, l, file_name_entry.defective, 12-max (1, l), substr ((6)" .", 1, 12-max (1, l)) 69 , print_name 70 , file_name_entry.catalog 71 ); 72 end; 73 if tll then 74 call ioa_ ( 75 "TOTAL^7i" 76 , total_llinks 77 ); 78 end; 79 else 80 if tll then 81 call ioa_ ( 82 "^6i llinks ^6i files." 83 , total_llinks 84 , n 85 ); 86 return; 87 88 cmp: proc (i1, i2)returns (fixed bin); 89 90 /* Compare 2 file name entries to determine sorted order. */ 91 dcl i1 fixed bin parm; 92 dcl i2 fixed bin parm; 93 p1 = addr (start_entry (i1)); 94 p2 = addr (start_entry (i2)); 95 if f1.name < f2.name then return (0); 96 if f1.name > f2.name then return (1); 97 if f1.catalog < f2.catalog then return (0); 98 if f1.catalog > f2.catalog then return (1); 99 if f1.llinks < f2.llinks then return (0); 100 if f1.llinks > f2.llinks then return (1); 101 return (0); 102 dcl p1 ptr; 103 dcl p2 ptr; 104 105 dcl 1 f1 aligned based(p1) 106 , 3 llinks fixed bin(24) /* llinks in file. */ 107 , 3 attr like description_tree.attributes 108 , 3 char_length /* Lengths of variable. */ 109 , 4 defl fixed bin 110 , 4 naml fixed bin 111 , 4 catl fixed bin 112 , 3 defective char(f1.char_length.defl)unal 113 , 3 name char(f1.char_length.naml)unal 114 , 3 catalog char(f1.char_length.catl)unal 115 ; 116 117 dcl 1 f2 aligned based(p2) 118 , 3 llinks fixed bin(24) /* llinks in file. */ 119 , 3 attr like description_tree.attributes 120 , 3 char_length /* Lengths of variable. */ 121 , 4 defl fixed bin 122 , 4 naml fixed bin 123 , 4 catl fixed bin 124 , 3 defective char(f2.char_length.defl)unal 125 , 3 name char(f2.char_length.naml)unal 126 , 3 catalog char(f2.char_length.catl)unal 127 ; 128 end cmp; 129 130 md: proc (m)returns (char (4)); 131 132 /* Evaluate mode m. */ 133 dcl m bit(4)unal parm; 134 r = " "; 135 if m & "1000"b then substr (r, 1, 1) = "S"; /* Sequential. */ 136 if m & "0100"b then substr (r, 2, 1) = "R"; /* Random. */ 137 if m & "0010"b then substr (r, 3, 1) = "A"; /* ASCII. */ 138 if m & "0001"b then substr (r, 4, 1) = "I"; /* IDS. */ 139 return (r); 140 141 dcl r char(4); 142 end md; 143 144 SORT: proc (len, lst, cmp); 145 146 /* 147* _l_s_t, of length _l_e_n, is the ordering of the 148* data to be sorted. Using the comparison procedure 149* _c_m_p, return _l_s_t ordered according to the comparisons. 150* 151* _c_m_p has two input parameters. These are two entries from 152* the _l_s_t that point to the next two data elements to 153* be sorted. If the data element pointed to by the first parameter 154* is "next" then _c_m_p returns a zero, 0, else returns a one, 1. 155* 156* Author: Dave Ward 06/16/80 157**/ 158 dcl cmp entry(fixed bin,fixed bin) returns(fixed bin) parameter; 159 dcl len fixed bin parameter; 160 dcl lst (*) fixed bin parameter; 161 162 /* 163* calculate the lengths of 164* lists and their start pointers 165* in a linear set. 166**/ 167 if len<2 then return; 168 t = 0; 169 l = len; 170 do n = 1 by 1 while (l>1); 171 s (n) = t; /* start of the next list. */ 172 if mod (l, 2) = 1 then l = l+1; /* make the length even. */ 173 t = t+l; /* accumulate the lengths. */ 174 l = l/2; /* next list is 1/2 the length of the present list. */ 175 end; 176 n = n-1; 177 178 begin; /* Local block. */ 179 /* pointers to input list. */ 180 do i = 1 to len; 181 m (i) = i; 182 end; 183 184 /* fill in all lists. */ 185 do i = 2 to n; 186 lft = s (i-1); 187 rit = s (i) ; 188 do j = 1 by 2 to (rit - lft); 189 x = lft+j; 190 v1 = m (x); 191 v2 = m (x+1); 192 if v2>0 then 193 if cmp (lst (v1), lst (v2)) = 1 then v1 = v2; 194 rit = rit+1; 195 m (rit) = v1; 196 end; 197 end; 198 199 200 /* calculate the list of pointers in o */ 201 y = s (n)+1; 202 do i = 1 to len; 203 v1 = m (y); 204 v2 = m (y+1); 205 if (v1 = 0) & (v2 = 0) then i = len; /* End "i" loop. */ 206 else do; 207 if v1 = 0 then v1 = v2; 208 else if v2>0 then 209 if cmp (lst (v1), lst (v2)) = 1 then v1 = v2; 210 o (i) = lst (v1); /* next output value. */ 211 m (v1) = 0; /* delete the last winner. */ 212 do j = 2 to n; /* get the next winner. */ 213 lft = s (j-1); 214 if mod (v1, 2) = 1 then v2 = v1+1; else v2 = v1-1; 215 x = (v1+1)/2; 216 v1 = m (v1+lft); 217 v2 = m (v2+lft); 218 if v1 = 0 then v1 = v2; 219 else if v2>0 then 220 if cmp (lst (v1), lst (v2)) = 1 then v1 = v2; 221 m (x+s (j)) = v1; 222 v1 = x; 223 end; 224 end; 225 end; 226 i = i-1; 227 len = i; /* output the length of the output list. */ 228 do i = 1 to i; /* copy over the output list. */ 229 lst (i) = o (i); 230 end; 231 /* Declarations for local block. */ 232 dcl m (t) fixed bin init((t)0); 233 dcl o (len) fixed bin; 234 end; /* Local block. */ 235 236 /* Global declarations. */ 237 dcl i fixed bin; 238 dcl j fixed bin; 239 dcl l fixed bin; 240 dcl lft fixed bin; 241 dcl mod builtin; 242 dcl n fixed bin; 243 dcl rit fixed bin; 244 dcl s (36)fixed bin /* Indices to "bottoms" of lists. */; 245 dcl t fixed bin; 246 dcl v1 fixed bin; 247 dcl v2 fixed bin; 248 dcl x fixed bin; 249 dcl y fixed bin; 250 end SORT; 251 252 /* Variables for gfms_print_names_: */ 253 /* IDENTIFIER ATTRIBUTES */ 254 dcl clock_ entry() returns(fixed bin(71)); 255 dcl date_time_ entry (fixed bin(71), char(*)); 256 dcl dt char(24); 257 dcl i fixed bin; 258 dcl ioa_ entry() options(variable); 259 dcl ioa_$nnl entry() options(variable); 260 dcl j fixed bin; 261 dcl l fixed bin; 262 dcl last_name char(12); 263 dcl print_name char(12); 264 dcl sa (n)fixed bin; 265 1 1 /* BEGIN INCLUDE FILE gfms_file_name_list.incl.pl1 (Wardd Multics) 10/30/80 1053.4 mst Thu */ 1 2 1 3 /* List of files (with associated information) 1 4* found on the save tape. 1 5**/ 1 6 dcl 1 file_name_list aligned based(nlp) 1 7 , 3 nn fixed bin /* Number of names (entries). */ 1 8 , 3 total_llinks fixed bin(24) /* Accumulitive llinks. */ 1 9 , 3 next_entry fixed bin(24) /* index to start_entry to next entry. */ 1 10 , 3 start_entry (255*1024-3)bit(36) 1 11 ; 1 12 1 13 dcl fnep ptr; 1 14 dcl 1 file_name_entry aligned based(fnep) 1 15 , 3 llinks fixed bin(24) /* llinks in file. */ 1 16 , 3 attr like description_tree.attributes 1 17 , 3 char_length /* Lengths of variable. */ 1 18 , 4 defl fixed bin 1 19 , 4 naml fixed bin 1 20 , 4 catl fixed bin 1 21 , 3 defective char(file_name_entry.char_length.defl)unal 1 22 , 3 name char(file_name_entry.char_length.naml)unal 1 23 , 3 catalog char(file_name_entry.char_length.catl)unal 1 24 ; 1 25 1 26 /* END INCLUDE FILE gfms_file_name_list.incl.pl1 */ 266 267 2 1 /* BEGIN INCLUDE FILE gfms_ext.incl.pl1 (Wardd Multics) 10/07/80 2142.2 mst Tue */ 2 2 /* Modified by: S. C. Akers 02/08/82 Add gfms_ext$working_dir, 2 3* mapping_rule, 2 4* umc_name 2 5* Modified Ron Barstad 83-06-03 attach_desc from 40 to 80 char 2 6**/ 2 7 2 8 dcl 1 gfms_ext$print_routines aligned ext 2 9 , 3 ioa entry variable options(variable) 2 10 , 3 ioa_nnl entry variable options(variable) 2 11 ; 2 12 2 13 dcl 1 gfms_ext$temp_segs aligned ext 2 14 , 3 dtp ptr 2 15 , 3 nlp ptr 2 16 , 3 inp ptr 2 17 ; 2 18 2 19 dcl 1 gfms_ext$tape_file aligned ext 2 20 , 3 cbp ptr 2 21 , 3 attach_description char(80)unal 2 22 , 3 density 2 23 , 4 ftd fixed bin /* First tape density to attempt. */ 2 24 , 4 ltd fixed bin /* Last tape density to attempt. */ 2 25 , 3 tape_reel_information 2 26 , 4 reel_serial_num char(6) 2 27 , 4 file_serial_num char(6) 2 28 , 4 reel_sequence_num char(6) 2 29 ; 2 30 2 31 dcl 1 gfms_ext$options aligned ext 2 32 , 3 close bit(1)unal /* perform iox close. */ 2 33 , 3 detach bit(1)unal /* perform iox detach. */ 2 34 , 3 dump bit(1)unal /* dump tape records/information. */ 2 35 , 3 gf bit(1)unal /* provide gtss file attributes. */ 2 36 , 3 prfn bit(1)unal /* print file names. */ 2 37 , 3 scan_ss bit(1)unal /* scan substructure, display, quit. */ 2 38 , 3 tll bit(1)unal /* print totals of llinks. */ 2 39 , 3 unload bit(1)unal /* unload files. */ 2 40 , 3 NOT_IN_USE bit(28)unal 2 41 ; 2 42 2 43 dcl gfms_ext$working_dir char (168) var ext static; /* Where to restore the files. 2 44* It may be the user's working 2 45* directory, or the UMC or SMC directory. */ 2 46 2 47 dcl gfms_ext$mapping_rule char(3) external static; 2 48 2 49 dcl gfms_ext$umc_name char(12) external static; 2 50 2 51 /* END INCLUDE FILE gfms_ext.incl.pl1 */ 268 269 3 1 /* BEGIN INCLUDE FILE gfms_description_tree.incl.pl1 (Wardd Multics) 10/28/80 1222.2 mst Tue */ 3 2 dcl 1 description_tree aligned based(dtp) 3 3 3 4 , 3 start_list 3 5 , 4 cat_child (0:1020)fixed bin(18)unsigned 3 6 , 4 file_child (0:1020)fixed bin(18)unsigned 3 7 , 4 desc (0:1020)fixed bin(18)unsigned 3 8 3 9 , 3 n_cat fixed bin 3 10 , 3 cat (20000) 3 11 , 4 name bit(72) 3 12 , 4 ascii_name char(12)var 3 13 , 4 is_cat bit(1)unal 3 14 , 4 fill bit(17)unal 3 15 , 4 parent_sector fixed bin(18)unsigned unal 3 16 , 4 child_sector fixed bin(18)unsigned unal 3 17 , 4 child_link fixed bin(18)unsigned unal 3 18 3 19 , 3 n_desc fixed bin 3 20 , 3 description (19000) 3 21 , 4 link fixed bin(18)unsigned unal 3 22 , 4 sector fixed bin(18)unsigned unal 3 23 , 4 name bit(72) 3 24 , 4 attributes 3 25 , 5 max_size_llinks fixed bin(18)unsigned unal 3 26 , 5 mode bit(4)unal /* 1000 seq 0100 random 0010 ascii 0001 ids */ 3 27 , 5 not_in_use bit(14)unal 3 28 , 5 user_info 3 29 , 6 present bit(1)unal 3 30 , 6 value bit(35)unal 3 31 ; 3 32 3 33 /* END INCLUDE FILE gfms_description_tree.incl.pl1 */ 270 271 4 1 /* BEGIN INCLUDE FILE gfms_version.incl.pl1 */ 4 2 dcl version char(3)static int options(constant) init( 4 3 "3.0" ); 4 4 4 5 /* END INCLUDE FILE gfms_version.incl.pl1 */ 272 273 end gfms_print_names_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1022.4 gfms_print_names_.pl1 >spec>on>7105>gfms_print_names_.pl1 266 1 03/27/82 0424.8 gfms_file_name_list.incl.pl1 >ldd>include>gfms_file_name_list.incl.pl1 268 2 10/24/83 1642.4 gfms_ext.incl.pl1 >ldd>include>gfms_ext.incl.pl1 270 3 03/27/82 0424.8 gfms_description_tree.incl.pl1 >ldd>include>gfms_description_tree.incl.pl1 272 4 12/10/84 1023.1 gfms_version.incl.pl1 >spec>on>7105>gfms_version.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. attr 1 based structure level 2 dcl 1-14 attributes 476374 based structure array level 3 dcl 3-2 catalog based char level 2 in structure "f2" packed unaligned dcl 117 in procedure "cmp" ref 97 98 catalog based char level 2 in structure "f1" packed unaligned dcl 105 in procedure "cmp" ref 97 98 catalog based char level 2 in structure "file_name_entry" packed unaligned dcl 1-14 in procedure "gfms_print_names_" set ref 54* catl 5 based fixed bin(17,0) level 3 in structure "file_name_entry" dcl 1-14 in procedure "gfms_print_names_" ref 22 54 54 catl 5 based fixed bin(17,0) level 3 in structure "f1" dcl 105 in procedure "cmp" ref 97 98 catl 5 based fixed bin(17,0) level 3 in structure "f2" dcl 117 in procedure "cmp" ref 97 98 char_length 3 based structure level 2 in structure "f2" dcl 117 in procedure "cmp" char_length 3 based structure level 2 in structure "file_name_entry" dcl 1-14 in procedure "gfms_print_names_" char_length 3 based structure level 2 in structure "f1" dcl 105 in procedure "cmp" clock_ 000010 constant entry external dcl 254 ref 29 29 cmp parameter entry variable dcl 158 ref 144 192 208 219 date_time_ 000012 constant entry external dcl 255 ref 29 defective 6 based char level 2 packed unaligned dcl 1-14 set ref 53 54* defl 3 based fixed bin(17,0) level 3 in structure "f1" dcl 105 in procedure "cmp" ref 95 96 97 98 defl 3 based fixed bin(17,0) level 3 in structure "file_name_entry" dcl 1-14 in procedure "gfms_print_names_" ref 22 51 52 53 54 54 54 defl 3 based fixed bin(17,0) level 3 in structure "f2" dcl 117 in procedure "cmp" ref 95 96 97 98 description 476371 based structure array level 2 dcl 3-2 description_tree based structure level 1 dcl 3-2 dt 000100 automatic char(24) unaligned dcl 256 set ref 29* 30* dump 0(02) 000024 external static bit(1) level 2 packed unaligned dcl 2-31 ref 28 f1 based structure level 1 dcl 105 f2 based structure level 1 dcl 117 file_name_entry based structure level 1 dcl 1-14 set ref 22 file_name_list based structure level 1 dcl 1-6 file_serial_num 32 000022 external static char(6) level 3 dcl 2-19 set ref 30* fnep 000120 automatic pointer dcl 1-13 set ref 20* 22 22 22 22 50* 51 51 51 52 52 52 53 53 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 gfms_ext$options 000024 external static structure level 1 dcl 2-31 gfms_ext$tape_file 000022 external static structure level 1 dcl 2-19 gfms_ext$temp_segs 000020 external static structure level 1 dcl 2-13 i 000106 automatic fixed bin(17,0) dcl 257 in procedure "gfms_print_names_" set ref 19* 21* 49* 50 54* i 000152 automatic fixed bin(17,0) dcl 237 in procedure "SORT" set ref 180* 181 181* 185* 186 187* 202* 205* 210* 226* 226 227 228* 228* 229 229* i1 parameter fixed bin(17,0) dcl 91 ref 88 93 i2 parameter fixed bin(17,0) dcl 92 ref 88 94 ioa_ 000014 constant entry external dcl 258 ref 30 37 54 73 79 ioa_$nnl 000016 constant entry external dcl 259 ref 28 j 000107 automatic fixed bin(17,0) dcl 260 in procedure "gfms_print_names_" set ref 18* 20 21 22* 22 j 000153 automatic fixed bin(17,0) dcl 238 in procedure "SORT" set ref 188* 189* 212* 213 221* l 000154 automatic fixed bin(17,0) dcl 239 in procedure "SORT" set ref 169* 170 172 172* 172 173 174* 174 l 000110 automatic fixed bin(17,0) dcl 261 in procedure "gfms_print_names_" set ref 53* 54 54* 54 54 54 last_name 000111 automatic char(12) unaligned dcl 262 set ref 48* 51 52* len parameter fixed bin(17,0) dcl 159 set ref 144 167 169 180 202 205 227* 233 lft 000155 automatic fixed bin(17,0) dcl 240 set ref 186* 188 189 213* 216 217 llinks based fixed bin(24,0) level 2 in structure "file_name_entry" dcl 1-14 in procedure "gfms_print_names_" set ref 54* llinks based fixed bin(24,0) level 2 in structure "f1" dcl 105 in procedure "cmp" ref 99 100 llinks based fixed bin(24,0) level 2 in structure "f2" dcl 117 in procedure "cmp" ref 99 100 lst parameter fixed bin(17,0) array dcl 160 set ref 144 192* 192* 208* 208* 210 219* 219* 229* m parameter bit(4) unaligned dcl 133 in procedure "md" ref 130 135 136 137 138 m 000100 automatic fixed bin(17,0) initial array dcl 232 in begin block on line 178 set ref 181* 190 191 195* 203 204 211* 216 217 221* 232* max_size_llinks 1 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 1-14 set ref 54 54* mod builtin function dcl 241 ref 172 214 mode 1(18) based bit(4) level 3 packed unaligned dcl 1-14 set ref 54* 54* n 000156 automatic fixed bin(17,0) dcl 242 in procedure "SORT" set ref 170* 171* 176* 176 185 201 212 n parameter fixed bin(17,0) dcl 17 in procedure "gfms_print_names_" set ref 6 19 25 49 79* 264 name based char level 2 in structure "f1" packed unaligned dcl 105 in procedure "cmp" ref 95 96 name based char level 2 in structure "file_name_entry" packed unaligned dcl 1-14 in procedure "gfms_print_names_" ref 51 52 name based char level 2 in structure "f2" packed unaligned dcl 117 in procedure "cmp" ref 95 96 naml 4 based fixed bin(17,0) level 3 in structure "file_name_entry" dcl 1-14 in procedure "gfms_print_names_" ref 22 51 52 54 naml 4 based fixed bin(17,0) level 3 in structure "f1" dcl 105 in procedure "cmp" ref 95 96 97 98 naml 4 based fixed bin(17,0) level 3 in structure "f2" dcl 117 in procedure "cmp" ref 95 96 97 98 nlp 2 000020 external static pointer level 2 dcl 2-13 ref 20 50 73 79 93 94 o 000100 automatic fixed bin(17,0) array dcl 233 set ref 210* 229 p1 000100 automatic pointer dcl 102 set ref 93* 95 95 95 96 96 96 97 97 97 97 98 98 98 98 99 100 p2 000102 automatic pointer dcl 103 set ref 94* 95 95 95 96 96 96 97 97 97 97 98 98 98 98 99 100 present 2 based bit(1) level 4 packed unaligned dcl 1-14 set ref 54* prfn 0(04) 000024 external static bit(1) level 2 packed unaligned dcl 2-31 ref 24 print_name 000114 automatic char(12) unaligned dcl 263 set ref 48* 51* 52* 54* r 000142 automatic char(4) unaligned dcl 141 set ref 134* 135* 136* 137* 138* 139 rit 000157 automatic fixed bin(17,0) dcl 243 set ref 187* 188 194* 194 195 s 000160 automatic fixed bin(17,0) array dcl 244 set ref 171* 186 187 201 213 221 sa 000117 automatic fixed bin(17,0) array dcl 264 set ref 21* 25* 50 start_entry 3 based bit(36) array level 2 dcl 1-6 set ref 20 50 93 94 t 000224 automatic fixed bin(17,0) dcl 245 set ref 168* 171 173* 173 232 232 tape_reel_information 30 000022 external static structure level 2 dcl 2-19 tll 0(06) 000024 external static bit(1) level 2 packed unaligned dcl 2-31 ref 73 79 total_llinks 1 based fixed bin(24,0) level 2 dcl 1-6 set ref 73* 79* user_info 2 based structure level 3 dcl 1-14 v1 000225 automatic fixed bin(17,0) dcl 246 set ref 190* 192 192* 195 203* 205 207 207* 208 208* 210 211 214 214 214 215 216* 216 218 218* 219 219* 221 222* v2 000226 automatic fixed bin(17,0) dcl 247 set ref 191* 192 192 192 204* 205 207 208 208 208 214* 214* 217* 217 218 219 219 219 value 2(01) based bit(35) level 4 packed unaligned dcl 1-14 set ref 54* version 000000 constant char(3) initial unaligned dcl 4-2 set ref 30* x 000227 automatic fixed bin(17,0) dcl 248 set ref 189* 190 191 215* 221 222 y 000230 automatic fixed bin(17,0) dcl 249 set ref 201* 203 204 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. gfms_ext$mapping_rule external static char(3) unaligned dcl 2-47 gfms_ext$print_routines external static structure level 1 dcl 2-8 gfms_ext$umc_name external static char(12) unaligned dcl 2-49 gfms_ext$working_dir external static varying char(168) dcl 2-43 NAMES DECLARED BY EXPLICIT CONTEXT. SORT 001101 constant entry internal dcl 144 ref 25 cmp 000742 constant entry internal dcl 88 ref 25 25 gfms_print_names_ 000201 constant entry external dcl 6 md 001040 constant entry internal dcl 130 ref 54 54 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 20 50 93 94 length builtin function ref 53 max builtin function ref 54 54 54 size builtin function ref 22 substr builtin function set ref 54 54 135* 136* 137* 138* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1734 1762 1631 1744 Length 2234 1631 26 236 102 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gfms_print_names_ 315 external procedure is an external procedure. cmp 70 internal procedure is assigned to an entry variable. md internal procedure shares stack frame of external procedure gfms_print_names_. SORT internal procedure shares stack frame of external procedure gfms_print_names_. begin block on line 178 92 begin block uses auto adjustable storage. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 178 000100 m begin block on line 178 000100 o begin block on line 178 cmp 000100 p1 cmp 000102 p2 cmp gfms_print_names_ 000100 dt gfms_print_names_ 000106 i gfms_print_names_ 000107 j gfms_print_names_ 000110 l gfms_print_names_ 000111 last_name gfms_print_names_ 000114 print_name gfms_print_names_ 000117 sa gfms_print_names_ 000120 fnep gfms_print_names_ 000142 r md 000152 i SORT 000153 j SORT 000154 l SORT 000155 lft SORT 000156 n SORT 000157 rit SORT 000160 s SORT 000224 t SORT 000225 v1 SORT 000226 v2 SORT 000227 x SORT 000230 y SORT THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as alloc_cs enter_begin leave_begin call_var call_ext_out_desc call_ext_out return alloc_auto_adj mod_fx1 shorten_stack ext_entry int_entry trunc_fx2 divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ date_time_ ioa_ ioa_$nnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gfms_ext$options gfms_ext$tape_file gfms_ext$temp_segs LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000176 264 000206 25 000213 18 000223 19 000225 20 000235 21 000243 22 000247 23 000256 24 000260 25 000264 28 000312 29 000330 30 000354 37 000405 48 000421 49 000427 50 000437 51 000446 52 000460 53 000474 54 000477 72 000657 73 000662 78 000706 79 000707 86 000740 88 000741 93 000747 94 000755 95 000761 96 000773 97 001000 98 001020 99 001025 100 001032 101 001036 130 001040 134 001042 135 001044 136 001055 137 001062 138 001067 139 001074 144 001101 167 001105 168 001112 169 001113 170 001114 171 001121 172 001124 173 001132 174 001134 175 001141 176 001143 178 001145 232 001150 233 001171 180 001176 181 001206 182 001210 185 001212 186 001222 187 001224 188 001227 189 001240 190 001242 191 001245 192 001250 194 001306 195 001310 196 001314 197 001317 201 001321 202 001325 203 001336 204 001342 205 001344 207 001354 208 001361 210 001420 211 001436 212 001441 213 001452 214 001454 214 001465 215 001470 216 001477 217 001504 218 001510 219 001515 221 001554 222 001564 223 001566 225 001570 226 001572 227 001574 228 001577 229 001606 230 001624 234 001626 250 001627 ----------------------------------------------------------- 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