COMPILATION LISTING OF SEGMENT gtss_filact_funct10_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1318.3 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ************************************************************* 10* * * 11* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 12* * * 13* ************************************************************* */ 14 15 gtss_filact_funct10_: proc (mcp_val, high_val, gseg_val, arg_ptr_val, buffer_ptr_val, code); 16 17 /** Derail FILACT function 10 (MC - Modify Catalog). 18* 19* All parameters are input parameters except code. 20* 21* code returned 0 => Successful. 22* code returned 4 => GCOS err4 (see gtss_pnterr structure). 23* code returned other => multics error code. 24* 25* Author: Paul W. Benjamin 10/02/79 26* 27* Change: Paul Benjamin 10/08/79 Enable setting of permissions 28* Change: Paul Benjamin 12/17/79 Deal with propagation acls. 29* Change: Ron Barstad 06/11/82 Fix stringsize condition on pstr 30***/ 31 dcl mcp_val ptr parm; 32 dcl high_val fixed bin(18)unsigned unal parm; 33 dcl gseg_val ptr parm; 34 dcl arg_ptr_val ptr parm; 35 dcl buffer_ptr_val ptr parm; 36 dcl code fixed bin(35)parm; 37 mcp = mcp_val; 38 mem_top = high_val; 39 gseg = gseg_val; 40 arg_ptr = arg_ptr_val; 41 buffer_ptr = buffer_ptr_val; 42 43 code = 0; /* Successful. */ 44 45 /** Obtain modify catalog arglist. */ 46 if (MC_args.L_arglist < mem_bottom) | 47 ((MC_args.L_arglist +3) > mem_top) then do; 48 return_err4: ; 49 code = 4; 50 return; 51 end; 52 arglist_ptr = addrel (gseg, MC_args.L_arglist); 53 54 /** Obtain return status. **/ 55 call validate_status (MC_arglist.L_status_return, status_ptr); 56 57 if get_ascii_file_name ("0"b, MC_arglist.L_cat_filedescr, addr (ascii_cat_file)) then do; 58 could_not_modify_catalog: 59 if substr (status_word.status, 2, 11) = "0"b then 60 status_word.status = gtss_filact_error_status_ (code); 61 call bcd_message ( 62 status2.L_bcd_message 63 , status2.message_words 64 , buffer_ptr 65 , "Could not modify catalog."||rtrim (dname)||">"||rtrim (ename) 66 ); 67 status_word.pd = get_faulty_cat_file_entry (); 68 ret: ; 69 return; 70 end; 71 72 73 call gtss_expand_pathname_ ( 74 addr (ascii_cat_file) 75 , dname 76 , ename 77 , code 78 ); 79 if code ^= 0 then goto could_not_modify_catalog; 80 81 /** Obtain new name (if any). **/ 82 if (MC_arglist.L_newname < mem_bottom) | 83 (MC_arglist.L_newname+4 > mem_top) then goto return_err4; 84 new_name_ptr = addrel (gseg, MC_arglist.L_newname); 85 86 if MC_new_name.newname.left_word ^= (36)"1"b then /* New name desired. */ 87 call gtss_bcd_ascii_$lc ( 88 addr (MC_new_name.newname) 89 , 12 90 , addr (new_ename) 91 ); 92 93 call set_general_permissions; 94 call set_specific_permissions; 95 if new_ename ^= "" then do; 96 call hcs_$chname_file (dname, ename, ename, new_ename, code); 97 if code ^= 0 then do; 98 if code = error_table_$namedup | code = error_table_$segnamedup 99 then status_word.status = "401100"b3; 100 else status_word.status = "400500"b3; 101 goto could_not_modify_catalog; 102 end; 103 old_dir = rtrim (dname) || ">" || ename; 104 new_dir = rtrim (dname) || ">" || new_ename; 105 do i = 1 to 20; 106 if aft_entry.used (i) = "1"b then do; 107 if substr (gtss_disk.dir_name (i), 1, length (old_dir)) = rtrim (old_dir) then 108 gtss_disk.dir_name (i) = rtrim (new_dir)||substr (gtss_disk.dir_name (1), length (old_dir)+1); 109 end; 110 end; 111 end; 112 status_word.status = "400000"b3; 113 return; 114 115 set_general_permissions: proc; 116 117 118 /** Obtain permissions. **/ 119 if MC_arglist.L_permissions = 0 then return; 120 if (MC_arglist.L_permissions < mem_bottom) | 121 (MC_arglist.L_permissions > mem_top) then goto return_err4; 122 pp = addrel (gseg, MC_arglist.L_permissions); 123 if substr (pp -> b36, 1, 18) = (18)"1"b then return; 124 a = empty (); 125 call hcs_$list_dir_acl ( 126 dname 127 , ename 128 , gtss_ext_$hcs_work_area_ptr 129 , da_ptr 130 , null () 131 , acl_count 132 , code 133 ); 134 if code ^= 0 then goto could_not_modify_catalog; 135 if pp -> fb18 = 0 then /* Delete general permissions. */ 136 do i = 1 to acl_count; 137 if index (da_name (i), ".*.g") ^= 0 then do; /* Found propagation acl, delete it. */ 138 del_name = da_name (i); 139 call hcs_$delete_dir_acl_entries ( 140 dname 141 , ename 142 , addr (delete_acl) 143 , 1 144 , code 145 ); 146 if code ^= 0 then goto could_not_modify_catalog; 147 i = acl_count; 148 end; 149 end; 150 else 151 152 /* => Set specific general permissions. */ 153 do i = 1 to acl_count; 154 if index (da_name (i), ".*.g") ^= 0 then do; /* Replace acl if propagation acl found. */ 155 pstr = substr(char (pp -> b36),1,10); 156 da_name (i) = pstr||".*.g"; 157 call hcs_$replace_dir_acl ( 158 dname 159 , ename 160 , da_ptr 161 , acl_count 162 , "1"b 163 , code 164 ); 165 if code ^= 0 then goto could_not_modify_catalog; 166 i = acl_count; 167 end; 168 else if i = acl_count then do; /* Add propagation acl if not found. */ 169 pstr = substr(char (pp -> b36),1,10); 170 access_name = pstr||".*.g"; 171 modes = "0"b; 172 status_code = 0; 173 call hcs_$add_dir_acl_entries ( 174 dname 175 , ename 176 , addr (dir_acl) 177 , 1 178 , code 179 ); 180 if code ^= 0 then goto could_not_modify_catalog; 181 end; 182 end; 183 return; 184 185 dcl acl_count fixed bin; 186 dcl a area (255*1024) based (gtss_ext_$hcs_work_area_ptr); 187 dcl pp ptr; 188 dcl fb18 fixed bin (18)unsigned unal based; 189 dcl b36 bit (36)aligned based; 190 dcl pstr char (10); 191 192 dcl 1 delete_acl, 193 2 del_name char (32), 194 2 status_code2 fixed bin (35); 195 196 dcl 1 dir_acl, 197 2 access_name char (32), 198 2 modes bit (36), 199 2 status_code fixed bin (35); 200 201 dcl da_ptr ptr; 202 203 dcl 1 da_array (acl_count) based (da_ptr), 204 2 da_name char(32), 205 2 da_modes bit(36), 206 2 da_code fixed bin(35); 207 end /* set_general_permissions */; 208 209 set_specific_permissions: proc; 210 if (L_optionsmem_top) then goto return_err4; 212 op = addrel (gseg, L_options); 213 214 /* Determine number of specific user permissions. */ 215 do n = 0 by 1 while (end_of_list ^= -1); 216 if (L_options + 3 + (3*n))>mem_top then goto could_not_modify_catalog; 217 end; 218 219 if n < 1 then return; 220 221 /* User specific permissions. */ 222 acl_count = n; 223 allocate dir_acl set (acl_ptr); 224 acl_count = 0; 225 rp_sw = "0"b; 226 a = empty (); 227 call hcs_$list_dir_acl ( 228 dname 229 , ename 230 , gtss_ext_$hcs_work_area_ptr 231 , da_ptr 232 , null () 233 , da_count 234 , code 235 ); 236 if code ^= 0 then goto could_not_modify_catalog; 237 c = da_count; 238 do k = 1 to n; 239 found_sw = "0"b; 240 pp = addr (user (k).specific_permission); 241 if pp -> b36 ^= (36)"1"b then do; 242 call gtss_bcd_ascii_ ( 243 addr (user.id (k)) 244 , 12 245 , addr (ascii_id) 246 ); 247 if pp -> fb18 = 0 then do i = 1 to da_count; /* delete */ 248 if index (da_name (i), "."||rtrim (ascii_id)||".g") ^= 0 then do; 249 acl_count = acl_count + 1; 250 del_name (acl_count) = da_name (i); 251 i = da_count; 252 end; 253 end; 254 else do i = 1 to c; /* Replace */ 255 if index (da_name (i), "."||rtrim (ascii_id)||".g") ^= 0 then do; 256 found_sw = "1"b; 257 pstr = substr(char (pp -> b36),1,10); 258 da_name (i) = pstr||"."||rtrim (ascii_id)||".g"; 259 rp_sw = "1"b; 260 i = c; 261 end; 262 end; 263 if pp -> fb18 ^= 0 & found_sw = "0"b then do; 264 da_count = da_count + 1; 265 pstr = substr(char (pp -> b36),1,10); 266 da_name (da_count) = pstr||"."||rtrim (ascii_id)||".g"; 267 da_modes (da_count) = "0"b; 268 rp_sw = "1"b; 269 end; 270 end; 271 end; 272 if rp_sw = "1"b then do; /* If replacing then do that first. */ 273 call hcs_$replace_dir_acl ( 274 dname 275 , ename 276 , da_ptr 277 , da_count 278 , "1"b 279 , code 280 ); 281 if code ^= 0 then goto could_not_modify_catalog; 282 end; 283 if acl_count ^= 0 then do; /* If deleting then do that now. */ 284 call hcs_$delete_dir_acl_entries ( 285 dname 286 , ename 287 , acl_ptr 288 , acl_count 289 , code 290 ); 291 if code ^= 0 then goto could_not_modify_catalog; 292 end; 293 free dir_acl; 294 return; 295 296 dcl a area(1000) based (gtss_ext_$hcs_work_area_ptr); 297 298 dcl da_ptr ptr; 299 300 dcl da_count fixed bin; 301 302 dcl 1 da_array (da_count) based (da_ptr), 303 2 da_name char(32), 304 2 da_modes bit(36), 305 2 da_code fixed bin(35); 306 dcl acl_count fixed bin; 307 dcl acl_ptr ptr init(null()); 308 dcl ascii_id char(12); 309 dcl b36 bit(36)aligned based; 310 dcl c fixed bin; 311 dcl fb18 fixed bin(18)unsigned unal based; 312 dcl found_sw bit(1); 313 dcl k fixed bin; 314 dcl n fixed bin(24); 315 dcl op ptr; 316 dcl pp ptr; 317 dcl pstr char(10); 318 dcl rp_sw bit(1); 319 320 dcl 1 option_args aligned based(op) 321 , 2 word1 322 , 3 opt (0:35)bit(1)unal 323 , 2 word2 324 , 3 initial_size fixed bin(18)unsigned unal 325 , 3 max_size fixed bin(18)unsigned unal 326 , 2 user (n) 327 , 3 id bit(72) 328 , 3 specific_permission bit(36) 329 , 2 end_of_list fixed bin(35) 330 , 2 user_attributes bit(36) 331 ; 332 333 dcl 1 delete_acl (acl_count) aligned based(acl_ptr), 334 2 del_name char(32), 335 2 status_code2 fixed bin(35); 336 337 dcl 1 dir_acl (acl_count)aligned based(acl_ptr), 338 2 access_name char(32), 339 2 modes bit(36), 340 2 status_code fixed bin(35); 341 end /* set_specific_permissions */; 342 343 /** (MC) Modify Catalog Declarations. **/ 344 dcl new_name_ptr ptr init(null()); 345 346 dcl 1 MC_new_name aligned based(new_name_ptr) 347 , 3 newname 348 , 4 left_word bit(36) 349 , 4 right_word bit(36) 350 , 3 newpassword bit(72) 351 ; 352 353 dcl 1 MC_args aligned based(arg_ptr) 354 , 3 word1 355 , 4 zero fixed bin(18)unsigned unal 356 , 4 L_arglist fixed bin(18)unsigned unal 357 , 3 word2 358 , 4 MC_function_no fixed bin(18)unsigned unal 359 , 4 L_buffer fixed bin(18)unsigned unal 360 ; 361 362 dcl 1 MC_arglist aligned based(arglist_ptr) 363 , 3 word1 364 , 4 L_status_return fixed bin(18)unsigned unal 365 , 4 zero fixed bin(18)unsigned unal 366 , 3 word2 367 , 4 L_cat_filedescr fixed bin(18)unsigned unal 368 , 4 L_permissions fixed bin(18)unsigned unal 369 , 3 word3 370 , 4 L_options fixed bin(18)unsigned unal 371 , 4 L_newname fixed bin(18)unsigned unal 372 ; 373 1 1 /* BEGIN INCLUDE FILE gtss_filact_intp3x.incl.pl1 */ 1 2 get_faulty_cat_file_entry: proc returns (fixed bin(18)unsigned unal); 1 3 1 4 /** Locate offset to catalog file description entry 1 5* that caused search failure locating Multics entry. 1 6***/ 1 7 return (cat_filedescr_name_offset); 1 8 end /* get_faulty_cat_file_entry */; 1 9 1 10 /* END INCLUDE FILE gtss_filact_intp3x.incl.pl1 */ 374 375 2 1 /* BEGIN INCLUDE FILE gtss_filact_intp7x.incl.pl1 */ 2 2 /* 2 3* Created: (Wardd Multics) 07/13/79 2218.0 mst Fri 2 4**/ 2 5 bcd_message: proc (ml, mw, bp, m); 2 6 2 7 /** Convert message (m) to bcd. 2 8* Store in user's buffer (location bmp). 2 9* Set ml to this location and mw to number of words 2 10* in message. 2 11* 2 12* Zero ml and mw if not possible. 2 13***/ 2 14 dcl ml bit(18) unal parm; 2 15 dcl mw fixed bin(18)unsigned unal parm; 2 16 dcl bp ptr parm; 2 17 dcl m char(*)parm; 2 18 ml = "0"b; 2 19 mw = 0; 2 20 2 21 l = length (m); 2 22 n = divide (l+5, 6, 17, 0); /* Number of words. */ 2 23 if n>355 then do; 2 24 n = 355; 2 25 l = n*6; 2 26 end; 2 27 2 28 bmp = addrel (bp, 25); /* => 355 FMS buffer portion of 380 word buffer. */ 2 29 call gtss_ascii_bcd_ (addr (m), l, bmp); 2 30 f = mod (l, 6); /* Characters to fill to word. */ 2 31 2 32 if f>0 then msg.last_word.blank = "20"b3; 2 33 ml = rel (bmp); /* Word offset to message (in caller's buffer). */ 2 34 mw = n; 2 35 return; 2 36 dcl n fixed bin; 2 37 dcl f fixed bin; 2 38 dcl l fixed bin; 2 39 2 40 dcl bmp ptr; 2 41 dcl 1 msg aligned based(bmp), 2 42 2 fill (n-1), 2 43 2 last_word, 2 44 3 skip (f)bit(6)unal, 2 45 3 blank (6-f)bit(6)unal; 2 46 end /* bcd_message */; 2 47 /* END INCLUDE FILE gtss_filact_intp7x.incl.pl1 */ 376 377 378 3 1 /* BEGIN INCLUDE FILE gtss_filact_intp2x.incl.pl1 */ 3 2 /* 3 3* Created: (Wardd Multics) 07/13/79 2116.0 mst Fri 3 4**/ 3 5 get_ascii_file_name: proc (fnia, cfdl, acfp)returns (bit (1)); 3 6 3 7 /** Obtain the catalog/file description 3 8* in ascii. 3 9* Changed: R. Barstad 82/06/11 - to fix stringsize condition on acf.name 3 10* assign to callers_buf... 3 11***/ 3 12 dcl fnia bit(1)parm /* "1"b => file name in ascii. */; 3 13 dcl cfdl fixed bin(18)unsigned unal parm /* Location of catalog file description. */; 3 14 dcl acfp ptr parm /* Pointer to ascii_cat_file structure. */; 3 15 3 16 ap = acfp; /* Local value. */ 3 17 cat_filedescr_name_offset = 0; /* => offset to "current" name in catalog file description. */ 3 18 3 19 if (cfdl < mem_bottom) | 3 20 (cfdl+5 > mem_top) then do; 3 21 goto return_err4; 3 22 end; /* Require USERID and atleast file name. */ 3 23 descriptor_ptr = addrel (gseg, cfdl); 3 24 3 25 if cfd2.USERID = -1 then do; /* cfd2.USERID is that of current terminal user. */ 3 26 descriptor_ptr -> bit72 = gtss_ust.lid; 3 27 cfd2.USERID_password = (12)"20"b3; 3 28 end; 3 29 3 30 cat_filedescr_name_offset = cfdl; 3 31 3 32 do nic = 0 to 5; /* Search for end of list. */ 3 33 if nic = 0 then 3 34 if cdf4.end_of_list = -1 then do; /* Only a USERID. */ 3 35 acf.nn = 1; 3 36 goto gal; 3 37 end; 3 38 3 39 if (cfdl+ (nic*2)+6) > mem_top then do; 3 40 goto return_err4; 3 41 end; /* cat/filedescr entry out of memory. */ 3 42 3 43 if cfd2.end_of_list = -1 then do; /* cat/filedescr isolated. */ 3 44 cat_filedescr_name_offset = cfdl + (nic*4) + 4; /* Offset to name entry (global). */ 3 45 acf.nn = nic+2; 3 46 3 47 gal: ; 3 48 do i = 1 to acf.nn; 3 49 3 50 /** Store catalog file description for expand path. **/ 3 51 3 52 if (i > 1) & (i = acf.nn) & fnia then do; 3 53 callers_buf.restore_switch = "000000000001"b3; /* => file name in ascii. */ 3 54 acf.name (i) = translate (cfd3 (i).name, 3 55 "abcdefghijklmnopqrstuvwxyz", 3 56 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 3 57 end; 3 58 else 3 59 call gtss_bcd_ascii_$lc ( 3 60 addr (cfd3 (i).name) 3 61 , 12 3 62 , addr (acf.name (i)) 3 63 ); 3 64 end; 3 65 3 66 if substr (string (gtss_ext_$db), 09, 11) then do; 3 67 call ioa_ ("cat/filedescr:"); 3 68 do i = 1 to acf.nn; 3 69 call ioa_ ("^3i. ""^a""", i, acf.name (i)); 3 70 end; 3 71 end; 3 72 3 73 if substr (acf.name (1), 1, 6) = "!!!!!!" 3 74 then acf.name (1) = gse_ext_$umc_name; 3 75 callers_buf.file_id_in_ascii = substr(acf.name (acf.nn),1,8); 3 76 return ("0"b); /* Success. */ 3 77 end; 3 78 end; 3 79 3 80 /** cat/filedescr has no end of list marker. **/ 3 81 cat_filedescr_name_offset = 0; 3 82 return ("1"b); /* Failure. */ 3 83 3 84 dcl ap ptr /* Local acfp */; 3 85 dcl 1 acf aligned based(ap) like ascii_cat_file; 3 86 3 87 dcl 1 callers_buf aligned based(buffer_ptr), 3 88 3 restore_switch bit(36), 3 89 3 file_id_in_ascii char(8); 3 90 3 91 dcl 1 cfd2 aligned based(descriptor_ptr) /* 2nd description of catalog/file list. */ 3 92 , 3 user_master_catalog 3 93 , 4 USERID fixed bin(71) 3 94 , 4 USERID_password bit(72) 3 95 , 3 intermediate_catalogs (nic) 3 96 , 4 CATALOG bit(72) 3 97 , 4 CATALOG_password bit(72) 3 98 , 3 file_to_be_accessed 3 99 , 4 FILENAME bit(72) 3 100 , 4 FILENAME_password bit(72) 3 101 , 3 end_of_list fixed bin(35) 3 102 ; 3 103 3 104 dcl 1 cfd3 (7) aligned based(descriptor_ptr) /* 3rd description of catalog/file list. */ 3 105 , 3 name char(8) 3 106 , 3 password bit(72) 3 107 ; 3 108 3 109 dcl 1 cdf4 aligned based(descriptor_ptr) /* 4th description of catalog/file list. */ 3 110 , 3 user_master_catalog 3 111 , 4 USERID fixed bin(71) 3 112 , 4 USERID_password bit(72) 3 113 , 3 end_of_list fixed bin(35) 3 114 ; 3 115 end /* get_ascii_file_name */; 3 116 3 117 /* END INCLUDE FILE gtss_filact_intp2x.incl.pl1 */ 379 380 4 1 /* BEGIN INCLUDE FILE gtss_filact_intp1x.incl.pl1 */ 4 2 /* Author: Dave Ward 1981 4 3* Modified: Ron Barstad 83-07-22 Fix status and arglist overlap test 4 4**/ 4 5 validate_status: proc (status_address, sp); 4 6 4 7 dcl status_address fixed bin(18)unsigned unal parm; 4 8 dcl sp ptr parm; 4 9 dcl status_pointer ptr init(null()); 4 10 4 11 4 12 /** Assure 2 word status within memory. **/ 4 13 if (status_address < mem_bottom) | 4 14 (status_address >= mem_top) then goto return_err4; 4 15 4 16 /** Assure status words and arglist do not overlap. **/ 4 17 if status_address -1 >= filact_args.L_arglist & 4 18 status_address < (filact_args.L_arglist+ 2) then goto return_err4; 4 19 4 20 /** Obtain pointer to status words. **/ 4 21 sp, status_pointer = addrel (gseg, status_address); 4 22 unspec (status_pointer -> status_word) = "0"b; 4 23 return; 4 24 4 25 dcl 1 filact_args aligned based(arg_ptr), /* 1st word only. */ 4 26 2 zero fixed bin(18)unsigned unal unal, 4 27 2 L_arglist fixed bin(18)unsigned unal unal; 4 28 end /* validate_status */; 4 29 4 30 /* END INCLUDE FILE gtss_filact_intp1x.incl.pl1 */ 381 382 383 /** Declarations for gtss_drl_filact_: 384* IDENTIFIER ATTRIBUTES **/ 385 dcl msf_manager_$acl_replace entry(ptr,ptr,fixed bin,bit(1),fixed bin(35)); 386 dcl addr builtin; 387 dcl addrel builtin; 388 dcl altname_ptr ptr init(null()); 389 dcl append_mode bit (36) static int options(constant)init ("100000000000"b3); 390 dcl arglist_ptr ptr init(null()); 391 dcl arg_ptr ptr init(null()); 392 dcl attribute_segment_ptr ptr init(null()); 393 dcl bit72 bit(72)aligned based; 394 dcl cat_filedescr_name_offset fixed bin(18)unsigned unal ; 395 dcl descriptor_ptr ptr init(null()); 396 dcl divide builtin; 397 dcl dname char (168) unal; 398 dcl ename char (32) unal; 399 dcl entry_name char (12) init (" "); 400 dcl error_table_$namedup fixed bin (35) ext; 401 dcl error_table_$segnamedup fixed bin (35) ext; 402 dcl get_system_free_area_ entry returns (ptr); 403 dcl gseg ptr init(null()); 404 dcl hcs_$add_dir_acl_entries entry (char(*), char(*), ptr, fixed bin, fixed bin(35)); 405 dcl hcs_$chname_file entry (char(*), char(*),char(*),char(*),fixed bin(35)); 406 dcl hcs_$delete_dir_acl_entries entry (char(*), char(*), ptr, fixed bin, fixed bin(35)); 407 dcl hcs_$list_dir_acl entry (char(*), char(*), ptr, ptr, ptr, fixed bin, fixed bin(35)); 408 dcl hcs_$replace_dir_acl entry (char(*), char(*), ptr, fixed bin, bit(1), fixed bin(35)); 409 dcl mem_top fixed bin(18)unsigned aligned; 410 dcl i fixed bin(24); 411 dcl ioa_ entry options (variable); 412 dcl mem_bottom fixed bin(18)unsigned aligned static int options(constant)init(103); 413 dcl mod builtin; 414 dcl new_ename char (32) unal init (""); 415 dcl nic fixed bin(24); 416 dcl new_dir char(168); 417 dcl old_dir char(168); 418 dcl p ptr init(null()); 419 dcl rel builtin; 420 dcl status_ptr ptr init(null()); 421 dcl substr builtin; 422 423 dcl 1 status2 aligned based(status_ptr) 424 , 3 word1 425 , 4 status_code bit(12)unal 426 , 4 zero1 bit(06)unal 427 , 4 zero2 fixed bin(18)unsigned unal 428 , 3 word2 429 , 4 L_bcd_message bit(18) unal 430 , 4 message_words fixed bin(18)unsigned unal 431 ; 432 433 dcl 1 bcdname aligned based(p), 434 2 first8 bit(48)unal, 435 2 last4 bit(24)unal; 436 437 438 dcl 1 status_word aligned based (status_ptr), 439 2 status bit(18) unal, 440 2 pd fixed bin(18)unsigned unal, 441 2 null_bit bit (1) unal, 442 2 user_attributes bit (35) unal; 443 5 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 5 2 /* UST: User Status Table 5 3* definitions based on 5 4* System Tables, Order number DD14-01E, January 1981 5 5* Section 15, Time Sharing System 5 6* 5 7* Authors: Robert J. Grimes Created 5 8* - Albert N. Kepner 1978 5 9* - Robert M. May 5 10* - David B. Ward 5 11* Change: Dave Ward 02/23/79 Level 4 numbering. 5 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 5 13* Brought up to 4JS3 functionality 5 14**/ 5 15 /* octal word offsets of entries */ 5 16 dcl 1 gtss_ust_ext_$ust aligned ext, 5 17 3 gtss_ust, 5 18 /* 0-1 */ 4 lid bit (72), 5 19 /* 2 */ 4 lstp bit (36), 5 20 /* 3 */ 4 ltin bit (36), 5 21 /* 4 */ 4 lstio, 5 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 5 23 5 no_of_disk_io fixed bin (18) uns unal, 5 24 /* 5 */ 4 lsnub bit (36), 5 25 /* 6-7 */ 4 lchg bit (72), 5 26 /* 10 */ 4 lbuf, 5 27 5 address bit (18)unaligned, 5 28 5 tally bit (1)unaligned, 5 29 5 terminal_type bit (5)unaligned, 5 30 5 station_id bit (12)unaligned, 5 31 /* 11-12 */ 4 liost (0:1) bit (36), 5 32 /* 13 */ 4 lcc bit (36), 5 33 /* 14 */ 4 lback, 5 34 5 fill1 bit (18) unaligned, 5 35 5 gwake fixed bin (17) unaligned, 5 36 /* 15 */ 4 lflag, 5 37 5 mp_list bit (18) unaligned, 5 38 5 flags unaligned, 5 39 6 b18 bit (1) unaligned, 5 40 6 b19 bit (1) unaligned, 5 41 6 b20 bit (1) unaligned, 5 42 6 b21 bit (1) unaligned, 5 43 6 b22 bit (1) unaligned, 5 44 6 b23 bit (1) unaligned, 5 45 6 b24 bit (1) unaligned, 5 46 6 b25 bit (1) unaligned, 5 47 6 b26 bit (1) unaligned, 5 48 6 b27 bit (1) unaligned, 5 49 6 b28 bit (1) unaligned, 5 50 6 b29 bit (1) unaligned, 5 51 6 b30 bit (1) unaligned, 5 52 6 b31 bit (1) unaligned, 5 53 6 b32 bit (1) unaligned, 5 54 6 b33 bit (1) unaligned, 5 55 6 b34 bit (1) unaligned, 5 56 6 b35 bit (1) unaligned, 5 57 /* 16 */ 4 lkdss bit (36), 5 58 /* 17 */ 4 lfile, 5 59 5 program_stack fixed bin (17) unal, 5 60 5 file_list_ptr bit (18) unal, 5 61 /* 20 */ 4 lttys bit (36), 5 62 /* 21 */ 4 lswth, 5 63 5 b0 bit (1) unaligned, 5 64 5 b1 bit (1) unaligned, 5 65 5 b2 bit (1) unaligned, 5 66 5 b3 bit (1) unaligned, 5 67 5 b4 bit (1) unaligned, 5 68 5 b5 bit (1) unaligned, 5 69 5 b6 bit (1) unaligned, 5 70 5 b7 bit (1) unaligned, 5 71 5 b8 bit (1) unaligned, 5 72 5 b9 bit (1) unaligned, 5 73 5 b10 bit (1) unaligned, 5 74 5 b11 bit (1) unaligned, 5 75 5 b12 bit (1) unaligned, 5 76 5 b13 bit (1) unaligned, 5 77 5 b14 bit (1) unaligned, 5 78 5 b15 bit (1) unaligned, 5 79 5 b16 bit (1) unaligned, 5 80 5 b17 bit (1) unaligned, 5 81 5 b18 bit (1) unaligned, 5 82 5 b19 bit (1) unaligned, 5 83 5 b20 bit (1) unaligned, 5 84 5 b21 bit (1) unaligned, 5 85 5 b22 bit (1) unaligned, 5 86 5 b23 bit (1) unaligned, 5 87 5 b24 bit (1) unaligned, 5 88 5 b25 bit (1) unaligned, 5 89 5 b26 bit (1) unaligned, 5 90 5 b27 bit (1) unaligned, 5 91 5 b28 bit (1) unaligned, 5 92 5 b29 bit (1) unaligned, 5 93 5 b30 bit (1) unaligned, 5 94 5 b31 bit (1) unaligned, 5 95 5 b32 bit (1) unaligned, 5 96 5 b33 bit (1) unaligned, 5 97 5 b34 bit (1) unaligned, 5 98 5 b35 bit (1) unaligned, 5 99 /* 22 */ 4 lsize, 5 100 5 bar fixed bin (17) unaligned, 5 101 5 limit bit (18) unaligned, 5 102 /* 23... */ 4 lswap, 5 103 5 fill bit (18) unal, 5 104 5 size bit (18) unal, 5 105 /* ...24 */ 4 transfer_cell bit (36) unal, 5 106 /* 25 */ 4 lerrm bit (36), 5 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 5 108 /* 40 */ 4 lsybc, 5 109 5 b0_17 fixed bin (17) unaligned, 5 110 5 b18_35 fixed bin (17) unaligned, 5 111 /* 41-42 */ 4 lstem (0:1) bit (36), 5 112 /* 43 */ 4 lcals, 5 113 5 b0_17 fixed bin (17) unaligned, 5 114 5 b18_35 bit (18) unaligned, 5 115 /* 44-51 */ 4 subsystems (3), 5 116 5 content_lswap, 5 117 6 fill bit (18) unal, 5 118 6 size bit (18) unal, 5 119 5 tally_address fixed bin (17) unaligned, 5 120 5 ss_flags bit (18) unaligned, 5 121 /* 52 */ 4 ltalc, 5 122 5 tod fixed bin (17) unaligned, 5 123 5 startup fixed bin (17) unaligned, 5 124 /* 53 */ 4 lspts fixed bin (35), 5 125 /* 54 */ 4 lflg2, 5 126 5 b0 bit (1) unaligned, 5 127 5 b1 bit (1) unaligned, 5 128 5 b2 bit (1) unaligned, 5 129 5 b3 bit (1) unaligned, 5 130 5 b4 bit (1) unaligned, 5 131 5 b5 bit (1) unaligned, 5 132 5 b6 bit (1) unaligned, 5 133 5 b7 bit (1) unaligned, 5 134 5 b8 bit (1) unaligned, 5 135 5 b9 bit (1) unaligned, 5 136 5 b10 bit (1) unaligned, 5 137 5 b11 bit (1) unaligned, 5 138 5 b12 bit (1) unaligned, 5 139 5 b13 bit (1) unaligned, 5 140 5 b14 bit (1) unaligned, 5 141 5 b15 bit (1) unaligned, 5 142 5 b16 bit (1) unaligned, 5 143 5 b17 bit (1) unaligned, 5 144 5 b18 bit (1) unaligned, 5 145 5 b19 bit (1) unaligned, 5 146 5 b20 bit (1) unaligned, 5 147 5 b21 bit (1) unaligned, 5 148 5 b22 bit (1) unaligned, 5 149 5 b23 bit (1) unaligned, 5 150 5 b24 bit (1) unaligned, 5 151 5 b25 bit (1) unaligned, 5 152 5 b26 bit (1) unaligned, 5 153 5 b27 bit (1) unaligned, 5 154 5 b28 bit (1) unaligned, 5 155 5 b29 bit (1) unaligned, 5 156 5 b30 bit (1) unaligned, 5 157 5 b31 bit (1) unaligned, 5 158 5 b32 bit (1) unaligned, 5 159 5 b33 bit (1) unaligned, 5 160 5 b34 bit (1) unaligned, 5 161 5 b35 bit (1) unaligned, 5 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 5 163 /* 61 */ 4 lsprt fixed bin (35), 5 164 /* 62 */ 4 ltrm bit (36), 5 165 /* 63 */ 4 linno fixed bin (35), 5 166 /* 64 */ 4 lincr fixed bin (35), 5 167 /* 65 */ 4 ltdes bit (36), 5 168 /* 66 */ 4 lbptr bit (36), 5 169 /* 67 */ 4 lpptr, 5 170 5 last_file_pat_ptr bin (18) uns unal, 5 171 5 lpptr_reserved bin (18) uns unal, 5 172 /* 70 */ 4 lsclp bit (36), 5 173 /* 71 */ 4 limit fixed bin (35), 5 174 /* 72 */ 4 lacpt, 5 175 5 jout_pat_offset bit (18) unal, 5 176 5 permissions unal, 5 177 6 lodx bit (1) unal, 5 178 6 cardin bit (1) unal, 5 179 6 talk bit (1) unal, 5 180 6 lods bit (1) unal, 5 181 5 cardin_urgency bit (14) unal, 5 182 /* 73 */ 4 ldrl, 5 183 5 ilc bit (18) unaligned, 5 184 5 code fixed bin (17) unaligned, 5 185 /* 74 */ 4 ljsnb bit (36), 5 186 /* 75 */ 4 ltm0 bit (36), 5 187 /* 76 */ 4 ltm1 bit (36), 5 188 /* 77 */ 4 ltm2 bit (36), 5 189 /* 100 */ 4 ltm3 bit (36), 5 190 /* 101 */ 4 ltm4 bit (36), 5 191 /* 102 */ 4 ltm5 bit (36), 5 192 /* 103 */ 4 ltmwt bit (36), 5 193 /* 104 */ 4 ltmrs bit (36), 5 194 /* 105 */ 4 ltc0 bit (36), 5 195 /* 106 */ 4 ltc1 bit (36), 5 196 /* 107 */ 4 ltc2 bit (36), 5 197 /* 110 */ 4 lct3 bit (36), 5 198 /* 111 */ 4 ltc4 bit (36), 5 199 /* 112 */ 4 ltc5 bit (36), 5 200 /* 113 */ 4 ltcw bit (36), 5 201 /* 114 */ 4 lkst bit (36), 5 202 /* 115 */ 4 lkst2 bit (36), 5 203 /* 116 */ 4 lkcc bit (36), 5 204 /* 117 */ 4 lkms bit (36), 5 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 5 206 /* 122 */ 4 lkntp bit (36), 5 207 /* 123 */ 4 lkrdc bit (36), 5 208 /* 124 */ 4 lpqf bit (36), 5 209 /* 125 */ 4 lpqb bit (36), 5 210 /* 126 */ 4 lustl bit (36), 5 211 /* 127 */ 4 ltemp bit (36), 5 212 /* 130 */ 4 lrtll, 5 213 5 word_length fixed bin unaligned, 5 214 5 char_length fixed bin unaligned, 5 215 /* 131 */ 4 ltim bit (36), 5 216 /* 132 */ 4 lcfio, 5 217 5 sect_out fixed bin(18)unsigned unal, 5 218 5 sect_in fixed bin(18)unsigned unal, 5 219 /* 133 */ 4 lcfst, 5 220 5 initial_sect_out fixed bin(18)unsigned unal, 5 221 5 start_term fixed bin(18)unsigned unal, 5 222 /* 134 */ 4 lcmpt bit (36), 5 223 /* 135 */ 4 lcjid bit (36), 5 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 5 225 /* 140 */ 4 lrdta bit (36), 5 226 /* 141 */ 4 lrrsk bit (36), 5 227 /* 142 */ 4 lrskd bit (36), 5 228 /* 143 */ 4 lrcc bit (36), 5 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 5 230 /* 146 */ 4 lrtm bit (36), 5 231 /* 147 */ 4 lswt2, 5 232 5 b0 bit (1) unaligned, 5 233 5 b1 bit (1) unaligned, 5 234 5 b2 bit (1) unaligned, 5 235 5 b3 bit (1) unaligned, 5 236 5 b4 bit (1) unaligned, 5 237 5 b5 bit (1) unaligned, 5 238 5 b6 bit (1) unaligned, 5 239 5 b7 bit (1) unaligned, 5 240 5 b8 bit (1) unaligned, 5 241 5 b9 bit (1) unaligned, 5 242 5 b10 bit (1) unaligned, 5 243 5 b11 bit (1) unaligned, 5 244 5 b12 bit (1) unaligned, 5 245 5 b13 bit (1) unaligned, 5 246 5 b14 bit (1) unaligned, 5 247 5 b15 bit (1) unaligned, 5 248 5 b16 bit (1) unaligned, 5 249 5 b17 bit (1) unaligned, 5 250 5 b18 bit (1) unaligned, 5 251 5 b19 bit (1) unaligned, 5 252 5 b20 bit (1) unaligned, 5 253 5 b21 bit (1) unaligned, 5 254 5 b22 bit (1) unaligned, 5 255 5 b23 bit (1) unaligned, 5 256 5 b24 bit (1) unaligned, 5 257 5 b25 bit (1) unaligned, 5 258 5 b26 bit (1) unaligned, 5 259 5 b27 bit (1) unaligned, 5 260 5 b28 bit (1) unaligned, 5 261 5 b29 bit (1) unaligned, 5 262 5 b30 bit (1) unaligned, 5 263 5 b31 bit (1) unaligned, 5 264 5 b32 bit (1) unaligned, 5 265 5 b33 bit (1) unaligned, 5 266 5 b34 bit (1) unaligned, 5 267 5 b35 bit (1) unaligned, 5 268 /* 150 */ 4 llsnb bit (36), 5 269 /* 151 */ 4 lesq bit (36), 5 270 /* 152-153 */ 4 lumc (0:1) bit (36), 5 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 5 272 /* 156 */ 4 lopts bit (36), 5 273 /* 157 */ 4 licec, 5 274 5 b0_17 bit (18) unaligned, 5 275 5 b18_35 fixed bin (17) unaligned, 5 276 /* 160 */ 4 lflg3, 5 277 5 b0 bit (1) unaligned, 5 278 5 b1 bit (1) unaligned, 5 279 5 b2 bit (1) unaligned, 5 280 5 b3 bit (1) unaligned, 5 281 5 b4 bit (1) unaligned, 5 282 5 b5 bit (1) unaligned, 5 283 5 b6 bit (1) unaligned, 5 284 5 b7 bit (1) unaligned, 5 285 5 b8 bit (1) unaligned, 5 286 5 b9 bit (1) unaligned, 5 287 5 b10 bit (1) unaligned, 5 288 5 b11 bit (1) unaligned, 5 289 5 b12 bit (1) unaligned, 5 290 5 b13 bit (1) unaligned, 5 291 5 b14 bit (1) unaligned, 5 292 5 b15 bit (1) unaligned, 5 293 5 b16 bit (1) unaligned, 5 294 5 b17 bit (1) unaligned, 5 295 5 b18 bit (1) unaligned, 5 296 5 b19 bit (1) unaligned, 5 297 5 b20 bit (1) unaligned, 5 298 5 b21 bit (1) unaligned, 5 299 5 b22 bit (1) unaligned, 5 300 5 b23 bit (1) unaligned, 5 301 5 b24 bit (1) unaligned, 5 302 5 b25 bit (1) unaligned, 5 303 5 b26 bit (1) unaligned, 5 304 5 b27 bit (1) unaligned, 5 305 5 b28 bit (1) unaligned, 5 306 5 b29 bit (1) unaligned, 5 307 5 b30 bit (1) unaligned, 5 308 5 b31 bit (1) unaligned, 5 309 5 b32 bit (1) unaligned, 5 310 5 b33 bit (1) unaligned, 5 311 5 b34 bit (1) unaligned, 5 312 5 b35 bit (1) unaligned, 5 313 /* 161-163 */ 4 lpage (0:2) bit (36), 5 314 /* 164 */ 4 lsit1 bit (36), 5 315 /* 165 */ 4 lsit2 bit (36), 5 316 /* 166 */ 4 lsit3 bit (36), 5 317 /* 167 */ 4 lsit4 bit (36), 5 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 5 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 5 320 5 b0_17 fixed bin (17) unaligned, 5 321 5 b18_35 bit (18) unaligned, /* not used */ 5 322 /* 171-175 */ 4 lprgs (5), 5 323 5 b0_17 fixed bin (17) unaligned, 5 324 5 b18_35 fixed bin (17) unaligned, 5 325 /* 176 */ 4 fill bit (36), 5 326 /* 177 */ 4 remote_io_buffer aligned, 5 327 5 buffer_control_word, 5 328 6 current_line_pointer bit (18)unal, 5 329 6 buffer_threshold_address bit (18)unal, 5 330 5 number_words_transmitted fixed bin (17)unal, 5 331 5 FILL1 fixed bin (17)unal, 5 332 5 count_of_characters_transmitted fixed bin (17)unal, 5 333 5 FILL2 fixed bin (17)unal, 5 334 5 characters_transmitted (244) char (1) unal, 5 335 /* 277 */ 4 word_after_ust bit (36) aligned; 5 336 5 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 444 445 6 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 6 2 /* 6 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 6 4* Modified: Ward 1981 add suspended_process dcl 6 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 6 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 6 7**/ 6 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 6 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 6 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 6 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 6 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 6 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 6 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 6 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 6 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 6 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 6 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 6 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 6 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 6 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 6 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 6 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 6 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 6 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 6 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 6 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 6 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 6 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 6 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 6 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 6 32 dcl gtss_ext_$suspended_process bit(1) ext static; 6 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 6 34 dcl gtss_ext_$user_id char (26)var ext; 6 35 dcl gtss_ext_$work_area_ptr ptr ext; 6 36 6 37 dcl 1 gtss_ext_$CFP_bits aligned static external 6 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 6 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 6 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 6 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 6 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 6 43 ; 6 44 6 45 dcl 1 gtss_ext_$com_reg aligned static ext, 6 46 3 tsdmx, 6 47 4 dst fixed bin (18) unsigned unaligned, 6 48 4 dit fixed bin (18) unsigned unaligned, 6 49 3 tsdpt fixed bin (36) unsigned unaligned, 6 50 3 tsddt fixed bin (36) unsigned unaligned, 6 51 3 tsdid bit (72) unaligned, 6 52 3 tsdsd bit (36) unaligned, 6 53 3 tsdst fixed bin (36) unsigned unaligned, 6 54 3 tsdjb fixed bin (35) unaligned, 6 55 3 tsdgt, 6 56 4 ust_loc fixed bin (18) unsigned unaligned, 6 57 4 gating_ctl fixed bin (18) unsigned unaligned, 6 58 3 tcdfr bit (36) unaligned; 6 59 6 60 dcl 1 gtss_ext_$flags aligned static ext 6 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 6 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 6 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 6 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 6 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 6 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 6 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 6 68 , 3 available bit (65) unal 6 69 ; 6 70 6 71 6 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 6 73 3 total_time (-10:71)fixed bin (71), 6 74 3 count (-10:71)fixed bin (17); 6 75 6 76 /* Declaration of Available File Table 6 77* */ 6 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 6 79 6 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 6 81 6 82 3 aft_entry (20), 6 83 4 altname char (8), /* altname name for attaching this file */ 6 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 6 85 4 previous_add fixed bin (24), /* Previously added entry. */ 6 86 4 next_add fixed bin (24), /* Entry added after this one. */ 6 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 6 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 6 89 6 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 6 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 6 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 6 93 6 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 6 95 /** Data structure to provide access to installed 6 96* subsystems fast library load. 6 97* **/ 6 98 dcl 1 gtss_ext_$fast_lib aligned ext 6 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 6 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 6 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 6 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 6 103 ; 6 104 6 105 /* Pointers to segments to regulate multipler 6 106* callers to files. Same segments are used to regulate 6 107* all simulator callers. 6 108**/ 6 109 dcl 1 gtss_ext_$mcfc aligned ext, 6 110 3 multics_lock_id bit(36), 6 111 3 wait_time fixed bin, 6 112 3 files_ptr ptr, 6 113 3 names_ptr ptr, 6 114 3 callers_ptr (0:3)ptr 6 115 ; 6 116 6 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 446 447 7 1 /* BEGIN INCLUDE FILE gtss_filact_status.incl.pl1 */ 7 2 /* 7 3* Created: (Wardd Multics) 10/10/78 0945.5 mst Tue 7 4**/ 7 5 7 6 /* 7 7* 4000 NO ERRORS 7 8* 4001 USER-ID NOT IN MASTER CATALOG 7 9* 4002 I/O ERROR ON DEVICE XXX SA = NNN......NNN 7 10* 4003 PERMISSIONS DENIED 7 11* 4004 FILE BUSY: TRY LATER 7 12* 4005 INCORRECT CAT/FILE DESCRIPTION AT AAA......AAA 7 13* 4006 NO SPACE FOR CATALOG ON DEVICE XXX 7 14* 4007 UNDEFINED DEVICE YYY ZZZZZZ 7 15* 4010 NO SPACE FOR FILE ON DEVICE YYY 7 16* 4011 NON-UNIQUE NAME 7 17* 4012 SIZE REQUEST LS THAN ALLOCATED 7 18* 4013 SPACE REQUEST GR THAN ALLOWED 7 19* 4014 INCORRECT OR MISSING PASSWORD-AT-AAA...AAA 7 20* 4015 FILE IS ABORT LOCK 7 21* 4016 FILE WRITE IN BATCH ONLY 7 22* 4017 SEEK ERROR ON DEVICE XXX SA = NNN......NNN 7 23* 4020 FAILURE IN NAME SCAN (IMP.) 7 24* 4021 DUP CANNOT BE ON RMVBL DEVICE 7 25* 4022 BAD SPACE INVENTORY ON DEVICE 7 26* 4023 INVALID PARAMETER 7 27* 4024 BAD SPACE TABLE FOR DEVICE ON XXX 7 28* 4025 REQUESTED ENTRY NOT ON-LINE 7 29* 4026 NON-STRUCTURED FILE ENTRY 7 30* 4027 FILE IN DEFECTIVE STATUS 7 31* 4030 ILLEGAL PACK TYPE 7 32* 4031 ACCESS GRANTED TO I-D-S FILE 7 33* 4032 COLLECTION FILE ERROR 7 34* 4033 CAT/FILE SECURITY LOCKED 7 35* 4034 ILLEGAL CHARACTER IN CAT/FILE NAME 7 36* 4035 ILLEGAL CAT/FILE LIST REQUEST 7 37* 4036 AFT IS FULL 7 38* 4037 FILE ALREADY IN AFT 7 39* 4040 MAXIMUM PAT SIZE EXCEEDED 7 40* 4041 NO PROTECTION TABLE SPACE AVAILABLE 7 41* 4042 INVALID FILE CODE OR PAT PTR 7 42* 4043 INVALID CATALOG BLOCK ADDRESS 7 43* 4044 ILLEGAL OPTIONS COMBINATION 7 44* 4045 INVALID SPACE IDENTIFIER 7 45* 4046 (NONE, SPECIAL TSS INTERFACE) 7 46* 4047 UNACCOUNTABLE ERROR 7 47* 4050 ***RESERVED for FMS*** 7 48* 4051 CHECKSUM ERROR - DEVICE XXX SA = NNN......NNN 7 49* 4052 DEVICE XXX RELEASED 7 50* 4053 READ ACCESS DENIED - NULL FILE 7 51* 4054 FILE IS WRITE LOCKED 7 52* 4055 ***RESERVED*** 7 53* 4056 SECURITY PARAMETER - REQUIRED 7 54* 4057 SECURITY PARAMETER - INVALID 7 55* 4061 $FSYS HAS BEEN ENABLED 7 56* 4062 ILLEGAL SUBFUNCTION CODE 7 57* 4063 FILE NOT BEING MONITORED 7 58* 4064 DEADLOCK ON PAGE REQUEST 7 59* 4065 PAGE CURRENTLY BUSY 7 60* 4066 FILE NOT DUPLICATED 7 61* 4067 TDS MON ALLOC ERROR 7 62* 4070 ILLEGAL CHECKPOINT REQUEST 7 63* 4071 ILLEGAL DCW SPECIFIED 7 64* 4072 IMPROPER PROTECTION OPTION 7 65* 4073 INVALID ARG LIST PARAMETER NO. 000 7 66* 4074 SYSTEM JOURNAL NOT CONFIGURED 7 67* 4075 FILE RESTORE LOCKED 7 68* 4076 FILE IS TDS LOCKED 7 69* 4077 ERR TDS SUBSET PAGES RELEASED 7 70* 4100 UNACCOUNTABLE ERROR 7 71**/ 7 72 7 73 /* END INCLUDE FILE gtss_filact_status.incl.pl1 */ 448 449 8 1 /* */ 8 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 8 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 8 4 /* Modified 07/07/76 by Morris for fault register data */ 8 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 8 6 /* Modified '82 to make values constant */ 8 7 8 8 /* words 0-15 pointer registers */ 8 9 8 10 dcl mcp ptr; 8 11 8 12 dcl 1 mc based (mcp) aligned, 8 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 8 14 (2 regs, /* registers */ 8 15 3 x (0:7) bit (18), /* index registers */ 8 16 3 a bit (36), /* accumulator */ 8 17 3 q bit (36), /* q-register */ 8 18 3 e bit (8), /* exponent */ 8 19 3 pad1 bit (28), 8 20 3 t bit (27), /* timer register */ 8 21 3 pad2 bit (6), 8 22 3 ralr bit (3), /* ring alarm register */ 8 23 8 24 2 scu (0:7) bit (36), 8 25 8 26 2 mask bit (72), /* mem controller mask at time of fault */ 8 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 8 28 2 errcode fixed bin (35), /* fault handler's error code */ 8 29 2 fim_temp, 8 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 8 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 8 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 8 33 2 fault_reg bit (36), /* fault register */ 8 34 2 pad2 bit (1), 8 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 8 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 8 37 2 fault_time bit (54), /* time of fault */ 8 38 8 39 2 eis_info (0:7) bit (36)) unaligned; 8 40 8 41 8 42 dcl (apx fixed bin init (0), 8 43 abx fixed bin init (1), 8 44 bpx fixed bin init (2), 8 45 bbx fixed bin init (3), 8 46 lpx fixed bin init (4), 8 47 lbx fixed bin init (5), 8 48 spx fixed bin init (6), 8 49 sbx fixed bin init (7)) internal static options (constant); 8 50 8 51 8 52 8 53 8 54 dcl scup ptr; 8 55 8 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 8 57 8 58 8 59 /* WORD (0) */ 8 60 8 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 8 62 3 prr bit (3), /* procedure ring register */ 8 63 3 psr bit (15), /* procedure segment register */ 8 64 3 p bit (1), /* procedure privileged bit */ 8 65 8 66 2 apu, /* APPENDING UNIT STATUS */ 8 67 3 xsf bit (1), /* ext seg flag - IT modification */ 8 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 8 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 8 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 8 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 8 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 8 73 3 dsptw bit (1), /* Fetch of DSPTW */ 8 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 8 75 3 sdwp bit (1), /* Fetch of SDW paged */ 8 76 3 ptw bit (1), /* Fetch of PTW */ 8 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 8 78 3 fap bit (1), /* Fetch of final address paged */ 8 79 3 fanp bit (1), /* Fetch of final address non-paged */ 8 80 3 fabs bit (1), /* Fetch of final address absolute */ 8 81 8 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 8 83 8 84 8 85 /* WORD (1) */ 8 86 8 87 2 fd, /* FAULT DATA */ 8 88 3 iro bit (1), /* illegal ring order */ 8 89 3 oeb bit (1), /* out of execute bracket */ 8 90 3 e_off bit (1), /* no execute */ 8 91 3 orb bit (1), /* out of read bracket */ 8 92 3 r_off bit (1), /* no read */ 8 93 3 owb bit (1), /* out of write bracket */ 8 94 3 w_off bit (1), /* no write */ 8 95 3 no_ga bit (1), /* not a gate */ 8 96 3 ocb bit (1), /* out of call bracket */ 8 97 3 ocall bit (1), /* outward call */ 8 98 3 boc bit (1), /* bad outward call */ 8 99 3 inret bit (1), /* inward return */ 8 100 3 crt bit (1), /* cross ring transfer */ 8 101 3 ralr bit (1), /* ring alarm register */ 8 102 3 am_er bit (1), /* associative memory fault */ 8 103 3 oosb bit (1), /* out of segment bounds */ 8 104 3 paru bit (1), /* processor parity upper */ 8 105 3 parl bit (1), /* processor parity lower */ 8 106 3 onc_1 bit (1), /* op not complete type 1 */ 8 107 3 onc_2 bit (1), /* op not complete type 2 */ 8 108 8 109 2 port_stat, /* PORT STATUS */ 8 110 3 ial bit (4), /* illegal action lines */ 8 111 3 iac bit (3), /* illegal action channel */ 8 112 3 con_chan bit (3), /* connect channel */ 8 113 8 114 2 fi_num bit (5), /* (fault/interrupt) number */ 8 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 8 116 8 117 8 118 /* WORD (2) */ 8 119 8 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 8 121 3 trr bit (3), /* temporary ring register */ 8 122 3 tsr bit (15), /* temporary segment register */ 8 123 8 124 2 pad2 bit (9), 8 125 8 126 2 cpu_no bit (3), /* CPU number */ 8 127 8 128 2 delta bit (6), /* tally modification DELTA */ 8 129 8 130 8 131 /* WORD (3) */ 8 132 8 133 2 word3 bit (18), 8 134 8 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 8 136 3 tsna, /* Word 1 status */ 8 137 4 prn bit (3), /* Word 1 PR number */ 8 138 4 prv bit (1), /* Word 1 PR valid bit */ 8 139 3 tsnb, /* Word 2 status */ 8 140 4 prn bit (3), /* Word 2 PR number */ 8 141 4 prv bit (1), /* Word 2 PR valid bit */ 8 142 3 tsnc, /* Word 3 status */ 8 143 4 prn bit (3), /* Word 3 PR number */ 8 144 4 prv bit (1), /* Word 3 PR valid bit */ 8 145 8 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 8 147 8 148 8 149 /* WORD (4) */ 8 150 8 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 8 152 8 153 2 ir, /* INDICATOR REGISTERS */ 8 154 3 zero bit (1), /* zero indicator */ 8 155 3 neg bit (1), /* negative indicator */ 8 156 3 carry bit (1), /* carryry indicator */ 8 157 3 ovfl bit (1), /* overflow indicator */ 8 158 3 eovf bit (1), /* eponent overflow */ 8 159 3 eufl bit (1), /* exponent underflow */ 8 160 3 oflm bit (1), /* overflow mask */ 8 161 3 tro bit (1), /* tally runout */ 8 162 3 par bit (1), /* parity error */ 8 163 3 parm bit (1), /* parity mask */ 8 164 3 bm bit (1), /* ^bar mode */ 8 165 3 tru bit (1), /* truncation mode */ 8 166 3 mif bit (1), /* multi-word instruction mode */ 8 167 3 abs bit (1), /* absolute mode */ 8 168 3 hex bit (1), /* hexadecimal exponent mode */ 8 169 3 pad bit (3), 8 170 8 171 8 172 /* WORD (5) */ 8 173 8 174 2 ca bit (18), /* COMPUTED ADDRESS */ 8 175 8 176 2 cu, /* CONTROL UNIT STATUS */ 8 177 3 rf bit (1), /* on first cycle of repeat instr */ 8 178 3 rpt bit (1), /* repeat instruction */ 8 179 3 rd bit (1), /* repeat double instruction */ 8 180 3 rl bit (1), /* repeat link instruciton */ 8 181 3 pot bit (1), /* IT modification */ 8 182 3 pon bit (1), /* return type instruction */ 8 183 3 xde bit (1), /* XDE from Even location */ 8 184 3 xdo bit (1), /* XDE from Odd location */ 8 185 3 poa bit (1), /* operation preparation */ 8 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 8 187 3 its bit (1), /* ITS modification */ 8 188 3 if bit (1), /* fault occured during instruction fetch */ 8 189 8 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 8 191 8 192 8 193 /* WORDS (6,7) */ 8 194 8 195 2 even_inst bit (36), /* even instruction of faulting pair */ 8 196 8 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 8 198 8 199 8 200 8 201 8 202 8 203 8 204 /* ALTERNATE SCU DECLARATION */ 8 205 8 206 8 207 dcl 1 scux based (scup) aligned, 8 208 8 209 (2 pad0 bit (36), 8 210 8 211 2 fd, /* GROUP II FAULT DATA */ 8 212 3 isn bit (1), /* illegal segment number */ 8 213 3 ioc bit (1), /* illegal op code */ 8 214 3 ia_am bit (1), /* illegal address - modifier */ 8 215 3 isp bit (1), /* illegal slave procedure */ 8 216 3 ipr bit (1), /* illegal procedure */ 8 217 3 nea bit (1), /* non existent address */ 8 218 3 oobb bit (1), /* out of bounds */ 8 219 3 pad bit (29), 8 220 8 221 2 pad2 bit (36), 8 222 8 223 2 pad3a bit (18), 8 224 8 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 8 226 3 prn bit (3), /* PR number */ 8 227 3 prv bit (1), /* PR valid bit */ 8 228 8 229 2 pad3b bit (6)) unaligned, 8 230 8 231 2 pad45 (0:1) bit (36), 8 232 8 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 8 234 8 235 8 236 8 237 /* END INCLUDE FILE mc.incl.pl1 */ 450 451 9 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 9 2 /* 9 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 9 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 9 5**/ 9 6 9 7 /** gtss external entry variables. **/ 9 8 dcl com_err_ entry() options(variable); 9 9 dcl gtss_CFP_abort_ entry options(variable); 9 10 dcl gtss_CFP_break_ entry options(variable); 9 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 9 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 9 13 dcl gtss_abandon_CFP_ entry options(variable); 9 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 9 15 dcl gtss_abort_subsystem_ entry options (variable); 9 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 9 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 9 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 9 19 dcl gtss_abs_$abs_equiv entry options(variable); 9 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 9 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 9 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 9 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 9 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 9 25 dcl gtss_adjust_size_ entry (ptr); 9 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 9 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 9 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 9 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 9 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 9 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 9 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 9 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 9 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 9 35 dcl gtss_break_vector_ entry (); 9 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 9 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 9 38 dcl gtss_build_ entry options(variable); 9 39 dcl gtss_com_err_ entry options(variable); 9 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 9 41 dcl gtss_derail_processor_$set entry options(variable); 9 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 9 43 dcl gtss_dq_$create entry (bit(1)); 9 44 dcl gtss_dq_$dibp entry (char(5), ptr); 9 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 9 46 dcl gtss_dq_$hdrp entry (ptr); 9 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 9 48 dcl gtss_dq_$open_exc entry (bit(1)); 9 49 dcl gtss_dq_$open_gen entry (bit(1)); 9 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 9 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 9 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 9 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 9 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 9 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 9 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 9 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 9 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 9 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 9 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 9 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 9 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 9 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 9 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 9 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 9 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 9 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 9 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 9 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 9 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 9 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 9 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 9 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 9 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 9 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 9 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 9 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 9 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 9 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 9 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 9 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 9 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 9 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 9 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 9 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 9 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 9 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 9 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 9 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 9 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 9 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 9 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 9 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 9 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 9 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 9 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 9 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 9 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 9 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 9 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 9 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 9 102 dcl gtss_drun_ entry (bit(1)); 9 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 9 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 9 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 9 106 dcl gtss_mcfc_empty entry (char(*) var); 9 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 9 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 9 109 dcl gtss_fault_processor_ entry options(variable); 9 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 9 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 9 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 9 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 9 125 dcl gtss_mcfc_init_ entry (char(*) var); 9 126 dcl gtss_interp_prim_ entry options(variable); 9 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 9 128 dcl gtss_interp_prim_$sysret entry options(variable); 9 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 9 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 9 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 9 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 9 133 dcl gtss_ios_initialize_ entry options(variable); 9 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 9 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 9 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 9 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 9 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 9 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 9 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 9 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 9 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 9 143 dcl gtss_run_subsystem_$finish entry options(variable); 9 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 9 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 9 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 9 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 9 148 dcl gtss_update_safe_store_ entry (ptr); 9 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 9 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 9 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 9 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 452 453 10 1 /* BEGIN INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 10 2 /* 10 3* Created: (Wardd Multics) 09/01/78 1447.3 mst Fri 10 4**/ 10 5 10 6 /** First parameter to gtss_expand_pathname_ 10 7* **/ 10 8 dcl 1 ascii_cat_file, 10 9 2 nn fixed bin, /* Number of names. */ 10 10 2 name (7)char(12); /* List of cat/filedescr name . */ 10 11 10 12 /* END INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 454 455 11 1 /* BEGIN INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 11 2 /* 11 3* Created: (Wardd Multics) 09/14/78 1813.7 mst Thu 11 4* Change: Paul Benjamin 10/12/79 Further break down FS0_PBK_05 11 5**/ 11 6 11 7 /** The structure FMS_catalog1 is from 11 8* FMS PROGRAM LOGIC MANUAL 11 9* DC26, Rev. 0, January 1974 11 10* Page 4-9 11 11***/ 11 12 dcl FMS_cat_ptr ptr init(null()); 11 13 dcl 1 FMS_catalog aligned based(FMS_cat_ptr) 11 14 , 3 FSnTYP_0 11 15 , 4 bits00_05 bit(06)unal 11 16 , 4 bits06_10 bit(05)unal 11 17 , 4 bits11_17 bit(07)unal 11 18 , 4 bits18_35 bit(18)unal 11 19 , 3 FSnNLL_1 11 20 , 4 bits00_17 bit(18)unal 11 21 , 4 bits18_35 bit(18)unal 11 22 , 3 FSnPLL_2 11 23 , 4 bits00_17 bit(18)unal 11 24 , 4 bits18_35 bit(18)unal 11 25 , 3 FSnPTP_3 11 26 , 4 bits00_17 bit(18)unal 11 27 , 4 bits18_35 bit(18)unal 11 28 , 3 FSnCBK_4 11 29 , 4 bits00_17 bit(18)unal 11 30 , 4 bits18_35 bit(18)unal 11 31 ; 11 32 11 33 /** Page 4-10. **/ 11 34 dcl 1 Type_0_Catalog aligned based(FMS_cat_ptr) 11 35 , 3 FS0_TYP_00 bit(36) 11 36 , 3 FS0_NLL_01 11 37 , 4 bits00_17 bit(18)unal 11 38 , 4 bits18_35 bit(18)unal 11 39 , 3 FS0_PLL_02 bit(36) 11 40 , 3 FS0_PTP_03 11 41 , 4 bits00_17 fixed bin(17)unal 11 42 , 4 bits18_35 bit(18)unal 11 43 , 3 FS0_CBK_04 11 44 , 4 bits00_17 fixed bin(17)unal 11 45 , 4 bits18_35 bit(18)unal 11 46 , 3 FS0_PBK_05 11 47 , 4 bits00_17 bit(18)unal 11 48 , 4 bits18_35 bit(18)unal 11 49 , 3 FS0_CNM_06_07 bit(72) 11 50 , 3 FS0_ORG_10_11 bit(72) 11 51 , 3 FS0_PWD_12_13 bit(72) 11 52 , 3 FS0_CDT_14 bit(36) 11 53 , 3 FS0_MOD_15 bit(36) 11 54 , 3 FS0_IND_16 bit(36) 11 55 , 3 FS0_PER_17 11 56 , 4 bits00_11 bit(12)unal 11 57 , 4 bits12_14 bit(03)unal 11 58 , 4 bit15 bit(01)unal 11 59 , 4 bit16 bit(01)unal 11 60 , 4 bit17 bit(01)unal 11 61 , 4 bits18_35 bit(18)unal 11 62 , 3 FS0_OP1_20 bit(36) 11 63 , 3 FS0_OP2_21 bit(36) 11 64 , 3 FS0_VAR_22_76 (15) 11 65 , 4 FS0_SNM_00_01 bit(72) 11 66 , 4 FS0_SPT_02 11 67 , 5 bit00 bit(01)unal 11 68 , 5 bit01 bit(01)unal 11 69 , 5 bits02_17 bit(16)unal 11 70 , 5 bits18_35 bit(18)unal 11 71 , 3 checksum_77 bit(36) 11 72 ; 11 73 11 74 /* Condensed form of type 0 record. */ 11 75 dcl 1 t0c aligned based(FMS_cat_ptr) 11 76 , 2 fill (0:17)bit(36) 11 77 , 2 name (15) 11 78 , 3 bcd bit(72) 11 79 , 3 more bit(36) 11 80 ; 11 81 11 82 /** Page 4-10. **/ 11 83 dcl Type_1_ptr ptr init(null()); 11 84 dcl 1 Type_1_Catalog aligned based(Type_1_ptr) 11 85 , 3 FS1_TYP_00 bit(36) 11 86 , 3 FS1_NLL_01 11 87 , 4 bits00_17 bit(18)unal 11 88 , 4 bits18_35 bit(18)unal 11 89 , 3 FS1_PLL_02 bit(36) 11 90 , 3 FS1_PTP_03 11 91 , 4 bits00_17 fixed bin(17)unal 11 92 , 4 bits18_35 bit(18)unal 11 93 , 3 FS1_CBK_04 11 94 , 4 bits00_17 bit(18)unal 11 95 , 4 bits18_35 bit(18)unal 11 96 , 3 FS1_OPN_05 bit(36) 11 97 , 3 FS1_VAR_06_76 (19) 11 98 , 4 FS1_SNM_00_01 bit(72) 11 99 , 4 FS1_SPT_02 11 100 , 5 bit00 bit(01)unal 11 101 , 5 bit01 bit(01)unal 11 102 , 5 bits02_17 bit(16)unal 11 103 , 5 bits18_35 bit(18)unal 11 104 , 3 checksum_77 bit(36) 11 105 ; 11 106 11 107 /* Condensed form of type 1 record. */ 11 108 dcl 1 t1c aligned based(FMS_cat_ptr) 11 109 , 2 fill (0:5)bit(36) 11 110 , 2 name (19) like t0c.name 11 111 ; 11 112 11 113 /** Page 4-11. **/ 11 114 dcl 1 Type_2_Catalog aligned based(FMS_cat_ptr) 11 115 , 3 FS2_TYP_00 bit(36) 11 116 , 3 FS2_NLL_01 bit(36) 11 117 , 3 FS2_PLL_02 bit(36) 11 118 , 3 FS2_PTP_03 bit(36) 11 119 , 3 FS2_CBK_04 bit(36) 11 120 , 3 FS2_PBK_05 11 121 , 4 bits00_17 bit(18)unal 11 122 , 4 bits18_35 bit(18)unal 11 123 , 3 FS2_FNM_06_07 bit(72) 11 124 , 3 FS2_ORG_10_11 bit(72) 11 125 , 3 FS2_PWD_12_13 bit(72) 11 126 , 3 FS2_CDT_14 bit(36) 11 127 , 3 FS2_MOD_15 bit(36) 11 128 , 3 FS2_IND_16 bit(36) 11 129 , 3 FS2_PER_17 11 130 , 4 bits00_11 bit(12)unal 11 131 , 4 bits12_15 bit(04)unal 11 132 , 4 bit16 bit(01)unal 11 133 , 4 bit17 bit(01)unal 11 134 , 4 bits18_35 bit(18)unal 11 135 , 3 FS2_MTR_20_21 bit(72) 11 136 , 3 FS2_FU1_22 11 137 , 4 bit00 bit(01)unal 11 138 , 4 bit01 bit(01)unal 11 139 , 4 bit02 bit(01)unal 11 140 , 4 bit03 bit(01)unal 11 141 , 4 bit04 bit(01)unal 11 142 , 4 bit05 bit(01)unal 11 143 , 4 bit06 bit(01)unal 11 144 , 4 bit07 bit(01)unal 11 145 , 4 bit08 bit(01)unal 11 146 , 4 bit09 bit(01)unal 11 147 , 4 bits10_11 bit(02)unal 11 148 , 4 bits12_17 bit(06)unal 11 149 , 4 bits18_35 bit(18)unal 11 150 , 3 FS2_FUS_23 11 151 , 4 bits00_17 bit(18)unal 11 152 , 4 bit18 bit(01)unal 11 153 , 4 bit19 bit(01)unal 11 154 , 4 bit20 bit(01)unal 11 155 , 4 bit21 bit(01)unal 11 156 , 4 bit22 bit(01)unal 11 157 , 4 bit23 bit(01)unal 11 158 , 4 bit24 bit(01)unal 11 159 , 4 bit25 bit(01)unal 11 160 , 4 bit26 bit(01)unal 11 161 , 4 bit27 bit(01)unal 11 162 , 4 bit28 bit(01)unal 11 163 , 4 bit29 bit(01)unal 11 164 , 4 bits30_35 bit(06)unal 11 165 , 3 FS2_USI_24 11 166 , 4 bit00 bit(01)unal 11 167 , 4 bits01_35 bit(35)unal 11 168 , 3 FS2_FU2_25 11 169 , 4 bit00 bit(01)unal 11 170 , 4 bit01 bit(01)unal 11 171 , 4 bit02 bit(01)unal 11 172 , 4 bit03 bit(01)unal 11 173 , 4 bit04 bit(01)unal 11 174 , 4 bit05 bit(01)unal 11 175 , 4 bit06 bit(01)unal 11 176 , 4 bit07 bit(01)unal 11 177 , 4 bit08 bit(01)unal 11 178 , 4 bit09 bit(01)unal 11 179 , 4 bit10 bit(01)unal 11 180 , 4 bit11 bit(01)unal 11 181 , 4 bit12 bit(01)unal 11 182 , 4 bit13 bit(01)unal 11 183 , 4 bit14 bit(01)unal 11 184 , 4 bit15 bit(01)unal 11 185 , 4 bit16 bit(01)unal 11 186 , 4 bit17 bit(01)unal 11 187 , 4 bits18_35 bit(18)unal 11 188 , 3 FS2_LCD_26 bit(36) 11 189 , 3 FS2_LAD_27 bit(36) 11 190 , 3 FS2_LST_30 11 191 , 4 bits00_05 bit(06)unal 11 192 , 4 bits06_35 bit(30)unal 11 193 , 3 FS2_ATB_31 bit(36) 11 194 , 3 FS2_PDF_32 bit(36) 11 195 , 3 FS2_STC_33 bit(36) 11 196 , 3 FS2_BSY_34 bit(36) 11 197 , 3 FS2_TBC_35 bit(36) 11 198 , 3 FS2_OP2_7_36_43 (2:7)bit(36) 11 199 , 3 FS2_VAR_44_75 11 200 , 4 Device_descriptor 11 201 , 5 bits00_03 bit(04)unal /* 0101 */ 11 202 , 5 bits04_05 bit(02)unal 11 203 , 5 bits06_35 bit(30)unal 11 204 , 4 Space_descriptor 11 205 , 5 bit00 bit(01)unal 11 206 , 5 bit01 bit(01)unal /* =0 => space desc. */ 11 207 , 5 bit02 bit(01)unal 11 208 , 5 bits03_17 bit(15)unal 11 209 , 5 bits18_35 bit(18)unal 11 210 , 4 zero (24)bit(36) 11 211 , 3 zero_76 bit(36) 11 212 , 3 checksum_77 bit(36) 11 213 ; 11 214 11 215 /** Page 4-13. **/ 11 216 dcl Type_4_ptr ptr init(null()); 11 217 dcl 1 Type_4_Catalog aligned based(Type_4_ptr) 11 218 , 3 FS4_TYP_00 bit(36) 11 219 , 3 FS4_NLL_01 bit(36) 11 220 , 3 FS4_PLL_02 bit(36) 11 221 , 3 FS4_PTP_03 bit(36) 11 222 , 3 FS4_CBK_04 bit(36) 11 223 , 3 FS4_OP1_2_05_06 bit(72) 11 224 , 3 FS4_VAR_07_75 bit(1980) /* 1980 = 55 * 36bits @ */ 11 225 , 3 zero bit(36) 11 226 , 3 checksum_77 bit(36) 11 227 ; 11 228 11 229 /** Page 2-69 **/ 11 230 dcl buffer_ptr ptr init(null()); 11 231 dcl 1 callers_buffer aligned based(buffer_ptr) 11 232 , 3 first25 (25)bit(36) /* Work area for ???. */ 11 233 /** Next 35 words. FMS work area. **/ 11 234 , 3 W00_FSCODE bit(036) 11 235 , 3 W01_02_FSCALL bit(072) 11 236 , 3 W03 bit(036) 11 237 , 3 W04_06 bit(108) 11 238 , 3 W07 bit(036) 11 239 , 3 W10 bit(036) 11 240 , 3 W11_12 bit(072) 11 241 , 3 W13_FSSSLV bit(036) 11 242 , 3 W14_15 bit(072) 11 243 , 3 W16_FSFBSY bit(036) 11 244 , 3 W17_FSRETP bit(036) 11 245 , 3 W20 11 246 , 4 FSMME unal 11 247 , 5 bits00_17 bit(18)unal 11 248 , 4 FSARG unal 11 249 , 5 bits18_35 bit(18)unal 11 250 , 3 W21_FSCPOS 11 251 , 4 bits00_17 bit(18)unal 11 252 , 4 bits18_35 bit(18)unal 11 253 , 3 W22_FSCCFP 11 254 , 4 bits00_17 bit(18)unal 11 255 , 4 bits18_35 bit(18)unal 11 256 , 3 W23_FSPCFP 11 257 , 4 bits00_17 bit(18)unal 11 258 , 4 bits18_35 bit(18)unal 11 259 , 3 W24 11 260 , 4 FSREGU unal 11 261 , 5 bits00_17 bit(18)unal 11 262 , 4 FSREGL unal 11 263 , 5 bits18_35 bit(18)unal 11 264 , 3 W25_FSCDEV 11 265 , 4 bits00_15 bit(16)unal 11 266 , 4 bit16 bit(01)unal 11 267 , 4 bit17 bit(01)unal 11 268 , 4 bits18_35 bit(18)unal 11 269 , 3 W26_FSDDEV 11 270 , 4 bits00_15 bit(16)unal 11 271 , 4 bit16 bit(01)unal 11 272 , 4 bit17 bit(01)unal 11 273 , 4 bits18_35 bit(18)unal 11 274 , 3 W27_FSENDT bit(036) 11 275 , 3 W30_FSCPAT bit(036) 11 276 , 3 W31_FSPERM bit(036) 11 277 , 3 W32_FSDDCW bit(036) 11 278 , 3 W33_FSDCWP bit(036) 11 279 , 3 W34_FSDUPD bit(036) 11 280 , 3 W35_FSAVBL bit(036) 11 281 , 3 W36_FSTEMP bit(036) 11 282 , 3 W37_FSCKSM bit(036) 11 283 , 3 W40_FSIOS1 bit(036) 11 284 , 3 W41_FSSRW1 bit(036) 11 285 , 3 W42_FSSRW2 bit(036) 11 286 , 3 W43_FSBFER bit(036) /* Starting location of buffer for catalog record(s). */ 11 287 , 3 remainder_of_buffer (319)bit(36) 11 288 ; 11 289 11 290 /* END INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 456 457 12 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 12 2 /* 12 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 12 4**/ 12 5 12 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 12 7 12 8 3 gtss_disk, 12 9 4 dir_name char (168) unal, /* containing directory for file */ 12 10 4 entry_name char (32) unal, /* entry name for file */ 12 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 12 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 12 13* component which has been accessed has a corresponding 12 14* initialized pointer. Currently 500 components 12 15* are supported. */ 12 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 12 17 4 indicators aligned, /* one word of flags */ 12 18 12 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 12 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 12 21 5 fill bit (34) unal, 12 22 12 23 4 permissions aligned, 12 24 5 read bit (1) unaligned, /* 1=read permission */ 12 25 5 execute bit (1) unaligned, /* 1=execute permission */ 12 26 5 write bit (1) unaligned, /* 1=write permission */ 12 27 5 fill2 bit (33) unaligned, /* unused at this time */ 12 28 12 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 12 30 4 component fixed bin, /* current component value (first component = 0) */ 12 31 4 offset fixed bin (24), /* current word offset in the component */ 12 32 4 file_position fixed bin (30), /* current file position in words */ 12 33 4 file_size fixed bin (30), /* size of file in words */ 12 34 4 no_components fixed bin (24), /* number of components for a msf */ 12 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 12 36* for this file. (See gtss_file_attributes.incl.pl1) */ 12 37 12 38 4 pat_body, 12 39 12 40 5 word_0, 12 41 6 defective bit (1) unal, /* 1 = file has defective space */ 12 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 12 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 12 44 6 sct bit (12) unal, /* address of SCT for device on which 12 45* file begins or if cataloged, 12 46* for device with file catalog entry */ 12 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 12 48 12 49 5 word_1, 12 50 6 io_time fixed bin (35), /* I/O time for this file */ 12 51 12 52 5 word_2, 12 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 12 54 6 hash_code bit (5) unal, /* hash code of user name under which 12 55* file is cataloged */ 12 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 12 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 12 58 6 random bit (1) unal, /* 1 = access to file is random */ 12 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 12 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 12 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 12 62 6 disposition bit (2) unal, /* Abort disposition code 12 63* 00 = Release 12 64* 01 = Dismount 12 65* 10 = Save 12 66* 11 = Continue */ 12 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 12 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 12 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 12 70* attempted to part of file marked defective (only 12 71* for procted allocation) */ 12 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 12 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 12 74* (on device with SCT referenced in word 0). If 12 75* cataloged file that is proctected (bit 0 ON in this 12 76* word), memory location of table in File Management 12 77* Supervisor Executive. If user temporary file, 12 78* largest size file has ever attained, in llinks. 12 79* If system value equals 777777 octal, it is system 12 80* file created by System Input. */ 12 81 12 82 5 word_3, 12 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 12 84* 0-13 = 0, File size is greater than 16,383 llinks, 12 85* and if the file is cataloged, call to .MFS19,5 with 12 86* offset to PAT pointer in index 5 will cause bits 12 87* 14-35 of Q-register to be set to file size. (Unless 12 88* there is a Seek error on file catalog in which case 12 89* zero is returned. ) 12 90* */ 12 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 12 92* in memory. */ 12 93 12 94 5 word_4, 12 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 12 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 12 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 12 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 12 99* descriptor) */ 12 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 12 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 458 459 13 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 13 2 /* 13 3* Created: Kepner 78-12-01 13 4**/ 13 5 13 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 13 7 13 8 /* $drm_rule: 13 9* 0 => rule not set 13 10* 1 => umc_dir_mode 13 11* 2 => working_dir_mode 13 12* 3 => smc_dir_mode 13 13**/ 13 14 13 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 13 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 13 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 13 18 dcl 1 gse_ext_$modes aligned ext, 13 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 13 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 13 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 13 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 13 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 13 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 13 25 3 fill bit(30) unal; 13 26 13 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 460 461 end /* gtss_filact_funct10_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.0 gtss_filact_funct10_.pl1 >spec>on>7105>gtss_filact_funct10_.pl1 374 1 09/09/83 1713.9 gtss_filact_intp3x.incl.pl1 >ldd>include>gtss_filact_intp3x.incl.pl1 376 2 09/09/83 1713.3 gtss_filact_intp7x.incl.pl1 >ldd>include>gtss_filact_intp7x.incl.pl1 379 3 09/09/83 1713.9 gtss_filact_intp2x.incl.pl1 >ldd>include>gtss_filact_intp2x.incl.pl1 381 4 09/09/83 1713.8 gtss_filact_intp1x.incl.pl1 >ldd>include>gtss_filact_intp1x.incl.pl1 444 5 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 446 6 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 448 7 09/09/83 1713.3 gtss_filact_status.incl.pl1 >ldd>include>gtss_filact_status.incl.pl1 450 8 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 452 9 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 454 10 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 456 11 09/09/83 1713.5 gtss_FMS_catalog.incl.pl1 >ldd>include>gtss_FMS_catalog.incl.pl1 458 12 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 460 13 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.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. FMS_cat_ptr 000402 automatic pointer initial dcl 11-12 set ref 11-12* L_arglist 0(18) based fixed bin(18,0) level 2 in structure "filact_args" packed unsigned unaligned dcl 4-25 in procedure "validate_status" ref 4-17 4-17 L_arglist 0(18) based fixed bin(18,0) level 3 in structure "MC_args" packed unsigned unaligned dcl 353 in procedure "gtss_filact_funct10_" ref 46 46 52 L_bcd_message 1 based bit(18) level 3 packed unaligned dcl 423 set ref 61* L_cat_filedescr 1 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 362 set ref 57* L_newname 2(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 362 ref 82 82 84 L_options 2 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 362 ref 210 210 212 216 L_permissions 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 362 ref 119 120 120 122 L_status_return based fixed bin(18,0) level 3 packed unsigned unaligned dcl 362 set ref 55* MC_arglist based structure level 1 dcl 362 MC_args based structure level 1 dcl 353 MC_new_name based structure level 1 dcl 346 Type_1_ptr 000404 automatic pointer initial dcl 11-83 set ref 11-83* Type_4_ptr 000406 automatic pointer initial dcl 11-216 set ref 11-216* USERID based fixed bin(71,0) level 3 dcl 3-91 ref 3-25 USERID_password 2 based bit(72) level 3 dcl 3-91 set ref 3-27* a based area(1000) dcl 296 in procedure "set_specific_permissions" set ref 226* a based area(261120) dcl 186 in procedure "set_general_permissions" set ref 124* access_name 000440 automatic char(32) level 2 packed unaligned dcl 196 set ref 170* acf based structure level 1 dcl 3-85 acfp parameter pointer dcl 3-14 ref 3-5 3-16 acl_count 000420 automatic fixed bin(17,0) dcl 185 in procedure "set_general_permissions" set ref 125* 135 147 150 157* 166 168 acl_count 000467 automatic fixed bin(17,0) dcl 306 in procedure "set_specific_permissions" set ref 222* 223 224* 249* 249 250 283 284* 293 acl_ptr 000470 automatic pointer initial dcl 307 set ref 223* 250 284* 293 307* addr builtin function dcl 386 ref 57 57 73 73 86 86 86 86 139 139 173 173 240 242 242 242 242 2-29 2-29 3-58 3-58 3-58 3-58 addrel builtin function dcl 387 ref 52 84 122 212 2-28 3-23 4-21 aft_entry 147 000036 external static structure array level 2 dcl 6-78 altname_ptr 000102 automatic pointer initial dcl 388 set ref 388* ap 000532 automatic pointer dcl 3-84 set ref 3-16* 3-35 3-45 3-48 3-52 3-54 3-58 3-58 3-68 3-69 3-73 3-73 3-75 3-75 arg_ptr 000106 automatic pointer initial dcl 391 set ref 40* 46 46 52 391* 4-17 4-17 arg_ptr_val parameter pointer dcl 34 ref 15 40 arglist_ptr 000104 automatic pointer initial dcl 390 set ref 52* 55 57 82 82 84 119 120 120 122 210 210 212 216 390* ascii_cat_file 000354 automatic structure level 1 unaligned dcl 10-8 set ref 57 57 73 73 ascii_id 000472 automatic char(12) unaligned dcl 308 set ref 242 242 248 255 258 266 attribute_segment_ptr 000110 automatic pointer initial dcl 392 set ref 392* b36 based bit(36) dcl 189 in procedure "set_general_permissions" ref 123 155 169 b36 based bit(36) dcl 309 in procedure "set_specific_permissions" ref 241 257 265 bit72 based bit(72) dcl 393 set ref 3-26* blank based bit(6) array level 3 packed unaligned dcl 2-41 set ref 2-32* bmp 000104 automatic pointer dcl 2-40 set ref 2-28* 2-29* 2-32 2-33 bp parameter pointer dcl 2-16 ref 2-5 2-28 buffer_ptr 000410 automatic pointer initial dcl 11-230 set ref 41* 61* 11-230* 3-53 3-75 buffer_ptr_val parameter pointer dcl 35 ref 15 41 c 000475 automatic fixed bin(17,0) dcl 310 set ref 237* 254 260 callers_buf based structure level 1 dcl 3-87 cat_filedescr_name_offset 000112 automatic fixed bin(18,0) unsigned unaligned dcl 394 set ref 1-7 3-17* 3-30* 3-44* 3-81* cdf4 based structure level 1 dcl 3-109 cfd2 based structure level 1 dcl 3-91 cfd3 based structure array level 1 dcl 3-104 cfdl parameter fixed bin(18,0) unsigned unaligned dcl 3-13 ref 3-5 3-19 3-19 3-23 3-30 3-39 3-44 code parameter fixed bin(35,0) dcl 36 set ref 15 43* 49* 58* 73* 79 96* 97 98 98 125* 134 139* 146 157* 165 173* 180 227* 236 273* 281 284* 291 da_array based structure array level 1 unaligned dcl 203 in procedure "set_general_permissions" da_array based structure array level 1 unaligned dcl 302 in procedure "set_specific_permissions" da_count 000466 automatic fixed bin(17,0) dcl 300 set ref 227* 237 247 251 264* 264 266 267 273* da_modes 10 based bit(36) array level 2 packed unaligned dcl 302 set ref 267* da_name based char(32) array level 2 in structure "da_array" packed unaligned dcl 203 in procedure "set_general_permissions" set ref 137 138 154 156* da_name based char(32) array level 2 in structure "da_array" packed unaligned dcl 302 in procedure "set_specific_permissions" set ref 248 250 255 258* 266* da_ptr 000464 automatic pointer dcl 298 in procedure "set_specific_permissions" set ref 227* 248 250 255 258 266 267 273* da_ptr 000452 automatic pointer dcl 201 in procedure "set_general_permissions" set ref 125* 137 138 154 156 157* del_name 000427 automatic char(32) level 2 in structure "delete_acl" packed unaligned dcl 192 in procedure "set_general_permissions" set ref 138* del_name based char(32) array level 2 in structure "delete_acl" dcl 333 in procedure "set_specific_permissions" set ref 250* delete_acl based structure array level 1 dcl 333 in procedure "set_specific_permissions" delete_acl 000427 automatic structure level 1 unaligned dcl 192 in procedure "set_general_permissions" set ref 139 139 descriptor_ptr 000114 automatic pointer initial dcl 395 set ref 395* 3-23* 3-25 3-26 3-27 3-33 3-43 3-54 3-58 3-58 dir_acl based structure array level 1 dcl 337 in procedure "set_specific_permissions" ref 223 293 dir_acl 000440 automatic structure level 1 unaligned dcl 196 in procedure "set_general_permissions" set ref 173 173 dir_name 000052 external static char(168) array level 3 packed unaligned dcl 12-6 set ref 107 107* 107 divide builtin function dcl 396 ref 2-22 dname 000116 automatic char(168) unaligned dcl 397 set ref 61 73* 96* 103 104 125* 139* 157* 173* 227* 273* 284* ename 000170 automatic char(32) unaligned dcl 398 set ref 61 73* 96* 96* 103 125* 139* 157* 173* 227* 273* 284* end_of_list based fixed bin(35,0) level 2 in structure "option_args" dcl 320 in procedure "set_specific_permissions" ref 215 end_of_list based fixed bin(35,0) level 2 in structure "cfd2" dcl 3-91 in procedure "get_ascii_file_name" ref 3-43 end_of_list 4 based fixed bin(35,0) level 2 in structure "cdf4" dcl 3-109 in procedure "get_ascii_file_name" ref 3-33 entry_name 000200 automatic char(12) initial unaligned dcl 399 set ref 399* error_table_$namedup 000010 external static fixed bin(35,0) dcl 400 ref 98 error_table_$segnamedup 000012 external static fixed bin(35,0) dcl 401 ref 98 f 000101 automatic fixed bin(17,0) dcl 2-37 set ref 2-30* 2-32 2-32 2-32 2-32 fb18 based fixed bin(18,0) unsigned unaligned dcl 311 in procedure "set_specific_permissions" ref 247 263 fb18 based fixed bin(18,0) unsigned unaligned dcl 188 in procedure "set_general_permissions" ref 135 filact_args based structure level 1 dcl 4-25 file_id_in_ascii 1 based char(8) level 2 dcl 3-87 set ref 3-75* fnia parameter bit(1) unaligned dcl 3-12 ref 3-5 3-52 found_sw 000476 automatic bit(1) unaligned dcl 312 set ref 239* 256* 263 gse_ext_$umc_name 000054 external static char(12) unaligned dcl 13-17 ref 3-73 gseg 000204 automatic pointer initial dcl 403 set ref 39* 52 84 122 212 403* 3-23 4-21 gseg_val parameter pointer dcl 33 ref 15 39 gtss_ascii_bcd_ 000040 constant entry external dcl 9-30 ref 2-29 gtss_bcd_ascii_ 000042 constant entry external dcl 9-33 ref 242 gtss_bcd_ascii_$lc 000044 constant entry external dcl 9-34 ref 86 3-58 gtss_dfd_ext_$disk_file_data 000052 external static structure array level 1 dcl 12-6 gtss_disk 000052 external static structure array level 2 dcl 12-6 gtss_expand_pathname_ 000046 constant entry external dcl 9-107 ref 73 gtss_ext_$aft 000036 external static structure level 1 dcl 6-78 gtss_ext_$db 000032 external static bit(1) array unaligned dcl 6-10 ref 3-66 gtss_ext_$hcs_work_area_ptr 000034 external static pointer dcl 6-21 set ref 124 125* 226 227* gtss_filact_error_status_ 000050 constant entry external dcl 9-112 ref 58 gtss_ust 000030 external static structure level 2 dcl 5-16 gtss_ust_ext_$ust 000030 external static structure level 1 dcl 5-16 hcs_$add_dir_acl_entries 000014 constant entry external dcl 404 ref 173 hcs_$chname_file 000016 constant entry external dcl 405 ref 96 hcs_$delete_dir_acl_entries 000020 constant entry external dcl 406 ref 139 284 hcs_$list_dir_acl 000022 constant entry external dcl 407 ref 125 227 hcs_$replace_dir_acl 000024 constant entry external dcl 408 ref 157 273 high_val parameter fixed bin(18,0) unsigned unaligned dcl 32 ref 15 38 i 000207 automatic fixed bin(24,0) dcl 410 set ref 105* 106 107 107* 135* 137 138 147* 150* 154 156 166* 168* 247* 248 250 251* 254* 255 258 260* 3-48* 3-52 3-52 3-54 3-54 3-58 3-58 3-58 3-58* 3-68* 3-69* 3-69* id 2 based bit(72) array level 3 dcl 320 set ref 242 242 ioa_ 000026 constant entry external dcl 411 ref 3-67 3-69 k 000477 automatic fixed bin(17,0) dcl 313 set ref 238* 240 242 242* l 000102 automatic fixed bin(17,0) dcl 2-38 set ref 2-21* 2-22 2-25* 2-29* 2-30 last_word based structure level 2 dcl 2-41 left_word based bit(36) level 3 dcl 346 set ref 86 lid 000030 external static bit(72) level 3 dcl 5-16 ref 3-26 m parameter char unaligned dcl 2-17 set ref 2-5 2-21 2-29 2-29 mcp 000352 automatic pointer dcl 8-10 set ref 37* mcp_val parameter pointer dcl 31 ref 15 37 mem_bottom constant fixed bin(18,0) initial unsigned dcl 412 ref 46 82 120 210 3-19 4-13 mem_top 000206 automatic fixed bin(18,0) unsigned dcl 409 set ref 38* 46 82 120 210 216 3-19 3-39 4-13 message_words 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 423 set ref 61* ml parameter bit(18) unaligned dcl 2-14 set ref 2-5 2-18* 2-33* mod builtin function dcl 413 ref 2-30 modes 10 000440 automatic bit(36) level 2 packed unaligned dcl 196 set ref 171* msg based structure level 1 dcl 2-41 mw parameter fixed bin(18,0) unsigned unaligned dcl 2-15 set ref 2-5 2-19* 2-34* n 000500 automatic fixed bin(24,0) dcl 314 in procedure "set_specific_permissions" set ref 215* 215* 216* 219 222 238 n 000100 automatic fixed bin(17,0) dcl 2-36 in procedure "bcd_message" set ref 2-22* 2-23 2-24* 2-25 2-32 2-32 2-34 name 22 based structure array level 2 in structure "t0c" dcl 11-75 in procedure "gtss_filact_funct10_" name 1 based char(12) array level 2 in structure "acf" dcl 3-85 in procedure "get_ascii_file_name" set ref 3-54* 3-58 3-58 3-69* 3-73 3-73* 3-75 name based char(8) array level 2 in structure "cfd3" dcl 3-104 in procedure "get_ascii_file_name" set ref 3-54 3-58 3-58 new_dir 000221 automatic char(168) unaligned dcl 416 set ref 104* 107 new_ename 000210 automatic char(32) initial unaligned dcl 414 set ref 86 86 95 96* 104 414* new_name_ptr 000100 automatic pointer initial dcl 344 set ref 84* 86 86 86 344* newname based structure level 2 dcl 346 set ref 86 86 nic 000220 automatic fixed bin(24,0) dcl 415 set ref 3-32* 3-33 3-39 3-43 3-44 3-45* nn based fixed bin(17,0) level 2 dcl 3-85 set ref 3-35* 3-45* 3-48 3-52 3-68 3-75 old_dir 000273 automatic char(168) unaligned dcl 417 set ref 103* 107 107 107 op 000502 automatic pointer dcl 315 set ref 212* 215 240 242 242 option_args based structure level 1 dcl 320 p 000346 automatic pointer initial dcl 418 set ref 418* pd 0(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 438 set ref 67* pp 000422 automatic pointer dcl 187 in procedure "set_general_permissions" set ref 122* 123 135 155 169 pp 000504 automatic pointer dcl 316 in procedure "set_specific_permissions" set ref 240* 241 247 257 263 265 pstr 000424 automatic char(10) unaligned dcl 190 in procedure "set_general_permissions" set ref 155* 156 169* 170 pstr 000506 automatic char(10) unaligned dcl 317 in procedure "set_specific_permissions" set ref 257* 258 265* 266 rel builtin function dcl 419 ref 2-33 restore_switch based bit(36) level 2 dcl 3-87 set ref 3-53* rp_sw 000511 automatic bit(1) unaligned dcl 318 set ref 225* 259* 268* 272 sp parameter pointer dcl 4-8 set ref 4-5 4-21* specific_permission 4 based bit(36) array level 3 dcl 320 set ref 240 status based bit(18) level 2 packed unaligned dcl 438 set ref 58 58* 98* 100* 112* status2 based structure level 1 dcl 423 status_address parameter fixed bin(18,0) unsigned unaligned dcl 4-7 ref 4-5 4-13 4-13 4-17 4-17 4-21 status_code 11 000440 automatic fixed bin(35,0) level 2 dcl 196 set ref 172* status_pointer 000544 automatic pointer initial dcl 4-9 set ref 4-9* 4-21* 4-22 status_ptr 000350 automatic pointer initial dcl 420 set ref 55* 58 58 61 61 67 98 100 112 420* status_word based structure level 1 dcl 438 set ref 4-22* substr builtin function dcl 421 ref 58 107 107 123 155 169 257 265 3-66 3-73 3-75 t0c based structure level 1 dcl 11-75 used 154 000036 external static bit(1) array level 3 packed unaligned dcl 6-78 ref 106 user 2 based structure array level 2 dcl 320 user_master_catalog based structure level 2 dcl 3-91 word1 based structure level 2 in structure "MC_args" dcl 353 in procedure "gtss_filact_funct10_" word1 based structure level 2 in structure "MC_arglist" dcl 362 in procedure "gtss_filact_funct10_" word2 1 based structure level 2 in structure "status2" dcl 423 in procedure "gtss_filact_funct10_" word2 1 based structure level 2 in structure "MC_arglist" dcl 362 in procedure "gtss_filact_funct10_" word3 2 based structure level 2 dcl 362 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FMS_catalog based structure level 1 dcl 11-13 Type_0_Catalog based structure level 1 dcl 11-34 Type_1_Catalog based structure level 1 dcl 11-84 Type_2_Catalog based structure level 1 dcl 11-114 Type_4_Catalog based structure level 1 dcl 11-217 abx internal static fixed bin(17,0) initial dcl 8-42 append_mode internal static bit(36) initial unaligned dcl 389 apx internal static fixed bin(17,0) initial dcl 8-42 bbx internal static fixed bin(17,0) initial dcl 8-42 bcdname based structure level 1 dcl 433 bpx internal static fixed bin(17,0) initial dcl 8-42 callers_buffer based structure level 1 dcl 11-231 com_err_ 000000 constant entry external dcl 9-8 get_system_free_area_ 000000 constant entry external dcl 402 gse_ext_$drm_rule external static fixed bin(24,0) dcl 13-6 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 13-15 gse_ext_$modes external static structure level 1 dcl 13-18 gse_ext_$smc_pathname external static char(168) unaligned dcl 13-16 gtss_CFP_abort_ 000000 constant entry external dcl 9-9 gtss_CFP_break_ 000000 constant entry external dcl 9-10 gtss_CFP_input_ 000000 constant entry external dcl 9-11 gtss_CFP_output_ 000000 constant entry external dcl 9-12 gtss_abandon_CFP_ 000000 constant entry external dcl 9-13 gtss_abort_dump_ 000000 constant entry external dcl 9-14 gtss_abort_subsystem_ 000000 constant entry external dcl 9-15 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 9-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 9-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 9-20 gtss_abs_$create_absin 000000 constant entry external dcl 9-21 gtss_abs_$dabt_check 000000 constant entry external dcl 9-22 gtss_abs_$get_drm 000000 constant entry external dcl 9-24 gtss_abs_$get_id 000000 constant entry external dcl 9-23 gtss_abs_login_banner_ 000000 constant entry external dcl 9-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 9-18 gtss_adjust_size_ 000000 constant entry external dcl 9-25 gtss_aft_$add 000000 constant entry external dcl 9-26 gtss_aft_$delete 000000 constant entry external dcl 9-27 gtss_aft_$find 000000 constant entry external dcl 9-28 gtss_aft_$initialize 000000 constant entry external dcl 9-29 gtss_attributes_mgr_$get 000000 constant entry external dcl 9-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 9-32 gtss_break_vector_ 000000 constant entry external dcl 9-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 9-36 gtss_break_vector_$status 000000 constant entry external dcl 9-37 gtss_build_ 000000 constant entry external dcl 9-38 gtss_com_err_ 000000 constant entry external dcl 9-39 gtss_derail_processor_ 000000 constant entry external dcl 9-40 gtss_derail_processor_$set 000000 constant entry external dcl 9-41 gtss_dq_$catp 000000 constant entry external dcl 9-42 gtss_dq_$create 000000 constant entry external dcl 9-43 gtss_dq_$dibp 000000 constant entry external dcl 9-44 gtss_dq_$entries_info 000000 constant entry external dcl 9-45 gtss_dq_$hdrp 000000 constant entry external dcl 9-46 gtss_dq_$mod_js 000000 constant entry external dcl 9-47 gtss_dq_$open_exc 000000 constant entry external dcl 9-48 gtss_dq_$open_gen 000000 constant entry external dcl 9-49 gtss_drl_abort_ 000000 constant entry external dcl 9-50 gtss_drl_addmem_ 000000 constant entry external dcl 9-51 gtss_drl_callss_ 000000 constant entry external dcl 9-52 gtss_drl_corfil_ 000000 constant entry external dcl 9-53 gtss_drl_defil_ 000000 constant entry external dcl 9-54 gtss_drl_defil_$subr 000000 constant entry external dcl 9-55 gtss_drl_dio_ 000000 constant entry external dcl 9-56 gtss_drl_drlimt_ 000000 constant entry external dcl 9-57 gtss_drl_drlsav_ 000000 constant entry external dcl 9-58 gtss_drl_filact_ 000000 constant entry external dcl 9-59 gtss_drl_filsp_ 000000 constant entry external dcl 9-60 gtss_drl_grow_ 000000 constant entry external dcl 9-61 gtss_drl_gwake_ 000000 constant entry external dcl 9-62 gtss_drl_jsts_ 000000 constant entry external dcl 9-63 gtss_drl_kin_ 000000 constant entry external dcl 9-64 gtss_drl_kotnow_ 000000 constant entry external dcl 9-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 9-66 gtss_drl_koutn_ 000000 constant entry external dcl 9-67 gtss_drl_morlnk_ 000000 constant entry external dcl 9-68 gtss_drl_msub_ 000000 constant entry external dcl 9-69 gtss_drl_objtim_ 000000 constant entry external dcl 9-70 gtss_drl_part_ 000000 constant entry external dcl 9-71 gtss_drl_pasaft_ 000000 constant entry external dcl 9-72 gtss_drl_pasdes_ 000000 constant entry external dcl 9-73 gtss_drl_pasust_ 000000 constant entry external dcl 9-74 gtss_drl_pdio_ 000000 constant entry external dcl 9-75 gtss_drl_prgdes_ 000000 constant entry external dcl 9-76 gtss_drl_pseudo_ 000000 constant entry external dcl 9-77 gtss_drl_relmem_ 000000 constant entry external dcl 9-78 gtss_drl_restor_ 000000 constant entry external dcl 9-79 gtss_drl_retfil_ 000000 constant entry external dcl 9-80 gtss_drl_return_ 000000 constant entry external dcl 9-81 gtss_drl_rew_ 000000 constant entry external dcl 9-82 gtss_drl_rstswh_ 000000 constant entry external dcl 9-83 gtss_drl_setlno_ 000000 constant entry external dcl 9-84 gtss_drl_setswh_ 000000 constant entry external dcl 9-85 gtss_drl_snumb_ 000000 constant entry external dcl 9-86 gtss_drl_spawn_ 000000 constant entry external dcl 9-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 9-88 gtss_drl_stoppt_ 000000 constant entry external dcl 9-89 gtss_drl_switch_ 000000 constant entry external dcl 9-90 gtss_drl_sysret_ 000000 constant entry external dcl 9-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 9-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 9-93 gtss_drl_t_err_ 000000 constant entry external dcl 9-94 gtss_drl_t_goto_ 000000 constant entry external dcl 9-95 gtss_drl_t_linl_ 000000 constant entry external dcl 9-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 9-97 gtss_drl_tapein_ 000000 constant entry external dcl 9-98 gtss_drl_task_ 000000 constant entry external dcl 9-99 gtss_drl_termtp_ 000000 constant entry external dcl 9-100 gtss_drl_time_ 000000 constant entry external dcl 9-101 gtss_drun_ 000000 constant entry external dcl 9-102 gtss_dsd_lookup_ 000000 constant entry external dcl 9-103 gtss_dsd_process_ 000000 constant entry external dcl 9-104 gtss_edit_dsd_ 000000 constant entry external dcl 9-105 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 9-108 gtss_ext_$CFP_bits external static structure level 1 dcl 6-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 6-33 gtss_ext_$aem external static fixed bin(17,0) dcl 6-8 gtss_ext_$bad_drl_rtrn external static label variable dcl 6-9 gtss_ext_$com_reg external static structure level 1 dcl 6-45 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 6-11 gtss_ext_$dispose_of_drl external static label variable dcl 6-12 gtss_ext_$drl_rtrn external static label variable array dcl 6-13 gtss_ext_$drm_path external static char(168) unaligned dcl 6-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 6-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 6-16 gtss_ext_$fast_lib external static structure level 1 dcl 6-98 gtss_ext_$finished external static label variable dcl 6-17 gtss_ext_$flags external static structure level 1 dcl 6-60 gtss_ext_$gdb_name external static char(8) unaligned dcl 6-18 gtss_ext_$get_line external static entry variable dcl 6-19 gtss_ext_$gtss_slave_area_seg external static pointer array dcl 6-20 gtss_ext_$homedir external static char(64) unaligned dcl 6-22 gtss_ext_$last_k_was_out external static bit(1) dcl 6-23 gtss_ext_$mcfc external static structure level 1 dcl 6-109 gtss_ext_$pdir external static varying char(168) dcl 6-24 gtss_ext_$popup_from_pi external static label variable dcl 6-25 gtss_ext_$ppt external static pointer dcl 6-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 6-26 gtss_ext_$put_chars external static entry variable dcl 6-27 gtss_ext_$restart_from_pi external static label variable dcl 6-28 gtss_ext_$restart_seg_ptr external static pointer dcl 6-29 gtss_ext_$sig_ptr external static pointer dcl 6-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 6-31 gtss_ext_$statistics external static structure level 1 dcl 6-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 6-32 gtss_ext_$user_id external static varying char(26) dcl 6-34 gtss_ext_$work_area_ptr external static pointer dcl 6-35 gtss_fault_processor_ 000000 constant entry external dcl 9-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 9-111 gtss_filact_funct02_ 000000 constant entry external dcl 9-113 gtss_filact_funct03_ 000000 constant entry external dcl 9-114 gtss_filact_funct04_ 000000 constant entry external dcl 9-115 gtss_filact_funct05_ 000000 constant entry external dcl 9-116 gtss_filact_funct08_ 000000 constant entry external dcl 9-117 gtss_filact_funct10_ 000000 constant entry external dcl 9-118 gtss_filact_funct11_ 000000 constant entry external dcl 9-119 gtss_filact_funct14_ 000000 constant entry external dcl 9-120 gtss_filact_funct18_ 000000 constant entry external dcl 9-121 gtss_filact_funct19_ 000000 constant entry external dcl 9-122 gtss_filact_funct21_ 000000 constant entry external dcl 9-123 gtss_filact_funct22_ 000000 constant entry external dcl 9-124 gtss_find_cond_frame_ 000000 constant entry external dcl 9-110 gtss_interp_prim_ 000000 constant entry external dcl 9-126 gtss_interp_prim_$callss 000000 constant entry external dcl 9-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 9-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 9-129 gtss_ios_change_size_ 000000 constant entry external dcl 9-130 gtss_ios_close_ 000000 constant entry external dcl 9-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 9-132 gtss_ios_initialize_ 000000 constant entry external dcl 9-133 gtss_ios_io_ 000000 constant entry external dcl 9-134 gtss_ios_open_ 000000 constant entry external dcl 9-135 gtss_ios_position_ 000000 constant entry external dcl 9-136 gtss_mcfc_$close 000000 constant entry external dcl 9-139 gtss_mcfc_$delete 000000 constant entry external dcl 9-137 gtss_mcfc_$open 000000 constant entry external dcl 9-138 gtss_mcfc_empty 000000 constant entry external dcl 9-106 gtss_mcfc_init_ 000000 constant entry external dcl 9-125 gtss_read_starCFP_ 000000 constant entry external dcl 9-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 9-141 gtss_run_subsystem_ 000000 constant entry external dcl 9-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 9-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 9-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 9-145 gtss_set_slave_ 000000 constant entry external dcl 9-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 9-147 gtss_update_safe_store_ 000000 constant entry external dcl 9-148 gtss_verify_access_ 000000 constant entry external dcl 9-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 9-150 gtss_write_starCFP_ 000000 constant entry external dcl 9-151 lbx internal static fixed bin(17,0) initial dcl 8-42 lpx internal static fixed bin(17,0) initial dcl 8-42 mc based structure level 1 dcl 8-12 msf_manager_$acl_replace 000000 constant entry external dcl 385 sbx internal static fixed bin(17,0) initial dcl 8-42 scu based structure level 1 dcl 8-56 scup automatic pointer dcl 8-54 scux based structure level 1 dcl 8-207 spx internal static fixed bin(17,0) initial dcl 8-42 t1c based structure level 1 dcl 11-108 NAMES DECLARED BY EXPLICIT CONTEXT. bcd_message 002251 constant entry internal dcl 2-5 ref 61 could_not_modify_catalog 000226 constant label dcl 58 ref 79 101 134 146 165 180 216 236 281 291 gal 002530 constant label dcl 3-47 ref 3-36 get_ascii_file_name 002404 constant entry internal dcl 3-5 ref 57 get_faulty_cat_file_entry 002241 constant entry internal dcl 1-2 ref 67 gtss_filact_funct10_ 000074 constant entry external dcl 15 ret 000370 constant label dcl 68 return_err4 000162 constant label dcl 48 ref 82 120 210 3-21 3-40 4-13 4-17 set_general_permissions 000731 constant entry internal dcl 115 ref 93 set_specific_permissions 001356 constant entry internal dcl 209 ref 94 validate_status 002756 constant entry internal dcl 4-5 ref 55 NAMES DECLARED BY CONTEXT OR IMPLICATION. char builtin function ref 155 169 257 265 empty builtin function ref 124 226 index builtin function ref 137 154 248 255 length builtin function ref 107 107 2-21 null builtin function ref 344 388 390 391 392 395 403 418 420 11-12 11-83 11-216 11-230 125 125 227 227 307 4-9 rtrim builtin function ref 61 61 103 104 107 107 248 255 258 266 string builtin function ref 3-66 translate builtin function ref 3-54 unspec builtin function ref 4-22 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3510 3566 3233 3520 Length 4252 3233 56 447 254 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_filact_funct10_ 858 external procedure is an external procedure. set_general_permissions internal procedure shares stack frame of external procedure gtss_filact_funct10_. set_specific_permissions internal procedure shares stack frame of external procedure gtss_filact_funct10_. get_faulty_cat_file_entry internal procedure shares stack frame of external procedure gtss_filact_funct10_. bcd_message 85 internal procedure is called during a stack extension. get_ascii_file_name internal procedure shares stack frame of external procedure gtss_filact_funct10_. validate_status internal procedure shares stack frame of external procedure gtss_filact_funct10_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bcd_message 000100 n bcd_message 000101 f bcd_message 000102 l bcd_message 000104 bmp bcd_message gtss_filact_funct10_ 000100 new_name_ptr gtss_filact_funct10_ 000102 altname_ptr gtss_filact_funct10_ 000104 arglist_ptr gtss_filact_funct10_ 000106 arg_ptr gtss_filact_funct10_ 000110 attribute_segment_ptr gtss_filact_funct10_ 000112 cat_filedescr_name_offset gtss_filact_funct10_ 000114 descriptor_ptr gtss_filact_funct10_ 000116 dname gtss_filact_funct10_ 000170 ename gtss_filact_funct10_ 000200 entry_name gtss_filact_funct10_ 000204 gseg gtss_filact_funct10_ 000206 mem_top gtss_filact_funct10_ 000207 i gtss_filact_funct10_ 000210 new_ename gtss_filact_funct10_ 000220 nic gtss_filact_funct10_ 000221 new_dir gtss_filact_funct10_ 000273 old_dir gtss_filact_funct10_ 000346 p gtss_filact_funct10_ 000350 status_ptr gtss_filact_funct10_ 000352 mcp gtss_filact_funct10_ 000354 ascii_cat_file gtss_filact_funct10_ 000402 FMS_cat_ptr gtss_filact_funct10_ 000404 Type_1_ptr gtss_filact_funct10_ 000406 Type_4_ptr gtss_filact_funct10_ 000410 buffer_ptr gtss_filact_funct10_ 000420 acl_count set_general_permissions 000422 pp set_general_permissions 000424 pstr set_general_permissions 000427 delete_acl set_general_permissions 000440 dir_acl set_general_permissions 000452 da_ptr set_general_permissions 000464 da_ptr set_specific_permissions 000466 da_count set_specific_permissions 000467 acl_count set_specific_permissions 000470 acl_ptr set_specific_permissions 000472 ascii_id set_specific_permissions 000475 c set_specific_permissions 000476 found_sw set_specific_permissions 000477 k set_specific_permissions 000500 n set_specific_permissions 000502 op set_specific_permissions 000504 pp set_specific_permissions 000506 pstr set_specific_permissions 000511 rp_sw set_specific_permissions 000532 ap get_ascii_file_name 000544 status_pointer validate_status THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this_desc return mod_fx1 shorten_stack ext_entry int_entry_desc set_cs_eis index_cs_eis any_to_any_tr alloc_based_storage free_based empty THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gtss_ascii_bcd_ gtss_bcd_ascii_ gtss_bcd_ascii_$lc gtss_expand_pathname_ gtss_filact_error_status_ hcs_$add_dir_acl_entries hcs_$chname_file hcs_$delete_dir_acl_entries hcs_$list_dir_acl hcs_$replace_dir_acl ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$namedup error_table_$segnamedup gse_ext_$umc_name gtss_dfd_ext_$disk_file_data gtss_ext_$aft gtss_ext_$db gtss_ext_$hcs_work_area_ptr gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000066 344 000101 388 000103 390 000104 391 000105 392 000106 395 000107 399 000110 403 000113 414 000114 418 000117 420 000120 11 12 000121 11 83 000122 11 216 000123 11 230 000124 37 000125 38 000131 39 000140 40 000143 41 000146 43 000151 46 000152 48 000162 49 000163 50 000166 52 000167 55 000173 57 000202 58 000226 61 000247 67 000357 68 000370 69 000371 73 000372 79 000422 82 000425 84 000436 86 000442 93 000466 94 000467 95 000470 96 000474 97 000523 98 000526 100 000537 101 000542 103 000543 104 000602 105 000626 106 000635 107 000644 109 000722 110 000723 112 000725 113 000730 115 000731 119 000732 120 000740 122 000744 123 000747 124 000754 125 000761 134 001023 135 001026 137 001045 138 001057 139 001063 146 001121 147 001124 149 001126 150 001131 154 001141 155 001154 156 001170 157 001206 165 001247 166 001252 167 001254 168 001255 169 001260 170 001274 171 001307 172 001311 173 001312 180 001350 182 001353 183 001355 209 001356 307 001357 210 001361 212 001372 215 001376 216 001406 217 001420 219 001422 222 001426 223 001427 224 001434 225 001435 226 001436 227 001443 236 001505 237 001510 238 001512 239 001521 240 001522 241 001526 242 001531 247 001553 248 001571 249 001637 250 001641 251 001651 253 001653 254 001656 255 001665 256 001733 257 001736 258 001753 259 002011 260 002014 262 002016 263 002020 264 002031 265 002032 266 002046 267 002120 268 002123 271 002125 272 002127 273 002132 281 002172 283 002175 284 002177 291 002231 293 002234 294 002240 1 2 002241 1 7 002243 2 5 002250 2 18 002264 2 19 002271 2 21 002275 2 22 002276 2 23 002301 2 24 002303 2 25 002305 2 28 002307 2 29 002313 2 30 002327 2 32 002333 2 33 002365 2 34 002374 2 35 002403 3 5 002404 3 16 002406 3 17 002411 3 19 002413 3 21 002427 3 23 002430 3 25 002434 3 26 002441 3 27 002447 3 30 002452 3 32 002455 3 33 002461 3 35 002467 3 36 002471 3 39 002472 3 40 002510 3 43 002511 3 44 002517 3 45 002525 3 47 002530 3 48 002531 3 52 002541 3 53 002553 3 54 002555 3 57 002574 3 58 002575 3 64 002623 3 66 002625 3 67 002631 3 68 002647 3 69 002657 3 70 002707 3 73 002711 3 75 002727 3 76 002736 3 78 002744 3 81 002746 3 82 002750 4 5 002756 4 9 002760 4 13 002762 4 17 002774 4 21 003011 4 22 003017 4 23 003022 ----------------------------------------------------------- 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