COMPILATION LISTING OF SEGMENT gtss_filact_funct14_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1321.6 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 gtss_filact_funct14_: proc (mcp_val, high_val, gseg_val, arg_ptr_val, buffer_ptr_val, code); 15 16 /** Derail FILACT function 14 (ZZZZZ). 17* 18* All parameters are input parameters except code. 19* 20* code retuurned 0 => Successful. 21* code returned 4 => GCOS err4 (see gtss_pnterr structure). 22* code returned other => multics error code. 23* 24* Authors: Robert J. Grimes Created 25* - Albert N. Kepner 1978 26* - Robert M. May 27* - David B. Ward 28* Change: Dave Ward 02/24/79 $db debug switch. 29***/ 30 dcl mcp_val ptr parm; 31 dcl high_val bit(18)parm; 32 dcl gseg_val ptr parm; 33 dcl arg_ptr_val ptr parm; 34 dcl buffer_ptr_val ptr parm; 35 dcl code fixed bin(35)parm; 36 mcp = mcp_val; 37 high_b = high_val; 38 high_i = fixed (high_b, 18); 39 gseg = gseg_val; 40 arg_ptr = arg_ptr_val; 41 buffer_ptr = buffer_ptr_val; 42 43 code = 0; /* Successful. */ 44 /** Obtain the argument list. **/ 45 if /* (filact_args.arglist_address < low_b) | */ 46 (fixed (filact_args.arglist_address, 18)+2 > high_i) then do; 47 return_err4: ; 48 code = 4; 49 return; 50 end; 51 arglist_ptr = addrel (gseg, filact_args.arglist_address); 52 53 call validate_status (smc_arglist.status_address, status_ptr); /* check status address */ 54 55 if (smc_arglist.entry_address > high_b) | 56 ((fixed (smc_arglist.entry_address, 18) +12) > high_i) then goto return_err4; 57 smc_entry_ptr = addrel (gseg, smc_arglist.entry_address); /* set up pointer for the smc area */ 58 59 if substr (smc_entry.userid, 1, 36) = minus_one then smc_entry.userid = gtss_ust.lid; /* Get it from his ust */ 60 /* fill in the non important things with zeros */ 61 smc_entry.fill1, 62 smc_entry.fill2, 63 smc_entry.fill3, 64 smc_entry.fill4, 65 smc_entry.reserved, 66 smc_entry.fill5 = "0"b; 67 68 ascii_cat_file.nn = 1; 69 call gtss_bcd_ascii_$lc ( 70 addr (smc_entry.userid) 71 , 12 72 , addr (ascii_cat_file.name (1)) 73 ); 74 75 call gtss_expand_pathname_ ( 76 addr (ascii_cat_file) 77 , dir_name 78 , entry_name /* (not used) */ 79 , code 80 ); 81 if code ^= 0 then do; 82 could_not_get_smc: ; 83 /**MORE**/ 84 status_word.status = "400100"b3; 85 ret: ; 86 return; 87 end; 88 89 call hcs_$quota_read (dir_name, quota, trp, tup, sons_lvid, tacc_sw, used, code); /* get info */ 90 if code ^= 0 then goto could_not_get_smc; 91 /* find out about resources used */ 92 call user_info_$limits (mlim, clim, cdate, crf, shlim, msp, csp, shsp); 93 94 smc_entry.llinks_used = divide ((used * 1024)+319, 320, 24, 0); /* get the llinks in use */ 95 smc_entry.llinks_allowed = divide ((quota * 1024)+319, 320, 24, 0); /* get max allowed */ 96 if clim = 1.0e37 then /* set to some max if none given */ 97 smc_entry.resources = max_resources; 98 99 else 100 smc_entry.resources = fixed (clim*100, 17); /* get the dollar amount allowed */ 101 smc_entry.resources_used = fixed (csp*100, 25); /* get the amount used */ 102 /* fill in some default values */ 103 smc_entry.lodx, 104 smc_entry.cardin, 105 smc_entry.talk, 106 smc_entry.lods = "1"b; 107 smc_entry.urgency = "0400"b3; /* bcd 40 for urgency */ 108 /* blank out the password area */ 109 smc_entry.password = (12)"20"b3; /* BCD blank the password. */ 110 111 goto ret; 112 113 1 1 /* BEGIN INCLUDE FILE gtss_filact_intp1.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 10/05/78 1600.9 mst Thu 1 4**/ 1 5 validate_status: proc (status_address, sp); 1 6 1 7 dcl status_address bit (18)parm; 1 8 dcl sp ptr parm; 1 9 dcl status_pointer ptr init(null()); 1 10 1 11 1 12 /** Assure 2 word status not above memory. **/ 1 13 if (status_address >= high_b) then goto return_err4; 1 14 1 15 /** Assure status words and arglist do not overlap. **/ 1 16 if (fixed(status_address,18)+1) >= fixed(filact_args.L_arglist,18) & 1 17 fixed (status_address, 18) <= (fixed (filact_args.L_arglist, 18)+ 1) then goto return_err4; 1 18 1 19 /** Obtain pointer to status words. **/ 1 20 sp, status_pointer = addrel (gseg, status_address); 1 21 unspec (status_pointer -> status_word) = "0"b; 1 22 return; 1 23 1 24 dcl 1 filact_args aligned based(arg_ptr), /* 1st word only. */ 1 25 2 zero bit(18)unal, 1 26 2 L_arglist bit(18)unal; 1 27 end /* validate_status */; 1 28 /* END INCLUDE FILE gtss_filact_intp1.incl.pl1 */ 114 115 116 /** Declarations for gtss_drl_filact_: 117* IDENTIFIER ATTRIBUTES **/ 118 dcl file_name_in_ascii bit(1); 119 dcl bit72 bit(72)aligned based; 120 dcl nic fixed bin(24); 121 dcl p ptr init(null()); 122 dcl access_mode bit (6); 123 dcl addr builtin; 124 dcl addrel builtin; 125 dcl aft_code fixed bin (35); 126 dcl aft_name char (8); 127 dcl altname char (8) aligned based (altname_ptr); 128 dcl altname_ptr ptr init(null()); 129 dcl append_mode bit (36) static int options(constant)init ("100000000000"b3); 130 dcl arglist_ptr ptr init(null()); 131 dcl arg_ptr ptr init(null()); 132 dcl attribute_segment_ptr ptr init(null()); 133 dcl bit builtin; 134 dcl bit_count fixed bin (24); 135 dcl cdate fixed bin (71); 136 dcl clim float bin; 137 dcl crf fixed bin(24); 138 dcl csp float bin; 139 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 140 dcl descriptor_ptr ptr init(null()); 141 dcl dir_name char (168); 142 dcl divide builtin; 143 dcl entry_name char (12) init (" "); 144 dcl error_table_$incorrect_access fixed bin (35) ext; 145 dcl error_table_$moderr fixed bin (35) ext; 146 dcl error_table_$namedup fixed bin (35) ext; 147 dcl error_table_$noentry fixed bin (35) ext; 148 dcl error_table_$no_dir fixed bin (35) ext; 149 dcl error_table_$not_seg_type fixed bin(35)ext; 150 dcl error_table_$segknown fixed bin (35) ext; 151 dcl error_table_$seg_not_found fixed bin (35) ext; 152 dcl error_table_$nomatch fixed bin (35) ext; 153 dcl execute_mode bit (36) static int options(constant)init ("200000000000"b3); 154 dcl file_no fixed bin (24); 155 dcl fixed builtin; 156 dcl FMS_block_ptr ptr init(null()); 157 dcl four_NULS char (4)static int options (constant)init ((4)"") /* 4 octal 000's */; 158 dcl gseg ptr init(null()); 159 dcl gtss_fail condition; 160 dcl have_file bit(1); 161 dcl hbound builtin; 162 dcl hcs_$add_acl_entries entry (char (*), char (*), ptr, fixed bin(24), fixed bin (35)); 163 dcl hcs_$add_dir_acl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (35)); 164 dcl hcs_$add_inacl_entries entry (char (*), char (*), ptr, fixed bin, fixed bin (3), fixed bin (35)); 165 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)); 166 dcl hcs_$delentry_file entry(char(*),char(*),fixed bin(35)); 167 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 168 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 169 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)); 170 dcl hcs_$status_long entry (char (*), char (*), fixed bin (1), ptr,ptr, fixed bin (35)); 171 dcl high_b bit(18)aligned; 172 dcl high_i fixed bin(18)aligned; 173 dcl i fixed bin(24); 174 dcl increment fixed bin(24); 175 dcl ioa_ entry options (variable); 176 dcl k fixed bin(24); 177 dcl l fixed bin(24); 178 dcl lbound builtin; 179 dcl low_b bit(18)aligned static int options(constant)init("000147"b3) /* 103 dec. */; 180 dcl low_i fixed bin(18)aligned static int options(constant)init(103); 181 dcl max_options fixed bin static int options(constant)init (100); 182 dcl max_resources fixed bin static int options(constant)init (99999); 183 dcl minus_one bit (36) static int options(constant)init ((36)"1"b); 184 dcl mlim float bin; 185 dcl mod builtin; 186 dcl modify_mode bit (36) static int options(constant)init ("200000000000"b3); 187 dcl msp float bin; 188 dcl multics_access_mode fixed bin(5); 189 dcl path_name char (168) varying; 190 dcl person_id char (22); 191 dcl quota fixed bin (18); 192 dcl read_mode bit (36) static int options(constant)init ("400000000000"b3); 193 dcl rel builtin; 194 dcl rings (3) fixed bin (3) static int options(constant)init (4, 4, 4); 195 dcl shlim (0:7) float bin; 196 dcl shsp (0:7) float bin; 197 dcl size builtin; 198 dcl smc_entry_ptr ptr init(null()); 199 dcl sons_lvid bit (36); 200 dcl status fixed bin (24); 201 dcl status_mode bit (36) static int options(constant)init ("400000000000"b3); 202 dcl status_ptr ptr init(null()); 203 dcl substr builtin; 204 dcl switches bit (6) static int options(constant)init ("37"b3); 205 dcl tacc_sw fixed bin (1); 206 dcl trp fixed bin (71); 207 dcl tup bit (36) aligned; 208 dcl two_words bit (72) based; 209 dcl type fixed bin (2); 210 dcl used fixed bin (18); 211 dcl user_attribute_word bit (35); 212 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); 213 dcl words380 bit(13680)aligned based; 214 dcl write_mode bit (36) static int options(constant)init ("100000000000"b3); 215 216 dcl 1 status2 aligned based(status_ptr) 217 , 3 word1 218 , 4 status_code bit(12)unal 219 , 4 zero1 bit(06)unal 220 , 4 zero2 bit(18)unal 221 , 3 word2 222 , 4 L_bcd_message bit(18)unal 223 , 4 message_words fixed bin(17)unal 224 ; 225 226 dcl 1 bcdname aligned based(p), 227 2 first8 bit(48)unal, 228 2 last4 bit(24)unal; 229 230 /** Structures: **/ 231 dcl 1 filact_args aligned based (arg_ptr), 232 2 altname_address bit (18) unaligned, 233 2 arglist_address bit (18) unaligned, 234 2 function_no fixed bin (17) unaligned, 235 2 buffer_address bit (18) unaligned; 236 237 238 dcl 1 arglist aligned based (arglist_ptr), 239 2 status_address bit (18) unaligned, 240 2 record_address bit (18) unaligned, 241 2 descriptor_address bit (18) unaligned, 242 2 permissions_address bit (18) unaligned, 243 2 options_address bit (18) unaligned, 244 2 fill1 bit (18) unaligned; 245 246 247 dcl 1 lib_arglist aligned based (arglist_ptr), 248 2 status_address bit (18) unaligned, 249 2 fill bit (17) unaligned, 250 2 mode bit (1) unaligned, 251 2 fill1 bit (24) unaligned, 252 2 file_code bit (12) unaligned; 253 254 255 256 dcl 1 status_word aligned based (status_ptr), 257 2 status bit (18) unaligned, 258 2 pd bit (18) unaligned, 259 2 null_bit bit (1) unaligned, 260 2 user_attributes bit (35) unaligned; 261 262 263 264 dcl 1 descriptor (0:8) aligned based (descriptor_ptr), 265 2 name bit (72) aligned, 266 2 password bit (72) aligned; 267 268 dcl 1 FMS_block aligned based (FMS_block_ptr), 269 2 address bit (18) unaligned; 270 271 272 dcl 1 FMS_data_block aligned based (buffer_ptr), 273 2 restore_switch bit (36) aligned, 274 2 file_id char (8) aligned, 275 2 fill (3:24) bit (36) aligned, 276 2 record_type fixed bin (5) unaligned, 277 2 fill2 bit (30) unaligned; 278 279 dcl 1 permissions aligned based (permissions_ptr), 280 2 read bit (1) unaligned, 281 2 write bit (1) unaligned, 282 2 append bit (1) unaligned, 283 2 execute bit (1) unaligned, 284 2 purge bit (1) unaligned, 285 2 modify bit (1) unaligned, 286 2 lock bit (1) unaligned, 287 2 fill bit (1) unaligned, 288 2 create bit (1) unaligned, 289 2 recovery bit (1) unaligned, 290 2 fill1 bit (8) unaligned, 291 2 test bit (1) unaligned, 292 2 query bit (1) unaligned, 293 2 fill2 bit (16) unaligned; 294 295 296 297 dcl 1 options aligned based (options_ptr), 298 2 contigous bit (1) unaligned, 299 2 random bit (1) unaligned, 300 2 TSS_create bit (1) unaligned, 301 2 I_D_S bit (1) unaligned, 302 2 llink_allocated bit (1) unaligned, 303 2 nostructured_device bit (1) unaligned, 304 2 fill1 bit (1) unaligned, 305 2 attribute_present bit (1) unaligned, 306 2 user_attribute bit (1) unaligned, 307 2 fill2 bit (4) unaligned, 308 2 FMS_protection bit (1) unaligned, 309 2 fill3 bit (4) unaligned, 310 2 device_name bit (18) unaligned, 311 2 initial_size bit (18) unaligned, 312 2 max_size bit (18) unaligned, 313 2 specific_permissions (0:max_options) aligned, 314 3 userid bit (72) aligned, 315 3 read bit (1) unaligned, 316 3 write bit (1) unaligned, 317 3 append bit (1) unaligned, 318 3 execute bit (1) unaligned, 319 3 purge bit (1) unaligned, 320 3 modify bit (1) unaligned, 321 3 lock bit (1) unaligned, 322 3 fill bit (1) unaligned, 323 3 create bit (1) unaligned, 324 3 recovery bit (1) unaligned; 325 326 327 dcl 1 smc_arglist aligned based (arglist_ptr), 328 2 status_address bit (18) unaligned, 329 2 entry_address bit (18) unaligned; 330 331 332 333 334 dcl 1 smc_entry aligned based (smc_entry_ptr), 335 2 userid bit (72) unaligned, 336 2 fill1 bit (36) aligned, 337 2 fill2 bit (36) aligned, 338 2 space_time fixed bin (35) aligned, 339 2 llinks_used fixed bin (17) unaligned, 340 2 llinks_allowed fixed bin (17) unaligned, 341 2 fill3 bit (36) aligned, 342 2 resources fixed bin (17) unaligned, 343 2 lodx bit (1) unaligned, 344 2 cardin bit (1) unaligned, 345 2 talk bit (1) unaligned, 346 2 lods bit (1) unaligned, 347 2 fill4 bit (2) unaligned, 348 2 urgency bit (12) unaligned, 349 2 password bit (72) unaligned, 350 2 reserved bit (36) aligned, 351 2 fill5 bit (10) unaligned, 352 2 resources_used fixed bin (25) unaligned; 353 2 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 2 2 /* UST: User Status Table 2 3* definitions based on 2 4* System Tables, Order number DD14-01E, January 1981 2 5* Section 15, Time Sharing System 2 6* 2 7* Authors: Robert J. Grimes Created 2 8* - Albert N. Kepner 1978 2 9* - Robert M. May 2 10* - David B. Ward 2 11* Change: Dave Ward 02/23/79 Level 4 numbering. 2 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 2 13* Brought up to 4JS3 functionality 2 14**/ 2 15 /* octal word offsets of entries */ 2 16 dcl 1 gtss_ust_ext_$ust aligned ext, 2 17 3 gtss_ust, 2 18 /* 0-1 */ 4 lid bit (72), 2 19 /* 2 */ 4 lstp bit (36), 2 20 /* 3 */ 4 ltin bit (36), 2 21 /* 4 */ 4 lstio, 2 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 2 23 5 no_of_disk_io fixed bin (18) uns unal, 2 24 /* 5 */ 4 lsnub bit (36), 2 25 /* 6-7 */ 4 lchg bit (72), 2 26 /* 10 */ 4 lbuf, 2 27 5 address bit (18)unaligned, 2 28 5 tally bit (1)unaligned, 2 29 5 terminal_type bit (5)unaligned, 2 30 5 station_id bit (12)unaligned, 2 31 /* 11-12 */ 4 liost (0:1) bit (36), 2 32 /* 13 */ 4 lcc bit (36), 2 33 /* 14 */ 4 lback, 2 34 5 fill1 bit (18) unaligned, 2 35 5 gwake fixed bin (17) unaligned, 2 36 /* 15 */ 4 lflag, 2 37 5 mp_list bit (18) unaligned, 2 38 5 flags unaligned, 2 39 6 b18 bit (1) unaligned, 2 40 6 b19 bit (1) unaligned, 2 41 6 b20 bit (1) unaligned, 2 42 6 b21 bit (1) unaligned, 2 43 6 b22 bit (1) unaligned, 2 44 6 b23 bit (1) unaligned, 2 45 6 b24 bit (1) unaligned, 2 46 6 b25 bit (1) unaligned, 2 47 6 b26 bit (1) unaligned, 2 48 6 b27 bit (1) unaligned, 2 49 6 b28 bit (1) unaligned, 2 50 6 b29 bit (1) unaligned, 2 51 6 b30 bit (1) unaligned, 2 52 6 b31 bit (1) unaligned, 2 53 6 b32 bit (1) unaligned, 2 54 6 b33 bit (1) unaligned, 2 55 6 b34 bit (1) unaligned, 2 56 6 b35 bit (1) unaligned, 2 57 /* 16 */ 4 lkdss bit (36), 2 58 /* 17 */ 4 lfile, 2 59 5 program_stack fixed bin (17) unal, 2 60 5 file_list_ptr bit (18) unal, 2 61 /* 20 */ 4 lttys bit (36), 2 62 /* 21 */ 4 lswth, 2 63 5 b0 bit (1) unaligned, 2 64 5 b1 bit (1) unaligned, 2 65 5 b2 bit (1) unaligned, 2 66 5 b3 bit (1) unaligned, 2 67 5 b4 bit (1) unaligned, 2 68 5 b5 bit (1) unaligned, 2 69 5 b6 bit (1) unaligned, 2 70 5 b7 bit (1) unaligned, 2 71 5 b8 bit (1) unaligned, 2 72 5 b9 bit (1) unaligned, 2 73 5 b10 bit (1) unaligned, 2 74 5 b11 bit (1) unaligned, 2 75 5 b12 bit (1) unaligned, 2 76 5 b13 bit (1) unaligned, 2 77 5 b14 bit (1) unaligned, 2 78 5 b15 bit (1) unaligned, 2 79 5 b16 bit (1) unaligned, 2 80 5 b17 bit (1) unaligned, 2 81 5 b18 bit (1) unaligned, 2 82 5 b19 bit (1) unaligned, 2 83 5 b20 bit (1) unaligned, 2 84 5 b21 bit (1) unaligned, 2 85 5 b22 bit (1) unaligned, 2 86 5 b23 bit (1) unaligned, 2 87 5 b24 bit (1) unaligned, 2 88 5 b25 bit (1) unaligned, 2 89 5 b26 bit (1) unaligned, 2 90 5 b27 bit (1) unaligned, 2 91 5 b28 bit (1) unaligned, 2 92 5 b29 bit (1) unaligned, 2 93 5 b30 bit (1) unaligned, 2 94 5 b31 bit (1) unaligned, 2 95 5 b32 bit (1) unaligned, 2 96 5 b33 bit (1) unaligned, 2 97 5 b34 bit (1) unaligned, 2 98 5 b35 bit (1) unaligned, 2 99 /* 22 */ 4 lsize, 2 100 5 bar fixed bin (17) unaligned, 2 101 5 limit bit (18) unaligned, 2 102 /* 23... */ 4 lswap, 2 103 5 fill bit (18) unal, 2 104 5 size bit (18) unal, 2 105 /* ...24 */ 4 transfer_cell bit (36) unal, 2 106 /* 25 */ 4 lerrm bit (36), 2 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 2 108 /* 40 */ 4 lsybc, 2 109 5 b0_17 fixed bin (17) unaligned, 2 110 5 b18_35 fixed bin (17) unaligned, 2 111 /* 41-42 */ 4 lstem (0:1) bit (36), 2 112 /* 43 */ 4 lcals, 2 113 5 b0_17 fixed bin (17) unaligned, 2 114 5 b18_35 bit (18) unaligned, 2 115 /* 44-51 */ 4 subsystems (3), 2 116 5 content_lswap, 2 117 6 fill bit (18) unal, 2 118 6 size bit (18) unal, 2 119 5 tally_address fixed bin (17) unaligned, 2 120 5 ss_flags bit (18) unaligned, 2 121 /* 52 */ 4 ltalc, 2 122 5 tod fixed bin (17) unaligned, 2 123 5 startup fixed bin (17) unaligned, 2 124 /* 53 */ 4 lspts fixed bin (35), 2 125 /* 54 */ 4 lflg2, 2 126 5 b0 bit (1) unaligned, 2 127 5 b1 bit (1) unaligned, 2 128 5 b2 bit (1) unaligned, 2 129 5 b3 bit (1) unaligned, 2 130 5 b4 bit (1) unaligned, 2 131 5 b5 bit (1) unaligned, 2 132 5 b6 bit (1) unaligned, 2 133 5 b7 bit (1) unaligned, 2 134 5 b8 bit (1) unaligned, 2 135 5 b9 bit (1) unaligned, 2 136 5 b10 bit (1) unaligned, 2 137 5 b11 bit (1) unaligned, 2 138 5 b12 bit (1) unaligned, 2 139 5 b13 bit (1) unaligned, 2 140 5 b14 bit (1) unaligned, 2 141 5 b15 bit (1) unaligned, 2 142 5 b16 bit (1) unaligned, 2 143 5 b17 bit (1) unaligned, 2 144 5 b18 bit (1) unaligned, 2 145 5 b19 bit (1) unaligned, 2 146 5 b20 bit (1) unaligned, 2 147 5 b21 bit (1) unaligned, 2 148 5 b22 bit (1) unaligned, 2 149 5 b23 bit (1) unaligned, 2 150 5 b24 bit (1) unaligned, 2 151 5 b25 bit (1) unaligned, 2 152 5 b26 bit (1) unaligned, 2 153 5 b27 bit (1) unaligned, 2 154 5 b28 bit (1) unaligned, 2 155 5 b29 bit (1) unaligned, 2 156 5 b30 bit (1) unaligned, 2 157 5 b31 bit (1) unaligned, 2 158 5 b32 bit (1) unaligned, 2 159 5 b33 bit (1) unaligned, 2 160 5 b34 bit (1) unaligned, 2 161 5 b35 bit (1) unaligned, 2 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 2 163 /* 61 */ 4 lsprt fixed bin (35), 2 164 /* 62 */ 4 ltrm bit (36), 2 165 /* 63 */ 4 linno fixed bin (35), 2 166 /* 64 */ 4 lincr fixed bin (35), 2 167 /* 65 */ 4 ltdes bit (36), 2 168 /* 66 */ 4 lbptr bit (36), 2 169 /* 67 */ 4 lpptr, 2 170 5 last_file_pat_ptr bin (18) uns unal, 2 171 5 lpptr_reserved bin (18) uns unal, 2 172 /* 70 */ 4 lsclp bit (36), 2 173 /* 71 */ 4 limit fixed bin (35), 2 174 /* 72 */ 4 lacpt, 2 175 5 jout_pat_offset bit (18) unal, 2 176 5 permissions unal, 2 177 6 lodx bit (1) unal, 2 178 6 cardin bit (1) unal, 2 179 6 talk bit (1) unal, 2 180 6 lods bit (1) unal, 2 181 5 cardin_urgency bit (14) unal, 2 182 /* 73 */ 4 ldrl, 2 183 5 ilc bit (18) unaligned, 2 184 5 code fixed bin (17) unaligned, 2 185 /* 74 */ 4 ljsnb bit (36), 2 186 /* 75 */ 4 ltm0 bit (36), 2 187 /* 76 */ 4 ltm1 bit (36), 2 188 /* 77 */ 4 ltm2 bit (36), 2 189 /* 100 */ 4 ltm3 bit (36), 2 190 /* 101 */ 4 ltm4 bit (36), 2 191 /* 102 */ 4 ltm5 bit (36), 2 192 /* 103 */ 4 ltmwt bit (36), 2 193 /* 104 */ 4 ltmrs bit (36), 2 194 /* 105 */ 4 ltc0 bit (36), 2 195 /* 106 */ 4 ltc1 bit (36), 2 196 /* 107 */ 4 ltc2 bit (36), 2 197 /* 110 */ 4 lct3 bit (36), 2 198 /* 111 */ 4 ltc4 bit (36), 2 199 /* 112 */ 4 ltc5 bit (36), 2 200 /* 113 */ 4 ltcw bit (36), 2 201 /* 114 */ 4 lkst bit (36), 2 202 /* 115 */ 4 lkst2 bit (36), 2 203 /* 116 */ 4 lkcc bit (36), 2 204 /* 117 */ 4 lkms bit (36), 2 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 2 206 /* 122 */ 4 lkntp bit (36), 2 207 /* 123 */ 4 lkrdc bit (36), 2 208 /* 124 */ 4 lpqf bit (36), 2 209 /* 125 */ 4 lpqb bit (36), 2 210 /* 126 */ 4 lustl bit (36), 2 211 /* 127 */ 4 ltemp bit (36), 2 212 /* 130 */ 4 lrtll, 2 213 5 word_length fixed bin unaligned, 2 214 5 char_length fixed bin unaligned, 2 215 /* 131 */ 4 ltim bit (36), 2 216 /* 132 */ 4 lcfio, 2 217 5 sect_out fixed bin(18)unsigned unal, 2 218 5 sect_in fixed bin(18)unsigned unal, 2 219 /* 133 */ 4 lcfst, 2 220 5 initial_sect_out fixed bin(18)unsigned unal, 2 221 5 start_term fixed bin(18)unsigned unal, 2 222 /* 134 */ 4 lcmpt bit (36), 2 223 /* 135 */ 4 lcjid bit (36), 2 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 2 225 /* 140 */ 4 lrdta bit (36), 2 226 /* 141 */ 4 lrrsk bit (36), 2 227 /* 142 */ 4 lrskd bit (36), 2 228 /* 143 */ 4 lrcc bit (36), 2 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 2 230 /* 146 */ 4 lrtm bit (36), 2 231 /* 147 */ 4 lswt2, 2 232 5 b0 bit (1) unaligned, 2 233 5 b1 bit (1) unaligned, 2 234 5 b2 bit (1) unaligned, 2 235 5 b3 bit (1) unaligned, 2 236 5 b4 bit (1) unaligned, 2 237 5 b5 bit (1) unaligned, 2 238 5 b6 bit (1) unaligned, 2 239 5 b7 bit (1) unaligned, 2 240 5 b8 bit (1) unaligned, 2 241 5 b9 bit (1) unaligned, 2 242 5 b10 bit (1) unaligned, 2 243 5 b11 bit (1) unaligned, 2 244 5 b12 bit (1) unaligned, 2 245 5 b13 bit (1) unaligned, 2 246 5 b14 bit (1) unaligned, 2 247 5 b15 bit (1) unaligned, 2 248 5 b16 bit (1) unaligned, 2 249 5 b17 bit (1) unaligned, 2 250 5 b18 bit (1) unaligned, 2 251 5 b19 bit (1) unaligned, 2 252 5 b20 bit (1) unaligned, 2 253 5 b21 bit (1) unaligned, 2 254 5 b22 bit (1) unaligned, 2 255 5 b23 bit (1) unaligned, 2 256 5 b24 bit (1) unaligned, 2 257 5 b25 bit (1) unaligned, 2 258 5 b26 bit (1) unaligned, 2 259 5 b27 bit (1) unaligned, 2 260 5 b28 bit (1) unaligned, 2 261 5 b29 bit (1) unaligned, 2 262 5 b30 bit (1) unaligned, 2 263 5 b31 bit (1) unaligned, 2 264 5 b32 bit (1) unaligned, 2 265 5 b33 bit (1) unaligned, 2 266 5 b34 bit (1) unaligned, 2 267 5 b35 bit (1) unaligned, 2 268 /* 150 */ 4 llsnb bit (36), 2 269 /* 151 */ 4 lesq bit (36), 2 270 /* 152-153 */ 4 lumc (0:1) bit (36), 2 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 2 272 /* 156 */ 4 lopts bit (36), 2 273 /* 157 */ 4 licec, 2 274 5 b0_17 bit (18) unaligned, 2 275 5 b18_35 fixed bin (17) unaligned, 2 276 /* 160 */ 4 lflg3, 2 277 5 b0 bit (1) unaligned, 2 278 5 b1 bit (1) unaligned, 2 279 5 b2 bit (1) unaligned, 2 280 5 b3 bit (1) unaligned, 2 281 5 b4 bit (1) unaligned, 2 282 5 b5 bit (1) unaligned, 2 283 5 b6 bit (1) unaligned, 2 284 5 b7 bit (1) unaligned, 2 285 5 b8 bit (1) unaligned, 2 286 5 b9 bit (1) unaligned, 2 287 5 b10 bit (1) unaligned, 2 288 5 b11 bit (1) unaligned, 2 289 5 b12 bit (1) unaligned, 2 290 5 b13 bit (1) unaligned, 2 291 5 b14 bit (1) unaligned, 2 292 5 b15 bit (1) unaligned, 2 293 5 b16 bit (1) unaligned, 2 294 5 b17 bit (1) unaligned, 2 295 5 b18 bit (1) unaligned, 2 296 5 b19 bit (1) unaligned, 2 297 5 b20 bit (1) unaligned, 2 298 5 b21 bit (1) unaligned, 2 299 5 b22 bit (1) unaligned, 2 300 5 b23 bit (1) unaligned, 2 301 5 b24 bit (1) unaligned, 2 302 5 b25 bit (1) unaligned, 2 303 5 b26 bit (1) unaligned, 2 304 5 b27 bit (1) unaligned, 2 305 5 b28 bit (1) unaligned, 2 306 5 b29 bit (1) unaligned, 2 307 5 b30 bit (1) unaligned, 2 308 5 b31 bit (1) unaligned, 2 309 5 b32 bit (1) unaligned, 2 310 5 b33 bit (1) unaligned, 2 311 5 b34 bit (1) unaligned, 2 312 5 b35 bit (1) unaligned, 2 313 /* 161-163 */ 4 lpage (0:2) bit (36), 2 314 /* 164 */ 4 lsit1 bit (36), 2 315 /* 165 */ 4 lsit2 bit (36), 2 316 /* 166 */ 4 lsit3 bit (36), 2 317 /* 167 */ 4 lsit4 bit (36), 2 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 2 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 2 320 5 b0_17 fixed bin (17) unaligned, 2 321 5 b18_35 bit (18) unaligned, /* not used */ 2 322 /* 171-175 */ 4 lprgs (5), 2 323 5 b0_17 fixed bin (17) unaligned, 2 324 5 b18_35 fixed bin (17) unaligned, 2 325 /* 176 */ 4 fill bit (36), 2 326 /* 177 */ 4 remote_io_buffer aligned, 2 327 5 buffer_control_word, 2 328 6 current_line_pointer bit (18)unal, 2 329 6 buffer_threshold_address bit (18)unal, 2 330 5 number_words_transmitted fixed bin (17)unal, 2 331 5 FILL1 fixed bin (17)unal, 2 332 5 count_of_characters_transmitted fixed bin (17)unal, 2 333 5 FILL2 fixed bin (17)unal, 2 334 5 characters_transmitted (244) char (1) unal, 2 335 /* 277 */ 4 word_after_ust bit (36) aligned; 2 336 2 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 354 355 3 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 3 2 /* 3 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 3 4* Modified: Ward 1981 add suspended_process dcl 3 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 3 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 3 7**/ 3 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 3 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 3 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 3 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 3 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 3 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 3 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 3 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 3 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 3 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 3 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 3 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 3 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 3 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 3 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 3 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 3 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 3 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 3 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 3 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 3 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 3 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 3 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 3 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 3 32 dcl gtss_ext_$suspended_process bit(1) ext static; 3 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 3 34 dcl gtss_ext_$user_id char (26)var ext; 3 35 dcl gtss_ext_$work_area_ptr ptr ext; 3 36 3 37 dcl 1 gtss_ext_$CFP_bits aligned static external 3 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 3 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 3 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 3 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 3 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 3 43 ; 3 44 3 45 dcl 1 gtss_ext_$com_reg aligned static ext, 3 46 3 tsdmx, 3 47 4 dst fixed bin (18) unsigned unaligned, 3 48 4 dit fixed bin (18) unsigned unaligned, 3 49 3 tsdpt fixed bin (36) unsigned unaligned, 3 50 3 tsddt fixed bin (36) unsigned unaligned, 3 51 3 tsdid bit (72) unaligned, 3 52 3 tsdsd bit (36) unaligned, 3 53 3 tsdst fixed bin (36) unsigned unaligned, 3 54 3 tsdjb fixed bin (35) unaligned, 3 55 3 tsdgt, 3 56 4 ust_loc fixed bin (18) unsigned unaligned, 3 57 4 gating_ctl fixed bin (18) unsigned unaligned, 3 58 3 tcdfr bit (36) unaligned; 3 59 3 60 dcl 1 gtss_ext_$flags aligned static ext 3 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 3 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 3 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 3 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 3 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 3 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 3 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 3 68 , 3 available bit (65) unal 3 69 ; 3 70 3 71 3 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 3 73 3 total_time (-10:71)fixed bin (71), 3 74 3 count (-10:71)fixed bin (17); 3 75 3 76 /* Declaration of Available File Table 3 77* */ 3 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 3 79 3 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 3 81 3 82 3 aft_entry (20), 3 83 4 altname char (8), /* altname name for attaching this file */ 3 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 3 85 4 previous_add fixed bin (24), /* Previously added entry. */ 3 86 4 next_add fixed bin (24), /* Entry added after this one. */ 3 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 3 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 3 89 3 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 3 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 3 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 3 93 3 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 3 95 /** Data structure to provide access to installed 3 96* subsystems fast library load. 3 97* **/ 3 98 dcl 1 gtss_ext_$fast_lib aligned ext 3 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 3 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 3 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 3 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 3 103 ; 3 104 3 105 /* Pointers to segments to regulate multipler 3 106* callers to files. Same segments are used to regulate 3 107* all simulator callers. 3 108**/ 3 109 dcl 1 gtss_ext_$mcfc aligned ext, 3 110 3 multics_lock_id bit(36), 3 111 3 wait_time fixed bin, 3 112 3 files_ptr ptr, 3 113 3 names_ptr ptr, 3 114 3 callers_ptr (0:3)ptr 3 115 ; 3 116 3 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 356 357 4 1 /* BEGIN INCLUDE FILE gtss_filact_status.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 10/10/78 0945.5 mst Tue 4 4**/ 4 5 4 6 /* 4 7* 4000 NO ERRORS 4 8* 4001 USER-ID NOT IN MASTER CATALOG 4 9* 4002 I/O ERROR ON DEVICE XXX SA = NNN......NNN 4 10* 4003 PERMISSIONS DENIED 4 11* 4004 FILE BUSY: TRY LATER 4 12* 4005 INCORRECT CAT/FILE DESCRIPTION AT AAA......AAA 4 13* 4006 NO SPACE FOR CATALOG ON DEVICE XXX 4 14* 4007 UNDEFINED DEVICE YYY ZZZZZZ 4 15* 4010 NO SPACE FOR FILE ON DEVICE YYY 4 16* 4011 NON-UNIQUE NAME 4 17* 4012 SIZE REQUEST LS THAN ALLOCATED 4 18* 4013 SPACE REQUEST GR THAN ALLOWED 4 19* 4014 INCORRECT OR MISSING PASSWORD-AT-AAA...AAA 4 20* 4015 FILE IS ABORT LOCK 4 21* 4016 FILE WRITE IN BATCH ONLY 4 22* 4017 SEEK ERROR ON DEVICE XXX SA = NNN......NNN 4 23* 4020 FAILURE IN NAME SCAN (IMP.) 4 24* 4021 DUP CANNOT BE ON RMVBL DEVICE 4 25* 4022 BAD SPACE INVENTORY ON DEVICE 4 26* 4023 INVALID PARAMETER 4 27* 4024 BAD SPACE TABLE FOR DEVICE ON XXX 4 28* 4025 REQUESTED ENTRY NOT ON-LINE 4 29* 4026 NON-STRUCTURED FILE ENTRY 4 30* 4027 FILE IN DEFECTIVE STATUS 4 31* 4030 ILLEGAL PACK TYPE 4 32* 4031 ACCESS GRANTED TO I-D-S FILE 4 33* 4032 COLLECTION FILE ERROR 4 34* 4033 CAT/FILE SECURITY LOCKED 4 35* 4034 ILLEGAL CHARACTER IN CAT/FILE NAME 4 36* 4035 ILLEGAL CAT/FILE LIST REQUEST 4 37* 4036 AFT IS FULL 4 38* 4037 FILE ALREADY IN AFT 4 39* 4040 MAXIMUM PAT SIZE EXCEEDED 4 40* 4041 NO PROTECTION TABLE SPACE AVAILABLE 4 41* 4042 INVALID FILE CODE OR PAT PTR 4 42* 4043 INVALID CATALOG BLOCK ADDRESS 4 43* 4044 ILLEGAL OPTIONS COMBINATION 4 44* 4045 INVALID SPACE IDENTIFIER 4 45* 4046 (NONE, SPECIAL TSS INTERFACE) 4 46* 4047 UNACCOUNTABLE ERROR 4 47* 4050 ***RESERVED for FMS*** 4 48* 4051 CHECKSUM ERROR - DEVICE XXX SA = NNN......NNN 4 49* 4052 DEVICE XXX RELEASED 4 50* 4053 READ ACCESS DENIED - NULL FILE 4 51* 4054 FILE IS WRITE LOCKED 4 52* 4055 ***RESERVED*** 4 53* 4056 SECURITY PARAMETER - REQUIRED 4 54* 4057 SECURITY PARAMETER - INVALID 4 55* 4061 $FSYS HAS BEEN ENABLED 4 56* 4062 ILLEGAL SUBFUNCTION CODE 4 57* 4063 FILE NOT BEING MONITORED 4 58* 4064 DEADLOCK ON PAGE REQUEST 4 59* 4065 PAGE CURRENTLY BUSY 4 60* 4066 FILE NOT DUPLICATED 4 61* 4067 TDS MON ALLOC ERROR 4 62* 4070 ILLEGAL CHECKPOINT REQUEST 4 63* 4071 ILLEGAL DCW SPECIFIED 4 64* 4072 IMPROPER PROTECTION OPTION 4 65* 4073 INVALID ARG LIST PARAMETER NO. 000 4 66* 4074 SYSTEM JOURNAL NOT CONFIGURED 4 67* 4075 FILE RESTORE LOCKED 4 68* 4076 FILE IS TDS LOCKED 4 69* 4077 ERR TDS SUBSET PAGES RELEASED 4 70* 4100 UNACCOUNTABLE ERROR 4 71**/ 4 72 4 73 /* END INCLUDE FILE gtss_filact_status.incl.pl1 */ 358 359 5 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 5 2 /* 5 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 5 4* Change: Dave Ward 06/08/78 made attributes constant. 5 5* Change: Dave Ward 08/17/81 made lengths same as constans. 5 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 5 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 5 8**/ 5 9 dcl 1 gtss_pnterr static int options (constant), 5 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 5 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 5 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 5 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 5 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 5 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 5 16 2 err7 char(50) init("007-BAP PROG. DESC."), 5 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 5 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 5 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 5 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 5 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 5 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 5 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 5 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 5 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 5 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 5 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 5 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 5 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 5 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 5 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 5 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 5 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 5 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 5 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 5 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 5 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 5 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 5 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 5 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 5 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 5 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 5 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 5 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 5 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 5 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 5 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 5 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 5 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 5 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 5 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 5 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 5 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 5 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 5 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 5 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 5 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 5 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 5 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 5 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 5 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 5 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 5 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 5 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 5 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 5 66 2 err57 char(50) init("UNASSIGNED"), 5 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 5 68 2 err59 char(50) init("UNASSIGNED"), 5 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 5 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 5 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 5 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 5 73 2 err64 char(50) init("SY** I/O ERROR"), 5 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 5 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 5 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 5 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 5 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 5 79 2 err999 char(50) init("dummy"); 5 80 5 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 360 361 6 1 /* */ 6 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 6 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 6 4 /* Modified 07/07/76 by Morris for fault register data */ 6 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 6 6 /* Modified '82 to make values constant */ 6 7 6 8 /* words 0-15 pointer registers */ 6 9 6 10 dcl mcp ptr; 6 11 6 12 dcl 1 mc based (mcp) aligned, 6 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 6 14 (2 regs, /* registers */ 6 15 3 x (0:7) bit (18), /* index registers */ 6 16 3 a bit (36), /* accumulator */ 6 17 3 q bit (36), /* q-register */ 6 18 3 e bit (8), /* exponent */ 6 19 3 pad1 bit (28), 6 20 3 t bit (27), /* timer register */ 6 21 3 pad2 bit (6), 6 22 3 ralr bit (3), /* ring alarm register */ 6 23 6 24 2 scu (0:7) bit (36), 6 25 6 26 2 mask bit (72), /* mem controller mask at time of fault */ 6 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 6 28 2 errcode fixed bin (35), /* fault handler's error code */ 6 29 2 fim_temp, 6 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 6 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 6 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 6 33 2 fault_reg bit (36), /* fault register */ 6 34 2 pad2 bit (1), 6 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 6 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 6 37 2 fault_time bit (54), /* time of fault */ 6 38 6 39 2 eis_info (0:7) bit (36)) unaligned; 6 40 6 41 6 42 dcl (apx fixed bin init (0), 6 43 abx fixed bin init (1), 6 44 bpx fixed bin init (2), 6 45 bbx fixed bin init (3), 6 46 lpx fixed bin init (4), 6 47 lbx fixed bin init (5), 6 48 spx fixed bin init (6), 6 49 sbx fixed bin init (7)) internal static options (constant); 6 50 6 51 6 52 6 53 6 54 dcl scup ptr; 6 55 6 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 6 57 6 58 6 59 /* WORD (0) */ 6 60 6 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 6 62 3 prr bit (3), /* procedure ring register */ 6 63 3 psr bit (15), /* procedure segment register */ 6 64 3 p bit (1), /* procedure privileged bit */ 6 65 6 66 2 apu, /* APPENDING UNIT STATUS */ 6 67 3 xsf bit (1), /* ext seg flag - IT modification */ 6 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 6 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 6 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 6 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 6 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 6 73 3 dsptw bit (1), /* Fetch of DSPTW */ 6 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 6 75 3 sdwp bit (1), /* Fetch of SDW paged */ 6 76 3 ptw bit (1), /* Fetch of PTW */ 6 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 6 78 3 fap bit (1), /* Fetch of final address paged */ 6 79 3 fanp bit (1), /* Fetch of final address non-paged */ 6 80 3 fabs bit (1), /* Fetch of final address absolute */ 6 81 6 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 6 83 6 84 6 85 /* WORD (1) */ 6 86 6 87 2 fd, /* FAULT DATA */ 6 88 3 iro bit (1), /* illegal ring order */ 6 89 3 oeb bit (1), /* out of execute bracket */ 6 90 3 e_off bit (1), /* no execute */ 6 91 3 orb bit (1), /* out of read bracket */ 6 92 3 r_off bit (1), /* no read */ 6 93 3 owb bit (1), /* out of write bracket */ 6 94 3 w_off bit (1), /* no write */ 6 95 3 no_ga bit (1), /* not a gate */ 6 96 3 ocb bit (1), /* out of call bracket */ 6 97 3 ocall bit (1), /* outward call */ 6 98 3 boc bit (1), /* bad outward call */ 6 99 3 inret bit (1), /* inward return */ 6 100 3 crt bit (1), /* cross ring transfer */ 6 101 3 ralr bit (1), /* ring alarm register */ 6 102 3 am_er bit (1), /* associative memory fault */ 6 103 3 oosb bit (1), /* out of segment bounds */ 6 104 3 paru bit (1), /* processor parity upper */ 6 105 3 parl bit (1), /* processor parity lower */ 6 106 3 onc_1 bit (1), /* op not complete type 1 */ 6 107 3 onc_2 bit (1), /* op not complete type 2 */ 6 108 6 109 2 port_stat, /* PORT STATUS */ 6 110 3 ial bit (4), /* illegal action lines */ 6 111 3 iac bit (3), /* illegal action channel */ 6 112 3 con_chan bit (3), /* connect channel */ 6 113 6 114 2 fi_num bit (5), /* (fault/interrupt) number */ 6 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 6 116 6 117 6 118 /* WORD (2) */ 6 119 6 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 6 121 3 trr bit (3), /* temporary ring register */ 6 122 3 tsr bit (15), /* temporary segment register */ 6 123 6 124 2 pad2 bit (9), 6 125 6 126 2 cpu_no bit (3), /* CPU number */ 6 127 6 128 2 delta bit (6), /* tally modification DELTA */ 6 129 6 130 6 131 /* WORD (3) */ 6 132 6 133 2 word3 bit (18), 6 134 6 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 6 136 3 tsna, /* Word 1 status */ 6 137 4 prn bit (3), /* Word 1 PR number */ 6 138 4 prv bit (1), /* Word 1 PR valid bit */ 6 139 3 tsnb, /* Word 2 status */ 6 140 4 prn bit (3), /* Word 2 PR number */ 6 141 4 prv bit (1), /* Word 2 PR valid bit */ 6 142 3 tsnc, /* Word 3 status */ 6 143 4 prn bit (3), /* Word 3 PR number */ 6 144 4 prv bit (1), /* Word 3 PR valid bit */ 6 145 6 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 6 147 6 148 6 149 /* WORD (4) */ 6 150 6 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 6 152 6 153 2 ir, /* INDICATOR REGISTERS */ 6 154 3 zero bit (1), /* zero indicator */ 6 155 3 neg bit (1), /* negative indicator */ 6 156 3 carry bit (1), /* carryry indicator */ 6 157 3 ovfl bit (1), /* overflow indicator */ 6 158 3 eovf bit (1), /* eponent overflow */ 6 159 3 eufl bit (1), /* exponent underflow */ 6 160 3 oflm bit (1), /* overflow mask */ 6 161 3 tro bit (1), /* tally runout */ 6 162 3 par bit (1), /* parity error */ 6 163 3 parm bit (1), /* parity mask */ 6 164 3 bm bit (1), /* ^bar mode */ 6 165 3 tru bit (1), /* truncation mode */ 6 166 3 mif bit (1), /* multi-word instruction mode */ 6 167 3 abs bit (1), /* absolute mode */ 6 168 3 hex bit (1), /* hexadecimal exponent mode */ 6 169 3 pad bit (3), 6 170 6 171 6 172 /* WORD (5) */ 6 173 6 174 2 ca bit (18), /* COMPUTED ADDRESS */ 6 175 6 176 2 cu, /* CONTROL UNIT STATUS */ 6 177 3 rf bit (1), /* on first cycle of repeat instr */ 6 178 3 rpt bit (1), /* repeat instruction */ 6 179 3 rd bit (1), /* repeat double instruction */ 6 180 3 rl bit (1), /* repeat link instruciton */ 6 181 3 pot bit (1), /* IT modification */ 6 182 3 pon bit (1), /* return type instruction */ 6 183 3 xde bit (1), /* XDE from Even location */ 6 184 3 xdo bit (1), /* XDE from Odd location */ 6 185 3 poa bit (1), /* operation preparation */ 6 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 6 187 3 its bit (1), /* ITS modification */ 6 188 3 if bit (1), /* fault occured during instruction fetch */ 6 189 6 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 6 191 6 192 6 193 /* WORDS (6,7) */ 6 194 6 195 2 even_inst bit (36), /* even instruction of faulting pair */ 6 196 6 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 6 198 6 199 6 200 6 201 6 202 6 203 6 204 /* ALTERNATE SCU DECLARATION */ 6 205 6 206 6 207 dcl 1 scux based (scup) aligned, 6 208 6 209 (2 pad0 bit (36), 6 210 6 211 2 fd, /* GROUP II FAULT DATA */ 6 212 3 isn bit (1), /* illegal segment number */ 6 213 3 ioc bit (1), /* illegal op code */ 6 214 3 ia_am bit (1), /* illegal address - modifier */ 6 215 3 isp bit (1), /* illegal slave procedure */ 6 216 3 ipr bit (1), /* illegal procedure */ 6 217 3 nea bit (1), /* non existent address */ 6 218 3 oobb bit (1), /* out of bounds */ 6 219 3 pad bit (29), 6 220 6 221 2 pad2 bit (36), 6 222 6 223 2 pad3a bit (18), 6 224 6 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 6 226 3 prn bit (3), /* PR number */ 6 227 3 prv bit (1), /* PR valid bit */ 6 228 6 229 2 pad3b bit (6)) unaligned, 6 230 6 231 2 pad45 (0:1) bit (36), 6 232 6 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 6 234 6 235 6 236 6 237 /* END INCLUDE FILE mc.incl.pl1 */ 362 363 7 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 7 2 /* 7 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 7 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 7 5**/ 7 6 7 7 /** gtss external entry variables. **/ 7 8 dcl com_err_ entry() options(variable); 7 9 dcl gtss_CFP_abort_ entry options(variable); 7 10 dcl gtss_CFP_break_ entry options(variable); 7 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 7 13 dcl gtss_abandon_CFP_ entry options(variable); 7 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 7 15 dcl gtss_abort_subsystem_ entry options (variable); 7 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 7 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 7 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 7 19 dcl gtss_abs_$abs_equiv entry options(variable); 7 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 7 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 7 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 7 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 7 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 7 25 dcl gtss_adjust_size_ entry (ptr); 7 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 7 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 7 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 7 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 7 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 7 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 7 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 7 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 7 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 7 35 dcl gtss_break_vector_ entry (); 7 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 7 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 7 38 dcl gtss_build_ entry options(variable); 7 39 dcl gtss_com_err_ entry options(variable); 7 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 7 41 dcl gtss_derail_processor_$set entry options(variable); 7 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 7 43 dcl gtss_dq_$create entry (bit(1)); 7 44 dcl gtss_dq_$dibp entry (char(5), ptr); 7 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 7 46 dcl gtss_dq_$hdrp entry (ptr); 7 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 7 48 dcl gtss_dq_$open_exc entry (bit(1)); 7 49 dcl gtss_dq_$open_gen entry (bit(1)); 7 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 7 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 7 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 7 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 7 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 7 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 7 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 7 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 7 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 7 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 7 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 7 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 7 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 7 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 7 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 7 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 7 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 7 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 7 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 7 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 7 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 7 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 7 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 7 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 7 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 7 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 7 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 7 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 7 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 7 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 7 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 7 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 7 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 7 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 7 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 7 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 7 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 7 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 7 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 7 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 7 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 7 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 7 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 7 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 7 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 7 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 7 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 7 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 7 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 7 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 7 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 7 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 7 102 dcl gtss_drun_ entry (bit(1)); 7 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 7 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 7 106 dcl gtss_mcfc_empty entry (char(*) var); 7 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 7 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 7 109 dcl gtss_fault_processor_ entry options(variable); 7 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 7 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 7 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 7 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 125 dcl gtss_mcfc_init_ entry (char(*) var); 7 126 dcl gtss_interp_prim_ entry options(variable); 7 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 7 128 dcl gtss_interp_prim_$sysret entry options(variable); 7 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 7 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 7 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 7 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 7 133 dcl gtss_ios_initialize_ entry options(variable); 7 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 7 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 7 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 7 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 7 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 7 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 7 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 7 143 dcl gtss_run_subsystem_$finish entry options(variable); 7 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 7 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 7 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 7 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 7 148 dcl gtss_update_safe_store_ entry (ptr); 7 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 7 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 7 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 7 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 364 365 8 1 /* BEGIN INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 8 2 /* 8 3* Created: (Wardd Multics) 09/01/78 1447.3 mst Fri 8 4**/ 8 5 8 6 /** First parameter to gtss_expand_pathname_ 8 7* **/ 8 8 dcl 1 ascii_cat_file, 8 9 2 nn fixed bin, /* Number of names. */ 8 10 2 name (7)char(12); /* List of cat/filedescr name . */ 8 11 8 12 /* END INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 366 367 9 1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */ 9 2 /* 9 3* Created: (Wardd Multics) 09/01/78 1447.1 mst Fri 9 4**/ 9 5 9 6 /** The gtss_file_values structure provides parameters to the 9 7* gtss_attributes_mgr_ subroutine. 9 8* 9 9* The caller must provide space for this structure, fill in 9 10* the version with 1, the dname and ename with the file directory 9 11* and entry name, and for calls to gtss_attributes_mgr_$set, 9 12* fill in values to be reset and set the corresponding set_switch 9 13* to "1"b. 9 14* 9 15* If the (Multics) file located is a directory 9 16* a GCOS catalog is implied. 9 17* 9 18* If both ename and new_ename are set but no set_switch 9 19* is "1"b (and the set entry is called) this implies 9 20* that the existing attribute values are being renamed 9 21* to the new entry. 9 22* 9 23* Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code); 9 24* 9 25* Use of ename/new_ename combinations 9 26* for set entry. 9 27* 9 28* -|-----------|-----------|-|-----------------| 9 29* | ename |new_ename || meaning | 9 30* =|===========|===========|=|=================| 9 31* | blanks | blanks || illegal | 9 32* -|-----------|-----------|-|-----------------| 9 33* | blanks |not blanks|| initial | 9 34* | | || setting | 9 35* -|-----------|-----------|-|-----------------| 9 36* |not blanks| blanks || check enames's | 9 37* | | ||attribute values| 9 38* | | || and reset. | 9 39* -|-----------|-----------|-|-----------------| 9 40* |not blanks|not blanks|| delete ename's | 9 41* | | || values and put | 9 42* | | || on values for | 9 43* | | || new_ename's | 9 44* -|-----------|-----------|-|-----------------| 9 45***/ 9 46 dcl attr_name (0:7)char(4)static int options(constant)init( 9 47 /* 0 */ "mode" 9 48 , /* 1 */ "maxl" 9 49 , /* 2 */ "curl" 9 50 , /* 3 */ "busy" 9 51 , /* 4 */ "attr" 9 52 , /* 5 */ "null" 9 53 , /* 6 */ "noal" 9 54 , /* 7 */ "crdt" 9 55 ); 9 56 dcl 1 gtss_file_values aligned automatic 9 57 , 3 version fixed bin(17) /* Current version is 1. (OUT) */ 9 58 , 3 dname char(168)unal /* Directory name. (IN) */ 9 59 , 3 ename char(032)unal /* Entry name. (IN) */ 9 60 , 3 new_ename char(032)unal /* New entry name. (IN) */ 9 61 , 3 change_name bit(1) /* "1"b => Change segment name. (IN) */ 9 62 , 3 catalog bit(1) /* "1"b => File is a catalog (Multics directory). (OUT) */ 9 63 , 3 info_ptr ptr /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */ 9 64 , 3 set_switch /* "1"b => Set corresponding value. (IN) */ 9 65 , 4 mode_random bit(01)unal /* 0. Set the random/sequential(linked) field. */ 9 66 , 4 maxll bit(01)unal /* 1. Set max size value. */ 9 67 , 4 curll bit(01)unal /* 2. Set current size value. */ 9 68 , 4 busy bit(01)unal /* 3. Set file as busy. */ 9 69 , 4 attr bit(01)unal /* 4. Set user attributes value. */ 9 70 , 4 null_file bit(01)unal /* 5. Set null file value. */ 9 71 , 4 number_allocations bit(01)unal /* 6. Set or increment number of uses. */ 9 72 , 4 creation_date bit(01)unal /* 7. Set file creation date. */ 9 73 , 4 not_in_use bit(28)unal 9 74 /* The above set_ variables should be declared in an order 9 75* corresponding to the value in the attr_name array. */ 9 76 , 3 data_flags /* (OUT|IN) */ 9 77 , 4 mode_random bit(01)unal /* "1"b => random. */ 9 78 , 4 busy bit(01)unal /* "1"b => file is busy. */ 9 79 , 4 null_file bit(01)unal /* "1"b => file is null. */ 9 80 , 4 not_in_use2 bit(33)unal 9 81 , 3 data_fields /* (OUT|IN) */ 9 82 , 4 curll fixed bin(35) /* Current length in llinks (>=0). */ 9 83 , 4 maxll fixed bin(35) /* Maximum length in llinks (>=0). */ 9 84 , 4 number_allocations fixed bin(35) /* 0 => set | >0 => increment modulo 262144. */ 9 85 , 3 attributes /* (OUT|IN) */ 9 86 , 4 not_in_use3 bit(01)unal 9 87 , 4 attr bit(35)unal /* User specified file attribute value. */ 9 88 , 3 creation_date char(06) /* MMDDYY of creation. */ 9 89 ; 9 90 9 91 9 92 /* END INCLUDE FILE gtss_file_values.incl.pl1 */ 368 369 10 1 /* BEGIN INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 10 2 /* 10 3* Created: (Wardd Multics) 09/14/78 1813.7 mst Thu 10 4* Change: Paul Benjamin 10/12/79 Further break down FS0_PBK_05 10 5**/ 10 6 10 7 /** The structure FMS_catalog1 is from 10 8* FMS PROGRAM LOGIC MANUAL 10 9* DC26, Rev. 0, January 1974 10 10* Page 4-9 10 11***/ 10 12 dcl FMS_cat_ptr ptr init(null()); 10 13 dcl 1 FMS_catalog aligned based(FMS_cat_ptr) 10 14 , 3 FSnTYP_0 10 15 , 4 bits00_05 bit(06)unal 10 16 , 4 bits06_10 bit(05)unal 10 17 , 4 bits11_17 bit(07)unal 10 18 , 4 bits18_35 bit(18)unal 10 19 , 3 FSnNLL_1 10 20 , 4 bits00_17 bit(18)unal 10 21 , 4 bits18_35 bit(18)unal 10 22 , 3 FSnPLL_2 10 23 , 4 bits00_17 bit(18)unal 10 24 , 4 bits18_35 bit(18)unal 10 25 , 3 FSnPTP_3 10 26 , 4 bits00_17 bit(18)unal 10 27 , 4 bits18_35 bit(18)unal 10 28 , 3 FSnCBK_4 10 29 , 4 bits00_17 bit(18)unal 10 30 , 4 bits18_35 bit(18)unal 10 31 ; 10 32 10 33 /** Page 4-10. **/ 10 34 dcl 1 Type_0_Catalog aligned based(FMS_cat_ptr) 10 35 , 3 FS0_TYP_00 bit(36) 10 36 , 3 FS0_NLL_01 10 37 , 4 bits00_17 bit(18)unal 10 38 , 4 bits18_35 bit(18)unal 10 39 , 3 FS0_PLL_02 bit(36) 10 40 , 3 FS0_PTP_03 10 41 , 4 bits00_17 fixed bin(17)unal 10 42 , 4 bits18_35 bit(18)unal 10 43 , 3 FS0_CBK_04 10 44 , 4 bits00_17 fixed bin(17)unal 10 45 , 4 bits18_35 bit(18)unal 10 46 , 3 FS0_PBK_05 10 47 , 4 bits00_17 bit(18)unal 10 48 , 4 bits18_35 bit(18)unal 10 49 , 3 FS0_CNM_06_07 bit(72) 10 50 , 3 FS0_ORG_10_11 bit(72) 10 51 , 3 FS0_PWD_12_13 bit(72) 10 52 , 3 FS0_CDT_14 bit(36) 10 53 , 3 FS0_MOD_15 bit(36) 10 54 , 3 FS0_IND_16 bit(36) 10 55 , 3 FS0_PER_17 10 56 , 4 bits00_11 bit(12)unal 10 57 , 4 bits12_14 bit(03)unal 10 58 , 4 bit15 bit(01)unal 10 59 , 4 bit16 bit(01)unal 10 60 , 4 bit17 bit(01)unal 10 61 , 4 bits18_35 bit(18)unal 10 62 , 3 FS0_OP1_20 bit(36) 10 63 , 3 FS0_OP2_21 bit(36) 10 64 , 3 FS0_VAR_22_76 (15) 10 65 , 4 FS0_SNM_00_01 bit(72) 10 66 , 4 FS0_SPT_02 10 67 , 5 bit00 bit(01)unal 10 68 , 5 bit01 bit(01)unal 10 69 , 5 bits02_17 bit(16)unal 10 70 , 5 bits18_35 bit(18)unal 10 71 , 3 checksum_77 bit(36) 10 72 ; 10 73 10 74 /* Condensed form of type 0 record. */ 10 75 dcl 1 t0c aligned based(FMS_cat_ptr) 10 76 , 2 fill (0:17)bit(36) 10 77 , 2 name (15) 10 78 , 3 bcd bit(72) 10 79 , 3 more bit(36) 10 80 ; 10 81 10 82 /** Page 4-10. **/ 10 83 dcl Type_1_ptr ptr init(null()); 10 84 dcl 1 Type_1_Catalog aligned based(Type_1_ptr) 10 85 , 3 FS1_TYP_00 bit(36) 10 86 , 3 FS1_NLL_01 10 87 , 4 bits00_17 bit(18)unal 10 88 , 4 bits18_35 bit(18)unal 10 89 , 3 FS1_PLL_02 bit(36) 10 90 , 3 FS1_PTP_03 10 91 , 4 bits00_17 fixed bin(17)unal 10 92 , 4 bits18_35 bit(18)unal 10 93 , 3 FS1_CBK_04 10 94 , 4 bits00_17 bit(18)unal 10 95 , 4 bits18_35 bit(18)unal 10 96 , 3 FS1_OPN_05 bit(36) 10 97 , 3 FS1_VAR_06_76 (19) 10 98 , 4 FS1_SNM_00_01 bit(72) 10 99 , 4 FS1_SPT_02 10 100 , 5 bit00 bit(01)unal 10 101 , 5 bit01 bit(01)unal 10 102 , 5 bits02_17 bit(16)unal 10 103 , 5 bits18_35 bit(18)unal 10 104 , 3 checksum_77 bit(36) 10 105 ; 10 106 10 107 /* Condensed form of type 1 record. */ 10 108 dcl 1 t1c aligned based(FMS_cat_ptr) 10 109 , 2 fill (0:5)bit(36) 10 110 , 2 name (19) like t0c.name 10 111 ; 10 112 10 113 /** Page 4-11. **/ 10 114 dcl 1 Type_2_Catalog aligned based(FMS_cat_ptr) 10 115 , 3 FS2_TYP_00 bit(36) 10 116 , 3 FS2_NLL_01 bit(36) 10 117 , 3 FS2_PLL_02 bit(36) 10 118 , 3 FS2_PTP_03 bit(36) 10 119 , 3 FS2_CBK_04 bit(36) 10 120 , 3 FS2_PBK_05 10 121 , 4 bits00_17 bit(18)unal 10 122 , 4 bits18_35 bit(18)unal 10 123 , 3 FS2_FNM_06_07 bit(72) 10 124 , 3 FS2_ORG_10_11 bit(72) 10 125 , 3 FS2_PWD_12_13 bit(72) 10 126 , 3 FS2_CDT_14 bit(36) 10 127 , 3 FS2_MOD_15 bit(36) 10 128 , 3 FS2_IND_16 bit(36) 10 129 , 3 FS2_PER_17 10 130 , 4 bits00_11 bit(12)unal 10 131 , 4 bits12_15 bit(04)unal 10 132 , 4 bit16 bit(01)unal 10 133 , 4 bit17 bit(01)unal 10 134 , 4 bits18_35 bit(18)unal 10 135 , 3 FS2_MTR_20_21 bit(72) 10 136 , 3 FS2_FU1_22 10 137 , 4 bit00 bit(01)unal 10 138 , 4 bit01 bit(01)unal 10 139 , 4 bit02 bit(01)unal 10 140 , 4 bit03 bit(01)unal 10 141 , 4 bit04 bit(01)unal 10 142 , 4 bit05 bit(01)unal 10 143 , 4 bit06 bit(01)unal 10 144 , 4 bit07 bit(01)unal 10 145 , 4 bit08 bit(01)unal 10 146 , 4 bit09 bit(01)unal 10 147 , 4 bits10_11 bit(02)unal 10 148 , 4 bits12_17 bit(06)unal 10 149 , 4 bits18_35 bit(18)unal 10 150 , 3 FS2_FUS_23 10 151 , 4 bits00_17 bit(18)unal 10 152 , 4 bit18 bit(01)unal 10 153 , 4 bit19 bit(01)unal 10 154 , 4 bit20 bit(01)unal 10 155 , 4 bit21 bit(01)unal 10 156 , 4 bit22 bit(01)unal 10 157 , 4 bit23 bit(01)unal 10 158 , 4 bit24 bit(01)unal 10 159 , 4 bit25 bit(01)unal 10 160 , 4 bit26 bit(01)unal 10 161 , 4 bit27 bit(01)unal 10 162 , 4 bit28 bit(01)unal 10 163 , 4 bit29 bit(01)unal 10 164 , 4 bits30_35 bit(06)unal 10 165 , 3 FS2_USI_24 10 166 , 4 bit00 bit(01)unal 10 167 , 4 bits01_35 bit(35)unal 10 168 , 3 FS2_FU2_25 10 169 , 4 bit00 bit(01)unal 10 170 , 4 bit01 bit(01)unal 10 171 , 4 bit02 bit(01)unal 10 172 , 4 bit03 bit(01)unal 10 173 , 4 bit04 bit(01)unal 10 174 , 4 bit05 bit(01)unal 10 175 , 4 bit06 bit(01)unal 10 176 , 4 bit07 bit(01)unal 10 177 , 4 bit08 bit(01)unal 10 178 , 4 bit09 bit(01)unal 10 179 , 4 bit10 bit(01)unal 10 180 , 4 bit11 bit(01)unal 10 181 , 4 bit12 bit(01)unal 10 182 , 4 bit13 bit(01)unal 10 183 , 4 bit14 bit(01)unal 10 184 , 4 bit15 bit(01)unal 10 185 , 4 bit16 bit(01)unal 10 186 , 4 bit17 bit(01)unal 10 187 , 4 bits18_35 bit(18)unal 10 188 , 3 FS2_LCD_26 bit(36) 10 189 , 3 FS2_LAD_27 bit(36) 10 190 , 3 FS2_LST_30 10 191 , 4 bits00_05 bit(06)unal 10 192 , 4 bits06_35 bit(30)unal 10 193 , 3 FS2_ATB_31 bit(36) 10 194 , 3 FS2_PDF_32 bit(36) 10 195 , 3 FS2_STC_33 bit(36) 10 196 , 3 FS2_BSY_34 bit(36) 10 197 , 3 FS2_TBC_35 bit(36) 10 198 , 3 FS2_OP2_7_36_43 (2:7)bit(36) 10 199 , 3 FS2_VAR_44_75 10 200 , 4 Device_descriptor 10 201 , 5 bits00_03 bit(04)unal /* 0101 */ 10 202 , 5 bits04_05 bit(02)unal 10 203 , 5 bits06_35 bit(30)unal 10 204 , 4 Space_descriptor 10 205 , 5 bit00 bit(01)unal 10 206 , 5 bit01 bit(01)unal /* =0 => space desc. */ 10 207 , 5 bit02 bit(01)unal 10 208 , 5 bits03_17 bit(15)unal 10 209 , 5 bits18_35 bit(18)unal 10 210 , 4 zero (24)bit(36) 10 211 , 3 zero_76 bit(36) 10 212 , 3 checksum_77 bit(36) 10 213 ; 10 214 10 215 /** Page 4-13. **/ 10 216 dcl Type_4_ptr ptr init(null()); 10 217 dcl 1 Type_4_Catalog aligned based(Type_4_ptr) 10 218 , 3 FS4_TYP_00 bit(36) 10 219 , 3 FS4_NLL_01 bit(36) 10 220 , 3 FS4_PLL_02 bit(36) 10 221 , 3 FS4_PTP_03 bit(36) 10 222 , 3 FS4_CBK_04 bit(36) 10 223 , 3 FS4_OP1_2_05_06 bit(72) 10 224 , 3 FS4_VAR_07_75 bit(1980) /* 1980 = 55 * 36bits @ */ 10 225 , 3 zero bit(36) 10 226 , 3 checksum_77 bit(36) 10 227 ; 10 228 10 229 /** Page 2-69 **/ 10 230 dcl buffer_ptr ptr init(null()); 10 231 dcl 1 callers_buffer aligned based(buffer_ptr) 10 232 , 3 first25 (25)bit(36) /* Work area for ???. */ 10 233 /** Next 35 words. FMS work area. **/ 10 234 , 3 W00_FSCODE bit(036) 10 235 , 3 W01_02_FSCALL bit(072) 10 236 , 3 W03 bit(036) 10 237 , 3 W04_06 bit(108) 10 238 , 3 W07 bit(036) 10 239 , 3 W10 bit(036) 10 240 , 3 W11_12 bit(072) 10 241 , 3 W13_FSSSLV bit(036) 10 242 , 3 W14_15 bit(072) 10 243 , 3 W16_FSFBSY bit(036) 10 244 , 3 W17_FSRETP bit(036) 10 245 , 3 W20 10 246 , 4 FSMME unal 10 247 , 5 bits00_17 bit(18)unal 10 248 , 4 FSARG unal 10 249 , 5 bits18_35 bit(18)unal 10 250 , 3 W21_FSCPOS 10 251 , 4 bits00_17 bit(18)unal 10 252 , 4 bits18_35 bit(18)unal 10 253 , 3 W22_FSCCFP 10 254 , 4 bits00_17 bit(18)unal 10 255 , 4 bits18_35 bit(18)unal 10 256 , 3 W23_FSPCFP 10 257 , 4 bits00_17 bit(18)unal 10 258 , 4 bits18_35 bit(18)unal 10 259 , 3 W24 10 260 , 4 FSREGU unal 10 261 , 5 bits00_17 bit(18)unal 10 262 , 4 FSREGL unal 10 263 , 5 bits18_35 bit(18)unal 10 264 , 3 W25_FSCDEV 10 265 , 4 bits00_15 bit(16)unal 10 266 , 4 bit16 bit(01)unal 10 267 , 4 bit17 bit(01)unal 10 268 , 4 bits18_35 bit(18)unal 10 269 , 3 W26_FSDDEV 10 270 , 4 bits00_15 bit(16)unal 10 271 , 4 bit16 bit(01)unal 10 272 , 4 bit17 bit(01)unal 10 273 , 4 bits18_35 bit(18)unal 10 274 , 3 W27_FSENDT bit(036) 10 275 , 3 W30_FSCPAT bit(036) 10 276 , 3 W31_FSPERM bit(036) 10 277 , 3 W32_FSDDCW bit(036) 10 278 , 3 W33_FSDCWP bit(036) 10 279 , 3 W34_FSDUPD bit(036) 10 280 , 3 W35_FSAVBL bit(036) 10 281 , 3 W36_FSTEMP bit(036) 10 282 , 3 W37_FSCKSM bit(036) 10 283 , 3 W40_FSIOS1 bit(036) 10 284 , 3 W41_FSSRW1 bit(036) 10 285 , 3 W42_FSSRW2 bit(036) 10 286 , 3 W43_FSBFER bit(036) /* Starting location of buffer for catalog record(s). */ 10 287 , 3 remainder_of_buffer (319)bit(36) 10 288 ; 10 289 10 290 /* END INCLUDE FILE gtss_FMS_catalog.incl.pl1 */ 370 371 11 1 11 2 declare /* Information returned by hcs_$status_ and hcs_$status_long */ 11 3 11 4 11 5 1 branch aligned based (info_ptr), /* information about this particular branch */ 11 6 2 type bit (2) unal, /* "00"b = link, "01"b = segment, "10"b = directory */ 11 7 2 nnames bit (16) unal, /* number of names this entry has */ 11 8 2 names_relp bit (18) unal, /* pointer, relative to base of segment, to names */ 11 9 2 dtm bit (36) unal, /* date-time the segment was last modified */ 11 10 2 dtu bit (36) unal, /* date-time the segment was last used */ 11 11 2 mode bit (5) unal, /* the user's access modes to the entry */ 11 12 2 padding bit (13) unal, /* yawn */ 11 13 2 records_used bit (18) unal, /* number of blocks actually occupied by entry */ 11 14 11 15 /* limit of information returned by status_ */ 11 16 11 17 2 dtd bit (36) unal, /* date-time the segment was last dumped */ 11 18 2 dtbm bit (36) unal, /* date-time the branch for the entry was modified */ 11 19 2 account bit (36) unal, /* account to which storage is charged */ 11 20 2 current_length bit (12) unal, /* maximum length in blocks */ 11 21 2 bit_count bit (24) unal, /* length of entry in bits */ 11 22 2 device_id bit (4) unal, /* device on which segment currently resides */ 11 23 2 mdid bit (4) unal, /* device to which it is currently being moved */ 11 24 2 copy_switch bit (1) unal, /* segment copy switch */ 11 25 2 tpd bit (1) unal, /* transparent paging device switch */ 11 26 2 more_padding bit (8) unal, /* yawn, yawn */ 11 27 2 ring_brackets (0:2) bit (6) unal, /* ring brackets for entry */ 11 28 2 uid bit (36) unal, /* unique identifier */ 11 29 11 30 11 31 1 link aligned based (info_ptr), /* information about link entries */ 11 32 2 type bit (2) unal, /* as above */ 11 33 2 nnames bit (16) unal, /* number of names for this link */ 11 34 2 names_relp bit (18) unal, /* as above */ 11 35 2 dtbm bit (36) unal, /* date-time, entry for link was last modified */ 11 36 2 dtd bit (36) unal, /* date-time dumped */ 11 37 2 pathname_length bit (18) unal, /* length of link pathname */ 11 38 2 pathname_relp bit (18) unal, /* pointer, relative to based of segment, to name */ 11 39 11 40 entry_names (1) character (32) aligned based (pointer (area_pointer, branch.names_relp)), 11 41 /* array of names returned */ 11 42 pathname character (fixed (link.pathname_length)) aligned based (pointer (area_pointer, link.pathname_relp)), 11 43 /* pathname a link points to */ 11 44 11 45 area_pointer pointer, /* to area in which to allocate names */ 11 46 info_ptr pointer; /* to structure returned */ 11 47 11 48 372 373 12 1 12 2 declare /* Structures used in acl manipulation. - J.M. Broughton 07/27/73 */ 12 3 12 4 12 5 1 segment_acl (acl_count) based (acl_ptr) aligned, 12 6 2 access_name character (32), /* process to which this entry applies */ 12 7 2 modes bit (36), /* read, execute, and write */ 12 8 2 zero_pad bit (36), /* for extended acl */ 12 9 2 status_code fixed bin(35), /* standard error code for this entry only */ 12 10 12 11 12 12 1 dir_acl (acl_count) based (acl_ptr) aligned, 12 13 2 access_name character (32), /* process to which entry applys */ 12 14 2 dir_modes bit (36), /* status, modify, and append */ 12 15 2 status_code fixed bin(35), /* as above */ 12 16 12 17 12 18 acl_count fixed bin, /* number of entries in these structures */ 12 19 acl_ptr pointer; /* pointer to these structures */ 12 20 12 21 374 375 13 1 /* BEGIN INCLUDE FILE gtss_filact_options.incl.pl1 */ 13 2 /* 13 3* Created: (Wardd Multics) 09/08/78 1017.4 mst Fri 13 4**/ 13 5 dcl now fixed bin; 13 6 dcl options_ptr ptr init(null()); 13 7 dcl 1 optionsx aligned based(options_ptr) 13 8 , 3 word1 13 9 , 4 option_bit unal 13 10 , 5 j bit(01)unal /* Space must be contiguous. */ 13 11 , 5 b bit(01)unal /* Random (CF only). */ 13 12 , 5 c bit(01)unal /* File TSS created (CF only) */ 13 13 , 5 d bit(01)unal /* I-D-S file. */ 13 14 , 5 k bit(01)unal /* 320-word blocks (CF only). */ 13 15 , 5 f bit(01)unal /* File already on tape or nonstructured disk pack (non-TSS). */ 13 16 , 5 bit_06 bit(01)unal /* (not used). */ 13 17 , 5 h bit(01)unal /* Attributes present. */ 13 18 , 5 i bit(01)unal /* User-specified attributes (CF & MF only). */ 13 19 , 5 bits09_12 bit(04)unal /* (not used). */ 13 20 , 5 y bit(01)unal /* FMS protection options specified. */ 13 21 , 5 bits14_17 bit(04)unal /* (not used). */ 13 22 , 4 device_name bit(12)unal 13 23 , 4 device_type bit(06)unal 13 24 , 3 word2 13 25 , 4 initial_file_size bit(18)unal /* (CF only). */ 13 26 , 4 max_file_size bit(18)unal /* 0 => max size unlimited. */ 13 27 , 3 words3_now (now) 13 28 , 4 optional_specific_permissions 13 29 , 5 USERID bit(72)unal 13 30 , 5 permission_bit like permissionsx 13 31 , 3 word_now_plus_1 13 32 , 4 end_of_list fixed bin(35) 13 33 , 3 word_now_plus_2 13 34 , 4 fill bit(01)unal 13 35 , 4 user_specified_attributes bit(35)unal /* (CF & MF only). */ 13 36 ; 13 37 14 1 /* BEGIN INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 14 2 /* 14 3* Created: (Wardd Multics) 09/08/78 1018.0 mst Fri 14 4**/ 14 5 dcl permissions_ptr ptr init(null()); 14 6 dcl 1 permissionsx aligned based(permissions_ptr) 14 7 , 3 r bit(01)unal /* Read permission. */ 14 8 , 3 w bit(01)unal /* Write permission. */ 14 9 , 3 a bit(01)unal /* Append permission. */ 14 10 , 3 e bit(01)unal /* Execute permission. */ 14 11 , 3 p bit(01)unal /* Purge permission. */ 14 12 , 3 m bit(01)unal /* Modify permission. */ 14 13 , 3 l bit(01)unal /* Lock permission. */ 14 14 , 3 bit_07 bit(01)unal /* (not used). */ 14 15 , 3 c bit(01)unal /* Create permission. */ 14 16 , 3 x bit(01)unal /* Recovery permission. */ 14 17 , 3 bits10_35 bit(26)unal /* (not used). */ 14 18 ; 14 19 14 20 /* END INCLUDE FILE gtss_filact_permissions.incl.pl1 */ 13 38 13 39 13 40 /* END INCLUDE FILE gtss_filact_options.incl.pl1 */ 376 377 15 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 15 2 /* 15 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 15 4**/ 15 5 15 6 /* To provide a new debugging switch: 15 7* 15 8* 1) Locate the comment "Insert next entry above this comment". 15 9* 15 10* 2) Place a new declaration for a db_ variable just 15 11* above this comment, in the same manner as the 15 12* current declaration just above the comment, using 15 13* the next integer gtss_ext_$db index. 15 14* 15 15* 3) Execute the gtss|db_names ted macro (this updates 15 16* the sorted name table). 15 17* 15 18* 4) Example use: 15 19* 15 20* if db_drl_grow then do; 15 21* . 15 22* . 15 23* . 15 24* debug i/o statements using com_err_ or ioa_ 15 25* . 15 26* . 15 27* . 15 28* end; 15 29* 15 30**/ 15 31 15 32 dcl ( 15 33 db_ bit(1) defined(gtss_ext_$db(01)) 15 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 15 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 15 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 15 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 15 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 15 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 15 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 15 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 15 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 15 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 15 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 15 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 15 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 15 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 15 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 15 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 15 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 15 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 15 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 15 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 15 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 15 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 15 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 15 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 15 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 15 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 15 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 15 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 15 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 15 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 15 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 15 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 15 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 15 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 15 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 15 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 15 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 15 71 /* Insert next entry above this comment. */ 15 72 ); 15 73 15 74 /* Table of sorted names. */ 15 75 dcl 1 debug_bit_names (38) static int options(constant) 15 76 , 2 name char(18)var init( 15 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 15 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 15 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 15 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 15 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 15 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 15 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 15 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 15 85 ) 15 86 , 2 value fixed bin init( 15 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 15 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 15 89 ,31 ,22 15 90 ); 15 91 /* End of table. */ 15 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 378 379 end /* gtss_filact_funct14_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.0 gtss_filact_funct14_.pl1 >spec>on>7105>gtss_filact_funct14_.pl1 114 1 09/09/83 1713.8 gtss_filact_intp1.incl.pl1 >ldd>include>gtss_filact_intp1.incl.pl1 354 2 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 356 3 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 358 4 09/09/83 1713.3 gtss_filact_status.incl.pl1 >ldd>include>gtss_filact_status.incl.pl1 360 5 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 362 6 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 364 7 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 366 8 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 368 9 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 370 10 09/09/83 1713.5 gtss_FMS_catalog.incl.pl1 >ldd>include>gtss_FMS_catalog.incl.pl1 372 11 04/29/76 1139.2 status_info.incl.pl1 >ldd>include>status_info.incl.pl1 374 12 02/13/75 1618.9 acls.incl.pl1 >ldd>include>acls.incl.pl1 376 13 09/09/83 1713.9 gtss_filact_options.incl.pl1 >ldd>include>gtss_filact_options.incl.pl1 13-38 14 09/09/83 1713.9 gtss_filact_permissions.incl.pl1 >ldd>include>gtss_filact_permissions.incl.pl1 378 15 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FMS_block_ptr 000200 automatic pointer initial dcl 156 set ref 156* FMS_cat_ptr 000276 automatic pointer initial dcl 10-12 set ref 10-12* L_arglist 0(18) based bit(18) level 2 packed unaligned dcl 1-24 ref 1-16 1-16 Type_1_ptr 000300 automatic pointer initial dcl 10-83 set ref 10-83* Type_4_ptr 000302 automatic pointer initial dcl 10-216 set ref 10-216* addr builtin function dcl 123 ref 69 69 69 69 75 75 addrel builtin function dcl 124 ref 51 57 1-20 altname_ptr 000102 automatic pointer initial dcl 128 set ref 128* arg_ptr 000106 automatic pointer initial dcl 131 set ref 40* 45 51 131* 1-16 1-16 arg_ptr_val parameter pointer dcl 33 ref 14 40 arglist_address 0(18) based bit(18) level 2 packed unaligned dcl 231 ref 45 51 arglist_ptr 000104 automatic pointer initial dcl 130 set ref 51* 53 55 55 57 130* ascii_cat_file 000250 automatic structure level 1 unaligned dcl 8-8 set ref 75 75 attribute_segment_ptr 000110 automatic pointer initial dcl 132 set ref 132* buffer_ptr 000304 automatic pointer initial dcl 10-230 set ref 41* 10-230* buffer_ptr_val parameter pointer dcl 34 ref 14 41 cardin 7(19) based bit(1) level 2 packed unaligned dcl 334 set ref 103* cdate 000112 automatic fixed bin(71,0) dcl 135 set ref 92* clim 000114 automatic float bin(27) dcl 136 set ref 92* 96 99 code parameter fixed bin(35,0) dcl 35 set ref 14 43* 48* 75* 81 89* 90 crf 000115 automatic fixed bin(24,0) dcl 137 set ref 92* csp 000116 automatic float bin(27) dcl 138 set ref 92* 101 descriptor_ptr 000120 automatic pointer initial dcl 140 set ref 140* dir_name 000122 automatic char(168) unaligned dcl 141 set ref 75* 89* divide builtin function dcl 142 ref 94 95 entry_address 0(18) based bit(18) level 2 packed unaligned dcl 327 ref 55 55 57 entry_name 000174 automatic char(12) initial unaligned dcl 143 set ref 75* 143* filact_args based structure level 1 dcl 231 in procedure "gtss_filact_funct14_" filact_args based structure level 1 dcl 1-24 in procedure "validate_status" fill1 2 based bit(36) level 2 dcl 334 set ref 61* fill2 3 based bit(36) level 2 dcl 334 set ref 61* fill3 6 based bit(36) level 2 dcl 334 set ref 61* fill4 7(22) based bit(2) level 2 packed unaligned dcl 334 set ref 61* fill5 13 based bit(10) level 2 packed unaligned dcl 334 set ref 61* fixed builtin function dcl 155 ref 38 45 55 99 101 1-16 1-16 1-16 1-16 gseg 000202 automatic pointer initial dcl 158 set ref 39* 51 57 158* 1-20 gseg_val parameter pointer dcl 32 ref 14 39 gtss_bcd_ascii_$lc 000016 constant entry external dcl 7-34 ref 69 gtss_expand_pathname_ 000020 constant entry external dcl 7-107 ref 75 gtss_ust 000014 external static structure level 2 dcl 2-16 gtss_ust_ext_$ust 000014 external static structure level 1 dcl 2-16 hcs_$quota_read 000010 constant entry external dcl 169 ref 89 high_b 000204 automatic bit(18) dcl 171 set ref 37* 38 55 1-13 high_i 000205 automatic fixed bin(18,0) dcl 172 set ref 38* 45 55 high_val parameter bit(18) unaligned dcl 31 ref 14 37 lid 000014 external static bit(72) level 3 dcl 2-16 ref 59 llinks_allowed 5(18) based fixed bin(17,0) level 2 packed unaligned dcl 334 set ref 95* llinks_used 5 based fixed bin(17,0) level 2 packed unaligned dcl 334 set ref 94* lods 7(21) based bit(1) level 2 packed unaligned dcl 334 set ref 103* lodx 7(18) based bit(1) level 2 packed unaligned dcl 334 set ref 103* max_resources constant fixed bin(17,0) initial dcl 182 ref 96 mcp 000246 automatic pointer dcl 6-10 set ref 36* mcp_val parameter pointer dcl 30 ref 14 36 minus_one 000503 constant bit(36) initial unaligned dcl 183 ref 59 mlim 000206 automatic float bin(27) dcl 184 set ref 92* msp 000207 automatic float bin(27) dcl 187 set ref 92* name 22 based structure array level 2 in structure "t0c" dcl 10-75 in procedure "gtss_filact_funct14_" name 1 000250 automatic char(12) array level 2 in structure "ascii_cat_file" packed unaligned dcl 8-8 in procedure "gtss_filact_funct14_" set ref 69 69 nn 000250 automatic fixed bin(17,0) level 2 dcl 8-8 set ref 68* options_ptr 000306 automatic pointer initial dcl 13-6 set ref 13-6* p 000100 automatic pointer initial dcl 121 set ref 121* password 10 based bit(72) level 2 packed unaligned dcl 334 set ref 109* permissions_ptr 000310 automatic pointer initial dcl 14-5 set ref 14-5* permissionsx based structure level 1 dcl 14-6 quota 000210 automatic fixed bin(18,0) dcl 191 set ref 89* 95 reserved 12 based bit(36) level 2 dcl 334 set ref 61* resources 7 based fixed bin(17,0) level 2 packed unaligned dcl 334 set ref 96* 99* resources_used 13(10) based fixed bin(25,0) level 2 packed unaligned dcl 334 set ref 101* shlim 000211 automatic float bin(27) array dcl 195 set ref 92* shsp 000221 automatic float bin(27) array dcl 196 set ref 92* smc_arglist based structure level 1 dcl 327 smc_entry based structure level 1 dcl 334 smc_entry_ptr 000232 automatic pointer initial dcl 198 set ref 57* 59 59 61 61 61 61 61 61 69 69 94 95 96 99 101 103 103 103 103 107 109 198* sons_lvid 000234 automatic bit(36) unaligned dcl 199 set ref 89* sp parameter pointer dcl 1-8 set ref 1-5 1-20* status based bit(18) level 2 packed unaligned dcl 256 set ref 84* status_address based bit(18) level 2 in structure "smc_arglist" packed unaligned dcl 327 in procedure "gtss_filact_funct14_" set ref 53* status_address parameter bit(18) unaligned dcl 1-7 in procedure "validate_status" ref 1-5 1-13 1-16 1-16 1-20 status_pointer 000320 automatic pointer initial dcl 1-9 set ref 1-9* 1-20* 1-21 status_ptr 000236 automatic pointer initial dcl 202 set ref 53* 84 202* status_word based structure level 1 dcl 256 set ref 1-21* substr builtin function dcl 203 ref 59 t0c based structure level 1 dcl 10-75 tacc_sw 000240 automatic fixed bin(1,0) dcl 205 set ref 89* talk 7(20) based bit(1) level 2 packed unaligned dcl 334 set ref 103* trp 000242 automatic fixed bin(71,0) dcl 206 set ref 89* tup 000244 automatic bit(36) dcl 207 set ref 89* urgency 7(24) based bit(12) level 2 packed unaligned dcl 334 set ref 107* used 000245 automatic fixed bin(18,0) dcl 210 set ref 89* 94 user_info_$limits 000012 constant entry external dcl 212 ref 92 userid based bit(72) level 2 packed unaligned dcl 334 set ref 59 59* 69 69 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FMS_block based structure level 1 dcl 268 FMS_catalog based structure level 1 dcl 10-13 FMS_data_block based structure level 1 dcl 272 Type_0_Catalog based structure level 1 dcl 10-34 Type_1_Catalog based structure level 1 dcl 10-84 Type_2_Catalog based structure level 1 dcl 10-114 Type_4_Catalog based structure level 1 dcl 10-217 abx internal static fixed bin(17,0) initial dcl 6-42 access_mode automatic bit(6) unaligned dcl 122 acl_count automatic fixed bin(17,0) dcl 12-2 acl_ptr automatic pointer dcl 12-2 aft_code automatic fixed bin(35,0) dcl 125 aft_name automatic char(8) unaligned dcl 126 altname based char(8) dcl 127 append_mode internal static bit(36) initial unaligned dcl 129 apx internal static fixed bin(17,0) initial dcl 6-42 area_pointer automatic pointer dcl 11-2 arglist based structure level 1 dcl 238 attr_name internal static char(4) initial array unaligned dcl 9-46 bbx internal static fixed bin(17,0) initial dcl 6-42 bcdname based structure level 1 dcl 226 bit builtin function dcl 133 bit72 based bit(72) dcl 119 bit_count automatic fixed bin(24,0) dcl 134 bpx internal static fixed bin(17,0) initial dcl 6-42 branch based structure level 1 dcl 11-2 callers_buffer based structure level 1 dcl 10-231 com_err_ 000000 constant entry external dcl 7-8 db_ defined bit(1) unaligned dcl 15-32 db_CFP_input defined bit(1) unaligned dcl 15-32 db_abs defined bit(1) unaligned dcl 15-32 db_attributes_mgr defined bit(1) unaligned dcl 15-32 db_dq defined bit(1) unaligned dcl 15-32 db_drl_addmem defined bit(1) unaligned dcl 15-32 db_drl_callss defined bit(1) unaligned dcl 15-32 db_drl_defil defined bit(1) unaligned dcl 15-32 db_drl_dio defined bit(1) unaligned dcl 15-32 db_drl_filact defined bit(1) unaligned dcl 15-32 db_drl_filsp defined bit(1) unaligned dcl 15-32 db_drl_grow defined bit(1) unaligned dcl 15-32 db_drl_kin defined bit(1) unaligned dcl 15-32 db_drl_morlnk defined bit(1) unaligned dcl 15-32 db_drl_msub defined bit(1) unaligned dcl 15-32 db_drl_part defined bit(1) unaligned dcl 15-32 db_drl_retfil defined bit(1) unaligned dcl 15-32 db_drl_rew defined bit(1) unaligned dcl 15-32 db_drl_rstswh defined bit(1) unaligned dcl 15-32 db_drl_setswh defined bit(1) unaligned dcl 15-32 db_drl_switch defined bit(1) unaligned dcl 15-32 db_drl_t_cfio defined bit(1) unaligned dcl 15-32 db_expand_pathname defined bit(1) unaligned dcl 15-32 db_filact_funct02 defined bit(1) unaligned dcl 15-32 db_filact_funct03 defined bit(1) unaligned dcl 15-32 db_filact_funct04 defined bit(1) unaligned dcl 15-32 db_filact_funct05 defined bit(1) unaligned dcl 15-32 db_filact_funct10 defined bit(1) unaligned dcl 15-32 db_filact_funct11 defined bit(1) unaligned dcl 15-32 db_filact_funct14 defined bit(1) unaligned dcl 15-32 db_filact_funct18 defined bit(1) unaligned dcl 15-32 db_filact_funct19 defined bit(1) unaligned dcl 15-32 db_filact_funct21 defined bit(1) unaligned dcl 15-32 db_filact_funct22 defined bit(1) unaligned dcl 15-32 db_interp_prim defined bit(1) unaligned dcl 15-32 db_ios defined bit(1) unaligned dcl 15-32 db_mcfc defined bit(1) unaligned dcl 15-32 db_run_subsystem defined bit(1) unaligned dcl 15-32 debug_bit_names internal static structure array level 1 unaligned dcl 15-75 delete_$path 000000 constant entry external dcl 139 descriptor based structure array level 1 dcl 264 dir_acl based structure array level 1 dcl 12-2 entry_names based char(32) array dcl 11-2 error_table_$incorrect_access external static fixed bin(35,0) dcl 144 error_table_$moderr external static fixed bin(35,0) dcl 145 error_table_$namedup external static fixed bin(35,0) dcl 146 error_table_$no_dir external static fixed bin(35,0) dcl 148 error_table_$noentry external static fixed bin(35,0) dcl 147 error_table_$nomatch external static fixed bin(35,0) dcl 152 error_table_$not_seg_type external static fixed bin(35,0) dcl 149 error_table_$seg_not_found external static fixed bin(35,0) dcl 151 error_table_$segknown external static fixed bin(35,0) dcl 150 execute_mode internal static bit(36) initial unaligned dcl 153 file_name_in_ascii automatic bit(1) unaligned dcl 118 file_no automatic fixed bin(24,0) dcl 154 four_NULS internal static char(4) initial unaligned dcl 157 gtss_CFP_abort_ 000000 constant entry external dcl 7-9 gtss_CFP_break_ 000000 constant entry external dcl 7-10 gtss_CFP_input_ 000000 constant entry external dcl 7-11 gtss_CFP_output_ 000000 constant entry external dcl 7-12 gtss_abandon_CFP_ 000000 constant entry external dcl 7-13 gtss_abort_dump_ 000000 constant entry external dcl 7-14 gtss_abort_subsystem_ 000000 constant entry external dcl 7-15 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 7-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 7-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 7-20 gtss_abs_$create_absin 000000 constant entry external dcl 7-21 gtss_abs_$dabt_check 000000 constant entry external dcl 7-22 gtss_abs_$get_drm 000000 constant entry external dcl 7-24 gtss_abs_$get_id 000000 constant entry external dcl 7-23 gtss_abs_login_banner_ 000000 constant entry external dcl 7-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 7-18 gtss_adjust_size_ 000000 constant entry external dcl 7-25 gtss_aft_$add 000000 constant entry external dcl 7-26 gtss_aft_$delete 000000 constant entry external dcl 7-27 gtss_aft_$find 000000 constant entry external dcl 7-28 gtss_aft_$initialize 000000 constant entry external dcl 7-29 gtss_ascii_bcd_ 000000 constant entry external dcl 7-30 gtss_attributes_mgr_$get 000000 constant entry external dcl 7-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 7-32 gtss_bcd_ascii_ 000000 constant entry external dcl 7-33 gtss_break_vector_ 000000 constant entry external dcl 7-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 7-36 gtss_break_vector_$status 000000 constant entry external dcl 7-37 gtss_build_ 000000 constant entry external dcl 7-38 gtss_com_err_ 000000 constant entry external dcl 7-39 gtss_derail_processor_ 000000 constant entry external dcl 7-40 gtss_derail_processor_$set 000000 constant entry external dcl 7-41 gtss_dq_$catp 000000 constant entry external dcl 7-42 gtss_dq_$create 000000 constant entry external dcl 7-43 gtss_dq_$dibp 000000 constant entry external dcl 7-44 gtss_dq_$entries_info 000000 constant entry external dcl 7-45 gtss_dq_$hdrp 000000 constant entry external dcl 7-46 gtss_dq_$mod_js 000000 constant entry external dcl 7-47 gtss_dq_$open_exc 000000 constant entry external dcl 7-48 gtss_dq_$open_gen 000000 constant entry external dcl 7-49 gtss_drl_abort_ 000000 constant entry external dcl 7-50 gtss_drl_addmem_ 000000 constant entry external dcl 7-51 gtss_drl_callss_ 000000 constant entry external dcl 7-52 gtss_drl_corfil_ 000000 constant entry external dcl 7-53 gtss_drl_defil_ 000000 constant entry external dcl 7-54 gtss_drl_defil_$subr 000000 constant entry external dcl 7-55 gtss_drl_dio_ 000000 constant entry external dcl 7-56 gtss_drl_drlimt_ 000000 constant entry external dcl 7-57 gtss_drl_drlsav_ 000000 constant entry external dcl 7-58 gtss_drl_filact_ 000000 constant entry external dcl 7-59 gtss_drl_filsp_ 000000 constant entry external dcl 7-60 gtss_drl_grow_ 000000 constant entry external dcl 7-61 gtss_drl_gwake_ 000000 constant entry external dcl 7-62 gtss_drl_jsts_ 000000 constant entry external dcl 7-63 gtss_drl_kin_ 000000 constant entry external dcl 7-64 gtss_drl_kotnow_ 000000 constant entry external dcl 7-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 7-66 gtss_drl_koutn_ 000000 constant entry external dcl 7-67 gtss_drl_morlnk_ 000000 constant entry external dcl 7-68 gtss_drl_msub_ 000000 constant entry external dcl 7-69 gtss_drl_objtim_ 000000 constant entry external dcl 7-70 gtss_drl_part_ 000000 constant entry external dcl 7-71 gtss_drl_pasaft_ 000000 constant entry external dcl 7-72 gtss_drl_pasdes_ 000000 constant entry external dcl 7-73 gtss_drl_pasust_ 000000 constant entry external dcl 7-74 gtss_drl_pdio_ 000000 constant entry external dcl 7-75 gtss_drl_prgdes_ 000000 constant entry external dcl 7-76 gtss_drl_pseudo_ 000000 constant entry external dcl 7-77 gtss_drl_relmem_ 000000 constant entry external dcl 7-78 gtss_drl_restor_ 000000 constant entry external dcl 7-79 gtss_drl_retfil_ 000000 constant entry external dcl 7-80 gtss_drl_return_ 000000 constant entry external dcl 7-81 gtss_drl_rew_ 000000 constant entry external dcl 7-82 gtss_drl_rstswh_ 000000 constant entry external dcl 7-83 gtss_drl_setlno_ 000000 constant entry external dcl 7-84 gtss_drl_setswh_ 000000 constant entry external dcl 7-85 gtss_drl_snumb_ 000000 constant entry external dcl 7-86 gtss_drl_spawn_ 000000 constant entry external dcl 7-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 7-88 gtss_drl_stoppt_ 000000 constant entry external dcl 7-89 gtss_drl_switch_ 000000 constant entry external dcl 7-90 gtss_drl_sysret_ 000000 constant entry external dcl 7-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 7-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 7-93 gtss_drl_t_err_ 000000 constant entry external dcl 7-94 gtss_drl_t_goto_ 000000 constant entry external dcl 7-95 gtss_drl_t_linl_ 000000 constant entry external dcl 7-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 7-97 gtss_drl_tapein_ 000000 constant entry external dcl 7-98 gtss_drl_task_ 000000 constant entry external dcl 7-99 gtss_drl_termtp_ 000000 constant entry external dcl 7-100 gtss_drl_time_ 000000 constant entry external dcl 7-101 gtss_drun_ 000000 constant entry external dcl 7-102 gtss_dsd_lookup_ 000000 constant entry external dcl 7-103 gtss_dsd_process_ 000000 constant entry external dcl 7-104 gtss_edit_dsd_ 000000 constant entry external dcl 7-105 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 7-108 gtss_ext_$CFP_bits external static structure level 1 dcl 3-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 3-33 gtss_ext_$aem external static fixed bin(17,0) dcl 3-8 gtss_ext_$aft external static structure level 1 dcl 3-78 gtss_ext_$bad_drl_rtrn external static label variable dcl 3-9 gtss_ext_$com_reg external static structure level 1 dcl 3-45 gtss_ext_$db external static bit(1) array unaligned dcl 3-10 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 3-11 gtss_ext_$dispose_of_drl external static label variable dcl 3-12 gtss_ext_$drl_rtrn external static label variable array dcl 3-13 gtss_ext_$drm_path external static char(168) unaligned dcl 3-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 3-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 3-16 gtss_ext_$fast_lib external static structure level 1 dcl 3-98 gtss_ext_$finished external static label variable dcl 3-17 gtss_ext_$flags external static structure level 1 dcl 3-60 gtss_ext_$gdb_name external static char(8) unaligned dcl 3-18 gtss_ext_$get_line external static entry variable dcl 3-19 gtss_ext_$gtss_slave_area_seg external static pointer array dcl 3-20 gtss_ext_$hcs_work_area_ptr external static pointer dcl 3-21 gtss_ext_$homedir external static char(64) unaligned dcl 3-22 gtss_ext_$last_k_was_out external static bit(1) dcl 3-23 gtss_ext_$mcfc external static structure level 1 dcl 3-109 gtss_ext_$pdir external static varying char(168) dcl 3-24 gtss_ext_$popup_from_pi external static label variable dcl 3-25 gtss_ext_$ppt external static pointer dcl 3-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 3-26 gtss_ext_$put_chars external static entry variable dcl 3-27 gtss_ext_$restart_from_pi external static label variable dcl 3-28 gtss_ext_$restart_seg_ptr external static pointer dcl 3-29 gtss_ext_$sig_ptr external static pointer dcl 3-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 3-31 gtss_ext_$statistics external static structure level 1 dcl 3-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 3-32 gtss_ext_$user_id external static varying char(26) dcl 3-34 gtss_ext_$work_area_ptr external static pointer dcl 3-35 gtss_fail 000000 stack reference condition dcl 159 gtss_fault_processor_ 000000 constant entry external dcl 7-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 7-111 gtss_filact_error_status_ 000000 constant entry external dcl 7-112 gtss_filact_funct02_ 000000 constant entry external dcl 7-113 gtss_filact_funct03_ 000000 constant entry external dcl 7-114 gtss_filact_funct04_ 000000 constant entry external dcl 7-115 gtss_filact_funct05_ 000000 constant entry external dcl 7-116 gtss_filact_funct08_ 000000 constant entry external dcl 7-117 gtss_filact_funct10_ 000000 constant entry external dcl 7-118 gtss_filact_funct11_ 000000 constant entry external dcl 7-119 gtss_filact_funct14_ 000000 constant entry external dcl 7-120 gtss_filact_funct18_ 000000 constant entry external dcl 7-121 gtss_filact_funct19_ 000000 constant entry external dcl 7-122 gtss_filact_funct21_ 000000 constant entry external dcl 7-123 gtss_filact_funct22_ 000000 constant entry external dcl 7-124 gtss_file_values automatic structure level 1 dcl 9-56 gtss_find_cond_frame_ 000000 constant entry external dcl 7-110 gtss_interp_prim_ 000000 constant entry external dcl 7-126 gtss_interp_prim_$callss 000000 constant entry external dcl 7-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 7-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 7-129 gtss_ios_change_size_ 000000 constant entry external dcl 7-130 gtss_ios_close_ 000000 constant entry external dcl 7-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 7-132 gtss_ios_initialize_ 000000 constant entry external dcl 7-133 gtss_ios_io_ 000000 constant entry external dcl 7-134 gtss_ios_open_ 000000 constant entry external dcl 7-135 gtss_ios_position_ 000000 constant entry external dcl 7-136 gtss_mcfc_$close 000000 constant entry external dcl 7-139 gtss_mcfc_$delete 000000 constant entry external dcl 7-137 gtss_mcfc_$open 000000 constant entry external dcl 7-138 gtss_mcfc_empty 000000 constant entry external dcl 7-106 gtss_mcfc_init_ 000000 constant entry external dcl 7-125 gtss_pnterr internal static structure level 1 packed unaligned dcl 5-9 gtss_read_starCFP_ 000000 constant entry external dcl 7-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 7-141 gtss_run_subsystem_ 000000 constant entry external dcl 7-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 7-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 7-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 7-145 gtss_set_slave_ 000000 constant entry external dcl 7-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 7-147 gtss_update_safe_store_ 000000 constant entry external dcl 7-148 gtss_verify_access_ 000000 constant entry external dcl 7-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 7-150 gtss_write_starCFP_ 000000 constant entry external dcl 7-151 have_file automatic bit(1) unaligned dcl 160 hbound builtin function dcl 161 hcs_$add_acl_entries 000000 constant entry external dcl 162 hcs_$add_dir_acl_entries 000000 constant entry external dcl 163 hcs_$add_inacl_entries 000000 constant entry external dcl 164 hcs_$append_branchx 000000 constant entry external dcl 165 hcs_$delentry_file 000000 constant entry external dcl 166 hcs_$initiate 000000 constant entry external dcl 167 hcs_$make_seg 000000 constant entry external dcl 168 hcs_$status_long 000000 constant entry external dcl 170 i automatic fixed bin(24,0) dcl 173 increment automatic fixed bin(24,0) dcl 174 info_ptr automatic pointer dcl 11-2 ioa_ 000000 constant entry external dcl 175 k automatic fixed bin(24,0) dcl 176 l automatic fixed bin(24,0) dcl 177 lbound builtin function dcl 178 lbx internal static fixed bin(17,0) initial dcl 6-42 lib_arglist based structure level 1 dcl 247 link based structure level 1 dcl 11-2 low_b internal static bit(18) initial dcl 179 low_i internal static fixed bin(18,0) initial dcl 180 lpx internal static fixed bin(17,0) initial dcl 6-42 max_options internal static fixed bin(17,0) initial dcl 181 mc based structure level 1 dcl 6-12 mod builtin function dcl 185 modify_mode internal static bit(36) initial unaligned dcl 186 multics_access_mode automatic fixed bin(5,0) dcl 188 nic automatic fixed bin(24,0) dcl 120 now automatic fixed bin(17,0) dcl 13-5 options based structure level 1 dcl 297 optionsx based structure level 1 dcl 13-7 path_name automatic varying char(168) dcl 189 pathname based char dcl 11-2 permissions based structure level 1 dcl 279 person_id automatic char(22) unaligned dcl 190 read_mode internal static bit(36) initial unaligned dcl 192 rel builtin function dcl 193 rings internal static fixed bin(3,0) initial array dcl 194 sbx internal static fixed bin(17,0) initial dcl 6-42 scu based structure level 1 dcl 6-56 scup automatic pointer dcl 6-54 scux based structure level 1 dcl 6-207 segment_acl based structure array level 1 dcl 12-2 size builtin function dcl 197 spx internal static fixed bin(17,0) initial dcl 6-42 status automatic fixed bin(24,0) dcl 200 status2 based structure level 1 dcl 216 status_mode internal static bit(36) initial unaligned dcl 201 switches internal static bit(6) initial unaligned dcl 204 t1c based structure level 1 dcl 10-108 two_words based bit(72) unaligned dcl 208 type automatic fixed bin(2,0) dcl 209 user_attribute_word automatic bit(35) unaligned dcl 211 words380 based bit(13680) dcl 213 write_mode internal static bit(36) initial unaligned dcl 214 NAMES DECLARED BY EXPLICIT CONTEXT. could_not_get_smc 000262 constant label dcl 82 ref 90 gtss_filact_funct14_ 000037 constant entry external dcl 14 ret 000266 constant label dcl 85 ref 111 return_err4 000125 constant label dcl 47 ref 55 1-13 1-16 validate_status 000436 constant entry internal dcl 1-5 ref 53 NAMES DECLARED BY CONTEXT OR IMPLICATION. null builtin function ref 121 128 130 131 132 140 156 158 198 202 10-12 10-83 10-216 10-230 13-6 14-5 1-9 unspec builtin function ref 1-21 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 604 626 504 614 Length 1312 504 22 450 100 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_filact_funct14_ 282 external procedure is an external procedure. validate_status internal procedure shares stack frame of external procedure gtss_filact_funct14_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_filact_funct14_ 000100 p gtss_filact_funct14_ 000102 altname_ptr gtss_filact_funct14_ 000104 arglist_ptr gtss_filact_funct14_ 000106 arg_ptr gtss_filact_funct14_ 000110 attribute_segment_ptr gtss_filact_funct14_ 000112 cdate gtss_filact_funct14_ 000114 clim gtss_filact_funct14_ 000115 crf gtss_filact_funct14_ 000116 csp gtss_filact_funct14_ 000120 descriptor_ptr gtss_filact_funct14_ 000122 dir_name gtss_filact_funct14_ 000174 entry_name gtss_filact_funct14_ 000200 FMS_block_ptr gtss_filact_funct14_ 000202 gseg gtss_filact_funct14_ 000204 high_b gtss_filact_funct14_ 000205 high_i gtss_filact_funct14_ 000206 mlim gtss_filact_funct14_ 000207 msp gtss_filact_funct14_ 000210 quota gtss_filact_funct14_ 000211 shlim gtss_filact_funct14_ 000221 shsp gtss_filact_funct14_ 000232 smc_entry_ptr gtss_filact_funct14_ 000234 sons_lvid gtss_filact_funct14_ 000236 status_ptr gtss_filact_funct14_ 000240 tacc_sw gtss_filact_funct14_ 000242 trp gtss_filact_funct14_ 000244 tup gtss_filact_funct14_ 000245 used gtss_filact_funct14_ 000246 mcp gtss_filact_funct14_ 000250 ascii_cat_file gtss_filact_funct14_ 000276 FMS_cat_ptr gtss_filact_funct14_ 000300 Type_1_ptr gtss_filact_funct14_ 000302 Type_4_ptr gtss_filact_funct14_ 000304 buffer_ptr gtss_filact_funct14_ 000306 options_ptr gtss_filact_funct14_ 000310 permissions_ptr gtss_filact_funct14_ 000320 status_pointer validate_status THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return fl2_to_fx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gtss_bcd_ascii_$lc gtss_expand_pathname_ hcs_$quota_read user_info_$limits THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000031 121 000044 128 000046 130 000047 131 000050 132 000051 140 000052 143 000053 156 000056 158 000057 198 000060 202 000061 10 12 000062 10 83 000063 10 216 000064 10 230 000065 13 6 000066 14 5 000067 36 000070 37 000074 38 000101 39 000104 40 000107 41 000112 43 000115 45 000116 47 000125 48 000126 49 000131 51 000132 53 000136 55 000145 57 000157 59 000163 61 000174 68 000204 69 000206 75 000227 81 000257 82 000262 84 000263 85 000266 86 000267 89 000270 90 000334 92 000337 94 000364 95 000373 96 000400 99 000406 101 000412 103 000420 107 000430 109 000432 111 000435 1 5 000436 1 9 000440 1 13 000442 1 16 000447 1 20 000467 1 21 000475 1 22 000500 ----------------------------------------------------------- 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