COMPILATION LISTING OF SEGMENT gtss_filact_funct11_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1320.0 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_funct11_: proc (mcp_val, high_val, gseg_val, arg_ptr_val, buffer_ptr_val, code); 16 17 /** Derail FILACT function 11 (MF - Modify File). 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. Grimes Created 26* - Albert N. Kepner 1978 27* - Robert M. May 28* - David B. Ward 29* Change: Dave Ward 02/24/79 $db debug switch. 30* Change: Dave Ward 07/13/79 Converted to unsigned fixed bin(18). 31* Corrected options interpretation. 32* Change: Bob Alvarado 09/06/79 changed MF_new_name.name to two words. 33* Change: Dave Ward 09/06/79 Set disk_data for certain file changes. 34* Change: Dave Ward 09/18/79 Return status for dup name. 35* Change: Paul Benjamin 10/01/79 Check status for dup name on same file. 36* Change: Paul Benjamin 12/17/79 ACLs now upper case & 37* permissions more closely resemble GCOS. 38* Change: Ron Barstad 02/04/83 fix stringsize error in call to gtss_aft_$find 39* was trying to pass char(32) in char(8) field 40***/ 41 dcl mcp_val ptr parm; 42 dcl high_val fixed bin(18)unsigned unal parm; 43 dcl gseg_val ptr parm; 44 dcl arg_ptr_val ptr parm; 45 dcl buffer_ptr_val ptr parm; 46 dcl code fixed bin(35)parm; 47 mcp = mcp_val; 48 mem_top = high_val; 49 gseg = gseg_val; 50 arg_ptr = arg_ptr_val; 51 buffer_ptr = buffer_ptr_val; 52 53 code = 0; /* Successful. */ 54 55 /** Obtain modify file arglist. */ 56 if (MF_args.L_arglist < mem_bottom) | 57 ((MF_args.L_arglist +3) > mem_top) then do; 58 return_err4: ; 59 code = 4; 60 return; 61 end; 62 arglist_ptr = addrel (gseg, MF_args.L_arglist); 63 64 /** Obtain return status. **/ 65 call validate_status (MF_arglist.L_status_return, status_ptr); 66 67 if get_ascii_file_name ("0"b, MF_arglist.L_cat_filedescr, addr (ascii_cat_file)) then do; 68 could_not_modify_file: ; 69 status_word.status = "400500"b3; /* Could not access file specified. */ 70 could_not_modify_status_set: ; 71 call bcd_message ( 72 status2.L_bcd_message 73 , status2.message_words 74 , buffer_ptr 75 , "Could not modify file."||rtrim (gtss_file_values.dname)||">"||rtrim (gtss_file_values.ename) 76 ); 77 status_word.pd = get_faulty_cat_file_entry (); 78 ret: ; 79 if fcb_ptr ^= null () then 80 call msf_manager_$close (fcb_ptr); 81 return; 82 end; 83 84 gtss_file_values.version = 1; 85 gtss_file_values.new_ename = " "; 86 gtss_file_values.change_name = "0"b; 87 gtss_file_values.set_switch = "0"b; 88 89 call gtss_expand_pathname_ ( 90 addr (ascii_cat_file) 91 , gtss_file_values.dname 92 , gtss_file_values.ename 93 , code 94 ); 95 if code ^= 0 then goto could_not_modify_file; 96 97 /** Obtain new name (if any). **/ 98 if (MF_arglist.L_newname < mem_bottom) | 99 (MF_arglist.L_newname+4 > mem_top) then goto return_err4; 100 new_name_ptr = addrel (gseg, MF_arglist.L_newname); 101 102 if MF_new_name.newname.left_word ^= (36)"1"b then do; /* New name desired. */ 103 gtss_file_values.change_name = "1"b; 104 call gtss_bcd_ascii_$lc ( 105 addr (MF_new_name.newname) 106 , 12 107 , addr (gtss_file_values.new_ename) 108 ); 109 end; 110 111 /* Obtain pointer to msf file control block 112* (i.e., open the file). 113**/ 114 call msf_manager_$open ( 115 gtss_file_values.dname 116 , gtss_file_values.ename 117 , fcb_ptr 118 , code 119 ); 120 if code ^= 0 then goto could_not_modify_file; 121 122 call set_general_permissions; 123 124 call set_options; 125 126 if gtss_file_values.change_name | 127 (unspec (gtss_file_values.set_switch) ^= "0"b) then do; 128 call gtss_attributes_mgr_$set (addr (gtss_file_values), code); 129 if code ^= 0 then do; 130 if code = error_table_$namedup | code = error_table_$segnamedup then do; 131 status_word.status = "4011"b3; /* non-unique name. */ 132 goto could_not_modify_status_set; 133 end; 134 goto could_not_modify_file; 135 end; 136 137 if gtss_file_values.change_name | 138 set_switch.mode_random | 139 set_switch.maxll | 140 set_switch.curll then do; /* Adjust ios runtime values for the file. */ 141 142 /* Obtain aft index for the file. */ 143 aft_name = substr(gtss_file_values.ename,1,8); 144 call gtss_aft_$find ( 145 aft_name 146 , file_no 147 , ec 148 ); 149 dcl ec fixed bin(35); 150 if ec = 0 then do; /* File name is in aft => change values. */ 151 gtss_file_attributes_ptr = gtss_disk (file_no).attributes_ptr; 152 if gtss_file_values.change_name then 153 gtss_disk (file_no).entry_name = gtss_file_values.new_ename; 154 if set_switch.mode_random then 155 gtss_file_attributes.descriptor.mode, 156 gtss_disk (file_no).pat_body.random 157 = gtss_file_values.data_flags.mode_random; 158 if set_switch.maxll then 159 gtss_file_attributes.max_size 160 = gtss_file_values.data_fields.maxll; 161 if set_switch.curll then 162 gtss_file_attributes.max_size 163 = gtss_file_values.data_fields.curll; 164 end; 165 end; 166 end; 167 168 status_word.status = "400000"b3; 169 goto ret; 170 171 set_options: proc; 172 173 /* Process options. 174**/ 175 176 if (L_optionsmem_top) then goto return_err4; 178 op = addrel (gseg, L_options); 179 180 /* Determine number of specific user permissions. */ 181 do n = 0 by 1 while (end_of_list ^= -1); 182 if (L_options+3+ (3*n))>mem_top then goto could_not_modify_file; 183 end; 184 185 if opt (4) then do; /* New max size. */ 186 if unspec (max_size) = (18)"1"b then do; /* Set unlimited. */ 187 gtss_file_values.set_switch.maxll = "1"b; 188 gtss_file_values.data_fields.maxll = 0; 189 end; 190 else 191 if max_size ^= 0 then do; /* Set to specified size. */ 192 gtss_file_values.set_switch.maxll = "1"b; 193 gtss_file_values.data_fields.maxll = max_size; 194 end; 195 end; 196 197 if opt (8) then do; /* User attributes. */ 198 gtss_file_values.set_switch.attr = "1"b; 199 gtss_file_values.attributes.attr = substr (user_attributes, 2); 200 end; 201 202 if opt (9) then do; /* New mode. */ 203 gtss_file_values.set_switch.mode_random = "1"b; 204 gtss_file_values.data_flags.mode_random = opt (1); 205 end; 206 207 if n<1 then return; 208 209 /* User specific permissions. */ 210 acl_count = n; 211 allocate segment_acl set (acl_ptr); 212 213 /* Process deletes. */ 214 c, d = 0; 215 do k = 1 to n; 216 if addr (user (k).specific_permission) -> fb18 = 0 then do; 217 d = d+1; 218 call gtss_bcd_ascii_ ( 219 addr (user (k).id) 220 , 12 221 , addr (ascii_id) 222 ); 223 del_name (d) = "*."||rtrim (ascii_id)||".*"; 224 end; 225 end; 226 if d>0 then do; /* There were names to delete. */ 227 call msf_manager_$acl_delete ( 228 fcb_ptr 229 , acl_ptr 230 , d 231 , code 232 ); 233 if code ^= 0 then do; 234 free segment_acl; 235 goto could_not_modify_file; 236 end; 237 238 /* Convert acl names not found to be 239* add names with null. 240**/ 241 do k = 1 to d; 242 if status_code2 (k) = error_table_$user_not_found then do; 243 c = c+1; 244 access_name (c) = del_name (k); 245 modes (c) = "0"b; 246 zero_pad (c) = "0"b; 247 end; 248 end; 249 end; 250 251 if (c>0) | (d b36 ^= (36)"1"b then 257 if pp -> fb18 ^= 0 then do; 258 c = c+1; 259 call gtss_bcd_ascii_ ( 260 addr (user (k).id) 261 , 12 262 , addr (ascii_id) 263 ); 264 access_name (c) = "*."||rtrim (ascii_id)||".*"; 265 modes (c) = get_modes (addr (user (k).specific_permission)); 266 if modes (c) = "111111111111111111111111111111111111"b then c = c - 1; 267 /* Create permission, forget this one. */ 268 end; 269 end; 270 271 if c>0 then do; 272 call msf_manager_$acl_add ( 273 fcb_ptr 274 , acl_ptr 275 , c 276 , code 277 ); 278 if code ^= 0 then do; 279 free segment_acl; 280 goto could_not_modify_file; 281 end; 282 end; 283 end; 284 285 free segment_acl; 286 return; 287 288 dcl acl_count fixed bin; 289 dcl acl_ptr ptr init(null()); 290 dcl ascii_id char(12); 291 dcl b36 bit(36)aligned based; 292 dcl c fixed bin; 293 dcl d fixed bin; 294 dcl error_table_$user_not_found fixed bin(35)ext; 295 dcl fb18 fixed bin(18)unsigned unal based; 296 dcl k fixed bin; 297 dcl n fixed bin(24); 298 dcl op ptr; 299 dcl pp ptr; 300 301 dcl 1 optiob_args aligned based(op) 302 , 2 word1 303 , 3 opt (0:35)bit(1)unal 304 , 2 word2 305 , 3 initial_size fixed bin(18)unsigned unal 306 , 3 max_size fixed bin(18)unsigned unal 307 , 2 user (n) 308 , 3 id bit(72) 309 , 3 specific_permission bit(36) 310 , 2 end_of_list fixed bin(35) 311 , 2 user_attributes bit(36) 312 ; 313 314 dcl 1 delete_acl (acl_count) aligned based(acl_ptr), 315 2 del_name char(32), 316 2 status_code2 fixed bin(35); 317 318 dcl 1 segment_acl (acl_count)aligned based(acl_ptr), 319 2 access_name char(32), 320 2 modes bit(36), 321 2 zero_pad bit(36), 322 2 status_code fixed bin(35); 323 end /* set_options */; 324 325 set_general_permissions: proc; 326 327 /* Set general permissions 328* => Multics *.*.* access. 329**/ 330 331 /** Obtain permissions. **/ 332 if MF_arglist.L_permissions = 0 then return; 333 if (MF_arglist.L_permissions < mem_bottom) | 334 (MF_arglist.L_permissions > mem_top) then goto return_err4; 335 pp = addrel (gseg, MF_arglist.L_permissions); 336 if pp -> b36 = (36)"1"b then return; 337 if pp -> fb18 = 0 then do; /* Delete general permissions. */ 338 del_name = "*.*.*"; 339 call msf_manager_$acl_delete ( 340 fcb_ptr 341 , addr (delete_acl) 342 , 1 343 , code 344 ); 345 end; 346 else do; 347 348 /* => Set specific general permissions. */ 349 access_name = "*.*.*"; 350 modes = get_modes (pp); 351 status_code = 0; 352 if modes ^= "111111111111111111111111111111111111"b then do; /* Ignore create */ 353 call msf_manager_$acl_add ( 354 fcb_ptr 355 , addr (segment_acl) 356 , 1 357 , code 358 ); 359 end; 360 end; 361 if code ^= 0 then goto could_not_modify_file; 362 return; 363 364 dcl pp ptr; 365 dcl fb18 fixed bin(18)unsigned unal based; 366 dcl b36 bit(36)aligned based; 367 dcl bits (0:35)bit(1)unal based; 368 369 dcl 1 delete_acl, 370 2 del_name char(32), 371 2 status_code2 fixed bin(35); 372 373 dcl 1 segment_acl, 374 2 access_name char(32), 375 2 modes bit(36), 376 2 zero_pad bit(36), 377 2 status_code fixed bin(35); 378 end /* set_general_permissions */; 379 380 get_modes: proc (pp)returns (bit (36)); 381 382 /* Interpret GCOS permissions as 383* Multics accesses. 384**/ 385 dcl pp ptr parm; 386 r = "0"b; 387 dcl r bit(36)unal; 388 dcl b (0:35)bit(1)unal based; 389 dcl b0_9 bit(10) based; 390 if pp -> b0_9 = "0000000010"b then return ("111111111111111111111111111111111111"b); 391 /* Create permission doesn't apply to files */ 392 if pp -> b (17) then return ("0"b); /* exclude => null */ 393 r = "1"b||pp -> b (3)||pp -> b (1); 394 return (r); 395 end /* get_modes */; 396 397 /** (MF) Modify File Declarations. **/ 398 dcl new_name_ptr ptr init(null()); 399 400 dcl 1 MF_new_name aligned based(new_name_ptr) 401 , 3 newname 402 , 4 left_word bit(36) 403 , 4 right_word bit(36) 404 , 3 newpassword bit(72) 405 ; 406 407 dcl 1 MF_args aligned based(arg_ptr) 408 , 3 word1 409 , 4 zero fixed bin(18)unsigned unal 410 , 4 L_arglist fixed bin(18)unsigned unal 411 , 3 word2 412 , 4 MF_function_no fixed bin(18)unsigned unal 413 , 4 L_buffer fixed bin(18)unsigned unal 414 ; 415 416 dcl 1 MF_arglist aligned based(arglist_ptr) 417 , 3 word1 418 , 4 L_status_return fixed bin(18)unsigned unal 419 , 4 zero fixed bin(18)unsigned unal 420 , 3 word2 421 , 4 L_cat_filedescr fixed bin(18)unsigned unal 422 , 4 L_permissions fixed bin(18)unsigned unal 423 , 3 word3 424 , 4 L_options fixed bin(18)unsigned unal 425 , 4 L_newname fixed bin(18)unsigned unal 426 ; 427 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 */ 428 429 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 */ 430 431 432 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 */ 433 434 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 */ 435 436 437 /** Declarations for gtss_drl_filact_: 438* IDENTIFIER ATTRIBUTES **/ 439 dcl msf_manager_$acl_replace entry(ptr,ptr,fixed bin,bit(1),fixed bin(35)); 440 dcl msf_manager_$close entry(ptr); 441 dcl msf_manager_$open entry(char(*),char(*),ptr,fixed bin(35)); 442 dcl msf_manager_$acl_add entry(ptr,ptr,fixed bin,fixed bin(35)); 443 dcl msf_manager_$acl_delete entry(ptr,ptr,fixed bin,fixed bin(35)); 444 dcl fcb_ptr ptr init(null()); 445 dcl access_mode bit (6); 446 dcl addr builtin; 447 dcl addrel builtin; 448 dcl aft_code fixed bin (35); 449 dcl aft_name char (8); 450 dcl altname char (8) aligned based (altname_ptr); 451 dcl altname_ptr ptr init(null()); 452 dcl append_mode bit (36) static int options(constant)init ("100000000000"b3); 453 dcl arglist_ptr ptr init(null()); 454 dcl arg_ptr ptr init(null()); 455 dcl attribute_segment_ptr ptr init(null()); 456 dcl bit builtin; 457 dcl bit72 bit(72)aligned based; 458 dcl bit_count fixed bin (24); 459 dcl cat_filedescr_name_offset fixed bin(18)unsigned unal ; 460 dcl cdate fixed bin (71); 461 dcl clim float bin; 462 dcl crf fixed bin(24); 463 dcl csp float bin; 464 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 465 dcl descriptor_address fixed bin(18)unsigned unal ; 466 dcl descriptor_ptr ptr init(null()); 467 dcl dir_name char (168); 468 dcl divide builtin; 469 dcl entry_name char (12) init (" "); 470 dcl error_table_$incorrect_access fixed bin (35) ext; 471 dcl error_table_$moderr fixed bin (35) ext; 472 dcl error_table_$namedup fixed bin (35) ext; 473 dcl error_table_$noentry fixed bin (35) ext; 474 dcl error_table_$nomatch fixed bin (35) ext; 475 dcl error_table_$not_seg_type fixed bin(35)ext; 476 dcl error_table_$no_dir fixed bin (35) ext; 477 dcl error_table_$segknown fixed bin (35) ext; 478 dcl error_table_$segnamedup fixed bin (35) ext; 479 dcl error_table_$seg_not_found fixed bin (35) ext; 480 dcl execute_mode bit (36) static int options(constant)init ("200000000000"b3); 481 dcl file_name_in_ascii bit(1); 482 dcl file_no fixed bin (24); 483 dcl fixed builtin; 484 dcl FMS_block_ptr ptr init(null()); 485 dcl four_NULS char (4)static int options (constant)init ((4)"") /* 4 octal 000's */; 486 dcl gseg ptr init(null()); 487 dcl gtss_fail condition; 488 dcl have_file bit(1); 489 dcl hbound builtin; 490 dcl hcs_$add_acl_entries entry (char (*), char (*), ptr, fixed bin(24), fixed bin (35)); 491 dcl hcs_$add_dir_acl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (35)); 492 dcl hcs_$add_inacl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (3), fixed bin (35)); 493 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)); 494 dcl hcs_$delentry_file entry(char(*),char(*),fixed bin(35)); 495 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 496 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 497 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)); 498 dcl hcs_$status_long entry (char (*), char (*), fixed bin (1), ptr,ptr, fixed bin (35)); 499 dcl mem_top fixed bin(18)unsigned aligned; 500 dcl i fixed bin(24); 501 dcl increment fixed bin(24); 502 dcl ioa_ entry options (variable); 503 dcl k fixed bin(24); 504 dcl l fixed bin(24); 505 dcl lbound builtin; 506 dcl mem_bottom fixed bin(18)unsigned aligned static int options(constant)init(103); 507 dcl max_options fixed bin static int options(constant)init (100); 508 dcl max_resources fixed bin static int options(constant)init (99999); 509 dcl minus_one bit (36) static int options(constant)init ((36)"1"b); 510 dcl mlim float bin; 511 dcl mod builtin; 512 dcl modify_mode bit (36) static int options(constant)init ("200000000000"b3); 513 dcl msp float bin; 514 dcl multics_access_mode fixed bin(5); 515 dcl nic fixed bin(24); 516 dcl p ptr init(null()); 517 dcl path_name char (168) varying; 518 dcl permission_word bit(36)aligned based; 519 dcl person_id char (22); 520 dcl quota fixed bin (18); 521 dcl read_mode bit (36) static int options(constant)init ("400000000000"b3); 522 dcl rel builtin; 523 dcl rings (3) fixed bin (3) static int options(constant)init (4, 4, 4); 524 dcl shlim (0:7) float bin; 525 dcl shsp (0:7) float bin; 526 dcl size builtin; 527 dcl smc_entry_ptr ptr init(null()); 528 dcl sons_lvid bit (36); 529 dcl status fixed bin (24); 530 dcl status_mode bit (36) static int options(constant)init ("400000000000"b3); 531 dcl status_ptr ptr init(null()); 532 dcl substr builtin; 533 dcl switches bit (6) static int options(constant)init ("37"b3); 534 dcl tacc_sw fixed bin (1); 535 dcl trp fixed bin (71); 536 dcl tup bit (36) aligned; 537 dcl two_words bit (72) based; 538 dcl type fixed bin (2); 539 dcl used fixed bin (18); 540 dcl user_attribute_word bit (35); 541 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); 542 dcl words380 bit(13680)aligned based; 543 dcl write_mode bit (36) static int options(constant)init ("100000000000"b3); 544 545 dcl 1 status2 aligned based(status_ptr) 546 , 3 word1 547 , 4 status_code bit(12)unal 548 , 4 zero1 bit(06)unal 549 , 4 zero2 fixed bin(18)unsigned unal 550 , 3 word2 551 , 4 L_bcd_message bit(18) unal 552 , 4 message_words fixed bin(18)unsigned unal 553 ; 554 555 dcl 1 bcdname aligned based(p), 556 2 first8 bit(48)unal, 557 2 last4 bit(24)unal; 558 559 560 dcl 1 status_word aligned based (status_ptr), 561 2 status bit(18) unal, 562 2 pd fixed bin(18)unsigned unal, 563 2 null_bit bit (1) unal, 564 2 user_attributes bit (35) unal; 565 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 */ 566 567 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 */ 568 569 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 */ 570 571 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 */ 572 573 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 */ 574 575 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 */ 576 577 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 */ 578 579 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 */ 580 581 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 */ 582 583 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 584 585 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 */ 586 587 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 */ 588 589 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 */ 590 591 19 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 19 2 /* 19 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 19 4**/ 19 5 19 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 19 7 19 8 3 gtss_disk, 19 9 4 dir_name char (168) unal, /* containing directory for file */ 19 10 4 entry_name char (32) unal, /* entry name for file */ 19 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 19 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 19 13* component which has been accessed has a corresponding 19 14* initialized pointer. Currently 500 components 19 15* are supported. */ 19 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 19 17 4 indicators aligned, /* one word of flags */ 19 18 19 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 19 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 19 21 5 fill bit (34) unal, 19 22 19 23 4 permissions aligned, 19 24 5 read bit (1) unaligned, /* 1=read permission */ 19 25 5 execute bit (1) unaligned, /* 1=execute permission */ 19 26 5 write bit (1) unaligned, /* 1=write permission */ 19 27 5 fill2 bit (33) unaligned, /* unused at this time */ 19 28 19 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 19 30 4 component fixed bin, /* current component value (first component = 0) */ 19 31 4 offset fixed bin (24), /* current word offset in the component */ 19 32 4 file_position fixed bin (30), /* current file position in words */ 19 33 4 file_size fixed bin (30), /* size of file in words */ 19 34 4 no_components fixed bin (24), /* number of components for a msf */ 19 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 19 36* for this file. (See gtss_file_attributes.incl.pl1) */ 19 37 19 38 4 pat_body, 19 39 19 40 5 word_0, 19 41 6 defective bit (1) unal, /* 1 = file has defective space */ 19 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 19 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 19 44 6 sct bit (12) unal, /* address of SCT for device on which 19 45* file begins or if cataloged, 19 46* for device with file catalog entry */ 19 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 19 48 19 49 5 word_1, 19 50 6 io_time fixed bin (35), /* I/O time for this file */ 19 51 19 52 5 word_2, 19 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 19 54 6 hash_code bit (5) unal, /* hash code of user name under which 19 55* file is cataloged */ 19 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 19 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 19 58 6 random bit (1) unal, /* 1 = access to file is random */ 19 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 19 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 19 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 19 62 6 disposition bit (2) unal, /* Abort disposition code 19 63* 00 = Release 19 64* 01 = Dismount 19 65* 10 = Save 19 66* 11 = Continue */ 19 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 19 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 19 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 19 70* attempted to part of file marked defective (only 19 71* for procted allocation) */ 19 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 19 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 19 74* (on device with SCT referenced in word 0). If 19 75* cataloged file that is proctected (bit 0 ON in this 19 76* word), memory location of table in File Management 19 77* Supervisor Executive. If user temporary file, 19 78* largest size file has ever attained, in llinks. 19 79* If system value equals 777777 octal, it is system 19 80* file created by System Input. */ 19 81 19 82 5 word_3, 19 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 19 84* 0-13 = 0, File size is greater than 16,383 llinks, 19 85* and if the file is cataloged, call to .MFS19,5 with 19 86* offset to PAT pointer in index 5 will cause bits 19 87* 14-35 of Q-register to be set to file size. (Unless 19 88* there is a Seek error on file catalog in which case 19 89* zero is returned. ) 19 90* */ 19 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 19 92* in memory. */ 19 93 19 94 5 word_4, 19 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 19 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 19 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 19 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 19 99* descriptor) */ 19 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 19 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 592 593 20 1 /* BEGIN INCLUDE FILE gtss_file_attributes.incl.pl1 */ 20 2 /* 20 3* Created: (Kepner Multics) 06/02/78 1522.0 mst Fri 20 4**/ 20 5 20 6 /* Declaration of File Attributes Segement */ 20 7 20 8 20 9 dcl gtss_file_attributes_ptr ptr init(null()); 20 10 20 11 dcl 1 gtss_file_attributes based (gtss_file_attributes_ptr) aligned, 20 12 2 max_size fixed bin (24), /* maximum size the file can grow to 20 13* in 320 word blocks. if = 0 then the 20 14* file size is unlimited. */ 20 15 2 current_size fixed bin (24), /* current size of the file in 320 word blocks */ 20 16 2 user_attributes aligned, 20 17 3 non_null bit (1) unal, /* 0 = this file has never been written to */ 20 18 3 user_attr bit (35) unal, /* User defined attributes */ 20 19 2 descriptor aligned, 20 20 3 device_type bit (6) unaligned, /* currently ignored */ 20 21 3 words_block bit (12) unaligned, /* number of words per physical block */ 20 22 3 llink_flag bit (1) unaligned, /* if 0= size in links | 1= size in llinks */ 20 23 3 mode bit (1) unaligned, /* 0= linked file | 1= random file */ 20 24 3 perm bit (1) unaligned, /* 1=permanent file|0=not */ 20 25 3 fill bit (1) unaligned, 20 26 3 size bit (14) unaligned; 20 27 20 28 20 29 /* END INCLUDE FILE gtss_file_attributes.incl.pl1 */ 594 595 end /* gtss_filact_funct11_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.0 gtss_filact_funct11_.pl1 >spec>on>7105>gtss_filact_funct11_.pl1 428 1 09/09/83 1713.9 gtss_filact_intp3x.incl.pl1 >ldd>include>gtss_filact_intp3x.incl.pl1 430 2 09/09/83 1713.3 gtss_filact_intp7x.incl.pl1 >ldd>include>gtss_filact_intp7x.incl.pl1 433 3 09/09/83 1713.9 gtss_filact_intp2x.incl.pl1 >ldd>include>gtss_filact_intp2x.incl.pl1 435 4 09/09/83 1713.8 gtss_filact_intp1x.incl.pl1 >ldd>include>gtss_filact_intp1x.incl.pl1 566 5 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 568 6 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 570 7 09/09/83 1713.3 gtss_filact_status.incl.pl1 >ldd>include>gtss_filact_status.incl.pl1 572 8 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 574 9 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 576 10 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 578 11 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 580 12 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 582 13 09/09/83 1713.5 gtss_FMS_catalog.incl.pl1 >ldd>include>gtss_FMS_catalog.incl.pl1 584 14 04/29/76 1139.2 status_info.incl.pl1 >ldd>include>status_info.incl.pl1 586 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 588 17 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 590 18 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 592 19 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 594 20 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FMS_block_ptr 000130 automatic pointer initial dcl 484 set ref 484* FMS_cat_ptr 000306 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 "MF_args" packed unsigned unaligned dcl 407 in procedure "gtss_filact_funct11_" ref 56 56 62 L_bcd_message 1 based bit(18) level 3 packed unaligned dcl 545 set ref 71* L_cat_filedescr 1 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 416 set ref 67* L_newname 2(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 416 ref 98 98 100 L_options 2 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 416 ref 176 176 178 182 L_permissions 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 416 ref 332 333 333 335 L_status_return based fixed bin(18,0) level 3 packed unsigned unaligned dcl 416 set ref 65* MF_arglist based structure level 1 dcl 416 MF_args based structure level 1 dcl 407 MF_new_name based structure level 1 dcl 400 Type_1_ptr 000310 automatic pointer initial dcl 13-83 set ref 13-83* Type_4_ptr 000312 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* access_name 000377 automatic char(32) level 2 in structure "segment_acl" packed unaligned dcl 373 in procedure "set_general_permissions" set ref 349* access_name based char(32) array level 2 in structure "segment_acl" dcl 318 in procedure "set_options" set ref 244* 264* acf based structure level 1 dcl 3-85 acfp parameter pointer dcl 3-14 ref 3-5 3-16 acl_count 000332 automatic fixed bin(17,0) dcl 288 set ref 210* 211 234 279 285 acl_ptr 000334 automatic pointer initial dcl 289 set ref 211* 223 227* 234 242 244 244 245 246 264 265 266 272* 279 285 289* addr builtin function dcl 446 ref 67 67 89 89 104 104 104 104 128 128 216 218 218 218 218 255 259 259 259 259 265 265 339 339 353 353 2-29 2-29 3-58 3-58 3-58 3-58 addrel builtin function dcl 447 ref 62 100 178 335 2-28 3-23 4-21 aft_name 000106 automatic char(8) unaligned dcl 449 set ref 143* 144* altname_ptr 000110 automatic pointer initial dcl 451 set ref 451* ap 000436 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 000114 automatic pointer initial dcl 454 set ref 50* 56 56 62 454* 4-17 4-17 arg_ptr_val parameter pointer dcl 44 ref 15 50 arglist_ptr 000112 automatic pointer initial dcl 453 set ref 62* 65 67 98 98 100 176 176 178 182 332 333 333 335 453* ascii_cat_file 000150 automatic structure level 1 unaligned dcl 11-8 set ref 67 67 89 89 ascii_id 000336 automatic char(12) unaligned dcl 290 set ref 218 218 223 259 259 264 attr 100(04) 000176 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 198* attr 105(01) 000176 automatic bit(35) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 199* attribute_segment_ptr 000116 automatic pointer initial dcl 455 set ref 455* attributes 105 000176 automatic structure level 2 dcl 12-56 attributes_ptr 100 000050 external static pointer array level 3 dcl 19-6 ref 151 b based bit(1) array unaligned dcl 388 ref 392 393 393 b0_9 based bit(10) unaligned dcl 389 ref 390 b36 based bit(36) dcl 366 in procedure "set_general_permissions" ref 336 b36 based bit(36) dcl 291 in procedure "set_options" ref 256 bit72 based bit(72) dcl 457 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 000314 automatic pointer initial dcl 13-230 set ref 51* 71* 13-230* 3-53 3-75 buffer_ptr_val parameter pointer dcl 45 ref 15 51 c 000341 automatic fixed bin(17,0) dcl 292 set ref 214* 243* 243 244 245 246 251 258* 258 264 265 266 266* 266 271 272* callers_buf based structure level 1 dcl 3-87 cat_filedescr_name_offset 000120 automatic fixed bin(18,0) unsigned unaligned dcl 459 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 change_name 73 000176 automatic bit(1) level 2 dcl 12-56 set ref 86* 103* 126 137 152 code parameter fixed bin(35,0) dcl 46 set ref 15 53* 59* 89* 95 114* 120 128* 129 130 130 227* 233 272* 278 339* 353* 361 curll 102 000176 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 12-56 in procedure "gtss_filact_funct11_" set ref 161 curll 100(02) 000176 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 137 161 d 000342 automatic fixed bin(17,0) dcl 293 set ref 214* 217* 217 223 226 227* 241 251 data_fields 102 000176 automatic structure level 2 dcl 12-56 data_flags 101 000176 automatic structure level 2 dcl 12-56 del_name 000366 automatic char(32) level 2 in structure "delete_acl" packed unaligned dcl 369 in procedure "set_general_permissions" set ref 338* del_name based char(32) array level 2 in structure "delete_acl" dcl 314 in procedure "set_options" set ref 223* 244 delete_acl 000366 automatic structure level 1 unaligned dcl 369 in procedure "set_general_permissions" set ref 339 339 delete_acl based structure array level 1 dcl 314 in procedure "set_options" descriptor 3 based structure level 2 dcl 20-11 descriptor_ptr 000122 automatic pointer initial dcl 466 set ref 466* 3-23* 3-25 3-26 3-27 3-33 3-43 3-54 3-58 3-58 divide builtin function dcl 468 ref 2-22 dname 1 000176 automatic char(168) level 2 packed unaligned dcl 12-56 set ref 71 89* 114* ec 000100 automatic fixed bin(35,0) dcl 149 set ref 144* 150 ename 53 000176 automatic char(32) level 2 packed unaligned dcl 12-56 set ref 71 89* 114* 143 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 "optiob_args" dcl 301 in procedure "set_options" ref 181 entry_name 000124 automatic char(12) initial unaligned dcl 469 in procedure "gtss_filact_funct11_" set ref 469* entry_name 52 000050 external static char(32) array level 3 in structure "gtss_dfd_ext_$disk_file_data" packed unaligned dcl 19-6 in procedure "gtss_filact_funct11_" set ref 152* error_table_$namedup 000020 external static fixed bin(35,0) dcl 472 ref 130 error_table_$segnamedup 000022 external static fixed bin(35,0) dcl 478 ref 130 error_table_$user_not_found 000052 external static fixed bin(35,0) dcl 294 ref 242 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 295 in procedure "set_options" ref 216 256 fb18 based fixed bin(18,0) unsigned unaligned dcl 365 in procedure "set_general_permissions" ref 337 fcb_ptr 000104 automatic pointer initial dcl 444 set ref 79 79* 114* 227* 272* 339* 353* 444* 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* file_no 000127 automatic fixed bin(24,0) dcl 482 set ref 144* 151 152 154 fnia parameter bit(1) unaligned dcl 3-12 ref 3-5 3-52 gse_ext_$umc_name 000046 external static char(12) unaligned dcl 17-17 ref 3-73 gseg 000132 automatic pointer initial dcl 486 set ref 49* 62 100 178 335 486* 3-23 4-21 gseg_val parameter pointer dcl 43 ref 15 49 gtss_aft_$find 000032 constant entry external dcl 10-28 ref 144 gtss_ascii_bcd_ 000034 constant entry external dcl 10-30 ref 2-29 gtss_attributes_mgr_$set 000036 constant entry external dcl 10-32 ref 128 gtss_bcd_ascii_ 000040 constant entry external dcl 10-33 ref 218 259 gtss_bcd_ascii_$lc 000042 constant entry external dcl 10-34 ref 104 3-58 gtss_dfd_ext_$disk_file_data 000050 external static structure array level 1 dcl 19-6 gtss_disk 000050 external static structure array level 2 dcl 19-6 gtss_expand_pathname_ 000044 constant entry external dcl 10-107 ref 89 gtss_ext_$db 000030 external static bit(1) array unaligned dcl 6-10 ref 3-66 gtss_file_attributes based structure level 1 dcl 20-11 gtss_file_attributes_ptr 000322 automatic pointer initial dcl 20-9 set ref 151* 154 158 161 20-9* gtss_file_values 000176 automatic structure level 1 dcl 12-56 set ref 128 128 gtss_ust 000026 external static structure level 2 dcl 5-16 gtss_ust_ext_$ust 000026 external static structure level 1 dcl 5-16 high_val parameter fixed bin(18,0) unsigned unaligned dcl 42 ref 15 48 i 000135 automatic fixed bin(24,0) dcl 500 set ref 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 301 set ref 218 218 259 259 ioa_ 000024 constant entry external dcl 502 ref 3-67 3-69 k 000343 automatic fixed bin(17,0) dcl 296 set ref 215* 216 218 218* 241* 242 244* 254* 255 259 259 265 265* l 000102 automatic fixed bin(17,0) dcl 2-38 set ref 2-21* 2-22 2-25* 2-29* 2-30 last_word based structure level 2 dcl 2-41 left_word based bit(36) level 3 dcl 400 set ref 102 lid 000026 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 max_size based fixed bin(24,0) level 2 in structure "gtss_file_attributes" dcl 20-11 in procedure "gtss_filact_funct11_" set ref 158* 161* max_size 1(18) based fixed bin(18,0) level 3 in structure "optiob_args" packed unsigned unaligned dcl 301 in procedure "set_options" ref 186 190 193 maxll 103 000176 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 12-56 in procedure "gtss_filact_funct11_" set ref 158 188* 193* maxll 100(01) 000176 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 137 158 187* 192* mcp 000146 automatic pointer dcl 9-10 set ref 47* mcp_val parameter pointer dcl 41 ref 15 47 mem_bottom constant fixed bin(18,0) initial unsigned dcl 506 ref 56 98 176 333 3-19 4-13 mem_top 000134 automatic fixed bin(18,0) unsigned dcl 499 set ref 48* 56 98 176 182 333 3-19 3-39 4-13 message_words 1(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 545 set ref 71* ml parameter bit(18) unaligned dcl 2-14 set ref 2-5 2-18* 2-33* mod builtin function dcl 511 ref 2-30 mode 3(19) based bit(1) level 3 packed unaligned dcl 20-11 set ref 154* mode_random 101 000176 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 154 204* mode_random 100 000176 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 12-56 in procedure "gtss_filact_funct11_" set ref 137 154 203* modes 10 based bit(36) array level 2 in structure "segment_acl" dcl 318 in procedure "set_options" set ref 245* 265* 266 modes 10 000377 automatic bit(36) level 2 in structure "segment_acl" packed unaligned dcl 373 in procedure "set_general_permissions" set ref 350* 352 msf_manager_$acl_add 000014 constant entry external dcl 442 ref 272 353 msf_manager_$acl_delete 000016 constant entry external dcl 443 ref 227 339 msf_manager_$close 000010 constant entry external dcl 440 ref 79 msf_manager_$open 000012 constant entry external dcl 441 ref 114 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 000344 automatic fixed bin(24,0) dcl 297 in procedure "set_options" set ref 181* 181* 182* 199 207 210 215 251 254 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 22 based structure array level 2 in structure "t0c" dcl 13-75 in procedure "gtss_filact_funct11_" name based char(8) array level 2 in structure "cfd3" dcl 3-104 in procedure "get_ascii_file_name" set ref 3-54 3-58 3-58 new_ename 63 000176 automatic char(32) level 2 packed unaligned dcl 12-56 set ref 85* 104 104 152 new_name_ptr 000102 automatic pointer initial dcl 398 set ref 100* 102 104 104 398* newname based structure level 2 dcl 400 set ref 104 104 nic 000136 automatic fixed bin(24,0) dcl 515 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 000346 automatic pointer dcl 298 set ref 178* 181 185 186 190 193 197 199 202 204 216 218 218 255 259 259 265 265 opt based bit(1) array level 3 packed unaligned dcl 301 ref 185 197 202 204 optiob_args based structure level 1 dcl 301 options_ptr 000316 automatic pointer initial dcl 15-6 set ref 15-6* p 000140 automatic pointer initial dcl 516 set ref 516* pat_body 102 000050 external static structure array level 3 dcl 19-6 pd 0(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 560 set ref 77* permissions_ptr 000320 automatic pointer initial dcl 16-5 set ref 16-5* permissionsx based structure level 1 dcl 16-6 pp parameter pointer dcl 385 in procedure "get_modes" ref 380 390 392 393 393 pp 000364 automatic pointer dcl 364 in procedure "set_general_permissions" set ref 335* 336 337 350* pp 000350 automatic pointer dcl 299 in procedure "set_options" set ref 255* 256 256 r 000420 automatic bit(36) unaligned dcl 387 set ref 386* 393* 394 random 104(08) 000050 external static bit(1) array level 5 packed unaligned dcl 19-6 set ref 154* rel builtin function dcl 522 ref 2-33 restore_switch based bit(36) level 2 dcl 3-87 set ref 3-53* segment_acl 000377 automatic structure level 1 unaligned dcl 373 in procedure "set_general_permissions" set ref 353 353 segment_acl based structure array level 1 dcl 318 in procedure "set_options" set ref 211 234 279 285 set_switch 100 000176 automatic structure level 2 dcl 12-56 set ref 87* 126 smc_entry_ptr 000142 automatic pointer initial dcl 527 set ref 527* sp parameter pointer dcl 4-8 set ref 4-5 4-21* specific_permission 4 based bit(36) array level 3 dcl 301 set ref 216 255 265 265 status based bit(18) level 2 packed unaligned dcl 560 set ref 69* 131* 168* status2 based structure level 1 dcl 545 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 12 000377 automatic fixed bin(35,0) level 2 dcl 373 set ref 351* status_code2 10 based fixed bin(35,0) array level 2 dcl 314 ref 242 status_pointer 000450 automatic pointer initial dcl 4-9 set ref 4-9* 4-21* 4-22 status_ptr 000144 automatic pointer initial dcl 531 set ref 65* 69 71 71 77 131 168 531* status_word based structure level 1 dcl 560 set ref 4-22* substr builtin function dcl 532 ref 143 199 3-66 3-73 3-75 t0c based structure level 1 dcl 13-75 user 2 based structure array level 2 dcl 301 user_attributes based bit(36) level 2 dcl 301 ref 199 user_master_catalog based structure level 2 dcl 3-91 version 000176 automatic fixed bin(17,0) level 2 dcl 12-56 set ref 84* word1 based structure level 2 in structure "optiob_args" dcl 301 in procedure "set_options" word1 based structure level 2 in structure "MF_arglist" dcl 416 in procedure "gtss_filact_funct11_" word1 based structure level 2 in structure "MF_args" dcl 407 in procedure "gtss_filact_funct11_" word2 1 based structure level 2 in structure "optiob_args" dcl 301 in procedure "set_options" word2 1 based structure level 2 in structure "MF_arglist" dcl 416 in procedure "gtss_filact_funct11_" word2 1 based structure level 2 in structure "status2" dcl 545 in procedure "gtss_filact_funct11_" word3 2 based structure level 2 dcl 416 word_2 104 000050 external static structure array level 4 dcl 19-6 zero_pad 11 based bit(36) array level 2 dcl 318 set ref 246* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. 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 445 aft_code automatic fixed bin(35,0) dcl 448 altname based char(8) dcl 450 append_mode internal static bit(36) initial unaligned dcl 452 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 555 bit builtin function dcl 456 bit_count automatic fixed bin(24,0) dcl 458 bits based bit(1) array unaligned dcl 367 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 460 clim automatic float bin(27) dcl 461 com_err_ 000000 constant entry external dcl 10-8 crf automatic fixed bin(24,0) dcl 462 csp automatic float bin(27) dcl 463 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 464 descriptor_address automatic fixed bin(18,0) unsigned unaligned dcl 465 dir_name automatic char(168) unaligned dcl 467 entry_names based char(32) array dcl 14-2 error_table_$incorrect_access external static fixed bin(35,0) dcl 470 error_table_$moderr external static fixed bin(35,0) dcl 471 error_table_$no_dir external static fixed bin(35,0) dcl 476 error_table_$noentry external static fixed bin(35,0) dcl 473 error_table_$nomatch external static fixed bin(35,0) dcl 474 error_table_$not_seg_type external static fixed bin(35,0) dcl 475 error_table_$seg_not_found external static fixed bin(35,0) dcl 479 error_table_$segknown external static fixed bin(35,0) dcl 477 execute_mode internal static bit(36) initial unaligned dcl 480 file_name_in_ascii automatic bit(1) unaligned dcl 481 fixed builtin function dcl 483 four_NULS internal static char(4) initial unaligned dcl 485 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_$initialize 000000 constant entry external dcl 10-29 gtss_attributes_mgr_$get 000000 constant entry external dcl 10-31 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_$hcs_work_area_ptr external static pointer dcl 6-21 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 487 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 488 hbound builtin function dcl 489 hcs_$add_acl_entries 000000 constant entry external dcl 490 hcs_$add_dir_acl_entries 000000 constant entry external dcl 491 hcs_$add_inacl_entries 000000 constant entry external dcl 492 hcs_$append_branchx 000000 constant entry external dcl 493 hcs_$delentry_file 000000 constant entry external dcl 494 hcs_$initiate 000000 constant entry external dcl 495 hcs_$make_seg 000000 constant entry external dcl 496 hcs_$quota_read 000000 constant entry external dcl 497 hcs_$status_long 000000 constant entry external dcl 498 increment automatic fixed bin(24,0) dcl 501 info_ptr automatic pointer dcl 14-2 k automatic fixed bin(24,0) dcl 503 l automatic fixed bin(24,0) dcl 504 lbound builtin function dcl 505 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 507 max_resources internal static fixed bin(17,0) initial dcl 508 mc based structure level 1 dcl 9-12 minus_one internal static bit(36) initial unaligned dcl 509 mlim automatic float bin(27) dcl 510 modify_mode internal static bit(36) initial unaligned dcl 512 msf_manager_$acl_replace 000000 constant entry external dcl 439 msp automatic float bin(27) dcl 513 multics_access_mode automatic fixed bin(5,0) dcl 514 now automatic fixed bin(17,0) dcl 15-5 optionsx based structure level 1 dcl 15-7 path_name automatic varying char(168) dcl 517 pathname based char dcl 14-2 permission_word based bit(36) dcl 518 person_id automatic char(22) unaligned dcl 519 quota automatic fixed bin(18,0) dcl 520 read_mode internal static bit(36) initial unaligned dcl 521 rings internal static fixed bin(3,0) initial array dcl 523 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 524 shsp automatic float bin(27) array dcl 525 size builtin function dcl 526 sons_lvid automatic bit(36) unaligned dcl 528 spx internal static fixed bin(17,0) initial dcl 9-42 status automatic fixed bin(24,0) dcl 529 status_mode internal static bit(36) initial unaligned dcl 530 switches internal static bit(6) initial unaligned dcl 533 t1c based structure level 1 dcl 13-108 tacc_sw automatic fixed bin(1,0) dcl 534 trp automatic fixed bin(71,0) dcl 535 tup automatic bit(36) dcl 536 two_words based bit(72) unaligned dcl 537 type automatic fixed bin(2,0) dcl 538 used automatic fixed bin(18,0) dcl 539 user_attribute_word automatic bit(35) unaligned dcl 540 user_info_$limits 000000 constant entry external dcl 541 words380 based bit(13680) dcl 542 write_mode internal static bit(36) initial unaligned dcl 543 NAMES DECLARED BY EXPLICIT CONTEXT. bcd_message 001643 constant entry internal dcl 2-5 ref 71 could_not_modify_file 000233 constant label dcl 68 ref 95 120 134 182 235 280 361 could_not_modify_status_set 000237 constant label dcl 70 ref 132 gal 002122 constant label dcl 3-47 ref 3-36 get_ascii_file_name 001776 constant entry internal dcl 3-5 ref 67 get_faulty_cat_file_entry 001633 constant entry internal dcl 1-2 ref 77 get_modes 001561 constant entry internal dcl 380 ref 265 350 gtss_filact_funct11_ 000076 constant entry external dcl 15 ret 000361 constant label dcl 78 set ref 169 return_err4 000167 constant label dcl 58 ref 98 176 333 3-21 3-40 4-13 4-17 set_general_permissions 001444 constant entry internal dcl 325 ref 122 set_options 000716 constant entry internal dcl 171 ref 124 validate_status 002346 constant entry internal dcl 4-5 ref 65 NAMES DECLARED BY CONTEXT OR IMPLICATION. length builtin function ref 2-21 null builtin function ref 79 398 444 451 453 454 455 466 484 486 516 527 531 13-12 13-83 13-216 13-230 15-6 16-5 20-9 289 4-9 rtrim builtin function ref 71 71 223 264 string builtin function ref 3-66 translate builtin function ref 3-54 unspec builtin function set ref 126 186 4-22* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3112 3166 2650 3122 Length 4014 2650 54 611 241 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_filact_funct11_ 426 external procedure is an external procedure. set_options internal procedure shares stack frame of external procedure gtss_filact_funct11_. set_general_permissions internal procedure shares stack frame of external procedure gtss_filact_funct11_. get_modes internal procedure shares stack frame of external procedure gtss_filact_funct11_. get_faulty_cat_file_entry internal procedure shares stack frame of external procedure gtss_filact_funct11_. 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_funct11_. validate_status internal procedure shares stack frame of external procedure gtss_filact_funct11_. 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_funct11_ 000100 ec gtss_filact_funct11_ 000102 new_name_ptr gtss_filact_funct11_ 000104 fcb_ptr gtss_filact_funct11_ 000106 aft_name gtss_filact_funct11_ 000110 altname_ptr gtss_filact_funct11_ 000112 arglist_ptr gtss_filact_funct11_ 000114 arg_ptr gtss_filact_funct11_ 000116 attribute_segment_ptr gtss_filact_funct11_ 000120 cat_filedescr_name_offset gtss_filact_funct11_ 000122 descriptor_ptr gtss_filact_funct11_ 000124 entry_name gtss_filact_funct11_ 000127 file_no gtss_filact_funct11_ 000130 FMS_block_ptr gtss_filact_funct11_ 000132 gseg gtss_filact_funct11_ 000134 mem_top gtss_filact_funct11_ 000135 i gtss_filact_funct11_ 000136 nic gtss_filact_funct11_ 000140 p gtss_filact_funct11_ 000142 smc_entry_ptr gtss_filact_funct11_ 000144 status_ptr gtss_filact_funct11_ 000146 mcp gtss_filact_funct11_ 000150 ascii_cat_file gtss_filact_funct11_ 000176 gtss_file_values gtss_filact_funct11_ 000306 FMS_cat_ptr gtss_filact_funct11_ 000310 Type_1_ptr gtss_filact_funct11_ 000312 Type_4_ptr gtss_filact_funct11_ 000314 buffer_ptr gtss_filact_funct11_ 000316 options_ptr gtss_filact_funct11_ 000320 permissions_ptr gtss_filact_funct11_ 000322 gtss_file_attributes_ptr gtss_filact_funct11_ 000332 acl_count set_options 000334 acl_ptr set_options 000336 ascii_id set_options 000341 c set_options 000342 d set_options 000343 k set_options 000344 n set_options 000346 op set_options 000350 pp set_options 000364 pp set_general_permissions 000366 delete_acl set_general_permissions 000377 segment_acl set_general_permissions 000420 r get_modes 000436 ap get_ascii_file_name 000450 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 alloc_based_storage free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gtss_aft_$find gtss_ascii_bcd_ gtss_attributes_mgr_$set gtss_bcd_ascii_ gtss_bcd_ascii_$lc gtss_expand_pathname_ ioa_ msf_manager_$acl_add msf_manager_$acl_delete msf_manager_$close msf_manager_$open THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$namedup error_table_$segnamedup error_table_$user_not_found gse_ext_$umc_name gtss_dfd_ext_$disk_file_data gtss_ext_$db gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000070 398 000103 444 000105 451 000106 453 000107 454 000110 455 000111 466 000112 469 000113 484 000116 486 000117 516 000120 527 000121 531 000122 13 12 000123 13 83 000124 13 216 000125 13 230 000126 15 6 000127 16 5 000130 20 9 000131 47 000132 48 000136 49 000145 50 000150 51 000153 53 000156 56 000157 58 000167 59 000170 60 000173 62 000174 65 000200 67 000207 68 000233 69 000234 70 000237 71 000240 77 000350 78 000361 79 000362 81 000375 84 000376 85 000400 86 000403 87 000404 89 000426 95 000456 98 000461 100 000472 102 000476 103 000501 104 000503 114 000524 120 000552 122 000555 124 000556 126 000557 128 000563 129 000577 130 000602 131 000607 132 000612 134 000613 137 000614 143 000621 144 000624 150 000637 151 000641 152 000647 154 000657 158 000700 161 000705 168 000712 169 000715 171 000716 289 000717 176 000721 178 000732 181 000736 182 000747 183 000761 185 000763 186 000766 187 000772 188 000774 189 000775 190 000776 192 001002 193 001004 197 001005 198 001010 199 001012 202 001017 203 001022 204 001024 207 001031 210 001035 211 001036 214 001043 215 001045 216 001055 217 001063 218 001064 223 001106 224 001152 225 001153 226 001155 227 001157 233 001175 234 001200 235 001204 241 001205 242 001215 243 001224 244 001225 245 001235 246 001236 248 001237 251 001241 254 001246 255 001255 256 001261 258 001273 259 001274 264 001317 265 001363 266 001401 269 001405 271 001407 272 001411 278 001427 279 001432 280 001436 285 001437 286 001443 325 001444 332 001445 333 001453 335 001457 336 001462 337 001466 338 001474 339 001477 345 001521 349 001522 350 001525 351 001527 352 001530 353 001533 361 001555 362 001560 380 001561 386 001563 390 001564 392 001577 393 001610 394 001626 1 2 001633 1 7 001635 2 5 001642 2 18 001656 2 19 001663 2 21 001667 2 22 001670 2 23 001673 2 24 001675 2 25 001677 2 28 001701 2 29 001705 2 30 001721 2 32 001725 2 33 001757 2 34 001766 2 35 001775 3 5 001776 3 16 002000 3 17 002003 3 19 002005 3 21 002021 3 23 002022 3 25 002026 3 26 002033 3 27 002041 3 30 002044 3 32 002047 3 33 002053 3 35 002061 3 36 002063 3 39 002064 3 40 002102 3 43 002103 3 44 002111 3 45 002117 3 47 002122 3 48 002123 3 52 002133 3 53 002145 3 54 002147 3 57 002166 3 58 002167 3 64 002215 3 66 002217 3 67 002223 3 68 002237 3 69 002247 3 70 002277 3 73 002301 3 75 002317 3 76 002326 3 78 002334 3 81 002336 3 82 002340 4 5 002346 4 9 002350 4 13 002352 4 17 002364 4 21 002401 4 22 002407 4 23 002412 ----------------------------------------------------------- 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