COMPILATION LISTING OF SEGMENT gtss_filact_funct04_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1146.5 mst Mon Options: optimize map 1 /* ************************************************************* 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 6* * * 7* ************************************************************* */ 8 9 gtss_filact_funct04_: proc (mcp_val, high_val, gseg_val, arg_ptr_val, buffer_ptr_val, code); 10 11 /* * Derail FILACT function 04 (AF - Access File). 12* 13* All parameters are input parameters except code. 14* 15* code retuurned 0 => Successful. 16* code returned 4 => GCOS err4 (see gtss_pnterr structure). 17* code returned other => multics error code. 18* 19* Authors: Robert J. Grimes Created 20* - Albert N. Kepner 1978 21* - Robert M. May 22* - David B. Ward 23* Change: Dave Ward 02/24/79 db_ debug switch. 24* Change: Dave Ward 08/14/79 does not exist return. 25* Change: Dave Ward 08/31/79 ret status from ascii_file_name. 26* Change: Paul Benjamin 09/26/79 "Permissions denied" in lower half of 1st status word 27* Change: Bob Alvarado 10/25/79 added check to aft, files cannot be accessed if already busy. 28* Change: Mel Wilson 11/20/79 Reworked optimized hash function eliminating overflow with BCD name 29* Change: Paul Benjamin 11/27/79 to call gtss_expand_pathname_$verify_umc 30* Change: Bob Alvarado 12/14/79 Re-coded the check to the aft, files 31* cannot be accessed if already busy. 32* Change: Mel Wilson 01/18/80 Changed busy-in-aft check to use modified mcfc 33* Change: Bilal Qureshi 80 02 12 if any file is grown, it is reflected in aft. 34* Change: Sandy Bartlet 80 03 14 move verify_umc to correct place 35* Change: Bilal Qureshi 80 02 12 to pass file size in blocks instead of links. 36* Change: Bilal Qureshi 80 03 24 call gtss_expand_pathname_$verify instead of gtss_expand_pathname_ 37* Change: Dave Perks 80 04 18 handle temp files properly. 38* Change: Sandy Bartlet 80 05 22 handle pd properly. 39* Change: Sandy Bartlet 80 06 10 size = 0 if current_size > 16383 llinks. 40* Change: Bilal Qureshi 80 08 28 while setting runtime attributes structure for ios also set 41* gtss_file_attributes.descriptor.fill to "0"b. 42* Change: R. Barstad 82-06-10 removed stringsize condition by inserting substr function in arglist of call put_in_aft 43* Change: R. Barstad 84-02-17 Fixed resave of file in sub-cat giving busy message 44* fixed condition where file removed from aft but not closed 45* * */ 46 47 dcl mcp_val ptr parm; 48 dcl high_val bit (18)parm; 49 dcl gseg_val ptr parm; 50 dcl arg_ptr_val ptr parm; 51 dcl buffer_ptr_val ptr parm; 52 dcl code fixed bin (35)parm; 53 mcp = mcp_val; 54 high_b = high_val; 55 high_i = fixed (high_b, 18); 56 gseg = gseg_val; 57 arg_ptr = arg_ptr_val; 58 buffer_ptr = buffer_ptr_val; 59 60 status, code = 0; /* Successful. */ 61 mc.regs.a = "0"b; /* Clear the A register. */ 62 63 /* * Obtain access file arglist. */ 64 if /* (AF_args.L_arglist < low_b) | */ 65 ((fixed (AF_args.L_arglist, 18) +2) > high_i) then do; 66 return_err4: ; 67 code = 4; 68 return; 69 end; 70 arglist_ptr = addrel (gseg, AF_args.L_arglist); 71 72 /* * Obtain return status. * */ 73 call validate_status (AF_arglist.L_status_return, status_ptr); 74 75 /* * Obtain permissions. * */ 76 if /* (AF_arglist.L_permissions < low_b) | */ 77 (AF_arglist.L_permissions > high_b) then goto return_err4; 78 permissions_ptr = addrel (gseg, AF_arglist.L_permissions); 79 80 access_mode = permissions.read || 81 permissions.write || 82 permissions.append || 83 permissions.execute || 84 permissions.test || 85 permissions.query; 86 if access_mode = "0"b then 87 access_mode = "000001"b; /* zero req. permissions defaults to query */ 88 89 if AF_args.L_altname ^= "0"b then do; /* Altname is available. */ 90 if AF_args.L_altname > high_b then 91 goto return_err4; /* 2 word altname not within memory. */ 92 altnp = addrel (gseg, AF_args.L_altname); /* Set pointer to altname. */ 93 if altnp -> bit36 = "0"b then goto no_altname; 94 /* There is an altname. */ 95 altnl = search (altn8, " ")-1; 96 if altnl = -1 then altnl = length (altn8); 97 98 99 file_name_in_ascii = "0"b; /* Name is in BCD. */ 100 end; 101 else 102 no_altname: 103 file_name_in_ascii = "1"b; 104 105 if get_ascii_file_name ( 106 file_name_in_ascii 107 , AF_arglist.L_cat_filedescr 108 , addr (ascii_cat_file) 109 , status_word.status 110 ) then do; 111 if status_word.status = "4034"b3 then 112 status_word.status = "4000"b3; 113 else goto could_not_open; 114 end; 115 116 call gtss_expand_pathname_ ( 117 addr (ascii_cat_file) 118 , gtss_file_values.dname 119 , gtss_file_values.ename 120 , code 121 ); 122 if code ^= 0 then return; 123 124 125 if file_name_in_ascii then /* => There was not an altname. */ 126 call put_in_aft 127 ((substr((ascii_cat_file.name (ascii_cat_file.nn)),1,8))); 128 else call put_in_aft ((altn)); 129 if substr (status_word.status, 2, 11) ^= "0"b then 130 goto could_not_open; 131 132 gtss_file_values.version = 1; 133 gtss_file_values.change_name = "0"b; 134 gtss_file_values.new_ename = " "; 135 136 call gtss_attributes_mgr_$get (addr (gtss_file_values), code); 137 if code ^= 0 then do; 138 if code = error_table_$no_dir | code = error_table_$noentry 139 then call gtss_expand_pathname_$verify_umc ( 140 addr (ascii_cat_file) 141 , gtss_file_values.dname 142 , gtss_file_values.ename 143 , status_word.status 144 , code 145 ); 146 else status_word.status = gtss_filact_error_status_ (code); 147 goto could_not_open; 148 end; 149 150 gtss_file_values.set_switch = "0"b; 151 gtss_file_values.set_switch.number_allocations = "1"b; 152 gtss_file_values.data_fields.number_allocations = 1; /* Increment by one. */ 153 call gtss_attributes_mgr_$set (addr (gtss_file_values), code); 154 if code ^= 0 then do; 155 status_word.status = gtss_filact_error_status_ (code); 156 goto could_not_open; 157 end; 158 159 if gtss_file_values.catalog then do; 160 code = error_table_$not_seg_type; 161 status_word.status = "4005"b3; 162 goto could_not_open; 163 end; 164 165 /* * Set runtime attributes structure for ios. * */ 166 gtss_file_attributes_ptr = addr (gtss_tfa_ext_$file_attributes.temp_file (file_no)); 167 gtss_file_attributes.max_size = gtss_file_values.data_fields.maxll; 168 gtss_file_attributes.current_size = gtss_file_values.data_fields.curll; 169 gtss_file_attributes.user_attributes.non_null = ^gtss_file_values.data_flags.null_file; 170 gtss_file_attributes.user_attributes.user_attr = gtss_file_values.attributes.attr; 171 gtss_file_attributes.descriptor.device_type = "64"b3; /* => disk. */ 172 if gtss_file_values.data_flags.mode_random then 173 gtss_file_attributes.descriptor.words_block = "0100"b3; /* 64 (100oct) words per block. */ 174 else 175 gtss_file_attributes.descriptor.words_block = "0500"b3; /* 320 (500oct) words per block. */ 176 gtss_file_attributes.descriptor.llink_flag = "1"b; /* size is in llinks (320words) */ 177 gtss_file_attributes.descriptor.mode = gtss_file_values.data_flags.mode_random | (AF_arglist.random_linked ^= "0"b); 178 gtss_file_attributes.descriptor.perm = "1"b; /* Permanent file. */ 179 gtss_file_attributes.descriptor.fill = "0"b; 180 call gtss_adjust_size_ (gtss_file_attributes_ptr); 181 182 call gtss_ios_open_ ( 183 file_no 184 , gtss_file_values.dname 185 , gtss_file_values.ename 186 , access_mode 187 , (gtss_file_attributes.descriptor.mode) 188 , gtss_file_attributes_ptr 189 , addr (status_word) 190 , code); 191 if addr (status_word) -> bit12 ^= "4000"b3 then do; 192 could_not_open: ; 193 call gtss_aft_$delete (aft_name, file_no, aft_code); 194 if status_word.status = "4000"b3 then 195 status_word.status = gtss_filact_error_status_ (code); 196 if status_word.pd = "0"b then status_word.pd = get_faulty_cat_file_entry (); 197 if code ^= error_table_$noentry then 198 if db_filact_funct04 then 199 call com_err_ ( 200 code 201 , "gtss_filact_funct04_" 202 , "AFT (^i) ""^a"" gtss_ios_open_ status ^w" 203 , file_no 204 , aft_name 205 , status_word 206 ); 207 goto ret; 208 end; 209 210 status_word.status = "400000"b3; /* set status as ok */ 211 mc.regs.a = unspec (gtss_file_attributes.descriptor); 212 status_word.null_bit = gtss_file_attributes.user_attributes.non_null; /* set null bit */ 213 status_word.user_attributes = gtss_file_attributes.user_attributes.user_attr; /* set attribute word */ 214 ret: 215 if db_filact_funct04 then 216 call ioa_ ("filact_funct04 return status ^6o^6o", status_word.status, status_word.pd); 217 return; 218 219 220 /* * Access File Declarations. * */ 221 dcl altnp ptr init (null ()); 222 dcl altnl fixed bin (24); 223 dcl altn8 char (8)based (altnp); 224 dcl altn char (altnl)based (altnp); 225 dcl file_name_in_ascii bit (1); 226 dcl bit72 bit (72)aligned based; 227 dcl bit36 bit (36)aligned based; 228 dcl nic fixed bin (24); 229 230 dcl 1 AF_args aligned based (arg_ptr) 231 , 3 word1 232 , 4 L_altname bit (18)unal 233 , 4 L_arglist bit (18)unal 234 , 3 word2 235 , 4 AF_function_no fixed bin (17)unal 236 , 4 L_buffer bit (18)unal 237 ; 238 239 dcl 1 AF_arglist aligned based (arglist_ptr) 240 , 3 word1 241 , 4 L_status_return bit (18)unal 242 , 4 random_linked bit (18)unal 243 , 3 word2 244 , 4 L_cat_filedescr bit (18)unal 245 , 4 L_permissions bit (18)unal 246 ; 247 1 1 /* BEGIN INCLUDE FILE gtss_filact_intp1.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 10/05/78 1600.9 mst Thu 1 4**/ 1 5 validate_status: proc (status_address, sp); 1 6 1 7 dcl status_address bit (18)parm; 1 8 dcl sp ptr parm; 1 9 dcl status_pointer ptr init(null()); 1 10 1 11 1 12 /** Assure 2 word status not above memory. **/ 1 13 if (status_address >= high_b) then goto return_err4; 1 14 1 15 /** Assure status words and arglist do not overlap. **/ 1 16 if (fixed(status_address,18)+1) >= fixed(filact_args.L_arglist,18) & 1 17 fixed (status_address, 18) <= (fixed (filact_args.L_arglist, 18)+ 1) then goto return_err4; 1 18 1 19 /** Obtain pointer to status words. **/ 1 20 sp, status_pointer = addrel (gseg, status_address); 1 21 unspec (status_pointer -> status_word) = "0"b; 1 22 return; 1 23 1 24 dcl 1 filact_args aligned based(arg_ptr), /* 1st word only. */ 1 25 2 zero bit(18)unal, 1 26 2 L_arglist bit(18)unal; 1 27 end /* validate_status */; 1 28 /* END INCLUDE FILE gtss_filact_intp1.incl.pl1 */ 248 249 2 1 /* BEGIN INCLUDE FILE gtss_filact_intp2.incl.pl1 */ 2 2 /* 2 3* Created: (Wardd Multics) 10/05/78 1601.2 mst Thu 2 4**/ 2 5 2 6 /* Change: Dave Ward 08/18/81 correct stringrange error. 2 7**/ 2 8 get_ascii_file_name: proc (fnia, cfdl, acfp, grc)returns (bit (1)); 2 9 2 10 /** Obtain the catalog/file description 2 11* in ascii. 2 12* Reset gcos retrun code (grc) only if error. 2 13***/ 2 14 dcl fnia bit(1)parm /* "1"b => file name in ascii. */; 2 15 dcl cfdl bit(18)parm /* Location of catalog file description. */; 2 16 dcl acfp ptr parm /* Pointer to ascii_cat_file structure. */; 2 17 dcl grc bit(18)parm /* GCOS return status code. */; 2 18 2 19 ap = acfp; /* Local value. */ 2 20 cat_filedescr_name_offset = "0"b; /* => offset to "current" name in catalog file description. */ 2 21 2 22 if /* (cfdl < low_b) | */ 2 23 (fixed (cfdl, 18)+5 > high_i) then do; 2 24 goto return_err4; 2 25 end; /* Require USERID and atleast file name. */ 2 26 descriptor_ptr = addrel (gseg, cfdl); 2 27 2 28 if cfd2.USERID = -1 then do; /* cfd2.USERID is that of current terminal user. */ 2 29 descriptor_ptr -> bit72 = gtss_ust.lid; 2 30 cfd2.USERID_password = (12)"20"b3; 2 31 end; 2 32 2 33 cat_filedescr_name_offset = cfdl; 2 34 2 35 do nic = 0 to 5; /* Search for end of list. */ 2 36 if nic = 0 then 2 37 if cdf4.end_of_list = -1 then do; /* Only a USERID. */ 2 38 acf.nn = 1; 2 39 goto gal; 2 40 end; 2 41 2 42 if (fixed (cfdl, 18)+ (nic*2)+6) > high_i then do; 2 43 goto return_err4; 2 44 end; /* cat/filedescr entry out of memory. */ 2 45 2 46 if cfd2.end_of_list = -1 then do; /* cat/filedescr isolated. */ 2 47 cat_filedescr_name_offset = 2 48 bit (fixed (fixed (cfdl, 18) + (nic*4) + 4, 18)); /* Offset to name entry (global). */ 2 49 acf.nn = nic+2; 2 50 2 51 gal: ; 2 52 do i = 1 to acf.nn; 2 53 2 54 /** Store catalog file description for expand path. **/ 2 55 2 56 if (i > 1) & (i = acf.nn) & fnia then do; 2 57 callers_buf.restore_switch = "000000000001"b3; /* => file name in ascii. */ 2 58 acf.name (i) = translate (cfd3 (i).name, 2 59 "abcdefghijklmnopqrstuvwxyz", 2 60 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 2 61 end; 2 62 else 2 63 call gtss_bcd_ascii_$lc ( 2 64 addr (cfd3 (i).name) 2 65 , 12 2 66 , addr (acf.name (i)) 2 67 ); 2 68 end; 2 69 2 70 if substr (string (gtss_ext_$db), 09, 11) then do; 2 71 call ioa_ ("cat/filedescr:"); 2 72 do i = 1 to acf.nn; 2 73 call ioa_ ("^3i. ""^a""", i, acf.name (i)); 2 74 end; 2 75 end; 2 76 2 77 if substr (acf.name (1), 1, 6) = "!!!!!!" then 2 78 acf.name (1) = gse_ext_$umc_name; 2 79 callers_buf.file_id_in_ascii = 2 80 substr (acf.name (acf.nn), 1, length (callers_buf.file_id_in_ascii)); 2 81 2 82 /* Determine if there are illegal characters 2 83* in the name. 2 84**/ 2 85 do i = 1 to acf.nn; 2 86 if acf.name (i) = "*src" then return ("0"b); 2 87 if verify ( 2 88 rtrim (acf.name (i)) 2 89 , "0123456789abcdefghijklmnopqrstuvwxyz.-_" 2 90 )>0 then do; 2 91 grc = "403400"b3; /* Yes, illegal characters. */ 2 92 return ("1"b); 2 93 end; 2 94 end; 2 95 2 96 return ("0"b); /* Success. */ 2 97 end; 2 98 end; 2 99 2 100 /** cat/filedescr has no end of list marker. **/ 2 101 cat_filedescr_name_offset = "0"b; 2 102 grc = "403500"b3; /* Illegal cat/file desc. */ 2 103 return ("1"b); /* Failure. */ 2 104 2 105 dcl ap ptr /* Local acfp */; 2 106 dcl 1 acf aligned based(ap) like ascii_cat_file; 2 107 2 108 dcl 1 callers_buf aligned based(buffer_ptr), 2 109 3 restore_switch bit(36), 2 110 3 file_id_in_ascii char(8); 2 111 2 112 dcl 1 cfd2 aligned based(descriptor_ptr) /* 2nd description of catalog/file list. */ 2 113 , 3 user_master_catalog 2 114 , 4 USERID fixed bin(71) 2 115 , 4 USERID_password bit(72) 2 116 , 3 intermediate_catalogs (nic) 2 117 , 4 CATALOG bit(72) 2 118 , 4 CATALOG_password bit(72) 2 119 , 3 file_to_be_accessed 2 120 , 4 FILENAME bit(72) 2 121 , 4 FILENAME_password bit(72) 2 122 , 3 end_of_list fixed bin(35) 2 123 ; 2 124 2 125 dcl 1 cfd3 (7) aligned based(descriptor_ptr) /* 3rd description of catalog/file list. */ 2 126 , 3 name char(8) 2 127 , 3 password bit(72) 2 128 ; 2 129 2 130 dcl 1 cdf4 aligned based(descriptor_ptr) /* 4th description of catalog/file list. */ 2 131 , 3 user_master_catalog 2 132 , 4 USERID fixed bin(71) 2 133 , 4 USERID_password bit(72) 2 134 , 3 end_of_list fixed bin(35) 2 135 ; 2 136 end /* get_ascii_file_name */; 2 137 2 138 /* END INCLUDE FILE gtss_filact_intp2.incl.pl1 */ 250 251 3 1 /* BEGIN INCLUDE FILE gtss_filact_intp3.incl.pl1 */ 3 2 /* 3 3* Created: (Wardd Multics) 10/05/78 1601.4 mst Thu 3 4**/ 3 5 get_faulty_cat_file_entry: proc returns (bit (18)); 3 6 3 7 /** Locate offset to catalog file description entry 3 8* that caused search failure locating Multics entry. 3 9***/ 3 10 return (cat_filedescr_name_offset); 3 11 end /* get_faulty_cat_file_entry */; 3 12 /* END INCLUDE FILE gtss_filact_intp3.incl.pl1 */ 252 253 254 put_in_aft: proc (n); 255 256 /* * Put name n in aft (or return from derail). 257* * */ 258 dcl n char (8)parm; 259 call gtss_aft_$add ( 260 n 261 , file_no 262 , code 263 ); 264 265 if code = 1 then do; /* name already in aft */ 266 267 /* * Make sure permissions that user is asking for are a subset of those 268* he already has. */ 269 status_word.status = "403700"b3; /* File in aft */ 270 gtss_file_attributes_ptr = gtss_disk.attributes_ptr (file_no); 271 call gtss_adjust_size_ (gtss_file_attributes_ptr); 272 mc.regs.a = unspec (gtss_file_attributes.descriptor); 273 status_word.null_bit = gtss_file_attributes.user_attributes.non_null; /* set null bit */ 274 status_word.user_attributes = gtss_file_attributes.user_attributes.user_attr; /* set attribute word */ 275 if ((access_mode & gtss_disk (file_no).access_mode) = "0"b) 276 & ^(substr (access_mode, 6, 1) & substr (gtss_disk (file_no).access_mode, 1, 1)) 277 then 278 status_word.pd = "400300"b3; /* But permission denied */ 279 /* Put 400300 in LOWER HALF of status word */ 280 if db_filact_funct04 then 281 call ioa_ ("""^a"" Req. access ^b AFT access ^b", n, access_mode, gtss_disk (file_no).access_mode); 282 goto ret; 283 end; 284 285 if code = 2 then do; /* aft full */ 286 status_word.status = "403600"b3; 287 goto ret; 288 end; 289 aft_name = n; /* Record last name placed in aft. */ 290 return; 291 292 end put_in_aft; 293 294 /* * Declarations for gtss_drl_filact_: 295* IDENTIFIER ATTRIBUTES * */ 296 dcl access_mode bit (6); 297 dcl addr builtin; 298 dcl addrel builtin; 299 dcl aft_code fixed bin (35); 300 dcl aft_name char (8); 301 dcl altname char (8) aligned based (altname_ptr); 302 dcl altname_ptr ptr init (null ()); 303 dcl arglist_ptr ptr init (null ()); 304 dcl arg_ptr ptr init (null ()); 305 dcl attribute_segment_ptr ptr init (null ()); 306 dcl bit builtin; 307 dcl bit12 bit (12)aligned based; 308 dcl cat_filedescr_name_offset bit (18); 309 dcl descriptor_ptr ptr init (null ()); 310 dcl entry_name char (12) init (" "); 311 dcl error_table_$noentry fixed bin (35) ext; 312 dcl error_table_$no_dir fixed bin (35) ext; 313 dcl error_table_$not_seg_type fixed bin (35)ext; 314 dcl file_no fixed bin (24); 315 dcl fixed builtin; 316 dcl FMS_block_ptr ptr init (null ()); 317 dcl gseg ptr init (null ()); 318 dcl high_b bit (18)aligned; 319 dcl high_i fixed bin (18)aligned; 320 dcl i fixed bin (24); 321 dcl ioa_ entry options (variable); 322 dcl length builtin; 323 dcl low_i fixed bin (18)aligned static int options (constant)init (100); 324 dcl null builtin; 325 dcl p ptr init (null ()); 326 dcl rings (3) fixed bin (3) static int options (constant)init (4, 4, 4); 327 dcl rtrim builtin; 328 dcl search builtin; 329 dcl smc_entry_ptr ptr init (null ()); 330 dcl status fixed bin (24); 331 dcl status_ptr ptr init (null ()); 332 dcl string builtin; 333 dcl substr builtin; 334 dcl translate builtin; 335 dcl two_words bit (72) based; 336 dcl unspec builtin; 337 dcl verify builtin; 338 dcl words380 bit (13680)aligned based; 339 340 /* * Structures: * */ 341 342 dcl 1 status2 aligned based (status_ptr) 343 , 3 word1 344 , 4 status_code bit (12)unal 345 , 4 zero1 bit (06)unal 346 , 4 zero2 bit (18)unal 347 , 3 word2 348 , 4 L_bcd_message bit (18)unal 349 , 4 message_words fixed bin (17)unal 350 ; 351 352 dcl 1 bcdname aligned based (p), 353 2 first8 bit (48)unal, 354 2 last4 bit (24)unal; 355 356 357 dcl 1 filact_args aligned based (arg_ptr), 358 2 altname_address bit (18) unaligned, 359 2 arglist_address bit (18) unaligned, 360 2 function_no fixed bin (17) unaligned, 361 2 buffer_address bit (18) unaligned; 362 363 364 dcl 1 arglist aligned based (arglist_ptr), 365 2 status_address bit (18) unaligned, 366 2 record_address bit (18) unaligned, 367 2 descriptor_address bit (18) unaligned, 368 2 permissions_address bit (18) unaligned, 369 2 options_address bit (18) unaligned, 370 2 fill1 bit (18) unaligned; 371 372 373 dcl 1 lib_arglist aligned based (arglist_ptr), 374 2 status_address bit (18) unaligned, 375 2 fill bit (17) unaligned, 376 2 mode bit (1) unaligned, 377 2 fill1 bit (24) unaligned, 378 2 file_code bit (12) unaligned; 379 380 381 382 dcl 1 status_word aligned based (status_ptr), 383 2 status bit (18) unaligned, 384 2 pd bit (18) unaligned, 385 2 null_bit bit (1) unaligned, 386 2 user_attributes bit (35) unaligned; 387 388 389 390 dcl 1 descriptor (0:8) aligned based (descriptor_ptr), 391 2 name bit (72) aligned, 392 2 password bit (72) aligned; 393 394 dcl 1 FMS_block aligned based (FMS_block_ptr), 395 2 address bit (18) unaligned; 396 397 398 dcl 1 FMS_data_block aligned based (buffer_ptr), 399 2 restore_switch bit (36) aligned, 400 2 file_id char (8) aligned, 401 2 fill (3:24) bit (36) aligned, 402 2 record_type fixed bin (5) unaligned, 403 2 fill2 bit (30) unaligned; 404 405 dcl 1 permissions aligned based (permissions_ptr), 406 2 read bit (1) unaligned, 407 2 write bit (1) unaligned, 408 2 append bit (1) unaligned, 409 2 execute bit (1) unaligned, 410 2 purge bit (1) unaligned, 411 2 modify bit (1) unaligned, 412 2 lock bit (1) unaligned, 413 2 fill bit (1) unaligned, 414 2 create bit (1) unaligned, 415 2 recovery bit (1) unaligned, 416 2 fill1 bit (8) unaligned, 417 2 test bit (1) unaligned, 418 2 query bit (1) unaligned, 419 2 fill2 bit (16) unaligned; 420 421 422 423 dcl 1 options aligned based (options_ptr), 424 2 contigous bit (1) unaligned, 425 2 random bit (1) unaligned, 426 2 TSS_create bit (1) unaligned, 427 2 I_D_S bit (1) unaligned, 428 2 llink_allocated bit (1) unaligned, 429 2 nostructured_device bit (1) unaligned, 430 2 fill1 bit (1) unaligned, 431 2 attribute_present bit (1) unaligned, 432 2 user_attribute bit (1) unaligned, 433 2 fill2 bit (4) unaligned, 434 2 FMS_protection bit (1) unaligned, 435 2 fill3 bit (4) unaligned, 436 2 device_name bit (18) unaligned, 437 2 initial_size bit (18) unaligned, 438 2 max_size bit (18) unaligned, 439 2 specific_permissions (0:max_options) aligned, 440 3 userid bit (72) aligned, 441 3 read bit (1) unaligned, 442 3 write bit (1) unaligned, 443 3 append bit (1) unaligned, 444 3 execute bit (1) unaligned, 445 3 purge bit (1) unaligned, 446 3 modify bit (1) unaligned, 447 3 lock bit (1) unaligned, 448 3 fill bit (1) unaligned, 449 3 create bit (1) unaligned, 450 3 recovery bit (1) unaligned; 451 452 453 dcl 1 smc_arglist aligned based (arglist_ptr), 454 2 status_address bit (18) unaligned, 455 2 entry_address bit (18) unaligned; 456 457 458 459 460 dcl 1 smc_entry aligned based (smc_entry_ptr), 461 2 userid bit (72) unaligned, 462 2 fill1 bit (36) aligned, 463 2 fill2 bit (36) aligned, 464 2 space_time fixed bin (35) aligned, 465 2 llinks_used fixed bin (17) unaligned, 466 2 llinks_allowed fixed bin (17) unaligned, 467 2 fill3 bit (36) aligned, 468 2 resources fixed bin (17) unaligned, 469 2 lodx bit (1) unaligned, 470 2 cardin bit (1) unaligned, 471 2 talk bit (1) unaligned, 472 2 lods bit (1) unaligned, 473 2 fill4 bit (2) unaligned, 474 2 urgency bit (12) unaligned, 475 2 password bit (72) unaligned, 476 2 reserved bit (36) aligned, 477 2 fill5 bit (10) unaligned, 478 2 resources_used fixed bin (25) unaligned; 479 4 1 /* BEGIN INCLUDE FILE gtss_tfa_ext_.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 08/07/78 0911.6 mst Mon 4 4**/ 4 5 4 6 /* Structure to record file "attributes". 4 7* Note: gtss_dfd_ext_$disk_file_data(i).gtss_disk.attributes_ptr 4 8* locates gtss_tfa_ext_$file_attributes.temp_file(i). 4 9**/ 4 10 4 11 dcl 1 gtss_tfa_ext_$file_attributes aligned ext, 4 12 3 temp_file (20) like gtss_file_attributes; 4 13 5 1 /* BEGIN INCLUDE FILE gtss_file_attributes.incl.pl1 */ 5 2 /* 5 3* Created: (Kepner Multics) 06/02/78 1522.0 mst Fri 5 4**/ 5 5 5 6 /* Declaration of File Attributes Segement */ 5 7 5 8 5 9 dcl gtss_file_attributes_ptr ptr init(null()); 5 10 5 11 dcl 1 gtss_file_attributes based (gtss_file_attributes_ptr) aligned, 5 12 2 max_size fixed bin (24), /* maximum size the file can grow to 5 13* in 320 word blocks. if = 0 then the 5 14* file size is unlimited. */ 5 15 2 current_size fixed bin (24), /* current size of the file in 320 word blocks */ 5 16 2 user_attributes aligned, 5 17 3 non_null bit (1) unal, /* 0 = this file has never been written to */ 5 18 3 user_attr bit (35) unal, /* User defined attributes */ 5 19 2 descriptor aligned, 5 20 3 device_type bit (6) unaligned, /* currently ignored */ 5 21 3 words_block bit (12) unaligned, /* number of words per physical block */ 5 22 3 llink_flag bit (1) unaligned, /* if 0= size in links | 1= size in llinks */ 5 23 3 mode bit (1) unaligned, /* 0= linked file | 1= random file */ 5 24 3 perm bit (1) unaligned, /* 1=permanent file|0=not */ 5 25 3 fill bit (1) unaligned, 5 26 3 size bit (14) unaligned; 5 27 5 28 5 29 /* END INCLUDE FILE gtss_file_attributes.incl.pl1 */ 4 14 4 15 4 16 /* END INCLUDE FILE gtss_tfa_ext_.incl.pl1 */ 480 481 6 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 6 2 /* 6 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 6 4**/ 6 5 6 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 6 7 6 8 3 gtss_disk, 6 9 4 dir_name char (168) unal, /* containing directory for file */ 6 10 4 entry_name char (32) unal, /* entry name for file */ 6 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 6 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 6 13* component which has been accessed has a corresponding 6 14* initialized pointer. Currently 500 components 6 15* are supported. */ 6 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 6 17 4 indicators aligned, /* one word of flags */ 6 18 6 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 6 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 6 21 5 fill bit (34) unal, 6 22 6 23 4 permissions aligned, 6 24 5 read bit (1) unaligned, /* 1=read permission */ 6 25 5 execute bit (1) unaligned, /* 1=execute permission */ 6 26 5 write bit (1) unaligned, /* 1=write permission */ 6 27 5 fill2 bit (33) unaligned, /* unused at this time */ 6 28 6 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 6 30 4 component fixed bin, /* current component value (first component = 0) */ 6 31 4 offset fixed bin (24), /* current word offset in the component */ 6 32 4 file_position fixed bin (30), /* current file position in words */ 6 33 4 file_size fixed bin (30), /* size of file in words */ 6 34 4 no_components fixed bin (24), /* number of components for a msf */ 6 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 6 36* for this file. (See gtss_file_attributes.incl.pl1) */ 6 37 6 38 4 pat_body, 6 39 6 40 5 word_0, 6 41 6 defective bit (1) unal, /* 1 = file has defective space */ 6 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 6 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 6 44 6 sct bit (12) unal, /* address of SCT for device on which 6 45* file begins or if cataloged, 6 46* for device with file catalog entry */ 6 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 6 48 6 49 5 word_1, 6 50 6 io_time fixed bin (35), /* I/O time for this file */ 6 51 6 52 5 word_2, 6 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 6 54 6 hash_code bit (5) unal, /* hash code of user name under which 6 55* file is cataloged */ 6 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 6 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 6 58 6 random bit (1) unal, /* 1 = access to file is random */ 6 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 6 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 6 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 6 62 6 disposition bit (2) unal, /* Abort disposition code 6 63* 00 = Release 6 64* 01 = Dismount 6 65* 10 = Save 6 66* 11 = Continue */ 6 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 6 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 6 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 6 70* attempted to part of file marked defective (only 6 71* for procted allocation) */ 6 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 6 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 6 74* (on device with SCT referenced in word 0). If 6 75* cataloged file that is proctected (bit 0 ON in this 6 76* word), memory location of table in File Management 6 77* Supervisor Executive. If user temporary file, 6 78* largest size file has ever attained, in llinks. 6 79* If system value equals 777777 octal, it is system 6 80* file created by System Input. */ 6 81 6 82 5 word_3, 6 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 6 84* 0-13 = 0, File size is greater than 16,383 llinks, 6 85* and if the file is cataloged, call to .MFS19,5 with 6 86* offset to PAT pointer in index 5 will cause bits 6 87* 14-35 of Q-register to be set to file size. (Unless 6 88* there is a Seek error on file catalog in which case 6 89* zero is returned. ) 6 90* */ 6 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 6 92* in memory. */ 6 93 6 94 5 word_4, 6 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 6 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 6 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 6 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 6 99* descriptor) */ 6 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 6 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 482 483 7 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 7 2 /* UST: User Status Table 7 3* definitions based on 7 4* System Tables, Order number DD14-01E, January 1981 7 5* Section 15, Time Sharing System 7 6* 7 7* Authors: Robert J. Grimes Created 7 8* - Albert N. Kepner 1978 7 9* - Robert M. May 7 10* - David B. Ward 7 11* Change: Dave Ward 02/23/79 Level 4 numbering. 7 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 7 13* Brought up to 4JS3 functionality 7 14**/ 7 15 /* octal word offsets of entries */ 7 16 dcl 1 gtss_ust_ext_$ust aligned ext, 7 17 3 gtss_ust, 7 18 /* 0-1 */ 4 lid bit (72), 7 19 /* 2 */ 4 lstp bit (36), 7 20 /* 3 */ 4 ltin bit (36), 7 21 /* 4 */ 4 lstio, 7 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 7 23 5 no_of_disk_io fixed bin (18) uns unal, 7 24 /* 5 */ 4 lsnub bit (36), 7 25 /* 6-7 */ 4 lchg bit (72), 7 26 /* 10 */ 4 lbuf, 7 27 5 address bit (18)unaligned, 7 28 5 tally bit (1)unaligned, 7 29 5 terminal_type bit (5)unaligned, 7 30 5 station_id bit (12)unaligned, 7 31 /* 11-12 */ 4 liost (0:1) bit (36), 7 32 /* 13 */ 4 lcc bit (36), 7 33 /* 14 */ 4 lback, 7 34 5 fill1 bit (18) unaligned, 7 35 5 gwake fixed bin (17) unaligned, 7 36 /* 15 */ 4 lflag, 7 37 5 mp_list bit (18) unaligned, 7 38 5 flags unaligned, 7 39 6 b18 bit (1) unaligned, 7 40 6 b19 bit (1) unaligned, 7 41 6 b20 bit (1) unaligned, 7 42 6 b21 bit (1) unaligned, 7 43 6 b22 bit (1) unaligned, 7 44 6 b23 bit (1) unaligned, 7 45 6 b24 bit (1) unaligned, 7 46 6 b25 bit (1) unaligned, 7 47 6 b26 bit (1) unaligned, 7 48 6 b27 bit (1) unaligned, 7 49 6 b28 bit (1) unaligned, 7 50 6 b29 bit (1) unaligned, 7 51 6 b30 bit (1) unaligned, 7 52 6 b31 bit (1) unaligned, 7 53 6 b32 bit (1) unaligned, 7 54 6 b33 bit (1) unaligned, 7 55 6 b34 bit (1) unaligned, 7 56 6 b35 bit (1) unaligned, 7 57 /* 16 */ 4 lkdss bit (36), 7 58 /* 17 */ 4 lfile, 7 59 5 program_stack fixed bin (17) unal, 7 60 5 file_list_ptr bit (18) unal, 7 61 /* 20 */ 4 lttys bit (36), 7 62 /* 21 */ 4 lswth, 7 63 5 b0 bit (1) unaligned, 7 64 5 b1 bit (1) unaligned, 7 65 5 b2 bit (1) unaligned, 7 66 5 b3 bit (1) unaligned, 7 67 5 b4 bit (1) unaligned, 7 68 5 b5 bit (1) unaligned, 7 69 5 b6 bit (1) unaligned, 7 70 5 b7 bit (1) unaligned, 7 71 5 b8 bit (1) unaligned, 7 72 5 b9 bit (1) unaligned, 7 73 5 b10 bit (1) unaligned, 7 74 5 b11 bit (1) unaligned, 7 75 5 b12 bit (1) unaligned, 7 76 5 b13 bit (1) unaligned, 7 77 5 b14 bit (1) unaligned, 7 78 5 b15 bit (1) unaligned, 7 79 5 b16 bit (1) unaligned, 7 80 5 b17 bit (1) unaligned, 7 81 5 b18 bit (1) unaligned, 7 82 5 b19 bit (1) unaligned, 7 83 5 b20 bit (1) unaligned, 7 84 5 b21 bit (1) unaligned, 7 85 5 b22 bit (1) unaligned, 7 86 5 b23 bit (1) unaligned, 7 87 5 b24 bit (1) unaligned, 7 88 5 b25 bit (1) unaligned, 7 89 5 b26 bit (1) unaligned, 7 90 5 b27 bit (1) unaligned, 7 91 5 b28 bit (1) unaligned, 7 92 5 b29 bit (1) unaligned, 7 93 5 b30 bit (1) unaligned, 7 94 5 b31 bit (1) unaligned, 7 95 5 b32 bit (1) unaligned, 7 96 5 b33 bit (1) unaligned, 7 97 5 b34 bit (1) unaligned, 7 98 5 b35 bit (1) unaligned, 7 99 /* 22 */ 4 lsize, 7 100 5 bar fixed bin (17) unaligned, 7 101 5 limit bit (18) unaligned, 7 102 /* 23... */ 4 lswap, 7 103 5 fill bit (18) unal, 7 104 5 size bit (18) unal, 7 105 /* ...24 */ 4 transfer_cell bit (36) unal, 7 106 /* 25 */ 4 lerrm bit (36), 7 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 7 108 /* 40 */ 4 lsybc, 7 109 5 b0_17 fixed bin (17) unaligned, 7 110 5 b18_35 fixed bin (17) unaligned, 7 111 /* 41-42 */ 4 lstem (0:1) bit (36), 7 112 /* 43 */ 4 lcals, 7 113 5 b0_17 fixed bin (17) unaligned, 7 114 5 b18_35 bit (18) unaligned, 7 115 /* 44-51 */ 4 subsystems (3), 7 116 5 content_lswap, 7 117 6 fill bit (18) unal, 7 118 6 size bit (18) unal, 7 119 5 tally_address fixed bin (17) unaligned, 7 120 5 ss_flags bit (18) unaligned, 7 121 /* 52 */ 4 ltalc, 7 122 5 tod fixed bin (17) unaligned, 7 123 5 startup fixed bin (17) unaligned, 7 124 /* 53 */ 4 lspts fixed bin (35), 7 125 /* 54 */ 4 lflg2, 7 126 5 b0 bit (1) unaligned, 7 127 5 b1 bit (1) unaligned, 7 128 5 b2 bit (1) unaligned, 7 129 5 b3 bit (1) unaligned, 7 130 5 b4 bit (1) unaligned, 7 131 5 b5 bit (1) unaligned, 7 132 5 b6 bit (1) unaligned, 7 133 5 b7 bit (1) unaligned, 7 134 5 b8 bit (1) unaligned, 7 135 5 b9 bit (1) unaligned, 7 136 5 b10 bit (1) unaligned, 7 137 5 b11 bit (1) unaligned, 7 138 5 b12 bit (1) unaligned, 7 139 5 b13 bit (1) unaligned, 7 140 5 b14 bit (1) unaligned, 7 141 5 b15 bit (1) unaligned, 7 142 5 b16 bit (1) unaligned, 7 143 5 b17 bit (1) unaligned, 7 144 5 b18 bit (1) unaligned, 7 145 5 b19 bit (1) unaligned, 7 146 5 b20 bit (1) unaligned, 7 147 5 b21 bit (1) unaligned, 7 148 5 b22 bit (1) unaligned, 7 149 5 b23 bit (1) unaligned, 7 150 5 b24 bit (1) unaligned, 7 151 5 b25 bit (1) unaligned, 7 152 5 b26 bit (1) unaligned, 7 153 5 b27 bit (1) unaligned, 7 154 5 b28 bit (1) unaligned, 7 155 5 b29 bit (1) unaligned, 7 156 5 b30 bit (1) unaligned, 7 157 5 b31 bit (1) unaligned, 7 158 5 b32 bit (1) unaligned, 7 159 5 b33 bit (1) unaligned, 7 160 5 b34 bit (1) unaligned, 7 161 5 b35 bit (1) unaligned, 7 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 7 163 /* 61 */ 4 lsprt fixed bin (35), 7 164 /* 62 */ 4 ltrm bit (36), 7 165 /* 63 */ 4 linno fixed bin (35), 7 166 /* 64 */ 4 lincr fixed bin (35), 7 167 /* 65 */ 4 ltdes bit (36), 7 168 /* 66 */ 4 lbptr bit (36), 7 169 /* 67 */ 4 lpptr, 7 170 5 last_file_pat_ptr bin (18) uns unal, 7 171 5 lpptr_reserved bin (18) uns unal, 7 172 /* 70 */ 4 lsclp bit (36), 7 173 /* 71 */ 4 limit fixed bin (35), 7 174 /* 72 */ 4 lacpt, 7 175 5 jout_pat_offset bit (18) unal, 7 176 5 permissions unal, 7 177 6 lodx bit (1) unal, 7 178 6 cardin bit (1) unal, 7 179 6 talk bit (1) unal, 7 180 6 lods bit (1) unal, 7 181 5 cardin_urgency bit (14) unal, 7 182 /* 73 */ 4 ldrl, 7 183 5 ilc bit (18) unaligned, 7 184 5 code fixed bin (17) unaligned, 7 185 /* 74 */ 4 ljsnb bit (36), 7 186 /* 75 */ 4 ltm0 bit (36), 7 187 /* 76 */ 4 ltm1 bit (36), 7 188 /* 77 */ 4 ltm2 bit (36), 7 189 /* 100 */ 4 ltm3 bit (36), 7 190 /* 101 */ 4 ltm4 bit (36), 7 191 /* 102 */ 4 ltm5 bit (36), 7 192 /* 103 */ 4 ltmwt bit (36), 7 193 /* 104 */ 4 ltmrs bit (36), 7 194 /* 105 */ 4 ltc0 bit (36), 7 195 /* 106 */ 4 ltc1 bit (36), 7 196 /* 107 */ 4 ltc2 bit (36), 7 197 /* 110 */ 4 lct3 bit (36), 7 198 /* 111 */ 4 ltc4 bit (36), 7 199 /* 112 */ 4 ltc5 bit (36), 7 200 /* 113 */ 4 ltcw bit (36), 7 201 /* 114 */ 4 lkst bit (36), 7 202 /* 115 */ 4 lkst2 bit (36), 7 203 /* 116 */ 4 lkcc bit (36), 7 204 /* 117 */ 4 lkms bit (36), 7 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 7 206 /* 122 */ 4 lkntp bit (36), 7 207 /* 123 */ 4 lkrdc bit (36), 7 208 /* 124 */ 4 lpqf bit (36), 7 209 /* 125 */ 4 lpqb bit (36), 7 210 /* 126 */ 4 lustl bit (36), 7 211 /* 127 */ 4 ltemp bit (36), 7 212 /* 130 */ 4 lrtll, 7 213 5 word_length fixed bin unaligned, 7 214 5 char_length fixed bin unaligned, 7 215 /* 131 */ 4 ltim bit (36), 7 216 /* 132 */ 4 lcfio, 7 217 5 sect_out fixed bin(18)unsigned unal, 7 218 5 sect_in fixed bin(18)unsigned unal, 7 219 /* 133 */ 4 lcfst, 7 220 5 initial_sect_out fixed bin(18)unsigned unal, 7 221 5 start_term fixed bin(18)unsigned unal, 7 222 /* 134 */ 4 lcmpt bit (36), 7 223 /* 135 */ 4 lcjid bit (36), 7 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 7 225 /* 140 */ 4 lrdta bit (36), 7 226 /* 141 */ 4 lrrsk bit (36), 7 227 /* 142 */ 4 lrskd bit (36), 7 228 /* 143 */ 4 lrcc bit (36), 7 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 7 230 /* 146 */ 4 lrtm bit (36), 7 231 /* 147 */ 4 lswt2, 7 232 5 b0 bit (1) unaligned, 7 233 5 b1 bit (1) unaligned, 7 234 5 b2 bit (1) unaligned, 7 235 5 b3 bit (1) unaligned, 7 236 5 b4 bit (1) unaligned, 7 237 5 b5 bit (1) unaligned, 7 238 5 b6 bit (1) unaligned, 7 239 5 b7 bit (1) unaligned, 7 240 5 b8 bit (1) unaligned, 7 241 5 b9 bit (1) unaligned, 7 242 5 b10 bit (1) unaligned, 7 243 5 b11 bit (1) unaligned, 7 244 5 b12 bit (1) unaligned, 7 245 5 b13 bit (1) unaligned, 7 246 5 b14 bit (1) unaligned, 7 247 5 b15 bit (1) unaligned, 7 248 5 b16 bit (1) unaligned, 7 249 5 b17 bit (1) unaligned, 7 250 5 b18 bit (1) unaligned, 7 251 5 b19 bit (1) unaligned, 7 252 5 b20 bit (1) unaligned, 7 253 5 b21 bit (1) unaligned, 7 254 5 b22 bit (1) unaligned, 7 255 5 b23 bit (1) unaligned, 7 256 5 b24 bit (1) unaligned, 7 257 5 b25 bit (1) unaligned, 7 258 5 b26 bit (1) unaligned, 7 259 5 b27 bit (1) unaligned, 7 260 5 b28 bit (1) unaligned, 7 261 5 b29 bit (1) unaligned, 7 262 5 b30 bit (1) unaligned, 7 263 5 b31 bit (1) unaligned, 7 264 5 b32 bit (1) unaligned, 7 265 5 b33 bit (1) unaligned, 7 266 5 b34 bit (1) unaligned, 7 267 5 b35 bit (1) unaligned, 7 268 /* 150 */ 4 llsnb bit (36), 7 269 /* 151 */ 4 lesq bit (36), 7 270 /* 152-153 */ 4 lumc (0:1) bit (36), 7 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 7 272 /* 156 */ 4 lopts bit (36), 7 273 /* 157 */ 4 licec, 7 274 5 b0_17 bit (18) unaligned, 7 275 5 b18_35 fixed bin (17) unaligned, 7 276 /* 160 */ 4 lflg3, 7 277 5 b0 bit (1) unaligned, 7 278 5 b1 bit (1) unaligned, 7 279 5 b2 bit (1) unaligned, 7 280 5 b3 bit (1) unaligned, 7 281 5 b4 bit (1) unaligned, 7 282 5 b5 bit (1) unaligned, 7 283 5 b6 bit (1) unaligned, 7 284 5 b7 bit (1) unaligned, 7 285 5 b8 bit (1) unaligned, 7 286 5 b9 bit (1) unaligned, 7 287 5 b10 bit (1) unaligned, 7 288 5 b11 bit (1) unaligned, 7 289 5 b12 bit (1) unaligned, 7 290 5 b13 bit (1) unaligned, 7 291 5 b14 bit (1) unaligned, 7 292 5 b15 bit (1) unaligned, 7 293 5 b16 bit (1) unaligned, 7 294 5 b17 bit (1) unaligned, 7 295 5 b18 bit (1) unaligned, 7 296 5 b19 bit (1) unaligned, 7 297 5 b20 bit (1) unaligned, 7 298 5 b21 bit (1) unaligned, 7 299 5 b22 bit (1) unaligned, 7 300 5 b23 bit (1) unaligned, 7 301 5 b24 bit (1) unaligned, 7 302 5 b25 bit (1) unaligned, 7 303 5 b26 bit (1) unaligned, 7 304 5 b27 bit (1) unaligned, 7 305 5 b28 bit (1) unaligned, 7 306 5 b29 bit (1) unaligned, 7 307 5 b30 bit (1) unaligned, 7 308 5 b31 bit (1) unaligned, 7 309 5 b32 bit (1) unaligned, 7 310 5 b33 bit (1) unaligned, 7 311 5 b34 bit (1) unaligned, 7 312 5 b35 bit (1) unaligned, 7 313 /* 161-163 */ 4 lpage (0:2) bit (36), 7 314 /* 164 */ 4 lsit1 bit (36), 7 315 /* 165 */ 4 lsit2 bit (36), 7 316 /* 166 */ 4 lsit3 bit (36), 7 317 /* 167 */ 4 lsit4 bit (36), 7 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 7 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 7 320 5 b0_17 fixed bin (17) unaligned, 7 321 5 b18_35 bit (18) unaligned, /* not used */ 7 322 /* 171-175 */ 4 lprgs (5), 7 323 5 b0_17 fixed bin (17) unaligned, 7 324 5 b18_35 fixed bin (17) unaligned, 7 325 /* 176 */ 4 fill bit (36), 7 326 /* 177 */ 4 remote_io_buffer aligned, 7 327 5 buffer_control_word, 7 328 6 current_line_pointer bit (18)unal, 7 329 6 buffer_threshold_address bit (18)unal, 7 330 5 number_words_transmitted fixed bin (17)unal, 7 331 5 FILL1 fixed bin (17)unal, 7 332 5 count_of_characters_transmitted fixed bin (17)unal, 7 333 5 FILL2 fixed bin (17)unal, 7 334 5 characters_transmitted (244) char (1) unal, 7 335 /* 277 */ 4 word_after_ust bit (36) aligned; 7 336 7 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 484 485 8 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 8 2 /* 8 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 8 4* Modified: Ward 1981 add suspended_process dcl 8 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 8 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 8 7**/ 8 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 8 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 8 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 8 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 8 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 8 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 8 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 8 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 8 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 8 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 8 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 8 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 8 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 8 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 8 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 8 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 8 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 8 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 8 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 8 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 8 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 8 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 8 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 8 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 8 32 dcl gtss_ext_$suspended_process bit(1) ext static; 8 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 8 34 dcl gtss_ext_$user_id char (26)var ext; 8 35 dcl gtss_ext_$work_area_ptr ptr ext; 8 36 8 37 dcl 1 gtss_ext_$CFP_bits aligned static external 8 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 8 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 8 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 8 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 8 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 8 43 ; 8 44 8 45 dcl 1 gtss_ext_$com_reg aligned static ext, 8 46 3 tsdmx, 8 47 4 dst fixed bin (18) unsigned unaligned, 8 48 4 dit fixed bin (18) unsigned unaligned, 8 49 3 tsdpt fixed bin (36) unsigned unaligned, 8 50 3 tsddt fixed bin (36) unsigned unaligned, 8 51 3 tsdid bit (72) unaligned, 8 52 3 tsdsd bit (36) unaligned, 8 53 3 tsdst fixed bin (36) unsigned unaligned, 8 54 3 tsdjb fixed bin (35) unaligned, 8 55 3 tsdgt, 8 56 4 ust_loc fixed bin (18) unsigned unaligned, 8 57 4 gating_ctl fixed bin (18) unsigned unaligned, 8 58 3 tcdfr bit (36) unaligned; 8 59 8 60 dcl 1 gtss_ext_$flags aligned static ext 8 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 8 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 8 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 8 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 8 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 8 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 8 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 8 68 , 3 available bit (65) unal 8 69 ; 8 70 8 71 8 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 8 73 3 total_time (-10:71)fixed bin (71), 8 74 3 count (-10:71)fixed bin (17); 8 75 8 76 /* Declaration of Available File Table 8 77* */ 8 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 8 79 8 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 8 81 8 82 3 aft_entry (20), 8 83 4 altname char (8), /* altname name for attaching this file */ 8 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 8 85 4 previous_add fixed bin (24), /* Previously added entry. */ 8 86 4 next_add fixed bin (24), /* Entry added after this one. */ 8 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 8 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 8 89 8 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 8 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 8 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 8 93 8 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 8 95 /** Data structure to provide access to installed 8 96* subsystems fast library load. 8 97* **/ 8 98 dcl 1 gtss_ext_$fast_lib aligned ext 8 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 8 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 8 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 8 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 8 103 ; 8 104 8 105 /* Pointers to segments to regulate multipler 8 106* callers to files. Same segments are used to regulate 8 107* all simulator callers. 8 108**/ 8 109 dcl 1 gtss_ext_$mcfc aligned ext, 8 110 3 multics_lock_id bit(36), 8 111 3 wait_time fixed bin, 8 112 3 files_ptr ptr, 8 113 3 names_ptr ptr, 8 114 3 callers_ptr (0:3)ptr 8 115 ; 8 116 8 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 486 487 9 1 /* BEGIN INCLUDE FILE gtss_filact_status.incl.pl1 */ 9 2 /* 9 3* Created: (Wardd Multics) 10/10/78 0945.5 mst Tue 9 4**/ 9 5 9 6 /* 9 7* 4000 NO ERRORS 9 8* 4001 USER-ID NOT IN MASTER CATALOG 9 9* 4002 I/O ERROR ON DEVICE XXX SA = NNN......NNN 9 10* 4003 PERMISSIONS DENIED 9 11* 4004 FILE BUSY: TRY LATER 9 12* 4005 INCORRECT CAT/FILE DESCRIPTION AT AAA......AAA 9 13* 4006 NO SPACE FOR CATALOG ON DEVICE XXX 9 14* 4007 UNDEFINED DEVICE YYY ZZZZZZ 9 15* 4010 NO SPACE FOR FILE ON DEVICE YYY 9 16* 4011 NON-UNIQUE NAME 9 17* 4012 SIZE REQUEST LS THAN ALLOCATED 9 18* 4013 SPACE REQUEST GR THAN ALLOWED 9 19* 4014 INCORRECT OR MISSING PASSWORD-AT-AAA...AAA 9 20* 4015 FILE IS ABORT LOCK 9 21* 4016 FILE WRITE IN BATCH ONLY 9 22* 4017 SEEK ERROR ON DEVICE XXX SA = NNN......NNN 9 23* 4020 FAILURE IN NAME SCAN (IMP.) 9 24* 4021 DUP CANNOT BE ON RMVBL DEVICE 9 25* 4022 BAD SPACE INVENTORY ON DEVICE 9 26* 4023 INVALID PARAMETER 9 27* 4024 BAD SPACE TABLE FOR DEVICE ON XXX 9 28* 4025 REQUESTED ENTRY NOT ON-LINE 9 29* 4026 NON-STRUCTURED FILE ENTRY 9 30* 4027 FILE IN DEFECTIVE STATUS 9 31* 4030 ILLEGAL PACK TYPE 9 32* 4031 ACCESS GRANTED TO I-D-S FILE 9 33* 4032 COLLECTION FILE ERROR 9 34* 4033 CAT/FILE SECURITY LOCKED 9 35* 4034 ILLEGAL CHARACTER IN CAT/FILE NAME 9 36* 4035 ILLEGAL CAT/FILE LIST REQUEST 9 37* 4036 AFT IS FULL 9 38* 4037 FILE ALREADY IN AFT 9 39* 4040 MAXIMUM PAT SIZE EXCEEDED 9 40* 4041 NO PROTECTION TABLE SPACE AVAILABLE 9 41* 4042 INVALID FILE CODE OR PAT PTR 9 42* 4043 INVALID CATALOG BLOCK ADDRESS 9 43* 4044 ILLEGAL OPTIONS COMBINATION 9 44* 4045 INVALID SPACE IDENTIFIER 9 45* 4046 (NONE, SPECIAL TSS INTERFACE) 9 46* 4047 UNACCOUNTABLE ERROR 9 47* 4050 ***RESERVED for FMS*** 9 48* 4051 CHECKSUM ERROR - DEVICE XXX SA = NNN......NNN 9 49* 4052 DEVICE XXX RELEASED 9 50* 4053 READ ACCESS DENIED - NULL FILE 9 51* 4054 FILE IS WRITE LOCKED 9 52* 4055 ***RESERVED*** 9 53* 4056 SECURITY PARAMETER - REQUIRED 9 54* 4057 SECURITY PARAMETER - INVALID 9 55* 4061 $FSYS HAS BEEN ENABLED 9 56* 4062 ILLEGAL SUBFUNCTION CODE 9 57* 4063 FILE NOT BEING MONITORED 9 58* 4064 DEADLOCK ON PAGE REQUEST 9 59* 4065 PAGE CURRENTLY BUSY 9 60* 4066 FILE NOT DUPLICATED 9 61* 4067 TDS MON ALLOC ERROR 9 62* 4070 ILLEGAL CHECKPOINT REQUEST 9 63* 4071 ILLEGAL DCW SPECIFIED 9 64* 4072 IMPROPER PROTECTION OPTION 9 65* 4073 INVALID ARG LIST PARAMETER NO. 000 9 66* 4074 SYSTEM JOURNAL NOT CONFIGURED 9 67* 4075 FILE RESTORE LOCKED 9 68* 4076 FILE IS TDS LOCKED 9 69* 4077 ERR TDS SUBSET PAGES RELEASED 9 70* 4100 UNACCOUNTABLE ERROR 9 71**/ 9 72 9 73 /* END INCLUDE FILE gtss_filact_status.incl.pl1 */ 488 489 10 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 10 2 /* 10 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 10 4* Change: Dave Ward 06/08/78 made attributes constant. 10 5* Change: Dave Ward 08/17/81 made lengths same as constans. 10 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 10 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 10 8**/ 10 9 dcl 1 gtss_pnterr static int options (constant), 10 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 10 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 10 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 10 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 10 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 10 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 10 16 2 err7 char(50) init("007-BAP PROG. DESC."), 10 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 10 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 10 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 10 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 10 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 10 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 10 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 10 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 10 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 10 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 10 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 10 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 10 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 10 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 10 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 10 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 10 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 10 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 10 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 10 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 10 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 10 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 10 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 10 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 10 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 10 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 10 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 10 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 10 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 10 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 10 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 10 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 10 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 10 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 10 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 10 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 10 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 10 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 10 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 10 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 10 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 10 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 10 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 10 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 10 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 10 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 10 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 10 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 10 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 10 66 2 err57 char(50) init("UNASSIGNED"), 10 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 10 68 2 err59 char(50) init("UNASSIGNED"), 10 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 10 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 10 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 10 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 10 73 2 err64 char(50) init("SY** I/O ERROR"), 10 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 10 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 10 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 10 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 10 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 10 79 2 err999 char(50) init("dummy"); 10 80 10 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 490 491 11 1 /* */ 11 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 11 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 11 4 /* Modified 07/07/76 by Morris for fault register data */ 11 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 11 6 /* Modified '82 to make values constant */ 11 7 11 8 /* words 0-15 pointer registers */ 11 9 11 10 dcl mcp ptr; 11 11 11 12 dcl 1 mc based (mcp) aligned, 11 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 11 14 (2 regs, /* registers */ 11 15 3 x (0:7) bit (18), /* index registers */ 11 16 3 a bit (36), /* accumulator */ 11 17 3 q bit (36), /* q-register */ 11 18 3 e bit (8), /* exponent */ 11 19 3 pad1 bit (28), 11 20 3 t bit (27), /* timer register */ 11 21 3 pad2 bit (6), 11 22 3 ralr bit (3), /* ring alarm register */ 11 23 11 24 2 scu (0:7) bit (36), 11 25 11 26 2 mask bit (72), /* mem controller mask at time of fault */ 11 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 11 28 2 errcode fixed bin (35), /* fault handler's error code */ 11 29 2 fim_temp, 11 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 11 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 11 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 11 33 2 fault_reg bit (36), /* fault register */ 11 34 2 pad2 bit (1), 11 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 11 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 11 37 2 fault_time bit (54), /* time of fault */ 11 38 11 39 2 eis_info (0:7) bit (36)) unaligned; 11 40 11 41 11 42 dcl (apx fixed bin init (0), 11 43 abx fixed bin init (1), 11 44 bpx fixed bin init (2), 11 45 bbx fixed bin init (3), 11 46 lpx fixed bin init (4), 11 47 lbx fixed bin init (5), 11 48 spx fixed bin init (6), 11 49 sbx fixed bin init (7)) internal static options (constant); 11 50 11 51 11 52 11 53 11 54 dcl scup ptr; 11 55 11 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 11 57 11 58 11 59 /* WORD (0) */ 11 60 11 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 11 62 3 prr bit (3), /* procedure ring register */ 11 63 3 psr bit (15), /* procedure segment register */ 11 64 3 p bit (1), /* procedure privileged bit */ 11 65 11 66 2 apu, /* APPENDING UNIT STATUS */ 11 67 3 xsf bit (1), /* ext seg flag - IT modification */ 11 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 11 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 11 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 11 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 11 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 11 73 3 dsptw bit (1), /* Fetch of DSPTW */ 11 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 11 75 3 sdwp bit (1), /* Fetch of SDW paged */ 11 76 3 ptw bit (1), /* Fetch of PTW */ 11 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 11 78 3 fap bit (1), /* Fetch of final address paged */ 11 79 3 fanp bit (1), /* Fetch of final address non-paged */ 11 80 3 fabs bit (1), /* Fetch of final address absolute */ 11 81 11 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 11 83 11 84 11 85 /* WORD (1) */ 11 86 11 87 2 fd, /* FAULT DATA */ 11 88 3 iro bit (1), /* illegal ring order */ 11 89 3 oeb bit (1), /* out of execute bracket */ 11 90 3 e_off bit (1), /* no execute */ 11 91 3 orb bit (1), /* out of read bracket */ 11 92 3 r_off bit (1), /* no read */ 11 93 3 owb bit (1), /* out of write bracket */ 11 94 3 w_off bit (1), /* no write */ 11 95 3 no_ga bit (1), /* not a gate */ 11 96 3 ocb bit (1), /* out of call bracket */ 11 97 3 ocall bit (1), /* outward call */ 11 98 3 boc bit (1), /* bad outward call */ 11 99 3 inret bit (1), /* inward return */ 11 100 3 crt bit (1), /* cross ring transfer */ 11 101 3 ralr bit (1), /* ring alarm register */ 11 102 3 am_er bit (1), /* associative memory fault */ 11 103 3 oosb bit (1), /* out of segment bounds */ 11 104 3 paru bit (1), /* processor parity upper */ 11 105 3 parl bit (1), /* processor parity lower */ 11 106 3 onc_1 bit (1), /* op not complete type 1 */ 11 107 3 onc_2 bit (1), /* op not complete type 2 */ 11 108 11 109 2 port_stat, /* PORT STATUS */ 11 110 3 ial bit (4), /* illegal action lines */ 11 111 3 iac bit (3), /* illegal action channel */ 11 112 3 con_chan bit (3), /* connect channel */ 11 113 11 114 2 fi_num bit (5), /* (fault/interrupt) number */ 11 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 11 116 11 117 11 118 /* WORD (2) */ 11 119 11 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 11 121 3 trr bit (3), /* temporary ring register */ 11 122 3 tsr bit (15), /* temporary segment register */ 11 123 11 124 2 pad2 bit (9), 11 125 11 126 2 cpu_no bit (3), /* CPU number */ 11 127 11 128 2 delta bit (6), /* tally modification DELTA */ 11 129 11 130 11 131 /* WORD (3) */ 11 132 11 133 2 word3 bit (18), 11 134 11 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 11 136 3 tsna, /* Word 1 status */ 11 137 4 prn bit (3), /* Word 1 PR number */ 11 138 4 prv bit (1), /* Word 1 PR valid bit */ 11 139 3 tsnb, /* Word 2 status */ 11 140 4 prn bit (3), /* Word 2 PR number */ 11 141 4 prv bit (1), /* Word 2 PR valid bit */ 11 142 3 tsnc, /* Word 3 status */ 11 143 4 prn bit (3), /* Word 3 PR number */ 11 144 4 prv bit (1), /* Word 3 PR valid bit */ 11 145 11 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 11 147 11 148 11 149 /* WORD (4) */ 11 150 11 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 11 152 11 153 2 ir, /* INDICATOR REGISTERS */ 11 154 3 zero bit (1), /* zero indicator */ 11 155 3 neg bit (1), /* negative indicator */ 11 156 3 carry bit (1), /* carryry indicator */ 11 157 3 ovfl bit (1), /* overflow indicator */ 11 158 3 eovf bit (1), /* eponent overflow */ 11 159 3 eufl bit (1), /* exponent underflow */ 11 160 3 oflm bit (1), /* overflow mask */ 11 161 3 tro bit (1), /* tally runout */ 11 162 3 par bit (1), /* parity error */ 11 163 3 parm bit (1), /* parity mask */ 11 164 3 bm bit (1), /* ^bar mode */ 11 165 3 tru bit (1), /* truncation mode */ 11 166 3 mif bit (1), /* multi-word instruction mode */ 11 167 3 abs bit (1), /* absolute mode */ 11 168 3 hex bit (1), /* hexadecimal exponent mode */ 11 169 3 pad bit (3), 11 170 11 171 11 172 /* WORD (5) */ 11 173 11 174 2 ca bit (18), /* COMPUTED ADDRESS */ 11 175 11 176 2 cu, /* CONTROL UNIT STATUS */ 11 177 3 rf bit (1), /* on first cycle of repeat instr */ 11 178 3 rpt bit (1), /* repeat instruction */ 11 179 3 rd bit (1), /* repeat double instruction */ 11 180 3 rl bit (1), /* repeat link instruciton */ 11 181 3 pot bit (1), /* IT modification */ 11 182 3 pon bit (1), /* return type instruction */ 11 183 3 xde bit (1), /* XDE from Even location */ 11 184 3 xdo bit (1), /* XDE from Odd location */ 11 185 3 poa bit (1), /* operation preparation */ 11 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 11 187 3 its bit (1), /* ITS modification */ 11 188 3 if bit (1), /* fault occured during instruction fetch */ 11 189 11 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 11 191 11 192 11 193 /* WORDS (6,7) */ 11 194 11 195 2 even_inst bit (36), /* even instruction of faulting pair */ 11 196 11 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 11 198 11 199 11 200 11 201 11 202 11 203 11 204 /* ALTERNATE SCU DECLARATION */ 11 205 11 206 11 207 dcl 1 scux based (scup) aligned, 11 208 11 209 (2 pad0 bit (36), 11 210 11 211 2 fd, /* GROUP II FAULT DATA */ 11 212 3 isn bit (1), /* illegal segment number */ 11 213 3 ioc bit (1), /* illegal op code */ 11 214 3 ia_am bit (1), /* illegal address - modifier */ 11 215 3 isp bit (1), /* illegal slave procedure */ 11 216 3 ipr bit (1), /* illegal procedure */ 11 217 3 nea bit (1), /* non existent address */ 11 218 3 oobb bit (1), /* out of bounds */ 11 219 3 pad bit (29), 11 220 11 221 2 pad2 bit (36), 11 222 11 223 2 pad3a bit (18), 11 224 11 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 11 226 3 prn bit (3), /* PR number */ 11 227 3 prv bit (1), /* PR valid bit */ 11 228 11 229 2 pad3b bit (6)) unaligned, 11 230 11 231 2 pad45 (0:1) bit (36), 11 232 11 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 11 234 11 235 11 236 11 237 /* END INCLUDE FILE mc.incl.pl1 */ 492 493 12 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 12 2 /* 12 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 12 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 12 5**/ 12 6 12 7 /** gtss external entry variables. **/ 12 8 dcl com_err_ entry() options(variable); 12 9 dcl gtss_CFP_abort_ entry options(variable); 12 10 dcl gtss_CFP_break_ entry options(variable); 12 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 12 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 12 13 dcl gtss_abandon_CFP_ entry options(variable); 12 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 12 15 dcl gtss_abort_subsystem_ entry options (variable); 12 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 12 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 12 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 12 19 dcl gtss_abs_$abs_equiv entry options(variable); 12 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 12 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 12 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 12 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 12 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 12 25 dcl gtss_adjust_size_ entry (ptr); 12 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 12 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 12 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 12 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 12 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 12 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 12 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 12 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 12 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 12 35 dcl gtss_break_vector_ entry (); 12 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 12 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 12 38 dcl gtss_build_ entry options(variable); 12 39 dcl gtss_com_err_ entry options(variable); 12 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 12 41 dcl gtss_derail_processor_$set entry options(variable); 12 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 12 43 dcl gtss_dq_$create entry (bit(1)); 12 44 dcl gtss_dq_$dibp entry (char(5), ptr); 12 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 12 46 dcl gtss_dq_$hdrp entry (ptr); 12 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 12 48 dcl gtss_dq_$open_exc entry (bit(1)); 12 49 dcl gtss_dq_$open_gen entry (bit(1)); 12 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 12 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 12 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 12 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 12 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 12 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 12 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 12 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 12 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 12 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 12 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 12 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 12 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 12 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 12 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 12 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 12 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 12 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 12 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 12 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 12 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 12 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 12 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 12 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 12 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 12 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 12 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 12 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 12 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 12 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 12 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 12 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 12 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 12 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 12 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 12 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 12 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 12 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 12 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 12 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 12 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 12 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 12 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 12 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 12 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 12 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 12 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 12 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 12 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 12 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 12 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 12 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 12 102 dcl gtss_drun_ entry (bit(1)); 12 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 12 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 12 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 12 106 dcl gtss_mcfc_empty entry (char(*) var); 12 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 12 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 12 109 dcl gtss_fault_processor_ entry options(variable); 12 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 12 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 12 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 12 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 12 125 dcl gtss_mcfc_init_ entry (char(*) var); 12 126 dcl gtss_interp_prim_ entry options(variable); 12 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 12 128 dcl gtss_interp_prim_$sysret entry options(variable); 12 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 12 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 12 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 12 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 12 133 dcl gtss_ios_initialize_ entry options(variable); 12 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 12 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 12 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 12 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 12 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 12 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 12 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 12 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 12 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 12 143 dcl gtss_run_subsystem_$finish entry options(variable); 12 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 12 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 12 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 12 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 12 148 dcl gtss_update_safe_store_ entry (ptr); 12 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 12 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 12 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 12 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 494 495 13 1 /* BEGIN INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 13 2 /* 13 3* Created: (Wardd Multics) 09/01/78 1447.3 mst Fri 13 4**/ 13 5 13 6 /** First parameter to gtss_expand_pathname_ 13 7* **/ 13 8 dcl 1 ascii_cat_file, 13 9 2 nn fixed bin, /* Number of names. */ 13 10 2 name (7)char(12); /* List of cat/filedescr name . */ 13 11 13 12 /* END INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 496 497 14 1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */ 14 2 /* 14 3* Created: (Wardd Multics) 09/01/78 1447.1 mst Fri 14 4**/ 14 5 14 6 /** The gtss_file_values structure provides parameters to the 14 7* gtss_attributes_mgr_ subroutine. 14 8* 14 9* The caller must provide space for this structure, fill in 14 10* the version with 1, the dname and ename with the file directory 14 11* and entry name, and for calls to gtss_attributes_mgr_$set, 14 12* fill in values to be reset and set the corresponding set_switch 14 13* to "1"b. 14 14* 14 15* If the (Multics) file located is a directory 14 16* a GCOS catalog is implied. 14 17* 14 18* If both ename and new_ename are set but no set_switch 14 19* is "1"b (and the set entry is called) this implies 14 20* that the existing attribute values are being renamed 14 21* to the new entry. 14 22* 14 23* Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code); 14 24* 14 25* Use of ename/new_ename combinations 14 26* for set entry. 14 27* 14 28* -|-----------|-----------|-|-----------------| 14 29* | ename |new_ename || meaning | 14 30* =|===========|===========|=|=================| 14 31* | blanks | blanks || illegal | 14 32* -|-----------|-----------|-|-----------------| 14 33* | blanks |not blanks|| initial | 14 34* | | || setting | 14 35* -|-----------|-----------|-|-----------------| 14 36* |not blanks| blanks || check enames's | 14 37* | | ||attribute values| 14 38* | | || and reset. | 14 39* -|-----------|-----------|-|-----------------| 14 40* |not blanks|not blanks|| delete ename's | 14 41* | | || values and put | 14 42* | | || on values for | 14 43* | | || new_ename's | 14 44* -|-----------|-----------|-|-----------------| 14 45***/ 14 46 dcl attr_name (0:7)char(4)static int options(constant)init( 14 47 /* 0 */ "mode" 14 48 , /* 1 */ "maxl" 14 49 , /* 2 */ "curl" 14 50 , /* 3 */ "busy" 14 51 , /* 4 */ "attr" 14 52 , /* 5 */ "null" 14 53 , /* 6 */ "noal" 14 54 , /* 7 */ "crdt" 14 55 ); 14 56 dcl 1 gtss_file_values aligned automatic 14 57 , 3 version fixed bin(17) /* Current version is 1. (OUT) */ 14 58 , 3 dname char(168)unal /* Directory name. (IN) */ 14 59 , 3 ename char(032)unal /* Entry name. (IN) */ 14 60 , 3 new_ename char(032)unal /* New entry name. (IN) */ 14 61 , 3 change_name bit(1) /* "1"b => Change segment name. (IN) */ 14 62 , 3 catalog bit(1) /* "1"b => File is a catalog (Multics directory). (OUT) */ 14 63 , 3 info_ptr ptr /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */ 14 64 , 3 set_switch /* "1"b => Set corresponding value. (IN) */ 14 65 , 4 mode_random bit(01)unal /* 0. Set the random/sequential(linked) field. */ 14 66 , 4 maxll bit(01)unal /* 1. Set max size value. */ 14 67 , 4 curll bit(01)unal /* 2. Set current size value. */ 14 68 , 4 busy bit(01)unal /* 3. Set file as busy. */ 14 69 , 4 attr bit(01)unal /* 4. Set user attributes value. */ 14 70 , 4 null_file bit(01)unal /* 5. Set null file value. */ 14 71 , 4 number_allocations bit(01)unal /* 6. Set or increment number of uses. */ 14 72 , 4 creation_date bit(01)unal /* 7. Set file creation date. */ 14 73 , 4 not_in_use bit(28)unal 14 74 /* The above set_ variables should be declared in an order 14 75* corresponding to the value in the attr_name array. */ 14 76 , 3 data_flags /* (OUT|IN) */ 14 77 , 4 mode_random bit(01)unal /* "1"b => random. */ 14 78 , 4 busy bit(01)unal /* "1"b => file is busy. */ 14 79 , 4 null_file bit(01)unal /* "1"b => file is null. */ 14 80 , 4 not_in_use2 bit(33)unal 14 81 , 3 data_fields /* (OUT|IN) */ 14 82 , 4 curll fixed bin(35) /* Current length in llinks (>=0). */ 14 83 , 4 maxll fixed bin(35) /* Maximum length in llinks (>=0). */ 14 84 , 4 number_allocations fixed bin(35) /* 0 => set | >0 => increment modulo 262144. */ 14 85 , 3 attributes /* (OUT|IN) */ 14 86 , 4 not_in_use3 bit(01)unal 14 87 , 4 attr bit(35)unal /* User specified file attribute value. */ 14 88 , 3 creation_date char(06) /* MMDDYY of creation. */ 14 89 ; 14 90 14 91 14 92 /* END INCLUDE FILE gtss_file_values.incl.pl1 */ 498 499 15 1 /* BEGIN INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 15 2 /* 15 3* Created: (Wardd Multics) 09/14/78 1813.7 mst Thu 15 4* Change: Paul Benjamin 10/12/79 Further break down FS0_PBK_05 15 5**/ 15 6 15 7 /** The structure FMS_catalog1 is from 15 8* FMS PROGRAM LOGIC MANUAL 15 9* DC26, Rev. 0, January 1974 15 10* Page 4-9 15 11***/ 15 12 dcl FMS_cat_ptr ptr init(null()); 15 13 dcl 1 FMS_catalog aligned based(FMS_cat_ptr) 15 14 , 3 FSnTYP_0 15 15 , 4 bits00_05 bit(06)unal 15 16 , 4 bits06_10 bit(05)unal 15 17 , 4 bits11_17 bit(07)unal 15 18 , 4 bits18_35 bit(18)unal 15 19 , 3 FSnNLL_1 15 20 , 4 bits00_17 bit(18)unal 15 21 , 4 bits18_35 bit(18)unal 15 22 , 3 FSnPLL_2 15 23 , 4 bits00_17 bit(18)unal 15 24 , 4 bits18_35 bit(18)unal 15 25 , 3 FSnPTP_3 15 26 , 4 bits00_17 bit(18)unal 15 27 , 4 bits18_35 bit(18)unal 15 28 , 3 FSnCBK_4 15 29 , 4 bits00_17 bit(18)unal 15 30 , 4 bits18_35 bit(18)unal 15 31 ; 15 32 15 33 /** Page 4-10. **/ 15 34 dcl 1 Type_0_Catalog aligned based(FMS_cat_ptr) 15 35 , 3 FS0_TYP_00 bit(36) 15 36 , 3 FS0_NLL_01 15 37 , 4 bits00_17 bit(18)unal 15 38 , 4 bits18_35 bit(18)unal 15 39 , 3 FS0_PLL_02 bit(36) 15 40 , 3 FS0_PTP_03 15 41 , 4 bits00_17 fixed bin(17)unal 15 42 , 4 bits18_35 bit(18)unal 15 43 , 3 FS0_CBK_04 15 44 , 4 bits00_17 fixed bin(17)unal 15 45 , 4 bits18_35 bit(18)unal 15 46 , 3 FS0_PBK_05 15 47 , 4 bits00_17 bit(18)unal 15 48 , 4 bits18_35 bit(18)unal 15 49 , 3 FS0_CNM_06_07 bit(72) 15 50 , 3 FS0_ORG_10_11 bit(72) 15 51 , 3 FS0_PWD_12_13 bit(72) 15 52 , 3 FS0_CDT_14 bit(36) 15 53 , 3 FS0_MOD_15 bit(36) 15 54 , 3 FS0_IND_16 bit(36) 15 55 , 3 FS0_PER_17 15 56 , 4 bits00_11 bit(12)unal 15 57 , 4 bits12_14 bit(03)unal 15 58 , 4 bit15 bit(01)unal 15 59 , 4 bit16 bit(01)unal 15 60 , 4 bit17 bit(01)unal 15 61 , 4 bits18_35 bit(18)unal 15 62 , 3 FS0_OP1_20 bit(36) 15 63 , 3 FS0_OP2_21 bit(36) 15 64 , 3 FS0_VAR_22_76 (15) 15 65 , 4 FS0_SNM_00_01 bit(72) 15 66 , 4 FS0_SPT_02 15 67 , 5 bit00 bit(01)unal 15 68 , 5 bit01 bit(01)unal 15 69 , 5 bits02_17 bit(16)unal 15 70 , 5 bits18_35 bit(18)unal 15 71 , 3 checksum_77 bit(36) 15 72 ; 15 73 15 74 /* Condensed form of type 0 record. */ 15 75 dcl 1 t0c aligned based(FMS_cat_ptr) 15 76 , 2 fill (0:17)bit(36) 15 77 , 2 name (15) 15 78 , 3 bcd bit(72) 15 79 , 3 more bit(36) 15 80 ; 15 81 15 82 /** Page 4-10. **/ 15 83 dcl Type_1_ptr ptr init(null()); 15 84 dcl 1 Type_1_Catalog aligned based(Type_1_ptr) 15 85 , 3 FS1_TYP_00 bit(36) 15 86 , 3 FS1_NLL_01 15 87 , 4 bits00_17 bit(18)unal 15 88 , 4 bits18_35 bit(18)unal 15 89 , 3 FS1_PLL_02 bit(36) 15 90 , 3 FS1_PTP_03 15 91 , 4 bits00_17 fixed bin(17)unal 15 92 , 4 bits18_35 bit(18)unal 15 93 , 3 FS1_CBK_04 15 94 , 4 bits00_17 bit(18)unal 15 95 , 4 bits18_35 bit(18)unal 15 96 , 3 FS1_OPN_05 bit(36) 15 97 , 3 FS1_VAR_06_76 (19) 15 98 , 4 FS1_SNM_00_01 bit(72) 15 99 , 4 FS1_SPT_02 15 100 , 5 bit00 bit(01)unal 15 101 , 5 bit01 bit(01)unal 15 102 , 5 bits02_17 bit(16)unal 15 103 , 5 bits18_35 bit(18)unal 15 104 , 3 checksum_77 bit(36) 15 105 ; 15 106 15 107 /* Condensed form of type 1 record. */ 15 108 dcl 1 t1c aligned based(FMS_cat_ptr) 15 109 , 2 fill (0:5)bit(36) 15 110 , 2 name (19) like t0c.name 15 111 ; 15 112 15 113 /** Page 4-11. **/ 15 114 dcl 1 Type_2_Catalog aligned based(FMS_cat_ptr) 15 115 , 3 FS2_TYP_00 bit(36) 15 116 , 3 FS2_NLL_01 bit(36) 15 117 , 3 FS2_PLL_02 bit(36) 15 118 , 3 FS2_PTP_03 bit(36) 15 119 , 3 FS2_CBK_04 bit(36) 15 120 , 3 FS2_PBK_05 15 121 , 4 bits00_17 bit(18)unal 15 122 , 4 bits18_35 bit(18)unal 15 123 , 3 FS2_FNM_06_07 bit(72) 15 124 , 3 FS2_ORG_10_11 bit(72) 15 125 , 3 FS2_PWD_12_13 bit(72) 15 126 , 3 FS2_CDT_14 bit(36) 15 127 , 3 FS2_MOD_15 bit(36) 15 128 , 3 FS2_IND_16 bit(36) 15 129 , 3 FS2_PER_17 15 130 , 4 bits00_11 bit(12)unal 15 131 , 4 bits12_15 bit(04)unal 15 132 , 4 bit16 bit(01)unal 15 133 , 4 bit17 bit(01)unal 15 134 , 4 bits18_35 bit(18)unal 15 135 , 3 FS2_MTR_20_21 bit(72) 15 136 , 3 FS2_FU1_22 15 137 , 4 bit00 bit(01)unal 15 138 , 4 bit01 bit(01)unal 15 139 , 4 bit02 bit(01)unal 15 140 , 4 bit03 bit(01)unal 15 141 , 4 bit04 bit(01)unal 15 142 , 4 bit05 bit(01)unal 15 143 , 4 bit06 bit(01)unal 15 144 , 4 bit07 bit(01)unal 15 145 , 4 bit08 bit(01)unal 15 146 , 4 bit09 bit(01)unal 15 147 , 4 bits10_11 bit(02)unal 15 148 , 4 bits12_17 bit(06)unal 15 149 , 4 bits18_35 bit(18)unal 15 150 , 3 FS2_FUS_23 15 151 , 4 bits00_17 bit(18)unal 15 152 , 4 bit18 bit(01)unal 15 153 , 4 bit19 bit(01)unal 15 154 , 4 bit20 bit(01)unal 15 155 , 4 bit21 bit(01)unal 15 156 , 4 bit22 bit(01)unal 15 157 , 4 bit23 bit(01)unal 15 158 , 4 bit24 bit(01)unal 15 159 , 4 bit25 bit(01)unal 15 160 , 4 bit26 bit(01)unal 15 161 , 4 bit27 bit(01)unal 15 162 , 4 bit28 bit(01)unal 15 163 , 4 bit29 bit(01)unal 15 164 , 4 bits30_35 bit(06)unal 15 165 , 3 FS2_USI_24 15 166 , 4 bit00 bit(01)unal 15 167 , 4 bits01_35 bit(35)unal 15 168 , 3 FS2_FU2_25 15 169 , 4 bit00 bit(01)unal 15 170 , 4 bit01 bit(01)unal 15 171 , 4 bit02 bit(01)unal 15 172 , 4 bit03 bit(01)unal 15 173 , 4 bit04 bit(01)unal 15 174 , 4 bit05 bit(01)unal 15 175 , 4 bit06 bit(01)unal 15 176 , 4 bit07 bit(01)unal 15 177 , 4 bit08 bit(01)unal 15 178 , 4 bit09 bit(01)unal 15 179 , 4 bit10 bit(01)unal 15 180 , 4 bit11 bit(01)unal 15 181 , 4 bit12 bit(01)unal 15 182 , 4 bit13 bit(01)unal 15 183 , 4 bit14 bit(01)unal 15 184 , 4 bit15 bit(01)unal 15 185 , 4 bit16 bit(01)unal 15 186 , 4 bit17 bit(01)unal 15 187 , 4 bits18_35 bit(18)unal 15 188 , 3 FS2_LCD_26 bit(36) 15 189 , 3 FS2_LAD_27 bit(36) 15 190 , 3 FS2_LST_30 15 191 , 4 bits00_05 bit(06)unal 15 192 , 4 bits06_35 bit(30)unal 15 193 , 3 FS2_ATB_31 bit(36) 15 194 , 3 FS2_PDF_32 bit(36) 15 195 , 3 FS2_STC_33 bit(36) 15 196 , 3 FS2_BSY_34 bit(36) 15 197 , 3 FS2_TBC_35 bit(36) 15 198 , 3 FS2_OP2_7_36_43 (2:7)bit(36) 15 199 , 3 FS2_VAR_44_75 15 200 , 4 Device_descriptor 15 201 , 5 bits00_03 bit(04)unal /* 0101 */ 15 202 , 5 bits04_05 bit(02)unal 15 203 , 5 bits06_35 bit(30)unal 15 204 , 4 Space_descriptor 15 205 , 5 bit00 bit(01)unal 15 206 , 5 bit01 bit(01)unal /* =0 => space desc. */ 15 207 , 5 bit02 bit(01)unal 15 208 , 5 bits03_17 bit(15)unal 15 209 , 5 bits18_35 bit(18)unal 15 210 , 4 zero (24)bit(36) 15 211 , 3 zero_76 bit(36) 15 212 , 3 checksum_77 bit(36) 15 213 ; 15 214 15 215 /** Page 4-13. **/ 15 216 dcl Type_4_ptr ptr init(null()); 15 217 dcl 1 Type_4_Catalog aligned based(Type_4_ptr) 15 218 , 3 FS4_TYP_00 bit(36) 15 219 , 3 FS4_NLL_01 bit(36) 15 220 , 3 FS4_PLL_02 bit(36) 15 221 , 3 FS4_PTP_03 bit(36) 15 222 , 3 FS4_CBK_04 bit(36) 15 223 , 3 FS4_OP1_2_05_06 bit(72) 15 224 , 3 FS4_VAR_07_75 bit(1980) /* 1980 = 55 * 36bits @ */ 15 225 , 3 zero bit(36) 15 226 , 3 checksum_77 bit(36) 15 227 ; 15 228 15 229 /** Page 2-69 **/ 15 230 dcl buffer_ptr ptr init(null()); 15 231 dcl 1 callers_buffer aligned based(buffer_ptr) 15 232 , 3 first25 (25)bit(36) /* Work area for ???. */ 15 233 /** Next 35 words. FMS work area. **/ 15 234 , 3 W00_FSCODE bit(036) 15 235 , 3 W01_02_FSCALL bit(072) 15 236 , 3 W03 bit(036) 15 237 , 3 W04_06 bit(108) 15 238 , 3 W07 bit(036) 15 239 , 3 W10 bit(036) 15 240 , 3 W11_12 bit(072) 15 241 , 3 W13_FSSSLV bit(036) 15 242 , 3 W14_15 bit(072) 15 243 , 3 W16_FSFBSY bit(036) 15 244 , 3 W17_FSRETP bit(036) 15 245 , 3 W20 15 246 , 4 FSMME unal 15 247 , 5 bits00_17 bit(18)unal 15 248 , 4 FSARG unal 15 249 , 5 bits18_35 bit(18)unal 15 250 , 3 W21_FSCPOS 15 251 , 4 bits00_17 bit(18)unal 15 252 , 4 bits18_35 bit(18)unal 15 253 , 3 W22_FSCCFP 15 254 , 4 bits00_17 bit(18)unal 15 255 , 4 bits18_35 bit(18)unal 15 256 , 3 W23_FSPCFP 15 257 , 4 bits00_17 bit(18)unal 15 258 , 4 bits18_35 bit(18)unal 15 259 , 3 W24 15 260 , 4 FSREGU unal 15 261 , 5 bits00_17 bit(18)unal 15 262 , 4 FSREGL unal 15 263 , 5 bits18_35 bit(18)unal 15 264 , 3 W25_FSCDEV 15 265 , 4 bits00_15 bit(16)unal 15 266 , 4 bit16 bit(01)unal 15 267 , 4 bit17 bit(01)unal 15 268 , 4 bits18_35 bit(18)unal 15 269 , 3 W26_FSDDEV 15 270 , 4 bits00_15 bit(16)unal 15 271 , 4 bit16 bit(01)unal 15 272 , 4 bit17 bit(01)unal 15 273 , 4 bits18_35 bit(18)unal 15 274 , 3 W27_FSENDT bit(036) 15 275 , 3 W30_FSCPAT bit(036) 15 276 , 3 W31_FSPERM bit(036) 15 277 , 3 W32_FSDDCW bit(036) 15 278 , 3 W33_FSDCWP bit(036) 15 279 , 3 W34_FSDUPD bit(036) 15 280 , 3 W35_FSAVBL bit(036) 15 281 , 3 W36_FSTEMP bit(036) 15 282 , 3 W37_FSCKSM bit(036) 15 283 , 3 W40_FSIOS1 bit(036) 15 284 , 3 W41_FSSRW1 bit(036) 15 285 , 3 W42_FSSRW2 bit(036) 15 286 , 3 W43_FSBFER bit(036) /* Starting location of buffer for catalog record(s). */ 15 287 , 3 remainder_of_buffer (319)bit(36) 15 288 ; 15 289 15 290 /* END INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 500 501 16 1 16 2 declare /* Information returned by hcs_$status_ and hcs_$status_long */ 16 3 16 4 16 5 1 branch aligned based (info_ptr), /* information about this particular branch */ 16 6 2 type bit (2) unal, /* "00"b = link, "01"b = segment, "10"b = directory */ 16 7 2 nnames bit (16) unal, /* number of names this entry has */ 16 8 2 names_relp bit (18) unal, /* pointer, relative to base of segment, to names */ 16 9 2 dtm bit (36) unal, /* date-time the segment was last modified */ 16 10 2 dtu bit (36) unal, /* date-time the segment was last used */ 16 11 2 mode bit (5) unal, /* the user's access modes to the entry */ 16 12 2 padding bit (13) unal, /* yawn */ 16 13 2 records_used bit (18) unal, /* number of blocks actually occupied by entry */ 16 14 16 15 /* limit of information returned by status_ */ 16 16 16 17 2 dtd bit (36) unal, /* date-time the segment was last dumped */ 16 18 2 dtbm bit (36) unal, /* date-time the branch for the entry was modified */ 16 19 2 account bit (36) unal, /* account to which storage is charged */ 16 20 2 current_length bit (12) unal, /* maximum length in blocks */ 16 21 2 bit_count bit (24) unal, /* length of entry in bits */ 16 22 2 device_id bit (4) unal, /* device on which segment currently resides */ 16 23 2 mdid bit (4) unal, /* device to which it is currently being moved */ 16 24 2 copy_switch bit (1) unal, /* segment copy switch */ 16 25 2 tpd bit (1) unal, /* transparent paging device switch */ 16 26 2 more_padding bit (8) unal, /* yawn, yawn */ 16 27 2 ring_brackets (0:2) bit (6) unal, /* ring brackets for entry */ 16 28 2 uid bit (36) unal, /* unique identifier */ 16 29 16 30 16 31 1 link aligned based (info_ptr), /* information about link entries */ 16 32 2 type bit (2) unal, /* as above */ 16 33 2 nnames bit (16) unal, /* number of names for this link */ 16 34 2 names_relp bit (18) unal, /* as above */ 16 35 2 dtbm bit (36) unal, /* date-time, entry for link was last modified */ 16 36 2 dtd bit (36) unal, /* date-time dumped */ 16 37 2 pathname_length bit (18) unal, /* length of link pathname */ 16 38 2 pathname_relp bit (18) unal, /* pointer, relative to based of segment, to name */ 16 39 16 40 entry_names (1) character (32) aligned based (pointer (area_pointer, branch.names_relp)), 16 41 /* array of names returned */ 16 42 pathname character (fixed (link.pathname_length)) aligned based (pointer (area_pointer, link.pathname_relp)), 16 43 /* pathname a link points to */ 16 44 16 45 area_pointer pointer, /* to area in which to allocate names */ 16 46 info_ptr pointer; /* to structure returned */ 16 47 16 48 502 503 17 1 /* BEGIN INCLUDE FILE gtss_filact_options.incl.pl1 */ 17 2 /* 17 3* Created: (Wardd Multics) 09/08/78 1017.4 mst Fri 17 4**/ 17 5 dcl now fixed bin; 17 6 dcl options_ptr ptr init(null()); 17 7 dcl 1 optionsx aligned based(options_ptr) 17 8 , 3 word1 17 9 , 4 option_bit unal 17 10 , 5 j bit(01)unal /* Space must be contiguous. */ 17 11 , 5 b bit(01)unal /* Random (CF only). */ 17 12 , 5 c bit(01)unal /* File TSS created (CF only) */ 17 13 , 5 d bit(01)unal /* I-D-S file. */ 17 14 , 5 k bit(01)unal /* 320-word blocks (CF only). */ 17 15 , 5 f bit(01)unal /* File already on tape or nonstructured disk pack (non-TSS). */ 17 16 , 5 bit_06 bit(01)unal /* (not used). */ 17 17 , 5 h bit(01)unal /* Attributes present. */ 17 18 , 5 i bit(01)unal /* User-specified attributes (CF & MF only). */ 17 19 , 5 bits09_12 bit(04)unal /* (not used). */ 17 20 , 5 y bit(01)unal /* FMS protection options specified. */ 17 21 , 5 bits14_17 bit(04)unal /* (not used). */ 17 22 , 4 device_name bit(12)unal 17 23 , 4 device_type bit(06)unal 17 24 , 3 word2 17 25 , 4 initial_file_size bit(18)unal /* (CF only). */ 17 26 , 4 max_file_size bit(18)unal /* 0 => max size unlimited. */ 17 27 , 3 words3_now (now) 17 28 , 4 optional_specific_permissions 17 29 , 5 USERID bit(72)unal 17 30 , 5 permission_bit like permissionsx 17 31 , 3 word_now_plus_1 17 32 , 4 end_of_list fixed bin(35) 17 33 , 3 word_now_plus_2 17 34 , 4 fill bit(01)unal 17 35 , 4 user_specified_attributes bit(35)unal /* (CF & MF only). */ 17 36 ; 17 37 18 1 /* BEGIN INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 18 2 /* 18 3* Created: (Wardd Multics) 09/08/78 1018.0 mst Fri 18 4**/ 18 5 dcl permissions_ptr ptr init(null()); 18 6 dcl 1 permissionsx aligned based(permissions_ptr) 18 7 , 3 r bit(01)unal /* Read permission. */ 18 8 , 3 w bit(01)unal /* Write permission. */ 18 9 , 3 a bit(01)unal /* Append permission. */ 18 10 , 3 e bit(01)unal /* Execute permission. */ 18 11 , 3 p bit(01)unal /* Purge permission. */ 18 12 , 3 m bit(01)unal /* Modify permission. */ 18 13 , 3 l bit(01)unal /* Lock permission. */ 18 14 , 3 bit_07 bit(01)unal /* (not used). */ 18 15 , 3 c bit(01)unal /* Create permission. */ 18 16 , 3 x bit(01)unal /* Recovery permission. */ 18 17 , 3 bits10_35 bit(26)unal /* (not used). */ 18 18 ; 18 19 18 20 /* END INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 17 38 17 39 17 40 /* END INCLUDE FILE gtss_filact_options.incl.pl1 */ 504 505 19 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 19 2 /* 19 3* Created: Kepner 78-12-01 19 4**/ 19 5 19 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 19 7 19 8 /* $drm_rule: 19 9* 0 => rule not set 19 10* 1 => umc_dir_mode 19 11* 2 => working_dir_mode 19 12* 3 => smc_dir_mode 19 13**/ 19 14 19 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 19 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 19 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 19 18 dcl 1 gse_ext_$modes aligned ext, 19 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 19 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 19 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 19 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 19 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 19 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 19 25 3 fill bit(30) unal; 19 26 19 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 506 507 20 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 20 2 /* 20 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 20 4**/ 20 5 20 6 /* To provide a new debugging switch: 20 7* 20 8* 1) Locate the comment "Insert next entry above this comment". 20 9* 20 10* 2) Place a new declaration for a db_ variable just 20 11* above this comment, in the same manner as the 20 12* current declaration just above the comment, using 20 13* the next integer gtss_ext_$db index. 20 14* 20 15* 3) Execute the gtss|db_names ted macro (this updates 20 16* the sorted name table). 20 17* 20 18* 4) Example use: 20 19* 20 20* if db_drl_grow then do; 20 21* . 20 22* . 20 23* . 20 24* debug i/o statements using com_err_ or ioa_ 20 25* . 20 26* . 20 27* . 20 28* end; 20 29* 20 30**/ 20 31 20 32 dcl ( 20 33 db_ bit(1) defined(gtss_ext_$db(01)) 20 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 20 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 20 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 20 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 20 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 20 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 20 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 20 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 20 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 20 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 20 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 20 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 20 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 20 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 20 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 20 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 20 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 20 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 20 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 20 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 20 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 20 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 20 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 20 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 20 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 20 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 20 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 20 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 20 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 20 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 20 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 20 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 20 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 20 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 20 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 20 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 20 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 20 71 /* Insert next entry above this comment. */ 20 72 ); 20 73 20 74 /* Table of sorted names. */ 20 75 dcl 1 debug_bit_names (38) static int options(constant) 20 76 , 2 name char(18)var init( 20 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 20 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 20 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 20 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 20 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 20 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 20 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 20 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 20 85 ) 20 86 , 2 value fixed bin init( 20 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 20 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 20 89 ,31 ,22 20 90 ); 20 91 /* End of table. */ 20 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 508 509 end /* gtss_filact_funct04_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1027.5 gtss_filact_funct04_.pl1 >spec>on>7105>gtss_filact_funct04_.pl1 248 1 09/09/83 1713.8 gtss_filact_intp1.incl.pl1 >ldd>include>gtss_filact_intp1.incl.pl1 250 2 09/09/83 1713.8 gtss_filact_intp2.incl.pl1 >ldd>include>gtss_filact_intp2.incl.pl1 252 3 09/09/83 1713.9 gtss_filact_intp3.incl.pl1 >ldd>include>gtss_filact_intp3.incl.pl1 480 4 09/09/83 1714.2 gtss_tfa_ext_.incl.pl1 >ldd>include>gtss_tfa_ext_.incl.pl1 4-14 5 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 482 6 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 484 7 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 486 8 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 488 9 09/09/83 1713.3 gtss_filact_status.incl.pl1 >ldd>include>gtss_filact_status.incl.pl1 490 10 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 492 11 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 494 12 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 496 13 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 498 14 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 500 15 09/09/83 1713.5 gtss_FMS_catalog.incl.pl1 >ldd>include>gtss_FMS_catalog.incl.pl1 502 16 04/29/76 1139.2 status_info.incl.pl1 >ldd>include>status_info.incl.pl1 504 17 09/09/83 1713.9 gtss_filact_options.incl.pl1 >ldd>include>gtss_filact_options.incl.pl1 17-38 18 09/09/83 1713.9 gtss_filact_permissions.incl.pl1 >ldd>include>gtss_filact_permissions.incl.pl1 506 19 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 508 20 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.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. AF_arglist based structure level 1 dcl 239 AF_args based structure level 1 dcl 230 FMS_block_ptr 000132 automatic pointer initial dcl 316 set ref 316* FMS_cat_ptr 000314 automatic pointer initial dcl 15-12 set ref 15-12* L_altname based bit(18) level 3 packed unaligned dcl 230 ref 89 90 92 L_arglist 0(18) based bit(18) level 2 in structure "filact_args" packed unaligned dcl 1-24 in procedure "validate_status" ref 1-16 1-16 L_arglist 0(18) based bit(18) level 3 in structure "AF_args" packed unaligned dcl 230 in procedure "gtss_filact_funct04_" ref 64 70 L_cat_filedescr 1 based bit(18) level 3 packed unaligned dcl 239 set ref 105* L_permissions 1(18) based bit(18) level 3 packed unaligned dcl 239 ref 76 78 L_status_return based bit(18) level 3 packed unaligned dcl 239 set ref 73* Type_1_ptr 000316 automatic pointer initial dcl 15-83 set ref 15-83* Type_4_ptr 000320 automatic pointer initial dcl 15-216 set ref 15-216* USERID based fixed bin(71,0) level 3 dcl 2-112 ref 2-28 USERID_password 2 based bit(72) level 3 dcl 2-112 set ref 2-30* a 24 based bit(36) level 3 packed unaligned dcl 11-12 set ref 61* 211* 272* access_mode 72 000022 external static bit(6) array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 6-6 in procedure "gtss_filact_funct04_" set ref 275 275 280* access_mode 000105 automatic bit(6) unaligned dcl 296 in procedure "gtss_filact_funct04_" set ref 80* 86 86* 182* 275 275 280* acf based structure level 1 dcl 2-106 acfp parameter pointer dcl 2-16 ref 2-8 2-19 addr builtin function dcl 297 ref 105 105 116 116 136 136 138 138 153 153 166 182 182 191 2-62 2-62 2-62 2-62 addrel builtin function dcl 298 ref 70 78 92 1-20 2-26 aft_code 000106 automatic fixed bin(35,0) dcl 299 set ref 193* aft_name 000110 automatic char(8) unaligned dcl 300 set ref 193* 197* 289* altn based char unaligned dcl 224 ref 128 altn8 based char(8) unaligned dcl 223 ref 95 96 altname_ptr 000112 automatic pointer initial dcl 302 set ref 302* altnl 000102 automatic fixed bin(24,0) dcl 222 set ref 95* 96 96* 128 altnp 000100 automatic pointer initial dcl 221 set ref 92* 93 95 96 128 221* ap 000346 automatic pointer dcl 2-105 set ref 2-19* 2-38 2-49 2-52 2-56 2-58 2-62 2-62 2-72 2-73 2-77 2-77 2-79 2-79 2-85 2-86 2-87 append 0(02) based bit(1) level 2 packed unaligned dcl 405 ref 80 arg_ptr 000116 automatic pointer initial dcl 304 set ref 57* 64 70 89 90 92 304* 1-16 1-16 arg_ptr_val parameter pointer dcl 50 ref 9 57 arglist_ptr 000114 automatic pointer initial dcl 303 set ref 70* 73 76 78 105 177 303* ascii_cat_file 000156 automatic structure level 1 unaligned dcl 13-8 set ref 105 105 116 116 138 138 attr 105(01) 000204 automatic bit(35) level 3 packed unaligned dcl 14-56 set ref 170 attribute_segment_ptr 000120 automatic pointer initial dcl 305 set ref 305* attributes 105 000204 automatic structure level 2 dcl 14-56 attributes_ptr 100 000022 external static pointer array level 3 dcl 6-6 ref 270 bit builtin function dcl 306 ref 2-47 bit12 based bit(12) dcl 307 ref 191 bit36 based bit(36) dcl 227 ref 93 bit72 based bit(72) dcl 226 set ref 2-29* buffer_ptr 000322 automatic pointer initial dcl 15-230 set ref 58* 15-230* 2-57 2-79 2-79 buffer_ptr_val parameter pointer dcl 51 ref 9 58 callers_buf based structure level 1 dcl 2-108 cat_filedescr_name_offset 000122 automatic bit(18) unaligned dcl 308 set ref 2-20* 2-33* 2-47* 2-101* 3-10 catalog 74 000204 automatic bit(1) level 2 dcl 14-56 set ref 159 cdf4 based structure level 1 dcl 2-130 cfd2 based structure level 1 dcl 2-112 cfd3 based structure array level 1 dcl 2-125 cfdl parameter bit(18) unaligned dcl 2-15 ref 2-8 2-22 2-26 2-33 2-42 2-47 change_name 73 000204 automatic bit(1) level 2 dcl 14-56 set ref 133* code parameter fixed bin(35,0) dcl 52 set ref 9 60* 67* 116* 122 136* 137 138 138 138* 146* 153* 154 155* 160* 182* 194* 197 197* 259* 265 285 com_err_ 000030 constant entry external dcl 12-8 ref 197 curll 102 000204 automatic fixed bin(35,0) level 3 dcl 14-56 set ref 168 current_size 1 based fixed bin(24,0) level 2 dcl 5-11 set ref 168* data_fields 102 000204 automatic structure level 2 dcl 14-56 data_flags 101 000204 automatic structure level 2 dcl 14-56 db_filact_funct04 defined bit(1) unaligned dcl 20-32 ref 197 214 280 descriptor 3 based structure level 2 dcl 5-11 set ref 211 272 descriptor_ptr 000124 automatic pointer initial dcl 309 set ref 309* 2-26* 2-28 2-29 2-30 2-36 2-46 2-58 2-62 2-62 device_type 3 based bit(6) level 3 packed unaligned dcl 5-11 set ref 171* dname 1 000204 automatic char(168) level 2 packed unaligned dcl 14-56 set ref 116* 138* 182* ename 53 000204 automatic char(32) level 2 packed unaligned dcl 14-56 set ref 116* 138* 182* end_of_list based fixed bin(35,0) level 2 in structure "cfd2" dcl 2-112 in procedure "get_ascii_file_name" ref 2-46 end_of_list 4 based fixed bin(35,0) level 2 in structure "cdf4" dcl 2-130 in procedure "get_ascii_file_name" ref 2-36 entry_name 000126 automatic char(12) initial unaligned dcl 310 set ref 310* error_table_$no_dir 000012 external static fixed bin(35,0) dcl 312 ref 138 error_table_$noentry 000010 external static fixed bin(35,0) dcl 311 ref 138 197 error_table_$not_seg_type 000014 external static fixed bin(35,0) dcl 313 ref 160 execute 0(03) based bit(1) level 2 packed unaligned dcl 405 ref 80 filact_args based structure level 1 dcl 1-24 file_id_in_ascii 1 based char(8) level 2 dcl 2-108 set ref 2-79* 2-79 file_name_in_ascii 000103 automatic bit(1) unaligned dcl 225 set ref 99* 101* 105* 125 file_no 000131 automatic fixed bin(24,0) dcl 314 set ref 166 182* 193* 197* 259* 270 275 275 280 fill 3(21) based bit(1) level 3 packed unaligned dcl 5-11 set ref 179* fixed builtin function dcl 315 ref 55 64 1-16 1-16 1-16 1-16 2-22 2-42 2-47 2-47 fnia parameter bit(1) unaligned dcl 2-14 ref 2-8 2-56 grc parameter bit(18) unaligned dcl 2-17 set ref 2-8 2-91* 2-102* gse_ext_$umc_name 000056 external static char(12) unaligned dcl 19-17 ref 2-77 gseg 000134 automatic pointer initial dcl 317 set ref 56* 70 78 92 317* 1-20 2-26 gseg_val parameter pointer dcl 49 ref 9 56 gtss_adjust_size_ 000032 constant entry external dcl 12-25 ref 180 271 gtss_aft_$add 000034 constant entry external dcl 12-26 ref 259 gtss_aft_$delete 000036 constant entry external dcl 12-27 ref 193 gtss_attributes_mgr_$get 000040 constant entry external dcl 12-31 ref 136 gtss_attributes_mgr_$set 000042 constant entry external dcl 12-32 ref 153 gtss_bcd_ascii_$lc 000044 constant entry external dcl 12-34 ref 2-62 gtss_dfd_ext_$disk_file_data 000022 external static structure array level 1 dcl 6-6 gtss_disk 000022 external static structure array level 2 dcl 6-6 gtss_expand_pathname_ 000046 constant entry external dcl 12-107 ref 116 gtss_expand_pathname_$verify_umc 000050 constant entry external dcl 12-108 ref 138 gtss_ext_$db 000026 external static bit(1) array unaligned dcl 8-10 ref 197 197 214 214 2-70 280 280 gtss_filact_error_status_ 000052 constant entry external dcl 12-112 ref 146 155 194 gtss_file_attributes based structure level 1 dcl 5-11 gtss_file_attributes_ptr 000152 automatic pointer initial dcl 5-9 set ref 166* 167 168 169 170 171 172 174 176 177 178 179 180* 182 182* 211 212 213 5-9* 270* 271* 272 273 274 gtss_file_values 000204 automatic structure level 1 dcl 14-56 set ref 136 136 153 153 gtss_ios_open_ 000054 constant entry external dcl 12-135 ref 182 gtss_tfa_ext_$file_attributes 000020 external static structure level 1 dcl 4-11 gtss_ust 000024 external static structure level 2 dcl 7-16 gtss_ust_ext_$ust 000024 external static structure level 1 dcl 7-16 high_b 000136 automatic bit(18) dcl 318 set ref 54* 55 76 90 1-13 high_i 000137 automatic fixed bin(18,0) dcl 319 set ref 55* 64 2-22 2-42 high_val parameter bit(18) unaligned dcl 48 ref 9 54 i 000140 automatic fixed bin(24,0) dcl 320 set ref 2-52* 2-56 2-56 2-58 2-58 2-62 2-62 2-62 2-62* 2-72* 2-73* 2-73* 2-85* 2-86 2-87* ioa_ 000016 constant entry external dcl 321 ref 214 2-71 2-73 280 length builtin function dcl 322 ref 96 2-79 lid 000024 external static bit(72) level 3 dcl 7-16 ref 2-29 llink_flag 3(18) based bit(1) level 3 packed unaligned dcl 5-11 set ref 176* max_size based fixed bin(24,0) level 2 dcl 5-11 set ref 167* maxll 103 000204 automatic fixed bin(35,0) level 3 dcl 14-56 set ref 167 mc based structure level 1 dcl 11-12 mcp 000154 automatic pointer dcl 11-10 set ref 53* 61 211 272 mcp_val parameter pointer dcl 47 ref 9 53 mode 3(19) based bit(1) level 3 packed unaligned dcl 5-11 set ref 177* 182 mode_random 101 000204 automatic bit(1) level 3 packed unaligned dcl 14-56 set ref 172 177 n parameter char(8) unaligned dcl 258 set ref 254 259* 280* 289 name based char(8) array level 2 in structure "cfd3" dcl 2-125 in procedure "get_ascii_file_name" set ref 2-58 2-62 2-62 name 22 based structure array level 2 in structure "t0c" dcl 15-75 in procedure "gtss_filact_funct04_" name 1 000156 automatic char(12) array level 2 in structure "ascii_cat_file" packed unaligned dcl 13-8 in procedure "gtss_filact_funct04_" set ref 125 name 1 based char(12) array level 2 in structure "acf" dcl 2-106 in procedure "get_ascii_file_name" set ref 2-58* 2-62 2-62 2-73* 2-77 2-77* 2-79 2-86 2-87 new_ename 63 000204 automatic char(32) level 2 packed unaligned dcl 14-56 set ref 134* nic 000104 automatic fixed bin(24,0) dcl 228 set ref 2-35* 2-36 2-42 2-46 2-47 2-49* nn based fixed bin(17,0) level 2 in structure "acf" dcl 2-106 in procedure "get_ascii_file_name" set ref 2-38* 2-49* 2-52 2-56 2-72 2-79 2-85 nn 000156 automatic fixed bin(17,0) level 2 in structure "ascii_cat_file" dcl 13-8 in procedure "gtss_filact_funct04_" set ref 125 non_null 2 based bit(1) level 3 packed unaligned dcl 5-11 set ref 169* 212 273 null builtin function dcl 324 ref 221 302 303 304 305 309 316 317 325 329 331 5-9 15-12 15-83 15-216 15-230 17-6 18-5 1-9 null_bit 1 based bit(1) level 2 packed unaligned dcl 382 set ref 212* 273* null_file 101(02) 000204 automatic bit(1) level 3 packed unaligned dcl 14-56 set ref 169 number_allocations 100(06) 000204 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 14-56 in procedure "gtss_filact_funct04_" set ref 151* number_allocations 104 000204 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 14-56 in procedure "gtss_filact_funct04_" set ref 152* options_ptr 000324 automatic pointer initial dcl 17-6 set ref 17-6* p 000142 automatic pointer initial dcl 325 set ref 325* pd 0(18) based bit(18) level 2 packed unaligned dcl 382 set ref 196 196* 214* 275* perm 3(20) based bit(1) level 3 packed unaligned dcl 5-11 set ref 178* permissions based structure level 1 dcl 405 permissions_ptr 000326 automatic pointer initial dcl 18-5 set ref 78* 80 80 80 80 80 80 18-5* permissionsx based structure level 1 dcl 18-6 query 0(19) based bit(1) level 2 packed unaligned dcl 405 ref 80 random_linked 0(18) based bit(18) level 3 packed unaligned dcl 239 ref 177 read based bit(1) level 2 packed unaligned dcl 405 ref 80 regs 20 based structure level 2 packed unaligned dcl 11-12 restore_switch based bit(36) level 2 dcl 2-108 set ref 2-57* rtrim builtin function dcl 327 ref 2-87 search builtin function dcl 328 ref 95 set_switch 100 000204 automatic structure level 2 dcl 14-56 set ref 150* smc_entry_ptr 000144 automatic pointer initial dcl 329 set ref 329* sp parameter pointer dcl 1-8 set ref 1-5 1-20* status 000146 automatic fixed bin(24,0) dcl 330 in procedure "gtss_filact_funct04_" set ref 60* status based bit(18) level 2 in structure "status_word" packed unaligned dcl 382 in procedure "gtss_filact_funct04_" set ref 105* 111 111* 129 138* 146* 155* 161* 194 194* 210* 214* 269* 286* status_address parameter bit(18) unaligned dcl 1-7 ref 1-5 1-13 1-16 1-16 1-20 status_pointer 000336 automatic pointer initial dcl 1-9 set ref 1-9* 1-20* 1-21 status_ptr 000150 automatic pointer initial dcl 331 set ref 73* 105 111 111 129 138 146 155 161 182 182 191 194 194 196 196 197 210 212 213 214 214 269 273 274 275 286 331* status_word based structure level 1 dcl 382 set ref 182 182 191 197* 1-21* string builtin function dcl 332 ref 2-70 substr builtin function dcl 333 ref 125 129 2-70 2-77 2-79 275 275 t0c based structure level 1 dcl 15-75 temp_file 000020 external static structure array level 2 dcl 4-11 set ref 166 test 0(18) based bit(1) level 2 packed unaligned dcl 405 ref 80 translate builtin function dcl 334 ref 2-58 unspec builtin function dcl 336 set ref 211 1-21* 272 user_attr 2(01) based bit(35) level 3 packed unaligned dcl 5-11 set ref 170* 213 274 user_attributes 2 based structure level 2 in structure "gtss_file_attributes" dcl 5-11 in procedure "gtss_filact_funct04_" user_attributes 1(01) based bit(35) level 2 in structure "status_word" packed unaligned dcl 382 in procedure "gtss_filact_funct04_" set ref 213* 274* user_master_catalog based structure level 2 dcl 2-112 verify builtin function dcl 337 ref 2-87 version 000204 automatic fixed bin(17,0) level 2 dcl 14-56 set ref 132* word1 based structure level 2 in structure "AF_arglist" dcl 239 in procedure "gtss_filact_funct04_" word1 based structure level 2 in structure "AF_args" dcl 230 in procedure "gtss_filact_funct04_" word2 1 based structure level 2 dcl 239 words_block 3(06) based bit(12) level 3 packed unaligned dcl 5-11 set ref 172* 174* write 0(01) based bit(1) level 2 packed unaligned dcl 405 ref 80 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FMS_block based structure level 1 dcl 394 FMS_catalog based structure level 1 dcl 15-13 FMS_data_block based structure level 1 dcl 398 Type_0_Catalog based structure level 1 dcl 15-34 Type_1_Catalog based structure level 1 dcl 15-84 Type_2_Catalog based structure level 1 dcl 15-114 Type_4_Catalog based structure level 1 dcl 15-217 abx internal static fixed bin(17,0) initial dcl 11-42 altname based char(8) dcl 301 apx internal static fixed bin(17,0) initial dcl 11-42 area_pointer automatic pointer dcl 16-2 arglist based structure level 1 dcl 364 attr_name internal static char(4) initial array unaligned dcl 14-46 bbx internal static fixed bin(17,0) initial dcl 11-42 bcdname based structure level 1 dcl 352 bpx internal static fixed bin(17,0) initial dcl 11-42 branch based structure level 1 dcl 16-2 callers_buffer based structure level 1 dcl 15-231 db_ defined bit(1) unaligned dcl 20-32 db_CFP_input defined bit(1) unaligned dcl 20-32 db_abs defined bit(1) unaligned dcl 20-32 db_attributes_mgr defined bit(1) unaligned dcl 20-32 db_dq defined bit(1) unaligned dcl 20-32 db_drl_addmem defined bit(1) unaligned dcl 20-32 db_drl_callss defined bit(1) unaligned dcl 20-32 db_drl_defil defined bit(1) unaligned dcl 20-32 db_drl_dio defined bit(1) unaligned dcl 20-32 db_drl_filact defined bit(1) unaligned dcl 20-32 db_drl_filsp defined bit(1) unaligned dcl 20-32 db_drl_grow defined bit(1) unaligned dcl 20-32 db_drl_kin defined bit(1) unaligned dcl 20-32 db_drl_morlnk defined bit(1) unaligned dcl 20-32 db_drl_msub defined bit(1) unaligned dcl 20-32 db_drl_part defined bit(1) unaligned dcl 20-32 db_drl_retfil defined bit(1) unaligned dcl 20-32 db_drl_rew defined bit(1) unaligned dcl 20-32 db_drl_rstswh defined bit(1) unaligned dcl 20-32 db_drl_setswh defined bit(1) unaligned dcl 20-32 db_drl_switch defined bit(1) unaligned dcl 20-32 db_drl_t_cfio defined bit(1) unaligned dcl 20-32 db_expand_pathname defined bit(1) unaligned dcl 20-32 db_filact_funct02 defined bit(1) unaligned dcl 20-32 db_filact_funct03 defined bit(1) unaligned dcl 20-32 db_filact_funct05 defined bit(1) unaligned dcl 20-32 db_filact_funct10 defined bit(1) unaligned dcl 20-32 db_filact_funct11 defined bit(1) unaligned dcl 20-32 db_filact_funct14 defined bit(1) unaligned dcl 20-32 db_filact_funct18 defined bit(1) unaligned dcl 20-32 db_filact_funct19 defined bit(1) unaligned dcl 20-32 db_filact_funct21 defined bit(1) unaligned dcl 20-32 db_filact_funct22 defined bit(1) unaligned dcl 20-32 db_interp_prim defined bit(1) unaligned dcl 20-32 db_ios defined bit(1) unaligned dcl 20-32 db_mcfc defined bit(1) unaligned dcl 20-32 db_run_subsystem defined bit(1) unaligned dcl 20-32 debug_bit_names internal static structure array level 1 unaligned dcl 20-75 descriptor based structure array level 1 dcl 390 entry_names based char(32) array dcl 16-2 filact_args based structure level 1 dcl 357 gse_ext_$drm_rule external static fixed bin(24,0) dcl 19-6 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 19-15 gse_ext_$modes external static structure level 1 dcl 19-18 gse_ext_$smc_pathname external static char(168) unaligned dcl 19-16 gtss_CFP_abort_ 000000 constant entry external dcl 12-9 gtss_CFP_break_ 000000 constant entry external dcl 12-10 gtss_CFP_input_ 000000 constant entry external dcl 12-11 gtss_CFP_output_ 000000 constant entry external dcl 12-12 gtss_abandon_CFP_ 000000 constant entry external dcl 12-13 gtss_abort_dump_ 000000 constant entry external dcl 12-14 gtss_abort_subsystem_ 000000 constant entry external dcl 12-15 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 12-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 12-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 12-20 gtss_abs_$create_absin 000000 constant entry external dcl 12-21 gtss_abs_$dabt_check 000000 constant entry external dcl 12-22 gtss_abs_$get_drm 000000 constant entry external dcl 12-24 gtss_abs_$get_id 000000 constant entry external dcl 12-23 gtss_abs_login_banner_ 000000 constant entry external dcl 12-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 12-18 gtss_aft_$find 000000 constant entry external dcl 12-28 gtss_aft_$initialize 000000 constant entry external dcl 12-29 gtss_ascii_bcd_ 000000 constant entry external dcl 12-30 gtss_bcd_ascii_ 000000 constant entry external dcl 12-33 gtss_break_vector_ 000000 constant entry external dcl 12-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 12-36 gtss_break_vector_$status 000000 constant entry external dcl 12-37 gtss_build_ 000000 constant entry external dcl 12-38 gtss_com_err_ 000000 constant entry external dcl 12-39 gtss_derail_processor_ 000000 constant entry external dcl 12-40 gtss_derail_processor_$set 000000 constant entry external dcl 12-41 gtss_dq_$catp 000000 constant entry external dcl 12-42 gtss_dq_$create 000000 constant entry external dcl 12-43 gtss_dq_$dibp 000000 constant entry external dcl 12-44 gtss_dq_$entries_info 000000 constant entry external dcl 12-45 gtss_dq_$hdrp 000000 constant entry external dcl 12-46 gtss_dq_$mod_js 000000 constant entry external dcl 12-47 gtss_dq_$open_exc 000000 constant entry external dcl 12-48 gtss_dq_$open_gen 000000 constant entry external dcl 12-49 gtss_drl_abort_ 000000 constant entry external dcl 12-50 gtss_drl_addmem_ 000000 constant entry external dcl 12-51 gtss_drl_callss_ 000000 constant entry external dcl 12-52 gtss_drl_corfil_ 000000 constant entry external dcl 12-53 gtss_drl_defil_ 000000 constant entry external dcl 12-54 gtss_drl_defil_$subr 000000 constant entry external dcl 12-55 gtss_drl_dio_ 000000 constant entry external dcl 12-56 gtss_drl_drlimt_ 000000 constant entry external dcl 12-57 gtss_drl_drlsav_ 000000 constant entry external dcl 12-58 gtss_drl_filact_ 000000 constant entry external dcl 12-59 gtss_drl_filsp_ 000000 constant entry external dcl 12-60 gtss_drl_grow_ 000000 constant entry external dcl 12-61 gtss_drl_gwake_ 000000 constant entry external dcl 12-62 gtss_drl_jsts_ 000000 constant entry external dcl 12-63 gtss_drl_kin_ 000000 constant entry external dcl 12-64 gtss_drl_kotnow_ 000000 constant entry external dcl 12-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 12-66 gtss_drl_koutn_ 000000 constant entry external dcl 12-67 gtss_drl_morlnk_ 000000 constant entry external dcl 12-68 gtss_drl_msub_ 000000 constant entry external dcl 12-69 gtss_drl_objtim_ 000000 constant entry external dcl 12-70 gtss_drl_part_ 000000 constant entry external dcl 12-71 gtss_drl_pasaft_ 000000 constant entry external dcl 12-72 gtss_drl_pasdes_ 000000 constant entry external dcl 12-73 gtss_drl_pasust_ 000000 constant entry external dcl 12-74 gtss_drl_pdio_ 000000 constant entry external dcl 12-75 gtss_drl_prgdes_ 000000 constant entry external dcl 12-76 gtss_drl_pseudo_ 000000 constant entry external dcl 12-77 gtss_drl_relmem_ 000000 constant entry external dcl 12-78 gtss_drl_restor_ 000000 constant entry external dcl 12-79 gtss_drl_retfil_ 000000 constant entry external dcl 12-80 gtss_drl_return_ 000000 constant entry external dcl 12-81 gtss_drl_rew_ 000000 constant entry external dcl 12-82 gtss_drl_rstswh_ 000000 constant entry external dcl 12-83 gtss_drl_setlno_ 000000 constant entry external dcl 12-84 gtss_drl_setswh_ 000000 constant entry external dcl 12-85 gtss_drl_snumb_ 000000 constant entry external dcl 12-86 gtss_drl_spawn_ 000000 constant entry external dcl 12-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 12-88 gtss_drl_stoppt_ 000000 constant entry external dcl 12-89 gtss_drl_switch_ 000000 constant entry external dcl 12-90 gtss_drl_sysret_ 000000 constant entry external dcl 12-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 12-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 12-93 gtss_drl_t_err_ 000000 constant entry external dcl 12-94 gtss_drl_t_goto_ 000000 constant entry external dcl 12-95 gtss_drl_t_linl_ 000000 constant entry external dcl 12-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 12-97 gtss_drl_tapein_ 000000 constant entry external dcl 12-98 gtss_drl_task_ 000000 constant entry external dcl 12-99 gtss_drl_termtp_ 000000 constant entry external dcl 12-100 gtss_drl_time_ 000000 constant entry external dcl 12-101 gtss_drun_ 000000 constant entry external dcl 12-102 gtss_dsd_lookup_ 000000 constant entry external dcl 12-103 gtss_dsd_process_ 000000 constant entry external dcl 12-104 gtss_edit_dsd_ 000000 constant entry external dcl 12-105 gtss_ext_$CFP_bits external static structure level 1 dcl 8-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 8-33 gtss_ext_$aem external static fixed bin(17,0) dcl 8-8 gtss_ext_$aft external static structure level 1 dcl 8-78 gtss_ext_$bad_drl_rtrn external static label variable dcl 8-9 gtss_ext_$com_reg external static structure level 1 dcl 8-45 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 8-11 gtss_ext_$dispose_of_drl external static label variable dcl 8-12 gtss_ext_$drl_rtrn external static label variable array dcl 8-13 gtss_ext_$drm_path external static char(168) unaligned dcl 8-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 8-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 8-16 gtss_ext_$fast_lib external static structure level 1 dcl 8-98 gtss_ext_$finished external static label variable dcl 8-17 gtss_ext_$flags external static structure level 1 dcl 8-60 gtss_ext_$gdb_name external static char(8) unaligned dcl 8-18 gtss_ext_$get_line external static entry variable dcl 8-19 gtss_ext_$gtss_slave_area_seg external static pointer array dcl 8-20 gtss_ext_$hcs_work_area_ptr external static pointer dcl 8-21 gtss_ext_$homedir external static char(64) unaligned dcl 8-22 gtss_ext_$last_k_was_out external static bit(1) dcl 8-23 gtss_ext_$mcfc external static structure level 1 dcl 8-109 gtss_ext_$pdir external static varying char(168) dcl 8-24 gtss_ext_$popup_from_pi external static label variable dcl 8-25 gtss_ext_$ppt external static pointer dcl 8-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 8-26 gtss_ext_$put_chars external static entry variable dcl 8-27 gtss_ext_$restart_from_pi external static label variable dcl 8-28 gtss_ext_$restart_seg_ptr external static pointer dcl 8-29 gtss_ext_$sig_ptr external static pointer dcl 8-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 8-31 gtss_ext_$statistics external static structure level 1 dcl 8-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 8-32 gtss_ext_$user_id external static varying char(26) dcl 8-34 gtss_ext_$work_area_ptr external static pointer dcl 8-35 gtss_fault_processor_ 000000 constant entry external dcl 12-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 12-111 gtss_filact_funct02_ 000000 constant entry external dcl 12-113 gtss_filact_funct03_ 000000 constant entry external dcl 12-114 gtss_filact_funct04_ 000000 constant entry external dcl 12-115 gtss_filact_funct05_ 000000 constant entry external dcl 12-116 gtss_filact_funct08_ 000000 constant entry external dcl 12-117 gtss_filact_funct10_ 000000 constant entry external dcl 12-118 gtss_filact_funct11_ 000000 constant entry external dcl 12-119 gtss_filact_funct14_ 000000 constant entry external dcl 12-120 gtss_filact_funct18_ 000000 constant entry external dcl 12-121 gtss_filact_funct19_ 000000 constant entry external dcl 12-122 gtss_filact_funct21_ 000000 constant entry external dcl 12-123 gtss_filact_funct22_ 000000 constant entry external dcl 12-124 gtss_find_cond_frame_ 000000 constant entry external dcl 12-110 gtss_interp_prim_ 000000 constant entry external dcl 12-126 gtss_interp_prim_$callss 000000 constant entry external dcl 12-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 12-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 12-129 gtss_ios_change_size_ 000000 constant entry external dcl 12-130 gtss_ios_close_ 000000 constant entry external dcl 12-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 12-132 gtss_ios_initialize_ 000000 constant entry external dcl 12-133 gtss_ios_io_ 000000 constant entry external dcl 12-134 gtss_ios_position_ 000000 constant entry external dcl 12-136 gtss_mcfc_$close 000000 constant entry external dcl 12-139 gtss_mcfc_$delete 000000 constant entry external dcl 12-137 gtss_mcfc_$open 000000 constant entry external dcl 12-138 gtss_mcfc_empty 000000 constant entry external dcl 12-106 gtss_mcfc_init_ 000000 constant entry external dcl 12-125 gtss_pnterr internal static structure level 1 packed unaligned dcl 10-9 gtss_read_starCFP_ 000000 constant entry external dcl 12-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 12-141 gtss_run_subsystem_ 000000 constant entry external dcl 12-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 12-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 12-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 12-145 gtss_set_slave_ 000000 constant entry external dcl 12-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 12-147 gtss_update_safe_store_ 000000 constant entry external dcl 12-148 gtss_verify_access_ 000000 constant entry external dcl 12-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 12-150 gtss_write_starCFP_ 000000 constant entry external dcl 12-151 info_ptr automatic pointer dcl 16-2 lbx internal static fixed bin(17,0) initial dcl 11-42 lib_arglist based structure level 1 dcl 373 link based structure level 1 dcl 16-2 low_i internal static fixed bin(18,0) initial dcl 323 lpx internal static fixed bin(17,0) initial dcl 11-42 now automatic fixed bin(17,0) dcl 17-5 options based structure level 1 dcl 423 optionsx based structure level 1 dcl 17-7 pathname based char dcl 16-2 rings internal static fixed bin(3,0) initial array dcl 326 sbx internal static fixed bin(17,0) initial dcl 11-42 scu based structure level 1 dcl 11-56 scup automatic pointer dcl 11-54 scux based structure level 1 dcl 11-207 smc_arglist based structure level 1 dcl 453 smc_entry based structure level 1 dcl 460 spx internal static fixed bin(17,0) initial dcl 11-42 status2 based structure level 1 dcl 342 t1c based structure level 1 dcl 15-108 two_words based bit(72) unaligned dcl 335 words380 based bit(13680) dcl 338 NAMES DECLARED BY EXPLICIT CONTEXT. could_not_open 001036 constant label dcl 192 ref 111 129 147 156 162 gal 001424 constant label dcl 2-51 ref 2-39 get_ascii_file_name 001301 constant entry internal dcl 2-8 ref 105 get_faulty_cat_file_entry 001746 constant entry internal dcl 3-5 ref 196 gtss_filact_funct04_ 000147 constant entry external dcl 9 no_altname 000372 constant label dcl 101 set ref 93 put_in_aft 001755 constant entry internal dcl 254 ref 125 128 ret 001205 constant label dcl 214 ref 207 282 287 return_err4 000242 constant label dcl 66 ref 76 90 1-13 1-16 2-24 2-43 validate_status 001236 constant entry internal dcl 1-5 ref 73 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3232 3312 2753 3242 Length 4142 2753 60 614 257 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_filact_funct04_ 418 external procedure is an external procedure. validate_status internal procedure shares stack frame of external procedure gtss_filact_funct04_. get_ascii_file_name internal procedure shares stack frame of external procedure gtss_filact_funct04_. get_faulty_cat_file_entry internal procedure shares stack frame of external procedure gtss_filact_funct04_. put_in_aft internal procedure shares stack frame of external procedure gtss_filact_funct04_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_filact_funct04_ 000100 altnp gtss_filact_funct04_ 000102 altnl gtss_filact_funct04_ 000103 file_name_in_ascii gtss_filact_funct04_ 000104 nic gtss_filact_funct04_ 000105 access_mode gtss_filact_funct04_ 000106 aft_code gtss_filact_funct04_ 000110 aft_name gtss_filact_funct04_ 000112 altname_ptr gtss_filact_funct04_ 000114 arglist_ptr gtss_filact_funct04_ 000116 arg_ptr gtss_filact_funct04_ 000120 attribute_segment_ptr gtss_filact_funct04_ 000122 cat_filedescr_name_offset gtss_filact_funct04_ 000124 descriptor_ptr gtss_filact_funct04_ 000126 entry_name gtss_filact_funct04_ 000131 file_no gtss_filact_funct04_ 000132 FMS_block_ptr gtss_filact_funct04_ 000134 gseg gtss_filact_funct04_ 000136 high_b gtss_filact_funct04_ 000137 high_i gtss_filact_funct04_ 000140 i gtss_filact_funct04_ 000142 p gtss_filact_funct04_ 000144 smc_entry_ptr gtss_filact_funct04_ 000146 status gtss_filact_funct04_ 000150 status_ptr gtss_filact_funct04_ 000152 gtss_file_attributes_ptr gtss_filact_funct04_ 000154 mcp gtss_filact_funct04_ 000156 ascii_cat_file gtss_filact_funct04_ 000204 gtss_file_values gtss_filact_funct04_ 000314 FMS_cat_ptr gtss_filact_funct04_ 000316 Type_1_ptr gtss_filact_funct04_ 000320 Type_4_ptr gtss_filact_funct04_ 000322 buffer_ptr gtss_filact_funct04_ 000324 options_ptr gtss_filact_funct04_ 000326 permissions_ptr gtss_filact_funct04_ 000336 status_pointer validate_status 000346 ap get_ascii_file_name THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ gtss_adjust_size_ gtss_aft_$add gtss_aft_$delete gtss_attributes_mgr_$get gtss_attributes_mgr_$set gtss_bcd_ascii_$lc gtss_expand_pathname_ gtss_expand_pathname_$verify_umc gtss_filact_error_status_ gtss_ios_open_ ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$no_dir error_table_$noentry error_table_$not_seg_type gse_ext_$umc_name gtss_dfd_ext_$disk_file_data gtss_ext_$db gtss_tfa_ext_$file_attributes gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000141 221 000154 302 000156 303 000157 304 000160 305 000161 309 000162 310 000163 316 000166 317 000167 325 000170 329 000171 331 000172 5 9 000173 15 12 000174 15 83 000175 15 216 000176 15 230 000177 17 6 000200 18 5 000201 53 000202 54 000206 55 000213 56 000216 57 000221 58 000224 60 000227 61 000231 64 000233 66 000242 67 000243 68 000246 70 000247 73 000253 76 000262 78 000270 80 000273 86 000334 89 000337 90 000343 92 000346 93 000351 95 000353 96 000364 99 000370 100 000371 101 000372 105 000374 111 000417 116 000426 122 000456 125 000461 128 000501 129 000510 132 000513 133 000515 134 000516 136 000521 137 000535 138 000540 146 000600 147 000614 150 000615 151 000637 152 000641 153 000643 154 000656 155 000661 156 000676 159 000677 160 000701 161 000704 162 000707 166 000710 167 000716 168 000720 169 000722 170 000731 171 000735 172 000737 174 000745 176 000747 177 000751 178 000764 179 000766 180 000770 182 000776 191 001033 192 001036 193 001037 194 001052 196 001074 197 001107 207 001164 210 001165 211 001170 212 001174 213 001201 214 001205 217 001235 1 5 001236 1 9 001240 1 13 001242 1 16 001247 1 20 001267 1 21 001275 1 22 001300 2 8 001301 2 19 001303 2 20 001306 2 22 001307 2 24 001320 2 26 001321 2 28 001325 2 29 001332 2 30 001340 2 33 001343 2 35 001345 2 36 001351 2 38 001357 2 39 001361 2 42 001362 2 43 001401 2 46 001402 2 47 001410 2 49 001421 2 51 001424 2 52 001425 2 56 001435 2 57 001447 2 58 001451 2 61 001470 2 62 001471 2 68 001517 2 70 001521 2 71 001525 2 72 001543 2 73 001553 2 74 001603 2 77 001605 2 79 001623 2 85 001632 2 86 001641 2 87 001657 2 91 001707 2 92 001714 2 94 001721 2 96 001723 2 98 001731 2 101 001733 2 102 001734 2 103 001741 3 5 001746 3 10 001750 254 001755 259 001757 265 001773 269 001777 270 002002 271 002010 272 002016 273 002022 274 002027 275 002033 280 002060 282 002115 285 002116 286 002120 287 002123 289 002124 290 002131 ----------------------------------------------------------- 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