COMPILATION LISTING OF SEGMENT gtss_filact_funct02_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1306.2 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_funct02_: proc (mcp_val, high_val, gseg_val, arg_ptr_val, buffer_ptr_val, code); 16 17 /** Derail FILACT function 02 (CC - Create 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* Authors: Robert J. Alvarado Created 1979 26* Change: Paul Benjamin 10/08/79 Enable setting of permissions 27* Change: Paul Benjamin 12/14/79 New acls for propagation of permissions 28* Change: Ron Barstad 06/11/82 Fixed stringsize conditions on assign to pstr 29***/ 30 dcl mcp_val ptr parm; 31 dcl high_val fixed bin(18)unsigned unal parm; 32 dcl gseg_val ptr parm; 33 dcl arg_ptr_val ptr parm; 34 dcl buffer_ptr_val ptr parm; 35 dcl code fixed bin(35)parm; 36 mcp = mcp_val; 37 mem_top = high_val; 38 gseg = gseg_val; 39 arg_ptr = arg_ptr_val; 40 buffer_ptr = buffer_ptr_val; 41 42 code = 0; /* Successful. */ 43 44 /** Obtain create catalog arglist. */ 45 if (CC_args.L_arglist < mem_bottom) | 46 ((CC_args.L_arglist +3) > mem_top) then do; 47 return_err4: ; 48 code = 4; 49 return; 50 end; 51 arglist_ptr = addrel (gseg, CC_args.L_arglist); 52 53 /** Obtain return status. **/ 54 call validate_status (CC_arglist.L_status_return, status_ptr); 55 56 if CC_arglist.L_permissions ^= 0 then 57 if (CC_arglist.L_permissions < mem_bottom) 58 | (CC_arglist.L_permissions > mem_top) then 59 goto return_err4; 60 61 if get_ascii_file_name ("0"b, CC_arglist.L_cat_filedescr, addr (ascii_cat_file)) then do; 62 status_word.status = "4005"b3; 63 could_not_create_catalog: ; 64 call bcd_message ( 65 status2.L_bcd_message 66 , status2.message_words 67 , buffer_ptr 68 , "Could not create catalog."||rtrim (gtss_file_values.dname)||">"||rtrim (gtss_file_values.ename) 69 ); 70 status_word.pd = get_faulty_cat_file_entry (); 71 status_word.status = "400500"b3; /* Could not access catalog specified. */ 72 ret: ; 73 return; 74 end; 75 76 77 call gtss_expand_pathname_ ( 78 addr (ascii_cat_file) 79 , gtss_file_values.dname 80 , gtss_file_values.ename 81 , code 82 ); 83 if code ^= 0 then goto could_not_create_catalog; 84 /** Create Catalog now **/ 85 86 call hcs_$append_branchx ( 87 dname 88 , ename 89 , fixed ("01011"b, 5) 90 , rings 91 , "*.*.*" 92 , 1b 93 , 0 94 , 0 95 , code 96 ); 97 if code ^= 0 then 98 goto could_not_create_catalog; 99 100 /** NOTE: permissions are not being checked with this release, however 101*SMA will be set for *.*.* **/ 102 call set_general_permissions; 103 104 call set_specific_permissions; 105 106 107 status_word.status = "400000"b3; 108 goto ret; 109 110 set_general_permissions: proc; 111 112 /* Set general permissions 113* => Multics *.*.* access. 114**/ 115 116 /** Obtain permissions. **/ 117 if CC_arglist.L_permissions = 0 then return; 118 if (CC_arglist.L_permissions < mem_bottom) | 119 (CC_arglist.L_permissions > mem_top) then goto return_err4; 120 pp = addrel (gseg, CC_arglist.L_permissions); 121 if pp -> b36 = (36)"1"b then return; 122 if pp -> fb18 = 0 then; 123 124 /* Deletes ignored for create catalog */ 125 else do; 126 127 /* => Set specific general permissions. */ 128 if code ^= 0 then goto could_not_create_catalog; 129 pstr = substr(char (pp -> b36),1,10); 130 access_name = pstr||".*.g"; /* Create propagation acl. */ 131 modes = "0"b; 132 status_code = 0; 133 call hcs_$add_dir_acl_entries ( 134 dname 135 , ename 136 , addr (dir_acl) 137 , 1 138 , code 139 ); 140 if code ^= 0 then goto could_not_create_catalog; 141 end; 142 return; 143 144 dcl pp ptr; 145 dcl fb18 fixed bin(18)unsigned unal based; 146 dcl b36 bit(36)aligned based; 147 dcl bits (0:35)bit(1)unal based; 148 dcl pstr char(10); 149 150 dcl 1 dir_acl, 151 2 access_name char(32), 152 2 modes bit(36), 153 2 status_code fixed bin(35); 154 end /* set_general_permissions */; 155 156 set_specific_permissions: proc; 157 if (L_optionsmem_top) then goto return_err4; 159 op = addrel (gseg, L_options); 160 161 /* Determine number of specific user permissions. */ 162 do n = 0 by 1 while (end_of_list ^= -1); 163 if (L_options + 3 + (3*n))>mem_top then goto could_not_create_catalog; 164 end; 165 166 if n < 1 then return; 167 168 /* User specific permissions. */ 169 acl_count = n; 170 allocate dir_acl set (acl_ptr); 171 acl_count = 0; 172 rp_sw = "0"b; 173 a = empty (); 174 call hcs_$list_dir_acl ( 175 dname 176 , ename 177 , gtss_ext_$hcs_work_area_ptr 178 , da_ptr 179 , null () 180 , da_count 181 , code 182 ); 183 if code ^= 0 then goto could_not_create_catalog; 184 c = da_count; 185 do k = 1 to n; 186 found_sw = "0"b; 187 pp = addr (user (k).specific_permission); 188 if pp -> b36 ^= (36)"1"b then do; 189 call gtss_bcd_ascii_ ( 190 addr (user.id (k)) 191 , 12 192 , addr (ascii_id) 193 ); 194 if pp -> fb18 = 0 then do i = 1 to da_count; /* delete */ 195 if index (da_name (i), "."||rtrim (ascii_id)||".g") ^= 0 then do; 196 acl_count = acl_count + 1; 197 del_name (acl_count) = da_name (i); 198 i = da_count; 199 end; 200 end; 201 else do i = 1 to c; /* Replace */ 202 if index (da_name (i), "."||rtrim (ascii_id)||".g") ^= 0 then do; 203 found_sw = "1"b; 204 pstr = substr(char (pp -> b36),1,10); 205 da_name (i) = pstr||"."||rtrim (ascii_id)||".g"; 206 rp_sw = "1"b; 207 i = c; 208 end; 209 end; 210 if pp -> fb18 ^= 0 & found_sw = "0"b then do; 211 da_count = da_count + 1; 212 pstr = substr(char (pp -> b36),1,10); 213 da_name (da_count) = pstr||"."||rtrim (ascii_id)||".g"; 214 da_modes (da_count) = "0"b; 215 rp_sw = "1"b; 216 end; 217 end; 218 end; /* of do k = 1 to n ... */ 219 if rp_sw = "1"b then do; 220 call hcs_$replace_dir_acl ( 221 dname 222 , ename 223 , da_ptr 224 , da_count 225 , "1"b 226 , code 227 ); 228 if code ^= 0 then goto could_not_create_catalog; 229 end; 230 if acl_count ^= 0 then do; 231 call hcs_$delete_dir_acl_entries ( 232 dname 233 , ename 234 , acl_ptr 235 , acl_count 236 , code 237 ); 238 if code ^= 0 then goto could_not_create_catalog; 239 end; 240 free dir_acl; 241 return; 242 243 dcl a area(1000) based (gtss_ext_$hcs_work_area_ptr); 244 245 dcl da_ptr ptr; 246 247 dcl da_count fixed bin; 248 249 dcl 1 da_array (da_count) based (da_ptr), 250 2 da_name char(32), 251 2 da_modes bit(36), 252 2 da_code fixed bin(35); 253 dcl acl_count fixed bin; 254 dcl acl_ptr ptr init(null()); 255 dcl ascii_id char(12); 256 dcl b36 bit(36)aligned based; 257 dcl c fixed bin; 258 dcl fb18 fixed bin(18)unsigned unal based; 259 dcl found_sw bit(1); 260 dcl k fixed bin; 261 dcl n fixed bin(24); 262 dcl op ptr; 263 dcl pp ptr; 264 dcl pstr char(10); 265 dcl rp_sw bit(1); 266 267 dcl 1 option_args aligned based(op) 268 , 2 word1 269 , 3 opt (0:35)bit(1)unal 270 , 2 word2 271 , 3 initial_size fixed bin(18)unsigned unal 272 , 3 max_size fixed bin(18)unsigned unal 273 , 2 user (n) 274 , 3 id bit(72) 275 , 3 specific_permission bit(36) 276 , 2 end_of_list fixed bin(35) 277 , 2 user_attributes bit(36) 278 ; 279 280 dcl 1 delete_acl (acl_count) aligned based(acl_ptr), 281 2 del_name char(32), 282 2 status_code2 fixed bin(35); 283 284 dcl 1 dir_acl (acl_count)aligned based(acl_ptr), 285 2 access_name char(32), 286 2 modes bit(36), 287 2 status_code fixed bin(35); 288 end /* set_specific_permissions */; 289 290 /* (CC) Create Catalog Declarations. */ 291 dcl new_name_ptr ptr init(null()); 292 293 dcl 1 CC_new_name aligned based(new_name_ptr) 294 , 3 newname bit(72) 295 , 3 newpassword bit(72) 296 ; 297 298 dcl 1 CC_args aligned based(arg_ptr) 299 , 3 word1 300 , 4 zero fixed bin(18)unsigned unal 301 , 4 L_arglist fixed bin(18)unsigned unal 302 , 3 word2 303 , 4 CC_function_no fixed bin(18)unsigned unal 304 , 4 L_buffer fixed bin(18)unsigned unal 305 ; 306 307 dcl 1 CC_arglist aligned based(arglist_ptr) 308 , 3 word1 309 , 4 L_status_return fixed bin(18)unsigned unal 310 , 4 zero fixed bin(18)unsigned unal 311 , 3 word2 312 , 4 L_cat_filedescr fixed bin(18)unsigned unal 313 , 4 L_permissions fixed bin(18)unsigned unal 314 , 3 word3 315 , 4 L_options fixed bin(18)unsigned unal 316 , 4 L_newname fixed bin(18)unsigned unal 317 ; 318 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 */ 319 320 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 */ 321 322 323 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 */ 324 325 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 */ 326 327 328 /** Declarations for gtss_drl_filact_: 329* IDENTIFIER ATTRIBUTES **/ 330 dcl fcb_ptr ptr init(null()); 331 dcl access_mode bit (6); 332 dcl addr builtin; 333 dcl addrel builtin; 334 dcl aft_code fixed bin (35); 335 dcl aft_name char (8); 336 dcl altname char (8) aligned based (altname_ptr); 337 dcl altname_ptr ptr init(null()); 338 dcl append_mode bit (36) static int options(constant)init ("100000000000"b3); 339 dcl arglist_ptr ptr init(null()); 340 dcl arg_ptr ptr init(null()); 341 dcl attribute_segment_ptr ptr init(null()); 342 dcl bit builtin; 343 dcl bit72 bit(72)aligned based; 344 dcl bit_count fixed bin (24); 345 dcl cat_filedescr_name_offset fixed bin(18)unsigned unal ; 346 dcl cdate fixed bin (71); 347 dcl clim float bin; 348 dcl crf fixed bin(24); 349 dcl csp float bin; 350 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 351 dcl descriptor_address fixed bin(18)unsigned unal ; 352 dcl descriptor_ptr ptr init(null()); 353 dcl dir_name char (168); 354 dcl divide builtin; 355 dcl entry_name char (12) init (" "); 356 dcl error_table_$incorrect_access fixed bin (35) ext; 357 dcl error_table_$moderr fixed bin (35) ext; 358 dcl error_table_$namedup fixed bin (35) ext; 359 dcl error_table_$noentry fixed bin (35) ext; 360 dcl error_table_$nomatch fixed bin (35) ext; 361 dcl error_table_$not_seg_type fixed bin(35)ext; 362 dcl error_table_$no_dir fixed bin (35) ext; 363 dcl error_table_$segknown fixed bin (35) ext; 364 dcl error_table_$seg_not_found fixed bin (35) ext; 365 dcl execute_mode bit (36) static int options(constant)init ("200000000000"b3); 366 dcl file_name_in_ascii bit(1); 367 dcl file_no fixed bin (24); 368 dcl fixed builtin; 369 dcl FMS_block_ptr ptr init(null()); 370 dcl four_NULS char (4)static int options (constant)init ((4)"") /* 4 octal 000's */; 371 dcl gseg ptr init(null()); 372 dcl gtss_fail condition; 373 dcl have_file bit(1); 374 dcl hbound builtin; 375 dcl hcs_$add_acl_entries entry (char (*), char (*), ptr, fixed bin(24), fixed bin (35)); 376 dcl hcs_$add_dir_acl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (35)); 377 dcl hcs_$add_inacl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (3), fixed bin (35)); 378 dcl hcs_$append_branchx entry (char (*), char (*), fixed bin (5), (3) fixed bin (3), char (*), fixed bin (1), fixed bin (1), fixed bin (24), fixed bin (35)); 379 dcl hcs_$delentry_file entry(char(*),char(*),fixed bin(35)); 380 dcl hcs_$delete_dir_acl_entries entry (char(*), char(*), ptr, fixed bin, fixed bin(35)); 381 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 382 dcl hcs_$list_dir_acl entry (char(*), char(*), ptr, ptr, ptr, fixed bin, fixed bin(35)); 383 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 384 dcl hcs_$quota_read entry (char (*), fixed bin (18), fixed bin (71), bit (36) aligned, bit (36), fixed bin (1), fixed bin (18), fixed bin (35)); 385 dcl hcs_$replace_dir_acl entry (char(*), char(*), ptr, fixed bin, bit(1), fixed bin(35)); 386 dcl hcs_$status_long entry (char (*), char (*), fixed bin (1), ptr,ptr, fixed bin (35)); 387 dcl mem_top fixed bin(18)unsigned aligned; 388 dcl i fixed bin(24); 389 dcl increment fixed bin(24); 390 dcl ioa_ entry options (variable); 391 dcl k fixed bin(24); 392 dcl l fixed bin(24); 393 dcl lbound builtin; 394 dcl mem_bottom fixed bin(18)unsigned aligned static int options(constant)init(103); 395 dcl max_options fixed bin static int options(constant)init (100); 396 dcl max_resources fixed bin static int options(constant)init (99999); 397 dcl minus_one bit (36) static int options(constant)init ((36)"1"b); 398 dcl mlim float bin; 399 dcl mod builtin; 400 dcl modify_mode bit (36) static int options(constant)init ("200000000000"b3); 401 dcl msp float bin; 402 dcl multics_access_mode fixed bin(5); 403 dcl nic fixed bin(24); 404 dcl p ptr init(null()); 405 dcl path_name char (168) varying; 406 dcl permission_word bit(36)aligned based; 407 dcl person_id char (22); 408 dcl quota fixed bin (18); 409 dcl read_mode bit (36) static int options(constant)init ("400000000000"b3); 410 dcl rel builtin; 411 dcl rings (3) fixed bin (3) static int options(constant)init (4, 4, 4); 412 dcl shlim (0:7) float bin; 413 dcl shsp (0:7) float bin; 414 dcl size builtin; 415 dcl smc_entry_ptr ptr init(null()); 416 dcl sons_lvid bit (36); 417 dcl status fixed bin (24); 418 dcl status_mode bit (36) static int options(constant)init ("400000000000"b3); 419 dcl status_ptr ptr init(null()); 420 dcl substr builtin; 421 dcl switches bit (6) static int options(constant)init ("37"b3); 422 dcl tacc_sw fixed bin (1); 423 dcl trp fixed bin (71); 424 dcl tup bit (36) aligned; 425 dcl two_words bit (72) based; 426 dcl type fixed bin (2); 427 dcl used fixed bin (18); 428 dcl user_attribute_word bit (35); 429 dcl user_info_$limits entry (float bin, float bin, fixed bin (71), fixed bin(24), (0:7) float bin, float bin, float bin, (0:7) float bin); 430 dcl words380 bit(13680)aligned based; 431 dcl write_mode bit (36) static int options(constant)init ("100000000000"b3); 432 433 dcl 1 status2 aligned based(status_ptr) 434 , 3 word1 435 , 4 status_code bit(12)unal 436 , 4 zero1 bit(06)unal 437 , 4 zero2 fixed bin(18)unsigned unal 438 , 3 word2 439 , 4 L_bcd_message bit(18) unal 440 , 4 message_words fixed bin(18)unsigned unal 441 ; 442 443 dcl 1 bcdname aligned based(p), 444 2 first8 bit(48)unal, 445 2 last4 bit(24)unal; 446 447 448 dcl 1 status_word aligned based (status_ptr), 449 2 status bit(18) unal, 450 2 pd fixed bin(18)unsigned unal, 451 2 null_bit bit (1) unal, 452 2 user_attributes bit (35) unal; 453 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 */ 454 455 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 */ 456 457 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 */ 458 459 8 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 8 2 /* 8 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 8 4* Change: Dave Ward 06/08/78 made attributes constant. 8 5* Change: Dave Ward 08/17/81 made lengths same as constans. 8 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 8 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 8 8**/ 8 9 dcl 1 gtss_pnterr static int options (constant), 8 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 8 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 8 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 8 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 8 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 8 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 8 16 2 err7 char(50) init("007-BAP PROG. DESC."), 8 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 8 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 8 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 8 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 8 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 8 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 8 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 8 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 8 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 8 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 8 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 8 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 8 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 8 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 8 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 8 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 8 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 8 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 8 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 8 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 8 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 8 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 8 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 8 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 8 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 8 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 8 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 8 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 8 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 8 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 8 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 8 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 8 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 8 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 8 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 8 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 8 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 8 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 8 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 8 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 8 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 8 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 8 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 8 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 8 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 8 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 8 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 8 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 8 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 8 66 2 err57 char(50) init("UNASSIGNED"), 8 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 8 68 2 err59 char(50) init("UNASSIGNED"), 8 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 8 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 8 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 8 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 8 73 2 err64 char(50) init("SY** I/O ERROR"), 8 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 8 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 8 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 8 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 8 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 8 79 2 err999 char(50) init("dummy"); 8 80 8 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 460 461 9 1 /* */ 9 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 9 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 9 4 /* Modified 07/07/76 by Morris for fault register data */ 9 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 9 6 /* Modified '82 to make values constant */ 9 7 9 8 /* words 0-15 pointer registers */ 9 9 9 10 dcl mcp ptr; 9 11 9 12 dcl 1 mc based (mcp) aligned, 9 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 9 14 (2 regs, /* registers */ 9 15 3 x (0:7) bit (18), /* index registers */ 9 16 3 a bit (36), /* accumulator */ 9 17 3 q bit (36), /* q-register */ 9 18 3 e bit (8), /* exponent */ 9 19 3 pad1 bit (28), 9 20 3 t bit (27), /* timer register */ 9 21 3 pad2 bit (6), 9 22 3 ralr bit (3), /* ring alarm register */ 9 23 9 24 2 scu (0:7) bit (36), 9 25 9 26 2 mask bit (72), /* mem controller mask at time of fault */ 9 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 9 28 2 errcode fixed bin (35), /* fault handler's error code */ 9 29 2 fim_temp, 9 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 9 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 9 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 9 33 2 fault_reg bit (36), /* fault register */ 9 34 2 pad2 bit (1), 9 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 9 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 9 37 2 fault_time bit (54), /* time of fault */ 9 38 9 39 2 eis_info (0:7) bit (36)) unaligned; 9 40 9 41 9 42 dcl (apx fixed bin init (0), 9 43 abx fixed bin init (1), 9 44 bpx fixed bin init (2), 9 45 bbx fixed bin init (3), 9 46 lpx fixed bin init (4), 9 47 lbx fixed bin init (5), 9 48 spx fixed bin init (6), 9 49 sbx fixed bin init (7)) internal static options (constant); 9 50 9 51 9 52 9 53 9 54 dcl scup ptr; 9 55 9 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 9 57 9 58 9 59 /* WORD (0) */ 9 60 9 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 9 62 3 prr bit (3), /* procedure ring register */ 9 63 3 psr bit (15), /* procedure segment register */ 9 64 3 p bit (1), /* procedure privileged bit */ 9 65 9 66 2 apu, /* APPENDING UNIT STATUS */ 9 67 3 xsf bit (1), /* ext seg flag - IT modification */ 9 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 9 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 9 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 9 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 9 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 9 73 3 dsptw bit (1), /* Fetch of DSPTW */ 9 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 9 75 3 sdwp bit (1), /* Fetch of SDW paged */ 9 76 3 ptw bit (1), /* Fetch of PTW */ 9 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 9 78 3 fap bit (1), /* Fetch of final address paged */ 9 79 3 fanp bit (1), /* Fetch of final address non-paged */ 9 80 3 fabs bit (1), /* Fetch of final address absolute */ 9 81 9 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 9 83 9 84 9 85 /* WORD (1) */ 9 86 9 87 2 fd, /* FAULT DATA */ 9 88 3 iro bit (1), /* illegal ring order */ 9 89 3 oeb bit (1), /* out of execute bracket */ 9 90 3 e_off bit (1), /* no execute */ 9 91 3 orb bit (1), /* out of read bracket */ 9 92 3 r_off bit (1), /* no read */ 9 93 3 owb bit (1), /* out of write bracket */ 9 94 3 w_off bit (1), /* no write */ 9 95 3 no_ga bit (1), /* not a gate */ 9 96 3 ocb bit (1), /* out of call bracket */ 9 97 3 ocall bit (1), /* outward call */ 9 98 3 boc bit (1), /* bad outward call */ 9 99 3 inret bit (1), /* inward return */ 9 100 3 crt bit (1), /* cross ring transfer */ 9 101 3 ralr bit (1), /* ring alarm register */ 9 102 3 am_er bit (1), /* associative memory fault */ 9 103 3 oosb bit (1), /* out of segment bounds */ 9 104 3 paru bit (1), /* processor parity upper */ 9 105 3 parl bit (1), /* processor parity lower */ 9 106 3 onc_1 bit (1), /* op not complete type 1 */ 9 107 3 onc_2 bit (1), /* op not complete type 2 */ 9 108 9 109 2 port_stat, /* PORT STATUS */ 9 110 3 ial bit (4), /* illegal action lines */ 9 111 3 iac bit (3), /* illegal action channel */ 9 112 3 con_chan bit (3), /* connect channel */ 9 113 9 114 2 fi_num bit (5), /* (fault/interrupt) number */ 9 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 9 116 9 117 9 118 /* WORD (2) */ 9 119 9 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 9 121 3 trr bit (3), /* temporary ring register */ 9 122 3 tsr bit (15), /* temporary segment register */ 9 123 9 124 2 pad2 bit (9), 9 125 9 126 2 cpu_no bit (3), /* CPU number */ 9 127 9 128 2 delta bit (6), /* tally modification DELTA */ 9 129 9 130 9 131 /* WORD (3) */ 9 132 9 133 2 word3 bit (18), 9 134 9 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 9 136 3 tsna, /* Word 1 status */ 9 137 4 prn bit (3), /* Word 1 PR number */ 9 138 4 prv bit (1), /* Word 1 PR valid bit */ 9 139 3 tsnb, /* Word 2 status */ 9 140 4 prn bit (3), /* Word 2 PR number */ 9 141 4 prv bit (1), /* Word 2 PR valid bit */ 9 142 3 tsnc, /* Word 3 status */ 9 143 4 prn bit (3), /* Word 3 PR number */ 9 144 4 prv bit (1), /* Word 3 PR valid bit */ 9 145 9 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 9 147 9 148 9 149 /* WORD (4) */ 9 150 9 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 9 152 9 153 2 ir, /* INDICATOR REGISTERS */ 9 154 3 zero bit (1), /* zero indicator */ 9 155 3 neg bit (1), /* negative indicator */ 9 156 3 carry bit (1), /* carryry indicator */ 9 157 3 ovfl bit (1), /* overflow indicator */ 9 158 3 eovf bit (1), /* eponent overflow */ 9 159 3 eufl bit (1), /* exponent underflow */ 9 160 3 oflm bit (1), /* overflow mask */ 9 161 3 tro bit (1), /* tally runout */ 9 162 3 par bit (1), /* parity error */ 9 163 3 parm bit (1), /* parity mask */ 9 164 3 bm bit (1), /* ^bar mode */ 9 165 3 tru bit (1), /* truncation mode */ 9 166 3 mif bit (1), /* multi-word instruction mode */ 9 167 3 abs bit (1), /* absolute mode */ 9 168 3 hex bit (1), /* hexadecimal exponent mode */ 9 169 3 pad bit (3), 9 170 9 171 9 172 /* WORD (5) */ 9 173 9 174 2 ca bit (18), /* COMPUTED ADDRESS */ 9 175 9 176 2 cu, /* CONTROL UNIT STATUS */ 9 177 3 rf bit (1), /* on first cycle of repeat instr */ 9 178 3 rpt bit (1), /* repeat instruction */ 9 179 3 rd bit (1), /* repeat double instruction */ 9 180 3 rl bit (1), /* repeat link instruciton */ 9 181 3 pot bit (1), /* IT modification */ 9 182 3 pon bit (1), /* return type instruction */ 9 183 3 xde bit (1), /* XDE from Even location */ 9 184 3 xdo bit (1), /* XDE from Odd location */ 9 185 3 poa bit (1), /* operation preparation */ 9 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 9 187 3 its bit (1), /* ITS modification */ 9 188 3 if bit (1), /* fault occured during instruction fetch */ 9 189 9 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 9 191 9 192 9 193 /* WORDS (6,7) */ 9 194 9 195 2 even_inst bit (36), /* even instruction of faulting pair */ 9 196 9 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 9 198 9 199 9 200 9 201 9 202 9 203 9 204 /* ALTERNATE SCU DECLARATION */ 9 205 9 206 9 207 dcl 1 scux based (scup) aligned, 9 208 9 209 (2 pad0 bit (36), 9 210 9 211 2 fd, /* GROUP II FAULT DATA */ 9 212 3 isn bit (1), /* illegal segment number */ 9 213 3 ioc bit (1), /* illegal op code */ 9 214 3 ia_am bit (1), /* illegal address - modifier */ 9 215 3 isp bit (1), /* illegal slave procedure */ 9 216 3 ipr bit (1), /* illegal procedure */ 9 217 3 nea bit (1), /* non existent address */ 9 218 3 oobb bit (1), /* out of bounds */ 9 219 3 pad bit (29), 9 220 9 221 2 pad2 bit (36), 9 222 9 223 2 pad3a bit (18), 9 224 9 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 9 226 3 prn bit (3), /* PR number */ 9 227 3 prv bit (1), /* PR valid bit */ 9 228 9 229 2 pad3b bit (6)) unaligned, 9 230 9 231 2 pad45 (0:1) bit (36), 9 232 9 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 9 234 9 235 9 236 9 237 /* END INCLUDE FILE mc.incl.pl1 */ 462 463 10 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 10 2 /* 10 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 10 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 10 5**/ 10 6 10 7 /** gtss external entry variables. **/ 10 8 dcl com_err_ entry() options(variable); 10 9 dcl gtss_CFP_abort_ entry options(variable); 10 10 dcl gtss_CFP_break_ entry options(variable); 10 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 10 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 10 13 dcl gtss_abandon_CFP_ entry options(variable); 10 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 10 15 dcl gtss_abort_subsystem_ entry options (variable); 10 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 10 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 10 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 10 19 dcl gtss_abs_$abs_equiv entry options(variable); 10 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 10 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 10 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 10 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 10 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 10 25 dcl gtss_adjust_size_ entry (ptr); 10 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 10 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 10 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 10 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 10 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 10 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 10 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 10 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 10 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 10 35 dcl gtss_break_vector_ entry (); 10 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 10 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 10 38 dcl gtss_build_ entry options(variable); 10 39 dcl gtss_com_err_ entry options(variable); 10 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 10 41 dcl gtss_derail_processor_$set entry options(variable); 10 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 10 43 dcl gtss_dq_$create entry (bit(1)); 10 44 dcl gtss_dq_$dibp entry (char(5), ptr); 10 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 10 46 dcl gtss_dq_$hdrp entry (ptr); 10 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 10 48 dcl gtss_dq_$open_exc entry (bit(1)); 10 49 dcl gtss_dq_$open_gen entry (bit(1)); 10 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 10 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 10 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 10 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 10 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 10 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 10 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 10 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 10 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 10 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 10 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 10 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 10 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 10 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 10 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 10 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 10 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 10 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 10 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 10 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 10 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 10 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 10 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 10 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 10 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 10 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 10 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 10 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 10 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 10 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 10 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 10 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 10 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 10 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 10 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 10 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 10 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 10 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 10 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 10 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 10 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 10 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 10 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 10 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 10 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 10 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 10 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 10 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 10 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 10 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 10 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 10 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 10 102 dcl gtss_drun_ entry (bit(1)); 10 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 10 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 10 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 10 106 dcl gtss_mcfc_empty entry (char(*) var); 10 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 10 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 10 109 dcl gtss_fault_processor_ entry options(variable); 10 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 10 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 10 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 10 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 10 125 dcl gtss_mcfc_init_ entry (char(*) var); 10 126 dcl gtss_interp_prim_ entry options(variable); 10 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 10 128 dcl gtss_interp_prim_$sysret entry options(variable); 10 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 10 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 10 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 10 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 10 133 dcl gtss_ios_initialize_ entry options(variable); 10 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 10 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 10 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 10 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 10 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 10 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 10 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 10 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 10 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 10 143 dcl gtss_run_subsystem_$finish entry options(variable); 10 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 10 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 10 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 10 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 10 148 dcl gtss_update_safe_store_ entry (ptr); 10 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 10 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 10 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 10 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 464 465 11 1 /* BEGIN INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 11 2 /* 11 3* Created: (Wardd Multics) 09/01/78 1447.3 mst Fri 11 4**/ 11 5 11 6 /** First parameter to gtss_expand_pathname_ 11 7* **/ 11 8 dcl 1 ascii_cat_file, 11 9 2 nn fixed bin, /* Number of names. */ 11 10 2 name (7)char(12); /* List of cat/filedescr name . */ 11 11 11 12 /* END INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 466 467 12 1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */ 12 2 /* 12 3* Created: (Wardd Multics) 09/01/78 1447.1 mst Fri 12 4**/ 12 5 12 6 /** The gtss_file_values structure provides parameters to the 12 7* gtss_attributes_mgr_ subroutine. 12 8* 12 9* The caller must provide space for this structure, fill in 12 10* the version with 1, the dname and ename with the file directory 12 11* and entry name, and for calls to gtss_attributes_mgr_$set, 12 12* fill in values to be reset and set the corresponding set_switch 12 13* to "1"b. 12 14* 12 15* If the (Multics) file located is a directory 12 16* a GCOS catalog is implied. 12 17* 12 18* If both ename and new_ename are set but no set_switch 12 19* is "1"b (and the set entry is called) this implies 12 20* that the existing attribute values are being renamed 12 21* to the new entry. 12 22* 12 23* Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code); 12 24* 12 25* Use of ename/new_ename combinations 12 26* for set entry. 12 27* 12 28* -|-----------|-----------|-|-----------------| 12 29* | ename |new_ename || meaning | 12 30* =|===========|===========|=|=================| 12 31* | blanks | blanks || illegal | 12 32* -|-----------|-----------|-|-----------------| 12 33* | blanks |not blanks|| initial | 12 34* | | || setting | 12 35* -|-----------|-----------|-|-----------------| 12 36* |not blanks| blanks || check enames's | 12 37* | | ||attribute values| 12 38* | | || and reset. | 12 39* -|-----------|-----------|-|-----------------| 12 40* |not blanks|not blanks|| delete ename's | 12 41* | | || values and put | 12 42* | | || on values for | 12 43* | | || new_ename's | 12 44* -|-----------|-----------|-|-----------------| 12 45***/ 12 46 dcl attr_name (0:7)char(4)static int options(constant)init( 12 47 /* 0 */ "mode" 12 48 , /* 1 */ "maxl" 12 49 , /* 2 */ "curl" 12 50 , /* 3 */ "busy" 12 51 , /* 4 */ "attr" 12 52 , /* 5 */ "null" 12 53 , /* 6 */ "noal" 12 54 , /* 7 */ "crdt" 12 55 ); 12 56 dcl 1 gtss_file_values aligned automatic 12 57 , 3 version fixed bin(17) /* Current version is 1. (OUT) */ 12 58 , 3 dname char(168)unal /* Directory name. (IN) */ 12 59 , 3 ename char(032)unal /* Entry name. (IN) */ 12 60 , 3 new_ename char(032)unal /* New entry name. (IN) */ 12 61 , 3 change_name bit(1) /* "1"b => Change segment name. (IN) */ 12 62 , 3 catalog bit(1) /* "1"b => File is a catalog (Multics directory). (OUT) */ 12 63 , 3 info_ptr ptr /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */ 12 64 , 3 set_switch /* "1"b => Set corresponding value. (IN) */ 12 65 , 4 mode_random bit(01)unal /* 0. Set the random/sequential(linked) field. */ 12 66 , 4 maxll bit(01)unal /* 1. Set max size value. */ 12 67 , 4 curll bit(01)unal /* 2. Set current size value. */ 12 68 , 4 busy bit(01)unal /* 3. Set file as busy. */ 12 69 , 4 attr bit(01)unal /* 4. Set user attributes value. */ 12 70 , 4 null_file bit(01)unal /* 5. Set null file value. */ 12 71 , 4 number_allocations bit(01)unal /* 6. Set or increment number of uses. */ 12 72 , 4 creation_date bit(01)unal /* 7. Set file creation date. */ 12 73 , 4 not_in_use bit(28)unal 12 74 /* The above set_ variables should be declared in an order 12 75* corresponding to the value in the attr_name array. */ 12 76 , 3 data_flags /* (OUT|IN) */ 12 77 , 4 mode_random bit(01)unal /* "1"b => random. */ 12 78 , 4 busy bit(01)unal /* "1"b => file is busy. */ 12 79 , 4 null_file bit(01)unal /* "1"b => file is null. */ 12 80 , 4 not_in_use2 bit(33)unal 12 81 , 3 data_fields /* (OUT|IN) */ 12 82 , 4 curll fixed bin(35) /* Current length in llinks (>=0). */ 12 83 , 4 maxll fixed bin(35) /* Maximum length in llinks (>=0). */ 12 84 , 4 number_allocations fixed bin(35) /* 0 => set | >0 => increment modulo 262144. */ 12 85 , 3 attributes /* (OUT|IN) */ 12 86 , 4 not_in_use3 bit(01)unal 12 87 , 4 attr bit(35)unal /* User specified file attribute value. */ 12 88 , 3 creation_date char(06) /* MMDDYY of creation. */ 12 89 ; 12 90 12 91 12 92 /* END INCLUDE FILE gtss_file_values.incl.pl1 */ 468 469 13 1 /* BEGIN INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 13 2 /* 13 3* Created: (Wardd Multics) 09/14/78 1813.7 mst Thu 13 4* Change: Paul Benjamin 10/12/79 Further break down FS0_PBK_05 13 5**/ 13 6 13 7 /** The structure FMS_catalog1 is from 13 8* FMS PROGRAM LOGIC MANUAL 13 9* DC26, Rev. 0, January 1974 13 10* Page 4-9 13 11***/ 13 12 dcl FMS_cat_ptr ptr init(null()); 13 13 dcl 1 FMS_catalog aligned based(FMS_cat_ptr) 13 14 , 3 FSnTYP_0 13 15 , 4 bits00_05 bit(06)unal 13 16 , 4 bits06_10 bit(05)unal 13 17 , 4 bits11_17 bit(07)unal 13 18 , 4 bits18_35 bit(18)unal 13 19 , 3 FSnNLL_1 13 20 , 4 bits00_17 bit(18)unal 13 21 , 4 bits18_35 bit(18)unal 13 22 , 3 FSnPLL_2 13 23 , 4 bits00_17 bit(18)unal 13 24 , 4 bits18_35 bit(18)unal 13 25 , 3 FSnPTP_3 13 26 , 4 bits00_17 bit(18)unal 13 27 , 4 bits18_35 bit(18)unal 13 28 , 3 FSnCBK_4 13 29 , 4 bits00_17 bit(18)unal 13 30 , 4 bits18_35 bit(18)unal 13 31 ; 13 32 13 33 /** Page 4-10. **/ 13 34 dcl 1 Type_0_Catalog aligned based(FMS_cat_ptr) 13 35 , 3 FS0_TYP_00 bit(36) 13 36 , 3 FS0_NLL_01 13 37 , 4 bits00_17 bit(18)unal 13 38 , 4 bits18_35 bit(18)unal 13 39 , 3 FS0_PLL_02 bit(36) 13 40 , 3 FS0_PTP_03 13 41 , 4 bits00_17 fixed bin(17)unal 13 42 , 4 bits18_35 bit(18)unal 13 43 , 3 FS0_CBK_04 13 44 , 4 bits00_17 fixed bin(17)unal 13 45 , 4 bits18_35 bit(18)unal 13 46 , 3 FS0_PBK_05 13 47 , 4 bits00_17 bit(18)unal 13 48 , 4 bits18_35 bit(18)unal 13 49 , 3 FS0_CNM_06_07 bit(72) 13 50 , 3 FS0_ORG_10_11 bit(72) 13 51 , 3 FS0_PWD_12_13 bit(72) 13 52 , 3 FS0_CDT_14 bit(36) 13 53 , 3 FS0_MOD_15 bit(36) 13 54 , 3 FS0_IND_16 bit(36) 13 55 , 3 FS0_PER_17 13 56 , 4 bits00_11 bit(12)unal 13 57 , 4 bits12_14 bit(03)unal 13 58 , 4 bit15 bit(01)unal 13 59 , 4 bit16 bit(01)unal 13 60 , 4 bit17 bit(01)unal 13 61 , 4 bits18_35 bit(18)unal 13 62 , 3 FS0_OP1_20 bit(36) 13 63 , 3 FS0_OP2_21 bit(36) 13 64 , 3 FS0_VAR_22_76 (15) 13 65 , 4 FS0_SNM_00_01 bit(72) 13 66 , 4 FS0_SPT_02 13 67 , 5 bit00 bit(01)unal 13 68 , 5 bit01 bit(01)unal 13 69 , 5 bits02_17 bit(16)unal 13 70 , 5 bits18_35 bit(18)unal 13 71 , 3 checksum_77 bit(36) 13 72 ; 13 73 13 74 /* Condensed form of type 0 record. */ 13 75 dcl 1 t0c aligned based(FMS_cat_ptr) 13 76 , 2 fill (0:17)bit(36) 13 77 , 2 name (15) 13 78 , 3 bcd bit(72) 13 79 , 3 more bit(36) 13 80 ; 13 81 13 82 /** Page 4-10. **/ 13 83 dcl Type_1_ptr ptr init(null()); 13 84 dcl 1 Type_1_Catalog aligned based(Type_1_ptr) 13 85 , 3 FS1_TYP_00 bit(36) 13 86 , 3 FS1_NLL_01 13 87 , 4 bits00_17 bit(18)unal 13 88 , 4 bits18_35 bit(18)unal 13 89 , 3 FS1_PLL_02 bit(36) 13 90 , 3 FS1_PTP_03 13 91 , 4 bits00_17 fixed bin(17)unal 13 92 , 4 bits18_35 bit(18)unal 13 93 , 3 FS1_CBK_04 13 94 , 4 bits00_17 bit(18)unal 13 95 , 4 bits18_35 bit(18)unal 13 96 , 3 FS1_OPN_05 bit(36) 13 97 , 3 FS1_VAR_06_76 (19) 13 98 , 4 FS1_SNM_00_01 bit(72) 13 99 , 4 FS1_SPT_02 13 100 , 5 bit00 bit(01)unal 13 101 , 5 bit01 bit(01)unal 13 102 , 5 bits02_17 bit(16)unal 13 103 , 5 bits18_35 bit(18)unal 13 104 , 3 checksum_77 bit(36) 13 105 ; 13 106 13 107 /* Condensed form of type 1 record. */ 13 108 dcl 1 t1c aligned based(FMS_cat_ptr) 13 109 , 2 fill (0:5)bit(36) 13 110 , 2 name (19) like t0c.name 13 111 ; 13 112 13 113 /** Page 4-11. **/ 13 114 dcl 1 Type_2_Catalog aligned based(FMS_cat_ptr) 13 115 , 3 FS2_TYP_00 bit(36) 13 116 , 3 FS2_NLL_01 bit(36) 13 117 , 3 FS2_PLL_02 bit(36) 13 118 , 3 FS2_PTP_03 bit(36) 13 119 , 3 FS2_CBK_04 bit(36) 13 120 , 3 FS2_PBK_05 13 121 , 4 bits00_17 bit(18)unal 13 122 , 4 bits18_35 bit(18)unal 13 123 , 3 FS2_FNM_06_07 bit(72) 13 124 , 3 FS2_ORG_10_11 bit(72) 13 125 , 3 FS2_PWD_12_13 bit(72) 13 126 , 3 FS2_CDT_14 bit(36) 13 127 , 3 FS2_MOD_15 bit(36) 13 128 , 3 FS2_IND_16 bit(36) 13 129 , 3 FS2_PER_17 13 130 , 4 bits00_11 bit(12)unal 13 131 , 4 bits12_15 bit(04)unal 13 132 , 4 bit16 bit(01)unal 13 133 , 4 bit17 bit(01)unal 13 134 , 4 bits18_35 bit(18)unal 13 135 , 3 FS2_MTR_20_21 bit(72) 13 136 , 3 FS2_FU1_22 13 137 , 4 bit00 bit(01)unal 13 138 , 4 bit01 bit(01)unal 13 139 , 4 bit02 bit(01)unal 13 140 , 4 bit03 bit(01)unal 13 141 , 4 bit04 bit(01)unal 13 142 , 4 bit05 bit(01)unal 13 143 , 4 bit06 bit(01)unal 13 144 , 4 bit07 bit(01)unal 13 145 , 4 bit08 bit(01)unal 13 146 , 4 bit09 bit(01)unal 13 147 , 4 bits10_11 bit(02)unal 13 148 , 4 bits12_17 bit(06)unal 13 149 , 4 bits18_35 bit(18)unal 13 150 , 3 FS2_FUS_23 13 151 , 4 bits00_17 bit(18)unal 13 152 , 4 bit18 bit(01)unal 13 153 , 4 bit19 bit(01)unal 13 154 , 4 bit20 bit(01)unal 13 155 , 4 bit21 bit(01)unal 13 156 , 4 bit22 bit(01)unal 13 157 , 4 bit23 bit(01)unal 13 158 , 4 bit24 bit(01)unal 13 159 , 4 bit25 bit(01)unal 13 160 , 4 bit26 bit(01)unal 13 161 , 4 bit27 bit(01)unal 13 162 , 4 bit28 bit(01)unal 13 163 , 4 bit29 bit(01)unal 13 164 , 4 bits30_35 bit(06)unal 13 165 , 3 FS2_USI_24 13 166 , 4 bit00 bit(01)unal 13 167 , 4 bits01_35 bit(35)unal 13 168 , 3 FS2_FU2_25 13 169 , 4 bit00 bit(01)unal 13 170 , 4 bit01 bit(01)unal 13 171 , 4 bit02 bit(01)unal 13 172 , 4 bit03 bit(01)unal 13 173 , 4 bit04 bit(01)unal 13 174 , 4 bit05 bit(01)unal 13 175 , 4 bit06 bit(01)unal 13 176 , 4 bit07 bit(01)unal 13 177 , 4 bit08 bit(01)unal 13 178 , 4 bit09 bit(01)unal 13 179 , 4 bit10 bit(01)unal 13 180 , 4 bit11 bit(01)unal 13 181 , 4 bit12 bit(01)unal 13 182 , 4 bit13 bit(01)unal 13 183 , 4 bit14 bit(01)unal 13 184 , 4 bit15 bit(01)unal 13 185 , 4 bit16 bit(01)unal 13 186 , 4 bit17 bit(01)unal 13 187 , 4 bits18_35 bit(18)unal 13 188 , 3 FS2_LCD_26 bit(36) 13 189 , 3 FS2_LAD_27 bit(36) 13 190 , 3 FS2_LST_30 13 191 , 4 bits00_05 bit(06)unal 13 192 , 4 bits06_35 bit(30)unal 13 193 , 3 FS2_ATB_31 bit(36) 13 194 , 3 FS2_PDF_32 bit(36) 13 195 , 3 FS2_STC_33 bit(36) 13 196 , 3 FS2_BSY_34 bit(36) 13 197 , 3 FS2_TBC_35 bit(36) 13 198 , 3 FS2_OP2_7_36_43 (2:7)bit(36) 13 199 , 3 FS2_VAR_44_75 13 200 , 4 Device_descriptor 13 201 , 5 bits00_03 bit(04)unal /* 0101 */ 13 202 , 5 bits04_05 bit(02)unal 13 203 , 5 bits06_35 bit(30)unal 13 204 , 4 Space_descriptor 13 205 , 5 bit00 bit(01)unal 13 206 , 5 bit01 bit(01)unal /* =0 => space desc. */ 13 207 , 5 bit02 bit(01)unal 13 208 , 5 bits03_17 bit(15)unal 13 209 , 5 bits18_35 bit(18)unal 13 210 , 4 zero (24)bit(36) 13 211 , 3 zero_76 bit(36) 13 212 , 3 checksum_77 bit(36) 13 213 ; 13 214 13 215 /** Page 4-13. **/ 13 216 dcl Type_4_ptr ptr init(null()); 13 217 dcl 1 Type_4_Catalog aligned based(Type_4_ptr) 13 218 , 3 FS4_TYP_00 bit(36) 13 219 , 3 FS4_NLL_01 bit(36) 13 220 , 3 FS4_PLL_02 bit(36) 13 221 , 3 FS4_PTP_03 bit(36) 13 222 , 3 FS4_CBK_04 bit(36) 13 223 , 3 FS4_OP1_2_05_06 bit(72) 13 224 , 3 FS4_VAR_07_75 bit(1980) /* 1980 = 55 * 36bits @ */ 13 225 , 3 zero bit(36) 13 226 , 3 checksum_77 bit(36) 13 227 ; 13 228 13 229 /** Page 2-69 **/ 13 230 dcl buffer_ptr ptr init(null()); 13 231 dcl 1 callers_buffer aligned based(buffer_ptr) 13 232 , 3 first25 (25)bit(36) /* Work area for ???. */ 13 233 /** Next 35 words. FMS work area. **/ 13 234 , 3 W00_FSCODE bit(036) 13 235 , 3 W01_02_FSCALL bit(072) 13 236 , 3 W03 bit(036) 13 237 , 3 W04_06 bit(108) 13 238 , 3 W07 bit(036) 13 239 , 3 W10 bit(036) 13 240 , 3 W11_12 bit(072) 13 241 , 3 W13_FSSSLV bit(036) 13 242 , 3 W14_15 bit(072) 13 243 , 3 W16_FSFBSY bit(036) 13 244 , 3 W17_FSRETP bit(036) 13 245 , 3 W20 13 246 , 4 FSMME unal 13 247 , 5 bits00_17 bit(18)unal 13 248 , 4 FSARG unal 13 249 , 5 bits18_35 bit(18)unal 13 250 , 3 W21_FSCPOS 13 251 , 4 bits00_17 bit(18)unal 13 252 , 4 bits18_35 bit(18)unal 13 253 , 3 W22_FSCCFP 13 254 , 4 bits00_17 bit(18)unal 13 255 , 4 bits18_35 bit(18)unal 13 256 , 3 W23_FSPCFP 13 257 , 4 bits00_17 bit(18)unal 13 258 , 4 bits18_35 bit(18)unal 13 259 , 3 W24 13 260 , 4 FSREGU unal 13 261 , 5 bits00_17 bit(18)unal 13 262 , 4 FSREGL unal 13 263 , 5 bits18_35 bit(18)unal 13 264 , 3 W25_FSCDEV 13 265 , 4 bits00_15 bit(16)unal 13 266 , 4 bit16 bit(01)unal 13 267 , 4 bit17 bit(01)unal 13 268 , 4 bits18_35 bit(18)unal 13 269 , 3 W26_FSDDEV 13 270 , 4 bits00_15 bit(16)unal 13 271 , 4 bit16 bit(01)unal 13 272 , 4 bit17 bit(01)unal 13 273 , 4 bits18_35 bit(18)unal 13 274 , 3 W27_FSENDT bit(036) 13 275 , 3 W30_FSCPAT bit(036) 13 276 , 3 W31_FSPERM bit(036) 13 277 , 3 W32_FSDDCW bit(036) 13 278 , 3 W33_FSDCWP bit(036) 13 279 , 3 W34_FSDUPD bit(036) 13 280 , 3 W35_FSAVBL bit(036) 13 281 , 3 W36_FSTEMP bit(036) 13 282 , 3 W37_FSCKSM bit(036) 13 283 , 3 W40_FSIOS1 bit(036) 13 284 , 3 W41_FSSRW1 bit(036) 13 285 , 3 W42_FSSRW2 bit(036) 13 286 , 3 W43_FSBFER bit(036) /* Starting location of buffer for catalog record(s). */ 13 287 , 3 remainder_of_buffer (319)bit(36) 13 288 ; 13 289 13 290 /* END INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 470 471 14 1 14 2 declare /* Information returned by hcs_$status_ and hcs_$status_long */ 14 3 14 4 14 5 1 branch aligned based (info_ptr), /* information about this particular branch */ 14 6 2 type bit (2) unal, /* "00"b = link, "01"b = segment, "10"b = directory */ 14 7 2 nnames bit (16) unal, /* number of names this entry has */ 14 8 2 names_relp bit (18) unal, /* pointer, relative to base of segment, to names */ 14 9 2 dtm bit (36) unal, /* date-time the segment was last modified */ 14 10 2 dtu bit (36) unal, /* date-time the segment was last used */ 14 11 2 mode bit (5) unal, /* the user's access modes to the entry */ 14 12 2 padding bit (13) unal, /* yawn */ 14 13 2 records_used bit (18) unal, /* number of blocks actually occupied by entry */ 14 14 14 15 /* limit of information returned by status_ */ 14 16 14 17 2 dtd bit (36) unal, /* date-time the segment was last dumped */ 14 18 2 dtbm bit (36) unal, /* date-time the branch for the entry was modified */ 14 19 2 account bit (36) unal, /* account to which storage is charged */ 14 20 2 current_length bit (12) unal, /* maximum length in blocks */ 14 21 2 bit_count bit (24) unal, /* length of entry in bits */ 14 22 2 device_id bit (4) unal, /* device on which segment currently resides */ 14 23 2 mdid bit (4) unal, /* device to which it is currently being moved */ 14 24 2 copy_switch bit (1) unal, /* segment copy switch */ 14 25 2 tpd bit (1) unal, /* transparent paging device switch */ 14 26 2 more_padding bit (8) unal, /* yawn, yawn */ 14 27 2 ring_brackets (0:2) bit (6) unal, /* ring brackets for entry */ 14 28 2 uid bit (36) unal, /* unique identifier */ 14 29 14 30 14 31 1 link aligned based (info_ptr), /* information about link entries */ 14 32 2 type bit (2) unal, /* as above */ 14 33 2 nnames bit (16) unal, /* number of names for this link */ 14 34 2 names_relp bit (18) unal, /* as above */ 14 35 2 dtbm bit (36) unal, /* date-time, entry for link was last modified */ 14 36 2 dtd bit (36) unal, /* date-time dumped */ 14 37 2 pathname_length bit (18) unal, /* length of link pathname */ 14 38 2 pathname_relp bit (18) unal, /* pointer, relative to based of segment, to name */ 14 39 14 40 entry_names (1) character (32) aligned based (pointer (area_pointer, branch.names_relp)), 14 41 /* array of names returned */ 14 42 pathname character (fixed (link.pathname_length)) aligned based (pointer (area_pointer, link.pathname_relp)), 14 43 /* pathname a link points to */ 14 44 14 45 area_pointer pointer, /* to area in which to allocate names */ 14 46 info_ptr pointer; /* to structure returned */ 14 47 14 48 472 473 15 1 /* BEGIN INCLUDE FILE gtss_filact_options.incl.pl1 */ 15 2 /* 15 3* Created: (Wardd Multics) 09/08/78 1017.4 mst Fri 15 4**/ 15 5 dcl now fixed bin; 15 6 dcl options_ptr ptr init(null()); 15 7 dcl 1 optionsx aligned based(options_ptr) 15 8 , 3 word1 15 9 , 4 option_bit unal 15 10 , 5 j bit(01)unal /* Space must be contiguous. */ 15 11 , 5 b bit(01)unal /* Random (CF only). */ 15 12 , 5 c bit(01)unal /* File TSS created (CF only) */ 15 13 , 5 d bit(01)unal /* I-D-S file. */ 15 14 , 5 k bit(01)unal /* 320-word blocks (CF only). */ 15 15 , 5 f bit(01)unal /* File already on tape or nonstructured disk pack (non-TSS). */ 15 16 , 5 bit_06 bit(01)unal /* (not used). */ 15 17 , 5 h bit(01)unal /* Attributes present. */ 15 18 , 5 i bit(01)unal /* User-specified attributes (CF & MF only). */ 15 19 , 5 bits09_12 bit(04)unal /* (not used). */ 15 20 , 5 y bit(01)unal /* FMS protection options specified. */ 15 21 , 5 bits14_17 bit(04)unal /* (not used). */ 15 22 , 4 device_name bit(12)unal 15 23 , 4 device_type bit(06)unal 15 24 , 3 word2 15 25 , 4 initial_file_size bit(18)unal /* (CF only). */ 15 26 , 4 max_file_size bit(18)unal /* 0 => max size unlimited. */ 15 27 , 3 words3_now (now) 15 28 , 4 optional_specific_permissions 15 29 , 5 USERID bit(72)unal 15 30 , 5 permission_bit like permissionsx 15 31 , 3 word_now_plus_1 15 32 , 4 end_of_list fixed bin(35) 15 33 , 3 word_now_plus_2 15 34 , 4 fill bit(01)unal 15 35 , 4 user_specified_attributes bit(35)unal /* (CF & MF only). */ 15 36 ; 15 37 16 1 /* BEGIN INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 16 2 /* 16 3* Created: (Wardd Multics) 09/08/78 1018.0 mst Fri 16 4**/ 16 5 dcl permissions_ptr ptr init(null()); 16 6 dcl 1 permissionsx aligned based(permissions_ptr) 16 7 , 3 r bit(01)unal /* Read permission. */ 16 8 , 3 w bit(01)unal /* Write permission. */ 16 9 , 3 a bit(01)unal /* Append permission. */ 16 10 , 3 e bit(01)unal /* Execute permission. */ 16 11 , 3 p bit(01)unal /* Purge permission. */ 16 12 , 3 m bit(01)unal /* Modify permission. */ 16 13 , 3 l bit(01)unal /* Lock permission. */ 16 14 , 3 bit_07 bit(01)unal /* (not used). */ 16 15 , 3 c bit(01)unal /* Create permission. */ 16 16 , 3 x bit(01)unal /* Recovery permission. */ 16 17 , 3 bits10_35 bit(26)unal /* (not used). */ 16 18 ; 16 19 16 20 /* END INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 15 38 15 39 15 40 /* END INCLUDE FILE gtss_filact_options.incl.pl1 */ 474 475 17 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 17 2 /* 17 3* Created: Kepner 78-12-01 17 4**/ 17 5 17 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 17 7 17 8 /* $drm_rule: 17 9* 0 => rule not set 17 10* 1 => umc_dir_mode 17 11* 2 => working_dir_mode 17 12* 3 => smc_dir_mode 17 13**/ 17 14 17 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 17 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 17 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 17 18 dcl 1 gse_ext_$modes aligned ext, 17 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 17 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 17 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 17 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 17 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 17 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 17 25 3 fill bit(30) unal; 17 26 17 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 476 477 18 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 18 2 /* 18 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 18 4**/ 18 5 18 6 /* To provide a new debugging switch: 18 7* 18 8* 1) Locate the comment "Insert next entry above this comment". 18 9* 18 10* 2) Place a new declaration for a db_ variable just 18 11* above this comment, in the same manner as the 18 12* current declaration just above the comment, using 18 13* the next integer gtss_ext_$db index. 18 14* 18 15* 3) Execute the gtss|db_names ted macro (this updates 18 16* the sorted name table). 18 17* 18 18* 4) Example use: 18 19* 18 20* if db_drl_grow then do; 18 21* . 18 22* . 18 23* . 18 24* debug i/o statements using com_err_ or ioa_ 18 25* . 18 26* . 18 27* . 18 28* end; 18 29* 18 30**/ 18 31 18 32 dcl ( 18 33 db_ bit(1) defined(gtss_ext_$db(01)) 18 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 18 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 18 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 18 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 18 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 18 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 18 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 18 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 18 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 18 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 18 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 18 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 18 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 18 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 18 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 18 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 18 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 18 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 18 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 18 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 18 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 18 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 18 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 18 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 18 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 18 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 18 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 18 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 18 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 18 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 18 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 18 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 18 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 18 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 18 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 18 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 18 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 18 71 /* Insert next entry above this comment. */ 18 72 ); 18 73 18 74 /* Table of sorted names. */ 18 75 dcl 1 debug_bit_names (38) static int options(constant) 18 76 , 2 name char(18)var init( 18 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 18 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 18 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 18 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 18 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 18 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 18 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 18 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 18 85 ) 18 86 , 2 value fixed bin init( 18 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 18 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 18 89 ,31 ,22 18 90 ); 18 91 /* End of table. */ 18 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 478 479 end /* gtss_filact_funct02_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1043.9 gtss_filact_funct02_.pl1 >spec>on>7105>gtss_filact_funct02_.pl1 319 1 09/09/83 1713.9 gtss_filact_intp3x.incl.pl1 >ldd>include>gtss_filact_intp3x.incl.pl1 321 2 09/09/83 1713.3 gtss_filact_intp7x.incl.pl1 >ldd>include>gtss_filact_intp7x.incl.pl1 324 3 09/09/83 1713.9 gtss_filact_intp2x.incl.pl1 >ldd>include>gtss_filact_intp2x.incl.pl1 326 4 09/09/83 1713.8 gtss_filact_intp1x.incl.pl1 >ldd>include>gtss_filact_intp1x.incl.pl1 454 5 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 456 6 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 458 7 09/09/83 1713.3 gtss_filact_status.incl.pl1 >ldd>include>gtss_filact_status.incl.pl1 460 8 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 462 9 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 464 10 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 466 11 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 468 12 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 470 13 09/09/83 1713.5 gtss_FMS_catalog.incl.pl1 >ldd>include>gtss_FMS_catalog.incl.pl1 472 14 04/29/76 1139.2 status_info.incl.pl1 >ldd>include>status_info.incl.pl1 474 15 09/09/83 1713.9 gtss_filact_options.incl.pl1 >ldd>include>gtss_filact_options.incl.pl1 15-38 16 09/09/83 1713.9 gtss_filact_permissions.incl.pl1 >ldd>include>gtss_filact_permissions.incl.pl1 476 17 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 478 18 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. CC_arglist based structure level 1 dcl 307 CC_args based structure level 1 dcl 298 FMS_block_ptr 000124 automatic pointer initial dcl 369 set ref 369* FMS_cat_ptr 000302 automatic pointer initial dcl 13-12 set ref 13-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 "CC_args" packed unsigned unaligned dcl 298 in procedure "gtss_filact_funct02_" ref 45 45 51 L_bcd_message 1 based bit(18) level 3 packed unaligned dcl 433 set ref 64* L_cat_filedescr 1 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 307 set ref 61* L_options 2 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 307 ref 157 157 159 163 L_permissions 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 307 ref 56 56 56 117 118 118 120 L_status_return based fixed bin(18,0) level 3 packed unsigned unaligned dcl 307 set ref 54* Type_1_ptr 000304 automatic pointer initial dcl 13-83 set ref 13-83* Type_4_ptr 000306 automatic pointer initial dcl 13-216 set ref 13-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 243 set ref 173* access_name 000331 automatic char(32) level 2 packed unaligned dcl 150 set ref 130* acf based structure level 1 dcl 3-85 acfp parameter pointer dcl 3-14 ref 3-5 3-16 acl_count 000355 automatic fixed bin(17,0) dcl 253 set ref 169* 170 171* 196* 196 197 230 231* 240 acl_ptr 000356 automatic pointer initial dcl 254 set ref 170* 197 231* 240 254* addr builtin function dcl 332 ref 61 61 77 77 133 133 187 189 189 189 189 2-29 2-29 3-58 3-58 3-58 3-58 addrel builtin function dcl 333 ref 51 120 159 2-28 3-23 4-21 altname_ptr 000104 automatic pointer initial dcl 337 set ref 337* ap 000420 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 000110 automatic pointer initial dcl 340 set ref 39* 45 45 51 340* 4-17 4-17 arg_ptr_val parameter pointer dcl 33 ref 15 39 arglist_ptr 000106 automatic pointer initial dcl 339 set ref 51* 54 56 56 56 61 117 118 118 120 157 157 159 163 339* ascii_cat_file 000144 automatic structure level 1 unaligned dcl 11-8 set ref 61 61 77 77 ascii_id 000360 automatic char(12) unaligned dcl 255 set ref 189 189 195 202 205 213 attribute_segment_ptr 000112 automatic pointer initial dcl 341 set ref 341* b36 based bit(36) dcl 256 in procedure "set_specific_permissions" ref 188 204 212 b36 based bit(36) dcl 146 in procedure "set_general_permissions" ref 121 129 bit72 based bit(72) dcl 343 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 000310 automatic pointer initial dcl 13-230 set ref 40* 64* 13-230* 3-53 3-75 buffer_ptr_val parameter pointer dcl 34 ref 15 40 c 000363 automatic fixed bin(17,0) dcl 257 set ref 184* 201 207 callers_buf based structure level 1 dcl 3-87 cat_filedescr_name_offset 000114 automatic fixed bin(18,0) unsigned unaligned dcl 345 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 35 set ref 15 42* 48* 77* 83 86* 97 128 133* 140 174* 183 220* 228 231* 238 da_array based structure array level 1 unaligned dcl 249 da_count 000354 automatic fixed bin(17,0) dcl 247 set ref 174* 184 194 198 211* 211 213 214 220* da_modes 10 based bit(36) array level 2 packed unaligned dcl 249 set ref 214* da_name based char(32) array level 2 packed unaligned dcl 249 set ref 195 197 202 205* 213* da_ptr 000352 automatic pointer dcl 245 set ref 174* 195 197 202 205 213 214 220* del_name based char(32) array level 2 dcl 280 set ref 197* delete_acl based structure array level 1 dcl 280 descriptor_ptr 000116 automatic pointer initial dcl 352 set ref 352* 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 284 in procedure "set_specific_permissions" ref 170 240 dir_acl 000331 automatic structure level 1 unaligned dcl 150 in procedure "set_general_permissions" set ref 133 133 divide builtin function dcl 354 ref 2-22 dname 1 000172 automatic char(168) level 2 packed unaligned dcl 12-56 set ref 64 77* 86* 133* 174* 220* 231* ename 53 000172 automatic char(32) level 2 packed unaligned dcl 12-56 set ref 64 77* 86* 133* 174* 220* 231* 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 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 based fixed bin(35,0) level 2 in structure "option_args" dcl 267 in procedure "set_specific_permissions" ref 162 entry_name 000120 automatic char(12) initial unaligned dcl 355 set ref 355* 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 258 in procedure "set_specific_permissions" ref 194 210 fb18 based fixed bin(18,0) unsigned unaligned dcl 145 in procedure "set_general_permissions" ref 122 fcb_ptr 000102 automatic pointer initial dcl 330 set ref 330* 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* fixed builtin function dcl 368 ref 86 86 fnia parameter bit(1) unaligned dcl 3-12 ref 3-5 3-52 found_sw 000364 automatic bit(1) unaligned dcl 259 set ref 186* 203* 210 gse_ext_$umc_name 000042 external static char(12) unaligned dcl 17-17 ref 3-73 gseg 000126 automatic pointer initial dcl 371 set ref 38* 51 120 159 371* 3-23 4-21 gseg_val parameter pointer dcl 32 ref 15 38 gtss_ascii_bcd_ 000032 constant entry external dcl 10-30 ref 2-29 gtss_bcd_ascii_ 000034 constant entry external dcl 10-33 ref 189 gtss_bcd_ascii_$lc 000036 constant entry external dcl 10-34 ref 3-58 gtss_expand_pathname_ 000040 constant entry external dcl 10-107 ref 77 gtss_ext_$db 000026 external static bit(1) array unaligned dcl 6-10 ref 3-66 gtss_ext_$hcs_work_area_ptr 000030 external static pointer dcl 6-21 set ref 173 174* gtss_file_values 000172 automatic structure level 1 dcl 12-56 gtss_ust 000024 external static structure level 2 dcl 5-16 gtss_ust_ext_$ust 000024 external static structure level 1 dcl 5-16 hcs_$add_dir_acl_entries 000010 constant entry external dcl 376 ref 133 hcs_$append_branchx 000012 constant entry external dcl 378 ref 86 hcs_$delete_dir_acl_entries 000014 constant entry external dcl 380 ref 231 hcs_$list_dir_acl 000016 constant entry external dcl 382 ref 174 hcs_$replace_dir_acl 000020 constant entry external dcl 385 ref 220 high_val parameter fixed bin(18,0) unsigned unaligned dcl 31 ref 15 37 i 000131 automatic fixed bin(24,0) dcl 388 set ref 194* 195 197 198* 201* 202 205 207* 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 267 set ref 189 189 ioa_ 000022 constant entry external dcl 390 ref 3-67 3-69 k 000365 automatic fixed bin(17,0) dcl 260 set ref 185* 187 189 189* 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 lid 000024 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 000142 automatic pointer dcl 9-10 set ref 36* mcp_val parameter pointer dcl 30 ref 15 36 mem_bottom constant fixed bin(18,0) initial unsigned dcl 394 ref 45 56 118 157 3-19 4-13 mem_top 000130 automatic fixed bin(18,0) unsigned dcl 387 set ref 37* 45 56 118 157 163 3-19 3-39 4-13 message_words 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 433 set ref 64* ml parameter bit(18) unaligned dcl 2-14 set ref 2-5 2-18* 2-33* mod builtin function dcl 399 ref 2-30 modes 10 000331 automatic bit(36) level 2 packed unaligned dcl 150 set ref 131* 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 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 n 000366 automatic fixed bin(24,0) dcl 261 in procedure "set_specific_permissions" set ref 162* 162* 163* 166 169 185 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 name 22 based structure array level 2 in structure "t0c" dcl 13-75 in procedure "gtss_filact_funct02_" new_name_ptr 000100 automatic pointer initial dcl 291 set ref 291* nic 000132 automatic fixed bin(24,0) dcl 403 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 op 000370 automatic pointer dcl 262 set ref 159* 162 187 189 189 option_args based structure level 1 dcl 267 options_ptr 000312 automatic pointer initial dcl 15-6 set ref 15-6* p 000134 automatic pointer initial dcl 404 set ref 404* pd 0(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 448 set ref 70* permissions_ptr 000314 automatic pointer initial dcl 16-5 set ref 16-5* permissionsx based structure level 1 dcl 16-6 pp 000324 automatic pointer dcl 144 in procedure "set_general_permissions" set ref 120* 121 122 129 pp 000372 automatic pointer dcl 263 in procedure "set_specific_permissions" set ref 187* 188 194 204 210 212 pstr 000374 automatic char(10) unaligned dcl 264 in procedure "set_specific_permissions" set ref 204* 205 212* 213 pstr 000326 automatic char(10) unaligned dcl 148 in procedure "set_general_permissions" set ref 129* 130 rel builtin function dcl 410 ref 2-33 restore_switch based bit(36) level 2 dcl 3-87 set ref 3-53* rings 000000 constant fixed bin(3,0) initial array dcl 411 set ref 86* rp_sw 000377 automatic bit(1) unaligned dcl 265 set ref 172* 206* 215* 219 smc_entry_ptr 000136 automatic pointer initial dcl 415 set ref 415* sp parameter pointer dcl 4-8 set ref 4-5 4-21* specific_permission 4 based bit(36) array level 3 dcl 267 set ref 187 status based bit(18) level 2 packed unaligned dcl 448 set ref 62* 71* 107* status2 based structure level 1 dcl 433 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 000331 automatic fixed bin(35,0) level 2 dcl 150 set ref 132* status_pointer 000432 automatic pointer initial dcl 4-9 set ref 4-9* 4-21* 4-22 status_ptr 000140 automatic pointer initial dcl 419 set ref 54* 62 64 64 70 71 107 419* status_word based structure level 1 dcl 448 set ref 4-22* substr builtin function dcl 420 ref 129 204 212 3-66 3-73 3-75 t0c based structure level 1 dcl 13-75 user 2 based structure array level 2 dcl 267 user_master_catalog based structure level 2 dcl 3-91 word1 based structure level 2 in structure "CC_arglist" dcl 307 in procedure "gtss_filact_funct02_" word1 based structure level 2 in structure "CC_args" dcl 298 in procedure "gtss_filact_funct02_" word2 1 based structure level 2 in structure "CC_arglist" dcl 307 in procedure "gtss_filact_funct02_" word2 1 based structure level 2 in structure "status2" dcl 433 in procedure "gtss_filact_funct02_" word3 2 based structure level 2 dcl 307 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CC_new_name based structure level 1 dcl 293 FMS_catalog based structure level 1 dcl 13-13 Type_0_Catalog based structure level 1 dcl 13-34 Type_1_Catalog based structure level 1 dcl 13-84 Type_2_Catalog based structure level 1 dcl 13-114 Type_4_Catalog based structure level 1 dcl 13-217 abx internal static fixed bin(17,0) initial dcl 9-42 access_mode automatic bit(6) unaligned dcl 331 aft_code automatic fixed bin(35,0) dcl 334 aft_name automatic char(8) unaligned dcl 335 altname based char(8) dcl 336 append_mode internal static bit(36) initial unaligned dcl 338 apx internal static fixed bin(17,0) initial dcl 9-42 area_pointer automatic pointer dcl 14-2 attr_name internal static char(4) initial array unaligned dcl 12-46 bbx internal static fixed bin(17,0) initial dcl 9-42 bcdname based structure level 1 dcl 443 bit builtin function dcl 342 bit_count automatic fixed bin(24,0) dcl 344 bits based bit(1) array unaligned dcl 147 bpx internal static fixed bin(17,0) initial dcl 9-42 branch based structure level 1 dcl 14-2 callers_buffer based structure level 1 dcl 13-231 cdate automatic fixed bin(71,0) dcl 346 clim automatic float bin(27) dcl 347 com_err_ 000000 constant entry external dcl 10-8 crf automatic fixed bin(24,0) dcl 348 csp automatic float bin(27) dcl 349 db_ defined bit(1) unaligned dcl 18-32 db_CFP_input defined bit(1) unaligned dcl 18-32 db_abs defined bit(1) unaligned dcl 18-32 db_attributes_mgr defined bit(1) unaligned dcl 18-32 db_dq defined bit(1) unaligned dcl 18-32 db_drl_addmem defined bit(1) unaligned dcl 18-32 db_drl_callss defined bit(1) unaligned dcl 18-32 db_drl_defil defined bit(1) unaligned dcl 18-32 db_drl_dio defined bit(1) unaligned dcl 18-32 db_drl_filact defined bit(1) unaligned dcl 18-32 db_drl_filsp defined bit(1) unaligned dcl 18-32 db_drl_grow defined bit(1) unaligned dcl 18-32 db_drl_kin defined bit(1) unaligned dcl 18-32 db_drl_morlnk defined bit(1) unaligned dcl 18-32 db_drl_msub defined bit(1) unaligned dcl 18-32 db_drl_part defined bit(1) unaligned dcl 18-32 db_drl_retfil defined bit(1) unaligned dcl 18-32 db_drl_rew defined bit(1) unaligned dcl 18-32 db_drl_rstswh defined bit(1) unaligned dcl 18-32 db_drl_setswh defined bit(1) unaligned dcl 18-32 db_drl_switch defined bit(1) unaligned dcl 18-32 db_drl_t_cfio defined bit(1) unaligned dcl 18-32 db_expand_pathname defined bit(1) unaligned dcl 18-32 db_filact_funct02 defined bit(1) unaligned dcl 18-32 db_filact_funct03 defined bit(1) unaligned dcl 18-32 db_filact_funct04 defined bit(1) unaligned dcl 18-32 db_filact_funct05 defined bit(1) unaligned dcl 18-32 db_filact_funct10 defined bit(1) unaligned dcl 18-32 db_filact_funct11 defined bit(1) unaligned dcl 18-32 db_filact_funct14 defined bit(1) unaligned dcl 18-32 db_filact_funct18 defined bit(1) unaligned dcl 18-32 db_filact_funct19 defined bit(1) unaligned dcl 18-32 db_filact_funct21 defined bit(1) unaligned dcl 18-32 db_filact_funct22 defined bit(1) unaligned dcl 18-32 db_interp_prim defined bit(1) unaligned dcl 18-32 db_ios defined bit(1) unaligned dcl 18-32 db_mcfc defined bit(1) unaligned dcl 18-32 db_run_subsystem defined bit(1) unaligned dcl 18-32 debug_bit_names internal static structure array level 1 unaligned dcl 18-75 delete_$path 000000 constant entry external dcl 350 descriptor_address automatic fixed bin(18,0) unsigned unaligned dcl 351 dir_name automatic char(168) unaligned dcl 353 entry_names based char(32) array dcl 14-2 error_table_$incorrect_access external static fixed bin(35,0) dcl 356 error_table_$moderr external static fixed bin(35,0) dcl 357 error_table_$namedup external static fixed bin(35,0) dcl 358 error_table_$no_dir external static fixed bin(35,0) dcl 362 error_table_$noentry external static fixed bin(35,0) dcl 359 error_table_$nomatch external static fixed bin(35,0) dcl 360 error_table_$not_seg_type external static fixed bin(35,0) dcl 361 error_table_$seg_not_found external static fixed bin(35,0) dcl 364 error_table_$segknown external static fixed bin(35,0) dcl 363 execute_mode internal static bit(36) initial unaligned dcl 365 file_name_in_ascii automatic bit(1) unaligned dcl 366 file_no automatic fixed bin(24,0) dcl 367 four_NULS internal static char(4) initial unaligned dcl 370 gse_ext_$drm_rule external static fixed bin(24,0) dcl 17-6 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 17-15 gse_ext_$modes external static structure level 1 dcl 17-18 gse_ext_$smc_pathname external static char(168) unaligned dcl 17-16 gtss_CFP_abort_ 000000 constant entry external dcl 10-9 gtss_CFP_break_ 000000 constant entry external dcl 10-10 gtss_CFP_input_ 000000 constant entry external dcl 10-11 gtss_CFP_output_ 000000 constant entry external dcl 10-12 gtss_abandon_CFP_ 000000 constant entry external dcl 10-13 gtss_abort_dump_ 000000 constant entry external dcl 10-14 gtss_abort_subsystem_ 000000 constant entry external dcl 10-15 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 10-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 10-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 10-20 gtss_abs_$create_absin 000000 constant entry external dcl 10-21 gtss_abs_$dabt_check 000000 constant entry external dcl 10-22 gtss_abs_$get_drm 000000 constant entry external dcl 10-24 gtss_abs_$get_id 000000 constant entry external dcl 10-23 gtss_abs_login_banner_ 000000 constant entry external dcl 10-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 10-18 gtss_adjust_size_ 000000 constant entry external dcl 10-25 gtss_aft_$add 000000 constant entry external dcl 10-26 gtss_aft_$delete 000000 constant entry external dcl 10-27 gtss_aft_$find 000000 constant entry external dcl 10-28 gtss_aft_$initialize 000000 constant entry external dcl 10-29 gtss_attributes_mgr_$get 000000 constant entry external dcl 10-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 10-32 gtss_break_vector_ 000000 constant entry external dcl 10-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 10-36 gtss_break_vector_$status 000000 constant entry external dcl 10-37 gtss_build_ 000000 constant entry external dcl 10-38 gtss_com_err_ 000000 constant entry external dcl 10-39 gtss_derail_processor_ 000000 constant entry external dcl 10-40 gtss_derail_processor_$set 000000 constant entry external dcl 10-41 gtss_dq_$catp 000000 constant entry external dcl 10-42 gtss_dq_$create 000000 constant entry external dcl 10-43 gtss_dq_$dibp 000000 constant entry external dcl 10-44 gtss_dq_$entries_info 000000 constant entry external dcl 10-45 gtss_dq_$hdrp 000000 constant entry external dcl 10-46 gtss_dq_$mod_js 000000 constant entry external dcl 10-47 gtss_dq_$open_exc 000000 constant entry external dcl 10-48 gtss_dq_$open_gen 000000 constant entry external dcl 10-49 gtss_drl_abort_ 000000 constant entry external dcl 10-50 gtss_drl_addmem_ 000000 constant entry external dcl 10-51 gtss_drl_callss_ 000000 constant entry external dcl 10-52 gtss_drl_corfil_ 000000 constant entry external dcl 10-53 gtss_drl_defil_ 000000 constant entry external dcl 10-54 gtss_drl_defil_$subr 000000 constant entry external dcl 10-55 gtss_drl_dio_ 000000 constant entry external dcl 10-56 gtss_drl_drlimt_ 000000 constant entry external dcl 10-57 gtss_drl_drlsav_ 000000 constant entry external dcl 10-58 gtss_drl_filact_ 000000 constant entry external dcl 10-59 gtss_drl_filsp_ 000000 constant entry external dcl 10-60 gtss_drl_grow_ 000000 constant entry external dcl 10-61 gtss_drl_gwake_ 000000 constant entry external dcl 10-62 gtss_drl_jsts_ 000000 constant entry external dcl 10-63 gtss_drl_kin_ 000000 constant entry external dcl 10-64 gtss_drl_kotnow_ 000000 constant entry external dcl 10-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 10-66 gtss_drl_koutn_ 000000 constant entry external dcl 10-67 gtss_drl_morlnk_ 000000 constant entry external dcl 10-68 gtss_drl_msub_ 000000 constant entry external dcl 10-69 gtss_drl_objtim_ 000000 constant entry external dcl 10-70 gtss_drl_part_ 000000 constant entry external dcl 10-71 gtss_drl_pasaft_ 000000 constant entry external dcl 10-72 gtss_drl_pasdes_ 000000 constant entry external dcl 10-73 gtss_drl_pasust_ 000000 constant entry external dcl 10-74 gtss_drl_pdio_ 000000 constant entry external dcl 10-75 gtss_drl_prgdes_ 000000 constant entry external dcl 10-76 gtss_drl_pseudo_ 000000 constant entry external dcl 10-77 gtss_drl_relmem_ 000000 constant entry external dcl 10-78 gtss_drl_restor_ 000000 constant entry external dcl 10-79 gtss_drl_retfil_ 000000 constant entry external dcl 10-80 gtss_drl_return_ 000000 constant entry external dcl 10-81 gtss_drl_rew_ 000000 constant entry external dcl 10-82 gtss_drl_rstswh_ 000000 constant entry external dcl 10-83 gtss_drl_setlno_ 000000 constant entry external dcl 10-84 gtss_drl_setswh_ 000000 constant entry external dcl 10-85 gtss_drl_snumb_ 000000 constant entry external dcl 10-86 gtss_drl_spawn_ 000000 constant entry external dcl 10-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 10-88 gtss_drl_stoppt_ 000000 constant entry external dcl 10-89 gtss_drl_switch_ 000000 constant entry external dcl 10-90 gtss_drl_sysret_ 000000 constant entry external dcl 10-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 10-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 10-93 gtss_drl_t_err_ 000000 constant entry external dcl 10-94 gtss_drl_t_goto_ 000000 constant entry external dcl 10-95 gtss_drl_t_linl_ 000000 constant entry external dcl 10-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 10-97 gtss_drl_tapein_ 000000 constant entry external dcl 10-98 gtss_drl_task_ 000000 constant entry external dcl 10-99 gtss_drl_termtp_ 000000 constant entry external dcl 10-100 gtss_drl_time_ 000000 constant entry external dcl 10-101 gtss_drun_ 000000 constant entry external dcl 10-102 gtss_dsd_lookup_ 000000 constant entry external dcl 10-103 gtss_dsd_process_ 000000 constant entry external dcl 10-104 gtss_edit_dsd_ 000000 constant entry external dcl 10-105 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 10-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_$aft external static structure level 1 dcl 6-78 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_fail 000000 stack reference condition dcl 372 gtss_fault_processor_ 000000 constant entry external dcl 10-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 10-111 gtss_filact_error_status_ 000000 constant entry external dcl 10-112 gtss_filact_funct02_ 000000 constant entry external dcl 10-113 gtss_filact_funct03_ 000000 constant entry external dcl 10-114 gtss_filact_funct04_ 000000 constant entry external dcl 10-115 gtss_filact_funct05_ 000000 constant entry external dcl 10-116 gtss_filact_funct08_ 000000 constant entry external dcl 10-117 gtss_filact_funct10_ 000000 constant entry external dcl 10-118 gtss_filact_funct11_ 000000 constant entry external dcl 10-119 gtss_filact_funct14_ 000000 constant entry external dcl 10-120 gtss_filact_funct18_ 000000 constant entry external dcl 10-121 gtss_filact_funct19_ 000000 constant entry external dcl 10-122 gtss_filact_funct21_ 000000 constant entry external dcl 10-123 gtss_filact_funct22_ 000000 constant entry external dcl 10-124 gtss_find_cond_frame_ 000000 constant entry external dcl 10-110 gtss_interp_prim_ 000000 constant entry external dcl 10-126 gtss_interp_prim_$callss 000000 constant entry external dcl 10-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 10-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 10-129 gtss_ios_change_size_ 000000 constant entry external dcl 10-130 gtss_ios_close_ 000000 constant entry external dcl 10-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 10-132 gtss_ios_initialize_ 000000 constant entry external dcl 10-133 gtss_ios_io_ 000000 constant entry external dcl 10-134 gtss_ios_open_ 000000 constant entry external dcl 10-135 gtss_ios_position_ 000000 constant entry external dcl 10-136 gtss_mcfc_$close 000000 constant entry external dcl 10-139 gtss_mcfc_$delete 000000 constant entry external dcl 10-137 gtss_mcfc_$open 000000 constant entry external dcl 10-138 gtss_mcfc_empty 000000 constant entry external dcl 10-106 gtss_mcfc_init_ 000000 constant entry external dcl 10-125 gtss_pnterr internal static structure level 1 packed unaligned dcl 8-9 gtss_read_starCFP_ 000000 constant entry external dcl 10-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 10-141 gtss_run_subsystem_ 000000 constant entry external dcl 10-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 10-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 10-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 10-145 gtss_set_slave_ 000000 constant entry external dcl 10-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 10-147 gtss_update_safe_store_ 000000 constant entry external dcl 10-148 gtss_verify_access_ 000000 constant entry external dcl 10-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 10-150 gtss_write_starCFP_ 000000 constant entry external dcl 10-151 have_file automatic bit(1) unaligned dcl 373 hbound builtin function dcl 374 hcs_$add_acl_entries 000000 constant entry external dcl 375 hcs_$add_inacl_entries 000000 constant entry external dcl 377 hcs_$delentry_file 000000 constant entry external dcl 379 hcs_$initiate 000000 constant entry external dcl 381 hcs_$make_seg 000000 constant entry external dcl 383 hcs_$quota_read 000000 constant entry external dcl 384 hcs_$status_long 000000 constant entry external dcl 386 increment automatic fixed bin(24,0) dcl 389 info_ptr automatic pointer dcl 14-2 k automatic fixed bin(24,0) dcl 391 l automatic fixed bin(24,0) dcl 392 lbound builtin function dcl 393 lbx internal static fixed bin(17,0) initial dcl 9-42 link based structure level 1 dcl 14-2 lpx internal static fixed bin(17,0) initial dcl 9-42 max_options internal static fixed bin(17,0) initial dcl 395 max_resources internal static fixed bin(17,0) initial dcl 396 mc based structure level 1 dcl 9-12 minus_one internal static bit(36) initial unaligned dcl 397 mlim automatic float bin(27) dcl 398 modify_mode internal static bit(36) initial unaligned dcl 400 msp automatic float bin(27) dcl 401 multics_access_mode automatic fixed bin(5,0) dcl 402 now automatic fixed bin(17,0) dcl 15-5 optionsx based structure level 1 dcl 15-7 path_name automatic varying char(168) dcl 405 pathname based char dcl 14-2 permission_word based bit(36) dcl 406 person_id automatic char(22) unaligned dcl 407 quota automatic fixed bin(18,0) dcl 408 read_mode internal static bit(36) initial unaligned dcl 409 sbx internal static fixed bin(17,0) initial dcl 9-42 scu based structure level 1 dcl 9-56 scup automatic pointer dcl 9-54 scux based structure level 1 dcl 9-207 shlim automatic float bin(27) array dcl 412 shsp automatic float bin(27) array dcl 413 size builtin function dcl 414 sons_lvid automatic bit(36) unaligned dcl 416 spx internal static fixed bin(17,0) initial dcl 9-42 status automatic fixed bin(24,0) dcl 417 status_mode internal static bit(36) initial unaligned dcl 418 switches internal static bit(6) initial unaligned dcl 421 t1c based structure level 1 dcl 13-108 tacc_sw automatic fixed bin(1,0) dcl 422 trp automatic fixed bin(71,0) dcl 423 tup automatic bit(36) dcl 424 two_words based bit(72) unaligned dcl 425 type automatic fixed bin(2,0) dcl 426 used automatic fixed bin(18,0) dcl 427 user_attribute_word automatic bit(35) unaligned dcl 428 user_info_$limits 000000 constant entry external dcl 429 words380 based bit(13680) dcl 430 write_mode internal static bit(36) initial unaligned dcl 431 NAMES DECLARED BY EXPLICIT CONTEXT. bcd_message 001561 constant entry internal dcl 2-5 ref 64 could_not_create_catalog 000262 constant label dcl 63 ref 83 97 128 140 163 183 228 238 gal 002040 constant label dcl 3-47 ref 3-36 get_ascii_file_name 001714 constant entry internal dcl 3-5 ref 61 get_faulty_cat_file_entry 001551 constant entry internal dcl 1-2 ref 70 gtss_filact_funct02_ 000113 constant entry external dcl 15 ret 000407 constant label dcl 72 ref 108 return_err4 000203 constant label dcl 47 ref 56 118 157 3-21 3-40 4-13 4-17 set_general_permissions 000535 constant entry internal dcl 110 ref 102 set_specific_permissions 000665 constant entry internal dcl 156 ref 104 validate_status 002264 constant entry internal dcl 4-5 ref 54 NAMES DECLARED BY CONTEXT OR IMPLICATION. char builtin function ref 129 204 212 empty builtin function ref 173 index builtin function ref 195 202 length builtin function ref 2-21 null builtin function ref 291 330 337 339 340 341 352 369 371 404 415 419 13-12 13-83 13-216 13-230 15-6 16-5 174 174 254 4-9 rtrim builtin function ref 64 64 195 202 205 213 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 2746 3012 2541 2756 Length 3574 2541 44 545 205 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_filact_funct02_ 778 external procedure is an external procedure. set_general_permissions internal procedure shares stack frame of external procedure gtss_filact_funct02_. set_specific_permissions internal procedure shares stack frame of external procedure gtss_filact_funct02_. get_faulty_cat_file_entry internal procedure shares stack frame of external procedure gtss_filact_funct02_. 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_funct02_. validate_status internal procedure shares stack frame of external procedure gtss_filact_funct02_. 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_funct02_ 000100 new_name_ptr gtss_filact_funct02_ 000102 fcb_ptr gtss_filact_funct02_ 000104 altname_ptr gtss_filact_funct02_ 000106 arglist_ptr gtss_filact_funct02_ 000110 arg_ptr gtss_filact_funct02_ 000112 attribute_segment_ptr gtss_filact_funct02_ 000114 cat_filedescr_name_offset gtss_filact_funct02_ 000116 descriptor_ptr gtss_filact_funct02_ 000120 entry_name gtss_filact_funct02_ 000124 FMS_block_ptr gtss_filact_funct02_ 000126 gseg gtss_filact_funct02_ 000130 mem_top gtss_filact_funct02_ 000131 i gtss_filact_funct02_ 000132 nic gtss_filact_funct02_ 000134 p gtss_filact_funct02_ 000136 smc_entry_ptr gtss_filact_funct02_ 000140 status_ptr gtss_filact_funct02_ 000142 mcp gtss_filact_funct02_ 000144 ascii_cat_file gtss_filact_funct02_ 000172 gtss_file_values gtss_filact_funct02_ 000302 FMS_cat_ptr gtss_filact_funct02_ 000304 Type_1_ptr gtss_filact_funct02_ 000306 Type_4_ptr gtss_filact_funct02_ 000310 buffer_ptr gtss_filact_funct02_ 000312 options_ptr gtss_filact_funct02_ 000314 permissions_ptr gtss_filact_funct02_ 000324 pp set_general_permissions 000326 pstr set_general_permissions 000331 dir_acl set_general_permissions 000352 da_ptr set_specific_permissions 000354 da_count set_specific_permissions 000355 acl_count set_specific_permissions 000356 acl_ptr set_specific_permissions 000360 ascii_id set_specific_permissions 000363 c set_specific_permissions 000364 found_sw set_specific_permissions 000365 k set_specific_permissions 000366 n set_specific_permissions 000370 op set_specific_permissions 000372 pp set_specific_permissions 000374 pstr set_specific_permissions 000377 rp_sw set_specific_permissions 000420 ap get_ascii_file_name 000432 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_ hcs_$add_dir_acl_entries hcs_$append_branchx hcs_$delete_dir_acl_entries hcs_$list_dir_acl hcs_$replace_dir_acl ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gse_ext_$umc_name 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 000105 291 000120 330 000122 337 000123 339 000124 340 000125 341 000126 352 000127 355 000130 369 000133 371 000134 404 000135 415 000136 419 000137 13 12 000140 13 83 000141 13 216 000142 13 230 000143 15 6 000144 16 5 000145 36 000146 37 000152 38 000161 39 000164 40 000167 42 000172 45 000173 47 000203 48 000204 49 000207 51 000210 54 000214 56 000223 61 000234 62 000257 63 000262 64 000263 70 000373 71 000404 72 000407 73 000410 77 000411 83 000441 86 000444 97 000524 102 000527 104 000530 107 000531 108 000534 110 000535 117 000536 118 000544 120 000550 121 000553 122 000557 128 000566 129 000571 130 000605 131 000620 132 000622 133 000623 140 000661 142 000664 156 000665 254 000666 157 000670 159 000701 162 000705 163 000714 164 000726 166 000730 169 000734 170 000735 171 000742 172 000743 173 000744 174 000751 183 001013 184 001016 185 001020 186 001027 187 001030 188 001034 189 001037 194 001061 195 001077 196 001145 197 001147 198 001157 200 001161 201 001164 202 001173 203 001241 204 001244 205 001261 206 001320 207 001323 209 001325 210 001327 211 001340 212 001341 213 001355 214 001430 215 001433 218 001435 219 001437 220 001442 228 001502 230 001505 231 001507 238 001541 240 001544 241 001550 1 2 001551 1 7 001553 2 5 001560 2 18 001574 2 19 001601 2 21 001605 2 22 001606 2 23 001611 2 24 001613 2 25 001615 2 28 001617 2 29 001623 2 30 001637 2 32 001643 2 33 001675 2 34 001704 2 35 001713 3 5 001714 3 16 001716 3 17 001721 3 19 001723 3 21 001737 3 23 001740 3 25 001744 3 26 001751 3 27 001757 3 30 001762 3 32 001765 3 33 001771 3 35 001777 3 36 002001 3 39 002002 3 40 002020 3 43 002021 3 44 002027 3 45 002035 3 47 002040 3 48 002041 3 52 002051 3 53 002063 3 54 002065 3 57 002104 3 58 002105 3 64 002133 3 66 002135 3 67 002141 3 68 002155 3 69 002165 3 70 002215 3 73 002217 3 75 002235 3 76 002244 3 78 002252 3 81 002254 3 82 002256 4 5 002264 4 9 002266 4 13 002270 4 17 002302 4 21 002317 4 22 002325 4 23 002330 ----------------------------------------------------------- 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