COMPILATION LISTING OF SEGMENT gtss_ios_open_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1348.4 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 gtss_ios_open_: proc ( 10 file_no 11 , dir_name 12 , entry_name 13 , access_mode 14 , random_indicator 15 , attributes_ptr 16 , status_ptr 17 , code 18 ); 19 20 /* This entry point is used to set up the necessary control 21* information about the file being opened. 22* 23* Author: Dave Ward 03/04/80 (derived from gtss_ios_) 24**/ 25 dcl access_mode bit (6) parm; 26 dcl attributes_ptr ptr parm; 27 dcl code fixed bin (35) parm; 28 dcl dir_name char (168) parm; 29 dcl entry_name char (32) parm; 30 dcl file_no fixed bin (24) parm; 31 dcl random_indicator bit (1) parm; 32 gsp = status_ptr; /* Reference gcos_status. */ 33 gsp -> bit72 = "0"b; /* Clear caller's status. */ 34 35 fn = file_no; /* Use local variable */ 36 ap = attributes_ptr; 37 38 gcos_status = "4000"b3; /* Initialize status to indicate no error */ 39 code = 0; 40 41 /* Verify that the file number input parameter 42* corresponds to a valid input parameter and that 43* the file is not already open. */ 44 45 if fn < lbound (gtss_disk, 1) | fn >= hbound (gtss_disk, 1) then do; 46 gcos_status = "4042"b3; /* Bad file number */ 47 return; 48 end; 49 if gtss_disk.fcb_ptr (fn) ^= null () then do; 50 gcos_status = "4037"b3; /* File already open (i.e., in aft) */ 51 gtss_disk.fcb_ptr (fn) = null (); /* Ensure file cannot be used again */ 52 return; 53 end; 54 55 /* Initialize gtss_disk entry for this file */ 56 gtss_disk (fn).fcb_ptr = null (); 57 gtss_disk (fn).msf_array_ptr = null (); 58 gtss_disk (fn).single_segment_ptr = null (); 59 string (gtss_disk (fn).indicators) = "0"b; 60 string (gtss_disk (fn).permissions) = "0"b; 61 gtss_disk (fn).component = 0; 62 gtss_disk (fn).offset = 0; 63 gtss_disk (fn).file_position = 0; 64 gtss_disk (fn).file_size = 0; 65 gtss_disk (fn).no_components = 0; 66 addr (gtss_disk (fn).pat_body) -> pat_body_overlay = "0"b; 67 68 /* Save information about file which must be remembered */ 69 gtss_disk.dir_name (fn) = dir_name; 70 gtss_disk.entry_name (fn) = entry_name; 71 gtss_disk.access_mode (fn) = access_mode; 72 gtss_disk.attributes_ptr (fn) = ap; 73 gtss_disk.pat_body.random (fn) = random_indicator | ap -> gtss_file_attributes.mode; 74 gtss_disk.pat_body.write_performed (fn) = ap -> non_null; 75 76 /* Determine what permissions user wants 77* on the file */ 78 79 substr (string (permissions (fn)), 1, 3) = 80 decode_mode (fixed (access_mode)); 81 pat_body (fn).perm = ap -> gtss_file_attributes.perm; 82 if ^permissions (fn).read then do; 83 gcos_status = "4044"b3; 84 return; 85 end; 86 if pat_body (fn).perm = "0"b then do; 87 call hcs_$make_seg ( 88 dir_name 89 , entry_name 90 , "" 91 , fixed ("0"b||substr (string (permissions (fn)), 1, 3)||"0"b) 92 , null () 93 , code 94 ); 95 if code ^= 0 then do; 96 gcos_status = "4100"b3; /* error detected by hcs_$make_seg */ 97 return; 98 end; 99 end; 100 101 /* Open the file using msf manager. */ 102 call msf_manager_$open ( 103 dir_name 104 , entry_name 105 , fcb_ptr 106 , code 107 ); 108 if code ^= 0 then do; 109 gcos_status = "4100"b3; /* Error detected by msf_manager_$open */ 110 return; 111 end; 112 gtss_disk.fcb_ptr (fn) = fcb_ptr; 113 114 /* Determine the user's access to the file */ 115 if pat_body.perm (fn) ^= "0"b then do; 116 call gtss_verify_access_ ( 117 dir_name 118 , entry_name 119 , fn 120 , access_mode 121 , gcos_status 122 ); 123 if gcos_status ^= "4000"b3 then do; /* 4000 means you have access */ 124 call msf_manager_$close (fcb_ptr); 125 gtss_disk.fcb_ptr (fn) = null; 126 return; 127 dcl status_ptr ptr parm; 128 end; 129 end; 130 131 132 /* Get a pointer to first component of file */ 133 call msf_manager_$get_ptr ( 134 fcb_ptr 135 , 0 136 , "0"b 137 , single_segment_ptr (fn) 138 , bc 139 , code 140 ); 141 if (code ^= 0) & (code ^= error_table_$segknown) & (code ^= error_table_$namedup) then do; 142 gcos_status = "4025"b3; /* No 0 component. 4025 => entry not on-line. */ 143 if db_ios then 144 call com_err_ ( 145 code 146 , "gtss_ios_open_" 147 , "Could not get 0 component of ""^a>^a"" status ^w" 148 , dir_name 149 , entry_name 150 , gcos_status 151 ); 152 call msf_manager_$close (gtss_disk (fn).fcb_ptr); 153 gtss_disk (fn).fcb_ptr = null; 154 return; 155 end; 156 157 158 159 /* Call an internal procedure to set file_size, no_components, and the msf flag */ 160 gsc = 0; 161 call fix_size (gsc); 162 if gsc ^= 0 then do; 163 gcos_status = "4013"b3; /* Too big. */ 164 return; 165 end; 166 167 /* Initialize size field in the PAT body */ 168 if gtss_disk.attributes_ptr (fn) -> current_size < 1024*16 169 then pat_body.llink_size (fn) = 170 substr (unspec (gtss_disk.attributes_ptr (fn) -> current_size), 37-14, 14); 171 172 /* Get pointers to the components of the file */ 173 if msf (fn) then do; /* Multisegment file */ 174 allocate msf_components in (work_area) set (msf_array_ptr (fn)); 175 do i = no_components (fn) to 499; 176 msf_array_ptr (fn) -> msf_components (i) = null (); 177 end; 178 msf_array_ptr (fn) -> msf_components (0) = single_segment_ptr (fn); 179 single_segment_ptr (fn) = null (); 180 do i = 1 to no_components (fn)-1; 181 call msf_manager_$get_ptr ( 182 fcb_ptr 183 , (i) 184 , "1"b 185 , msf_array_ptr (fn) -> msf_components (i) 186 , bc 187 , code 188 ); 189 if code ^= 0 & code ^= error_table_$segknown & code ^= error_table_$namedup then do; 190 gcos_status = "4100"b3; /* error detected by msf_manager_$get_ptr */ 191 free msf_array_ptr (fn) -> msf_components; 192 call msf_manager_$close (gtss_disk (fn).fcb_ptr); 193 gtss_disk (fn).fcb_ptr = null; 194 return; 195 end; 196 end; 197 end; 198 199 /* Register caller in multiple caller 200* file control (mcfc). 201**/ 202 if ap -> gtss_file_attributes.perm then do; 203 call gtss_mcfc_$open ( 204 rtrim (dir_name) 205 , rtrim (entry_name) 206 , access_mode 207 , gtss_ext_$mcfc.multics_lock_id 208 , status_ptr 209 , code 210 ); 211 if code ^= 0 then do; 212 if db_ios then 213 call com_err_ ( 214 code 215 , "gtss_ios_open_" 216 , "gtss_mcfc_$open status ^w" 217 , gcos_status 218 ); 219 return; 220 end; 221 end; 222 223 /* Save pointer to file control block. */ 224 return; /* End of gtss_ios_open_ */ 225 226 fix_size: proc (status); 227 228 /* This routine is called from within the open and change_size entry points 229* to set file_size, no_components, and the msf flag. */ 230 dcl status fixed bin(24)parm; 231 232 gtss_disk.file_size (fn) = 320 * ap -> gtss_file_attributes.current_size; 233 gtss_disk.no_components (fn) = 234 divide (file_size (fn)-1, sys_info$max_seg_size, 24, 0)+1; 235 gtss_disk.msf (fn) = (no_components (fn) > 1); 236 if no_components (fn) > 500 then do; 237 no_components (fn) = 500; 238 file_size (fn) = 500*1024*255; 239 status = 3; /* Size of file requested exceeds 500 components */ 240 end; 241 end fix_size; 242 243 /* VARIABLES FOR GTSS_IOS_ */ 244 dcl hcs_$fs_get_path_name entry(ptr,char(*),fixed bin,char(*),fixed bin(35)); 245 dcl file_dir char(168); 246 dcl file_dir_len fixed bin; 247 dcl file_ent char(32); 248 dcl gcos_status bit(12)aligned based(gsp); 249 dcl bit72 bit(72)aligned based; 250 dcl gsp ptr; 251 252 dcl acl_ptr ptr /* pointer to segment_acl passed 253* as a parameter to msf_manager_$acl_list */; 254 dcl ap ptr /* Pointer to the attributes structure for the current file */; 255 dcl bc fixed bin (24) /* Used as a sink for bit counts returned by 256* msf_manager_$get_ptr */; 257 dcl bit_count fixed bin (24) /* The bit count of the last segment of an msf. 258* Passed as a parameter to msf_manager_$adjust. */; 259 dcl bksp_sw bit (1) /* Distinguishes between backspacing 260* "1"b and forward spacing "0"b a linked file. */; 261 dcl cmd_word bit (36) aligned /* temp */; 262 dcl count fixed bin (24) /* Counts io commands processed 263* for current io select sequence */; 264 dcl da_residue fixed bin /* Address of last memory location 265* accessed during I/O. Used in building 266* return status words for I/O. */; 267 dcl data_moved fixed bin (24) /* number of words moved or skipped over by 268* the current read or write operation. */; 269 dcl dcw_number fixed bin (24) /* Used to count DCW's in 270* the current select sequence */; 271 dcl dcw_offset fixed bin (24) /* slave offset of current dcw */; 272 dcl dcw_ptr ptr /* Multics pointer to the current dcw */; 273 dcl disconnect bit (1) /* Indicator that the last DCW has been encountered. */; 274 dcl error_table_$namedup fixed bin (35) ext; 275 dcl error_table_$rqover fixed bin(35)ext; 276 dcl error_table_$segknown fixed bin (35) ext; 277 dcl fcb_ptr ptr init (null ()) /* pointer to file control block 278* used by msf_manager_ */; 279 dcl file_ptr ptr /* pointer to current positoion in file */; 280 dcl fn fixed bin (24) /* Index in gtss_ext_$disk_file_data of 281* information about the file to be processed. */; 282 dcl get_mode fixed bin (5) /* User's access mode to segment as 283* returned by hcs_$fs_get_mode */; 284 dcl gsc fixed bin(24); 285 dcl i fixed bin (24); 286 dcl idptr ptr /* Pointer to the current id 287* word of the I/O select sequence. */; 288 dcl j fixed bin (24); 289 dcl l fixed bin (24) /* The length in words of the current 290* piece of data to be moved to or from the file */; 291 dcl largest_file fixed bin (24) /* Max no. of llinks a file can grow to */; 292 dcl last_component bit (1) /* When on, indicates that the 293* current component is the last component of the file */; 294 dcl li bit (1) /* variable for the parameter link_indicator */; 295 dcl M char (l*4) based /* A template used for moving data 296* to or from the file. */; 297 dcl max_change fixed bin (24) /* The maximum amount that 298* the size of a file can be increased 299* expressed in llinks (320 word blocks) */; 300 dcl msf_components (0:499) ptr based /* An array of pointers for each msf. 301* Each component which has been accessed has a 302* corresponding initialized pointer. */; 303 304 dcl msf_save bit (1) /* A flag used to remember whether 305* the file was a msf before its size 306* was changed. */; 307 dcl no_components_save fixed bin (24) /* Used to remember the number 308* of components a file had before its 309* size was changed */; 310 dcl pat_body_overlay bit (180) based /* used for initializing the 311* pat body to all zeros */; 312 dcl opptr ptr /* Pointer to the current operation 313* word of the I/O select sequence. */; 314 dcl rec_ct_residue fixed bin (24) /* holds no of unskipped records */; 315 dcl record_quota_overflow condition ext; 316 dcl sc fixed bin (24) /* local variable for the parameter size_change */; 317 dcl scratch_status bit (72) aligned /* temp */; 318 dcl seek_address fixed bin (24) based /* user seek address for disk or drum */; 319 dcl seek_ptr ptr /* Pointer to the word containing 320* the io seek address */; 321 dcl seeksw bit (1) /* sw controlling disk or drum seeks */; 322 dcl seg_length fixed bin (24) /* length in words of current component of file */; 323 dcl select_seg_ptr ptr /* Pointer to beginning of 324* segment containing select sequence */; 325 dcl select_seq_in_memory bit (1) /* 1 => the select sequence is in the 326* same segment that is used for Gcos memory. 327* In this case the addresses of DCW's, seek address data word, and 328* status return words will be checked against the 329* memory_limit parameter. */; 330 dcl slave_status bit (36) aligned; 331 dcl sp ptr /* Pointer to user's select sequence for this I/O */; 332 dcl storlimit fixed bin (24) /* slave core boundary */; 333 dcl sptr ptr /* pointer to return word of select sequence */; 334 dcl swptr ptr /* Pointer to status return words */; 335 dcl sys_info$max_seg_size fixed bin (35) ext; 336 dcl ta_offset fixed bin (24) /* Offset in the user's slave memory 337* of the transmission area for the current DCW. */; 338 dcl ta_ptr ptr /* pointer to the transmission area for 339* the current DCW. */; 340 dcl ta_seg_ptr ptr /* pointer to the user's slave 341* memory segment */; 342 dcl tdcw_previous bit (1) /* Indicator that the last DCW processed was a TDCW */; 343 dcl tfp fixed bin (71); 344 dcl wc_residue fixed bin (24) /* Number of words remaining to be transferred 345* in the current dcw when eof or 346* memory fault occurs. Used in building 347* return status words for I/O. */; 348 dcl work_area area (sys_info$max_seg_size) aligned 349 based (gtss_ext_$work_area_ptr) /* Area used to store arrays of pointers to 350* components of msf's. */; 351 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 352 dcl hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 353 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 354 dcl ioa_ entry options (variable); 355 dcl msf_manager_$adjust entry (ptr, fixed bin, fixed bin (24), bit (3), fixed bin (35)); 356 dcl msf_manager_$close entry (ptr); 357 dcl msf_manager_$get_ptr entry (ptr, fixed bin, bit (1), ptr, fixed bin (24), fixed bin (35)); 358 dcl msf_manager_$open entry (char (*), char (*), ptr, fixed bin (35)); 359 360 /* STRUCTURES */ 361 362 dcl 1 dcw aligned based (dcw_ptr), /* dcw model */ 363 2 data_addr bit (18) unaligned, /* data address */ 364 2 zero bit (3) unaligned, /* fill */ 365 2 action bit (3) unaligned, /* action */ 366 2 count bit (12) unaligned; /* word count for transfer */ 367 368 dcl 1 id_word aligned based (idptr), /* model of identification word */ 369 2 filep bit (18) unaligned, /* file control block pointer */ 370 2 dcwp bit (18) unaligned; /* dcw list pointer */ 371 372 373 dcl 1 op_word aligned based (opptr), /* model of operation word */ 374 2 dev_com bit (6) unaligned, /* device command */ 375 2 zero1 bit (12) unaligned, /* zeros */ 376 2 ioc_com bit (5) unaligned, /* ioc command */ 377 2 zero2 bit (1) unaligned, /* zero */ 378 2 control bit (6) unaligned, /* control */ 379 2 count bit (6) unaligned; /* count */ 380 381 dcl 1 return_word aligned based (sptr), /* model of status return word */ 382 2 status_return bit (18) unaligned, /* pointer to return words */ 383 2 courtesy_call bit (18) unaligned; /* pointer to courtesy call rtn */ 384 385 dcl 1 stat_words aligned based (swptr), /* model of status words */ 386 2 sw1 bit (36) aligned, /* word 1 */ 387 2 sw2 bit (36) aligned; /* word 2 */ 388 389 390 391 dcl decode_mode (0:63) bit (3) aligned /* Permissions are read, execute, write */ 392 static init ( /* OCTAL */ 393 "100"b, /* 0 -- Zero access mode maps to Query permission */ 394 "100"b, /* 1 */ 395 (2) (1)"000"b, /* 2-3 */ 396 "110"b, /* 4 */ 397 (3) (1)"000"b, /* 5-7 */ 398 "100"b, /* 10 */ 399 (7) (1)"000"b, /* 11-17 */ 400 (2) (1)"101"b, /* 20-21 */ 401 (2) (1) "000"b, /* 22-23 */ 402 "101"b, /* 24 */ 403 (11) (1)"000"b, /* 25-37 */ 404 (2) (1) "100"b, /* 40-41 */ 405 (6) (1)"000"b, /* 42-47 */ 406 "100"b, /* 50 */ 407 (3) (1)"000"b, /* 51-53 */ 408 "100"b, /* 54 */ 409 (3) (1)"000"b, /* 55-57 */ 410 (2) (1)"101"b, /* 60-61 */ 411 (10) (1)"000"b, /* 62-73 */ 412 "101"b, /* 74 */ 413 (3) (1)"000"b); /* 75-77 */ 414 415 dcl io_commands (8) bit (36) internal static aligned init ( 416 417 418 /* Disk Command Table */ 419 420 "340000000002"b3, /* 34 - seek disk address */ 421 "250000002400"b3, /* 25 - read disk continuous */ 422 "310000002400"b3, /* 31 - write disk continuous */ 423 "700000020001"b3, /* 70 - rewind */ 424 "460000020001"b3, /* 46 - backspace record(s) */ 425 "440000020001"b3, /* 44 - forward space record(s) */ 426 "400000020001"b3, /* 40 - reset status */ 427 "000000020001"b3); /* 00 - request status */ 428 1 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 1 4**/ 1 5 1 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 1 7 1 8 3 gtss_disk, 1 9 4 dir_name char (168) unal, /* containing directory for file */ 1 10 4 entry_name char (32) unal, /* entry name for file */ 1 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 1 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 1 13* component which has been accessed has a corresponding 1 14* initialized pointer. Currently 500 components 1 15* are supported. */ 1 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 1 17 4 indicators aligned, /* one word of flags */ 1 18 1 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 1 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 1 21 5 fill bit (34) unal, 1 22 1 23 4 permissions aligned, 1 24 5 read bit (1) unaligned, /* 1=read permission */ 1 25 5 execute bit (1) unaligned, /* 1=execute permission */ 1 26 5 write bit (1) unaligned, /* 1=write permission */ 1 27 5 fill2 bit (33) unaligned, /* unused at this time */ 1 28 1 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 1 30 4 component fixed bin, /* current component value (first component = 0) */ 1 31 4 offset fixed bin (24), /* current word offset in the component */ 1 32 4 file_position fixed bin (30), /* current file position in words */ 1 33 4 file_size fixed bin (30), /* size of file in words */ 1 34 4 no_components fixed bin (24), /* number of components for a msf */ 1 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 1 36* for this file. (See gtss_file_attributes.incl.pl1) */ 1 37 1 38 4 pat_body, 1 39 1 40 5 word_0, 1 41 6 defective bit (1) unal, /* 1 = file has defective space */ 1 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 1 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 1 44 6 sct bit (12) unal, /* address of SCT for device on which 1 45* file begins or if cataloged, 1 46* for device with file catalog entry */ 1 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 1 48 1 49 5 word_1, 1 50 6 io_time fixed bin (35), /* I/O time for this file */ 1 51 1 52 5 word_2, 1 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 1 54 6 hash_code bit (5) unal, /* hash code of user name under which 1 55* file is cataloged */ 1 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 1 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 1 58 6 random bit (1) unal, /* 1 = access to file is random */ 1 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 1 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 1 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 1 62 6 disposition bit (2) unal, /* Abort disposition code 1 63* 00 = Release 1 64* 01 = Dismount 1 65* 10 = Save 1 66* 11 = Continue */ 1 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 1 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 1 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 1 70* attempted to part of file marked defective (only 1 71* for procted allocation) */ 1 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 1 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 1 74* (on device with SCT referenced in word 0). If 1 75* cataloged file that is proctected (bit 0 ON in this 1 76* word), memory location of table in File Management 1 77* Supervisor Executive. If user temporary file, 1 78* largest size file has ever attained, in llinks. 1 79* If system value equals 777777 octal, it is system 1 80* file created by System Input. */ 1 81 1 82 5 word_3, 1 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 1 84* 0-13 = 0, File size is greater than 16,383 llinks, 1 85* and if the file is cataloged, call to .MFS19,5 with 1 86* offset to PAT pointer in index 5 will cause bits 1 87* 14-35 of Q-register to be set to file size. (Unless 1 88* there is a Seek error on file catalog in which case 1 89* zero is returned. ) 1 90* */ 1 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 1 92* in memory. */ 1 93 1 94 5 word_4, 1 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 1 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 1 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 1 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 1 99* descriptor) */ 1 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 1 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 429 430 2 1 /* BEGIN INCLUDE FILE gtss_file_attributes.incl.pl1 */ 2 2 /* 2 3* Created: (Kepner Multics) 06/02/78 1522.0 mst Fri 2 4**/ 2 5 2 6 /* Declaration of File Attributes Segement */ 2 7 2 8 2 9 dcl gtss_file_attributes_ptr ptr init(null()); 2 10 2 11 dcl 1 gtss_file_attributes based (gtss_file_attributes_ptr) aligned, 2 12 2 max_size fixed bin (24), /* maximum size the file can grow to 2 13* in 320 word blocks. if = 0 then the 2 14* file size is unlimited. */ 2 15 2 current_size fixed bin (24), /* current size of the file in 320 word blocks */ 2 16 2 user_attributes aligned, 2 17 3 non_null bit (1) unal, /* 0 = this file has never been written to */ 2 18 3 user_attr bit (35) unal, /* User defined attributes */ 2 19 2 descriptor aligned, 2 20 3 device_type bit (6) unaligned, /* currently ignored */ 2 21 3 words_block bit (12) unaligned, /* number of words per physical block */ 2 22 3 llink_flag bit (1) unaligned, /* if 0= size in links | 1= size in llinks */ 2 23 3 mode bit (1) unaligned, /* 0= linked file | 1= random file */ 2 24 3 perm bit (1) unaligned, /* 1=permanent file|0=not */ 2 25 3 fill bit (1) unaligned, 2 26 3 size bit (14) unaligned; 2 27 2 28 2 29 /* END INCLUDE FILE gtss_file_attributes.incl.pl1 */ 431 432 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 */ 433 434 4 1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 09/01/78 1447.1 mst Fri 4 4**/ 4 5 4 6 /** The gtss_file_values structure provides parameters to the 4 7* gtss_attributes_mgr_ subroutine. 4 8* 4 9* The caller must provide space for this structure, fill in 4 10* the version with 1, the dname and ename with the file directory 4 11* and entry name, and for calls to gtss_attributes_mgr_$set, 4 12* fill in values to be reset and set the corresponding set_switch 4 13* to "1"b. 4 14* 4 15* If the (Multics) file located is a directory 4 16* a GCOS catalog is implied. 4 17* 4 18* If both ename and new_ename are set but no set_switch 4 19* is "1"b (and the set entry is called) this implies 4 20* that the existing attribute values are being renamed 4 21* to the new entry. 4 22* 4 23* Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code); 4 24* 4 25* Use of ename/new_ename combinations 4 26* for set entry. 4 27* 4 28* -|-----------|-----------|-|-----------------| 4 29* | ename |new_ename || meaning | 4 30* =|===========|===========|=|=================| 4 31* | blanks | blanks || illegal | 4 32* -|-----------|-----------|-|-----------------| 4 33* | blanks |not blanks|| initial | 4 34* | | || setting | 4 35* -|-----------|-----------|-|-----------------| 4 36* |not blanks| blanks || check enames's | 4 37* | | ||attribute values| 4 38* | | || and reset. | 4 39* -|-----------|-----------|-|-----------------| 4 40* |not blanks|not blanks|| delete ename's | 4 41* | | || values and put | 4 42* | | || on values for | 4 43* | | || new_ename's | 4 44* -|-----------|-----------|-|-----------------| 4 45***/ 4 46 dcl attr_name (0:7)char(4)static int options(constant)init( 4 47 /* 0 */ "mode" 4 48 , /* 1 */ "maxl" 4 49 , /* 2 */ "curl" 4 50 , /* 3 */ "busy" 4 51 , /* 4 */ "attr" 4 52 , /* 5 */ "null" 4 53 , /* 6 */ "noal" 4 54 , /* 7 */ "crdt" 4 55 ); 4 56 dcl 1 gtss_file_values aligned automatic 4 57 , 3 version fixed bin(17) /* Current version is 1. (OUT) */ 4 58 , 3 dname char(168)unal /* Directory name. (IN) */ 4 59 , 3 ename char(032)unal /* Entry name. (IN) */ 4 60 , 3 new_ename char(032)unal /* New entry name. (IN) */ 4 61 , 3 change_name bit(1) /* "1"b => Change segment name. (IN) */ 4 62 , 3 catalog bit(1) /* "1"b => File is a catalog (Multics directory). (OUT) */ 4 63 , 3 info_ptr ptr /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */ 4 64 , 3 set_switch /* "1"b => Set corresponding value. (IN) */ 4 65 , 4 mode_random bit(01)unal /* 0. Set the random/sequential(linked) field. */ 4 66 , 4 maxll bit(01)unal /* 1. Set max size value. */ 4 67 , 4 curll bit(01)unal /* 2. Set current size value. */ 4 68 , 4 busy bit(01)unal /* 3. Set file as busy. */ 4 69 , 4 attr bit(01)unal /* 4. Set user attributes value. */ 4 70 , 4 null_file bit(01)unal /* 5. Set null file value. */ 4 71 , 4 number_allocations bit(01)unal /* 6. Set or increment number of uses. */ 4 72 , 4 creation_date bit(01)unal /* 7. Set file creation date. */ 4 73 , 4 not_in_use bit(28)unal 4 74 /* The above set_ variables should be declared in an order 4 75* corresponding to the value in the attr_name array. */ 4 76 , 3 data_flags /* (OUT|IN) */ 4 77 , 4 mode_random bit(01)unal /* "1"b => random. */ 4 78 , 4 busy bit(01)unal /* "1"b => file is busy. */ 4 79 , 4 null_file bit(01)unal /* "1"b => file is null. */ 4 80 , 4 not_in_use2 bit(33)unal 4 81 , 3 data_fields /* (OUT|IN) */ 4 82 , 4 curll fixed bin(35) /* Current length in llinks (>=0). */ 4 83 , 4 maxll fixed bin(35) /* Maximum length in llinks (>=0). */ 4 84 , 4 number_allocations fixed bin(35) /* 0 => set | >0 => increment modulo 262144. */ 4 85 , 3 attributes /* (OUT|IN) */ 4 86 , 4 not_in_use3 bit(01)unal 4 87 , 4 attr bit(35)unal /* User specified file attribute value. */ 4 88 , 3 creation_date char(06) /* MMDDYY of creation. */ 4 89 ; 4 90 4 91 4 92 /* END INCLUDE FILE gtss_file_values.incl.pl1 */ 435 436 5 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 5 2 /* 5 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 5 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 5 5**/ 5 6 5 7 /** gtss external entry variables. **/ 5 8 dcl com_err_ entry() options(variable); 5 9 dcl gtss_CFP_abort_ entry options(variable); 5 10 dcl gtss_CFP_break_ entry options(variable); 5 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 5 13 dcl gtss_abandon_CFP_ entry options(variable); 5 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 5 15 dcl gtss_abort_subsystem_ entry options (variable); 5 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 5 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 5 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 5 19 dcl gtss_abs_$abs_equiv entry options(variable); 5 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 5 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 5 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 5 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 5 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 5 25 dcl gtss_adjust_size_ entry (ptr); 5 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 5 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 5 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 5 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 5 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 5 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 5 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 5 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 5 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 5 35 dcl gtss_break_vector_ entry (); 5 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 5 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 5 38 dcl gtss_build_ entry options(variable); 5 39 dcl gtss_com_err_ entry options(variable); 5 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 5 41 dcl gtss_derail_processor_$set entry options(variable); 5 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 5 43 dcl gtss_dq_$create entry (bit(1)); 5 44 dcl gtss_dq_$dibp entry (char(5), ptr); 5 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 5 46 dcl gtss_dq_$hdrp entry (ptr); 5 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 5 48 dcl gtss_dq_$open_exc entry (bit(1)); 5 49 dcl gtss_dq_$open_gen entry (bit(1)); 5 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 5 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 5 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 5 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 5 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 5 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 5 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 5 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 5 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 5 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 5 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 5 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 5 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 5 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 5 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 5 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 5 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 5 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 5 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 5 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 5 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 5 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 5 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 5 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 5 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 5 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 5 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 5 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 5 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 5 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 5 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 5 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 5 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 5 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 5 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 5 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 5 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 5 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 5 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 5 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 5 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 5 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 5 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 5 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 5 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 5 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 5 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 5 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 5 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 5 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 5 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 5 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 5 102 dcl gtss_drun_ entry (bit(1)); 5 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 5 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 5 106 dcl gtss_mcfc_empty entry (char(*) var); 5 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 5 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 5 109 dcl gtss_fault_processor_ entry options(variable); 5 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 5 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 5 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 5 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 125 dcl gtss_mcfc_init_ entry (char(*) var); 5 126 dcl gtss_interp_prim_ entry options(variable); 5 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 5 128 dcl gtss_interp_prim_$sysret entry options(variable); 5 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 5 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 5 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 5 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 5 133 dcl gtss_ios_initialize_ entry options(variable); 5 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 5 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 5 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 5 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 5 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 5 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 5 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 5 143 dcl gtss_run_subsystem_$finish entry options(variable); 5 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 5 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 5 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 5 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 5 148 dcl gtss_update_safe_store_ entry (ptr); 5 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 5 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 5 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 5 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 437 438 6 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 6 2 /* 6 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 6 4**/ 6 5 6 6 /* To provide a new debugging switch: 6 7* 6 8* 1) Locate the comment "Insert next entry above this comment". 6 9* 6 10* 2) Place a new declaration for a db_ variable just 6 11* above this comment, in the same manner as the 6 12* current declaration just above the comment, using 6 13* the next integer gtss_ext_$db index. 6 14* 6 15* 3) Execute the gtss|db_names ted macro (this updates 6 16* the sorted name table). 6 17* 6 18* 4) Example use: 6 19* 6 20* if db_drl_grow then do; 6 21* . 6 22* . 6 23* . 6 24* debug i/o statements using com_err_ or ioa_ 6 25* . 6 26* . 6 27* . 6 28* end; 6 29* 6 30**/ 6 31 6 32 dcl ( 6 33 db_ bit(1) defined(gtss_ext_$db(01)) 6 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 6 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 6 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 6 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 6 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 6 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 6 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 6 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 6 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 6 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 6 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 6 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 6 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 6 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 6 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 6 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 6 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 6 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 6 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 6 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 6 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 6 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 6 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 6 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 6 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 6 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 6 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 6 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 6 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 6 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 6 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 6 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 6 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 6 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 6 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 6 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 6 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 6 71 /* Insert next entry above this comment. */ 6 72 ); 6 73 6 74 /* Table of sorted names. */ 6 75 dcl 1 debug_bit_names (38) static int options(constant) 6 76 , 2 name char(18)var init( 6 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 6 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 6 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 6 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 6 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 6 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 6 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 6 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 6 85 ) 6 86 , 2 value fixed bin init( 6 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 6 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 6 89 ,31 ,22 6 90 ); 6 91 /* End of table. */ 6 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 439 440 end /* gtss_ios_open_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.2 gtss_ios_open_.pl1 >spec>on>7105>gtss_ios_open_.pl1 429 1 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 431 2 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 433 3 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 435 4 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 437 5 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 439 6 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. access_mode 72 000026 external static bit(6) array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 1-6 in procedure "gtss_ios_open_" set ref 71* access_mode parameter bit(6) unaligned dcl 25 in procedure "gtss_ios_open_" set ref 9 71 79 116* 203* ap 000102 automatic pointer dcl 254 set ref 36* 72 73 74 81 202 232 attributes_ptr 100 000026 external static pointer array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 1-6 in procedure "gtss_ios_open_" set ref 72* 168 168 attributes_ptr parameter pointer dcl 26 in procedure "gtss_ios_open_" ref 9 36 bc 000104 automatic fixed bin(24,0) dcl 255 set ref 133* 181* bit72 based bit(72) dcl 249 set ref 33* code parameter fixed bin(35,0) dcl 27 set ref 9 39* 87* 95 102* 108 133* 141 141 141 143* 181* 189 189 189 203* 211 212* com_err_ 000036 constant entry external dcl 5-8 ref 143 212 component 73 000026 external static fixed bin(17,0) array level 3 dcl 1-6 set ref 61* current_size 1 based fixed bin(24,0) level 2 dcl 2-11 ref 168 168 232 db_ios defined bit(1) unaligned dcl 6-32 ref 143 212 decode_mode 000000 constant bit(3) initial array dcl 391 ref 79 descriptor 3 based structure level 2 dcl 2-11 dir_name parameter char(168) unaligned dcl 28 in procedure "gtss_ios_open_" set ref 9 69 87* 102* 116* 143* 203 203 dir_name 000026 external static char(168) array level 3 in structure "gtss_dfd_ext_$disk_file_data" packed unaligned dcl 1-6 in procedure "gtss_ios_open_" set ref 69* entry_name parameter char(32) unaligned dcl 29 in procedure "gtss_ios_open_" set ref 9 70 87* 102* 116* 143* 203 203 entry_name 52 000026 external static char(32) array level 3 in structure "gtss_dfd_ext_$disk_file_data" packed unaligned dcl 1-6 in procedure "gtss_ios_open_" set ref 70* error_table_$namedup 000010 external static fixed bin(35,0) dcl 274 ref 141 189 error_table_$segknown 000012 external static fixed bin(35,0) dcl 276 ref 141 189 fcb_ptr 000106 automatic pointer initial dcl 277 in procedure "gtss_ios_open_" set ref 102* 112 124* 133* 181* 277* fcb_ptr 62 000026 external static pointer array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 1-6 in procedure "gtss_ios_open_" set ref 49 51* 56* 112* 125* 152* 153* 192* 193* file_no parameter fixed bin(24,0) dcl 30 ref 9 35 file_position 75 000026 external static fixed bin(30,0) array level 3 dcl 1-6 set ref 63* file_size 76 000026 external static fixed bin(30,0) array level 3 dcl 1-6 set ref 64* 232* 233 238* fn 000110 automatic fixed bin(24,0) dcl 280 set ref 35* 45 45 49 51 56 57 58 59 60 61 62 63 64 65 66 69 70 71 72 73 74 79 81 82 86 87 87 112 115 116* 125 133 152 153 168 168 168 173 174 175 176 178 178 179 180 181 191 192 193 232 233 233 235 235 236 237 238 gcos_status based bit(12) dcl 248 set ref 38* 46* 50* 83* 96* 109* 116* 123 142* 143* 163* 190* 212* gsc 000111 automatic fixed bin(24,0) dcl 284 set ref 160* 161* 162 gsp 000100 automatic pointer dcl 250 set ref 32* 33 38 46 50 83 96 109 116 123 142 143 163 190 212 gtss_dfd_ext_$disk_file_data 000026 external static structure array level 1 dcl 1-6 gtss_disk 000026 external static structure array level 2 dcl 1-6 set ref 45 45 gtss_ext_$db 000030 external static bit(1) array unaligned dcl 3-10 ref 143 143 212 212 gtss_ext_$mcfc 000034 external static structure level 1 dcl 3-109 gtss_ext_$work_area_ptr 000032 external static pointer dcl 3-35 ref 174 gtss_file_attributes based structure level 1 dcl 2-11 gtss_file_attributes_ptr 000114 automatic pointer initial dcl 2-9 set ref 2-9* gtss_mcfc_$open 000040 constant entry external dcl 5-138 ref 203 gtss_verify_access_ 000042 constant entry external dcl 5-149 ref 116 hcs_$make_seg 000016 constant entry external dcl 353 ref 87 i 000112 automatic fixed bin(24,0) dcl 285 set ref 175* 176* 180* 181 181* indicators 70 000026 external static structure array level 3 dcl 1-6 set ref 59* llink_size 105 000026 external static bit(14) array level 5 packed unaligned dcl 1-6 set ref 168* mode 3(19) based bit(1) level 3 packed unaligned dcl 2-11 ref 73 msf 70 000026 external static bit(1) array level 4 packed unaligned dcl 1-6 set ref 173 235* msf_array_ptr 64 000026 external static pointer array level 3 dcl 1-6 set ref 57* 174* 176 178 181 191 msf_components based pointer array dcl 300 set ref 174 176* 178* 181* 191 msf_manager_$close 000020 constant entry external dcl 356 ref 124 152 192 msf_manager_$get_ptr 000022 constant entry external dcl 357 ref 133 181 msf_manager_$open 000024 constant entry external dcl 358 ref 102 multics_lock_id 000034 external static bit(36) level 2 dcl 3-109 set ref 203* no_components 77 000026 external static fixed bin(24,0) array level 3 dcl 1-6 set ref 65* 175 180 233* 235 236 237* non_null 2 based bit(1) level 3 packed unaligned dcl 2-11 ref 74 offset 74 000026 external static fixed bin(24,0) array level 3 dcl 1-6 set ref 62* pat_body 102 000026 external static structure array level 3 dcl 1-6 set ref 66 pat_body_overlay based bit(180) unaligned dcl 310 set ref 66* perm 104(09) 000026 external static bit(1) array level 5 in structure "gtss_dfd_ext_$disk_file_data" packed unaligned dcl 1-6 in procedure "gtss_ios_open_" set ref 81* 86 115 perm 3(20) based bit(1) level 3 in structure "gtss_file_attributes" packed unaligned dcl 2-11 in procedure "gtss_ios_open_" ref 81 202 permissions 71 000026 external static structure array level 3 dcl 1-6 set ref 60* 79 87 87 random 104(08) 000026 external static bit(1) array level 5 packed unaligned dcl 1-6 set ref 73* random_indicator parameter bit(1) unaligned dcl 31 ref 9 73 read 71 000026 external static bit(1) array level 4 packed unaligned dcl 1-6 set ref 82 single_segment_ptr 66 000026 external static pointer array level 3 dcl 1-6 set ref 58* 133* 178 179* status parameter fixed bin(24,0) dcl 230 set ref 226 239* status_ptr parameter pointer dcl 127 set ref 9 32 203* sys_info$max_seg_size 000014 external static fixed bin(35,0) dcl 335 ref 233 user_attributes 2 based structure level 2 dcl 2-11 word_2 104 000026 external static structure array level 4 dcl 1-6 word_3 105 000026 external static structure array level 4 dcl 1-6 work_area based area dcl 348 ref 174 write_performed 104(15) 000026 external static bit(1) array level 5 packed unaligned dcl 1-6 set ref 74* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. M based char unaligned dcl 295 acl_ptr automatic pointer dcl 252 attr_name internal static char(4) initial array unaligned dcl 4-46 bit_count automatic fixed bin(24,0) dcl 257 bksp_sw automatic bit(1) unaligned dcl 259 cmd_word automatic bit(36) dcl 261 count automatic fixed bin(24,0) dcl 262 da_residue automatic fixed bin(17,0) dcl 264 data_moved automatic fixed bin(24,0) dcl 267 db_ defined bit(1) unaligned dcl 6-32 db_CFP_input defined bit(1) unaligned dcl 6-32 db_abs defined bit(1) unaligned dcl 6-32 db_attributes_mgr defined bit(1) unaligned dcl 6-32 db_dq defined bit(1) unaligned dcl 6-32 db_drl_addmem defined bit(1) unaligned dcl 6-32 db_drl_callss defined bit(1) unaligned dcl 6-32 db_drl_defil defined bit(1) unaligned dcl 6-32 db_drl_dio defined bit(1) unaligned dcl 6-32 db_drl_filact defined bit(1) unaligned dcl 6-32 db_drl_filsp defined bit(1) unaligned dcl 6-32 db_drl_grow defined bit(1) unaligned dcl 6-32 db_drl_kin defined bit(1) unaligned dcl 6-32 db_drl_morlnk defined bit(1) unaligned dcl 6-32 db_drl_msub defined bit(1) unaligned dcl 6-32 db_drl_part defined bit(1) unaligned dcl 6-32 db_drl_retfil defined bit(1) unaligned dcl 6-32 db_drl_rew defined bit(1) unaligned dcl 6-32 db_drl_rstswh defined bit(1) unaligned dcl 6-32 db_drl_setswh defined bit(1) unaligned dcl 6-32 db_drl_switch defined bit(1) unaligned dcl 6-32 db_drl_t_cfio defined bit(1) unaligned dcl 6-32 db_expand_pathname defined bit(1) unaligned dcl 6-32 db_filact_funct02 defined bit(1) unaligned dcl 6-32 db_filact_funct03 defined bit(1) unaligned dcl 6-32 db_filact_funct04 defined bit(1) unaligned dcl 6-32 db_filact_funct05 defined bit(1) unaligned dcl 6-32 db_filact_funct10 defined bit(1) unaligned dcl 6-32 db_filact_funct11 defined bit(1) unaligned dcl 6-32 db_filact_funct14 defined bit(1) unaligned dcl 6-32 db_filact_funct18 defined bit(1) unaligned dcl 6-32 db_filact_funct19 defined bit(1) unaligned dcl 6-32 db_filact_funct21 defined bit(1) unaligned dcl 6-32 db_filact_funct22 defined bit(1) unaligned dcl 6-32 db_interp_prim defined bit(1) unaligned dcl 6-32 db_mcfc defined bit(1) unaligned dcl 6-32 db_run_subsystem defined bit(1) unaligned dcl 6-32 dcw based structure level 1 dcl 362 dcw_number automatic fixed bin(24,0) dcl 269 dcw_offset automatic fixed bin(24,0) dcl 271 dcw_ptr automatic pointer dcl 272 debug_bit_names internal static structure array level 1 unaligned dcl 6-75 delete_$path 000000 constant entry external dcl 351 disconnect automatic bit(1) unaligned dcl 273 error_table_$rqover external static fixed bin(35,0) dcl 275 file_dir automatic char(168) unaligned dcl 245 file_dir_len automatic fixed bin(17,0) dcl 246 file_ent automatic char(32) unaligned dcl 247 file_ptr automatic pointer dcl 279 get_mode automatic fixed bin(5,0) dcl 282 gtss_CFP_abort_ 000000 constant entry external dcl 5-9 gtss_CFP_break_ 000000 constant entry external dcl 5-10 gtss_CFP_input_ 000000 constant entry external dcl 5-11 gtss_CFP_output_ 000000 constant entry external dcl 5-12 gtss_abandon_CFP_ 000000 constant entry external dcl 5-13 gtss_abort_dump_ 000000 constant entry external dcl 5-14 gtss_abort_subsystem_ 000000 constant entry external dcl 5-15 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 5-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 5-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 5-20 gtss_abs_$create_absin 000000 constant entry external dcl 5-21 gtss_abs_$dabt_check 000000 constant entry external dcl 5-22 gtss_abs_$get_drm 000000 constant entry external dcl 5-24 gtss_abs_$get_id 000000 constant entry external dcl 5-23 gtss_abs_login_banner_ 000000 constant entry external dcl 5-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 5-18 gtss_adjust_size_ 000000 constant entry external dcl 5-25 gtss_aft_$add 000000 constant entry external dcl 5-26 gtss_aft_$delete 000000 constant entry external dcl 5-27 gtss_aft_$find 000000 constant entry external dcl 5-28 gtss_aft_$initialize 000000 constant entry external dcl 5-29 gtss_ascii_bcd_ 000000 constant entry external dcl 5-30 gtss_attributes_mgr_$get 000000 constant entry external dcl 5-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 5-32 gtss_bcd_ascii_ 000000 constant entry external dcl 5-33 gtss_bcd_ascii_$lc 000000 constant entry external dcl 5-34 gtss_break_vector_ 000000 constant entry external dcl 5-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 5-36 gtss_break_vector_$status 000000 constant entry external dcl 5-37 gtss_build_ 000000 constant entry external dcl 5-38 gtss_com_err_ 000000 constant entry external dcl 5-39 gtss_derail_processor_ 000000 constant entry external dcl 5-40 gtss_derail_processor_$set 000000 constant entry external dcl 5-41 gtss_dq_$catp 000000 constant entry external dcl 5-42 gtss_dq_$create 000000 constant entry external dcl 5-43 gtss_dq_$dibp 000000 constant entry external dcl 5-44 gtss_dq_$entries_info 000000 constant entry external dcl 5-45 gtss_dq_$hdrp 000000 constant entry external dcl 5-46 gtss_dq_$mod_js 000000 constant entry external dcl 5-47 gtss_dq_$open_exc 000000 constant entry external dcl 5-48 gtss_dq_$open_gen 000000 constant entry external dcl 5-49 gtss_drl_abort_ 000000 constant entry external dcl 5-50 gtss_drl_addmem_ 000000 constant entry external dcl 5-51 gtss_drl_callss_ 000000 constant entry external dcl 5-52 gtss_drl_corfil_ 000000 constant entry external dcl 5-53 gtss_drl_defil_ 000000 constant entry external dcl 5-54 gtss_drl_defil_$subr 000000 constant entry external dcl 5-55 gtss_drl_dio_ 000000 constant entry external dcl 5-56 gtss_drl_drlimt_ 000000 constant entry external dcl 5-57 gtss_drl_drlsav_ 000000 constant entry external dcl 5-58 gtss_drl_filact_ 000000 constant entry external dcl 5-59 gtss_drl_filsp_ 000000 constant entry external dcl 5-60 gtss_drl_grow_ 000000 constant entry external dcl 5-61 gtss_drl_gwake_ 000000 constant entry external dcl 5-62 gtss_drl_jsts_ 000000 constant entry external dcl 5-63 gtss_drl_kin_ 000000 constant entry external dcl 5-64 gtss_drl_kotnow_ 000000 constant entry external dcl 5-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 5-66 gtss_drl_koutn_ 000000 constant entry external dcl 5-67 gtss_drl_morlnk_ 000000 constant entry external dcl 5-68 gtss_drl_msub_ 000000 constant entry external dcl 5-69 gtss_drl_objtim_ 000000 constant entry external dcl 5-70 gtss_drl_part_ 000000 constant entry external dcl 5-71 gtss_drl_pasaft_ 000000 constant entry external dcl 5-72 gtss_drl_pasdes_ 000000 constant entry external dcl 5-73 gtss_drl_pasust_ 000000 constant entry external dcl 5-74 gtss_drl_pdio_ 000000 constant entry external dcl 5-75 gtss_drl_prgdes_ 000000 constant entry external dcl 5-76 gtss_drl_pseudo_ 000000 constant entry external dcl 5-77 gtss_drl_relmem_ 000000 constant entry external dcl 5-78 gtss_drl_restor_ 000000 constant entry external dcl 5-79 gtss_drl_retfil_ 000000 constant entry external dcl 5-80 gtss_drl_return_ 000000 constant entry external dcl 5-81 gtss_drl_rew_ 000000 constant entry external dcl 5-82 gtss_drl_rstswh_ 000000 constant entry external dcl 5-83 gtss_drl_setlno_ 000000 constant entry external dcl 5-84 gtss_drl_setswh_ 000000 constant entry external dcl 5-85 gtss_drl_snumb_ 000000 constant entry external dcl 5-86 gtss_drl_spawn_ 000000 constant entry external dcl 5-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 5-88 gtss_drl_stoppt_ 000000 constant entry external dcl 5-89 gtss_drl_switch_ 000000 constant entry external dcl 5-90 gtss_drl_sysret_ 000000 constant entry external dcl 5-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 5-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 5-93 gtss_drl_t_err_ 000000 constant entry external dcl 5-94 gtss_drl_t_goto_ 000000 constant entry external dcl 5-95 gtss_drl_t_linl_ 000000 constant entry external dcl 5-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 5-97 gtss_drl_tapein_ 000000 constant entry external dcl 5-98 gtss_drl_task_ 000000 constant entry external dcl 5-99 gtss_drl_termtp_ 000000 constant entry external dcl 5-100 gtss_drl_time_ 000000 constant entry external dcl 5-101 gtss_drun_ 000000 constant entry external dcl 5-102 gtss_dsd_lookup_ 000000 constant entry external dcl 5-103 gtss_dsd_process_ 000000 constant entry external dcl 5-104 gtss_edit_dsd_ 000000 constant entry external dcl 5-105 gtss_expand_pathname_ 000000 constant entry external dcl 5-107 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 5-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_$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_$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_fault_processor_ 000000 constant entry external dcl 5-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 5-111 gtss_filact_error_status_ 000000 constant entry external dcl 5-112 gtss_filact_funct02_ 000000 constant entry external dcl 5-113 gtss_filact_funct03_ 000000 constant entry external dcl 5-114 gtss_filact_funct04_ 000000 constant entry external dcl 5-115 gtss_filact_funct05_ 000000 constant entry external dcl 5-116 gtss_filact_funct08_ 000000 constant entry external dcl 5-117 gtss_filact_funct10_ 000000 constant entry external dcl 5-118 gtss_filact_funct11_ 000000 constant entry external dcl 5-119 gtss_filact_funct14_ 000000 constant entry external dcl 5-120 gtss_filact_funct18_ 000000 constant entry external dcl 5-121 gtss_filact_funct19_ 000000 constant entry external dcl 5-122 gtss_filact_funct21_ 000000 constant entry external dcl 5-123 gtss_filact_funct22_ 000000 constant entry external dcl 5-124 gtss_file_values automatic structure level 1 dcl 4-56 gtss_find_cond_frame_ 000000 constant entry external dcl 5-110 gtss_interp_prim_ 000000 constant entry external dcl 5-126 gtss_interp_prim_$callss 000000 constant entry external dcl 5-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 5-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 5-129 gtss_ios_change_size_ 000000 constant entry external dcl 5-130 gtss_ios_close_ 000000 constant entry external dcl 5-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 5-132 gtss_ios_initialize_ 000000 constant entry external dcl 5-133 gtss_ios_io_ 000000 constant entry external dcl 5-134 gtss_ios_open_ 000000 constant entry external dcl 5-135 gtss_ios_position_ 000000 constant entry external dcl 5-136 gtss_mcfc_$close 000000 constant entry external dcl 5-139 gtss_mcfc_$delete 000000 constant entry external dcl 5-137 gtss_mcfc_empty 000000 constant entry external dcl 5-106 gtss_mcfc_init_ 000000 constant entry external dcl 5-125 gtss_read_starCFP_ 000000 constant entry external dcl 5-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 5-141 gtss_run_subsystem_ 000000 constant entry external dcl 5-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 5-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 5-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 5-145 gtss_set_slave_ 000000 constant entry external dcl 5-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 5-147 gtss_update_safe_store_ 000000 constant entry external dcl 5-148 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 5-150 gtss_write_starCFP_ 000000 constant entry external dcl 5-151 hcs_$fs_get_mode 000000 constant entry external dcl 352 hcs_$fs_get_path_name 000000 constant entry external dcl 244 id_word based structure level 1 dcl 368 idptr automatic pointer dcl 286 io_commands internal static bit(36) initial array dcl 415 ioa_ 000000 constant entry external dcl 354 j automatic fixed bin(24,0) dcl 288 l automatic fixed bin(24,0) dcl 289 largest_file automatic fixed bin(24,0) dcl 291 last_component automatic bit(1) unaligned dcl 292 li automatic bit(1) unaligned dcl 294 max_change automatic fixed bin(24,0) dcl 297 msf_manager_$adjust 000000 constant entry external dcl 355 msf_save automatic bit(1) unaligned dcl 304 no_components_save automatic fixed bin(24,0) dcl 307 op_word based structure level 1 dcl 373 opptr automatic pointer dcl 312 rec_ct_residue automatic fixed bin(24,0) dcl 314 record_quota_overflow 000000 stack reference condition dcl 315 return_word based structure level 1 dcl 381 sc automatic fixed bin(24,0) dcl 316 scratch_status automatic bit(72) dcl 317 seek_address based fixed bin(24,0) dcl 318 seek_ptr automatic pointer dcl 319 seeksw automatic bit(1) unaligned dcl 321 seg_length automatic fixed bin(24,0) dcl 322 select_seg_ptr automatic pointer dcl 323 select_seq_in_memory automatic bit(1) unaligned dcl 325 slave_status automatic bit(36) dcl 330 sp automatic pointer dcl 331 sptr automatic pointer dcl 333 stat_words based structure level 1 dcl 385 storlimit automatic fixed bin(24,0) dcl 332 swptr automatic pointer dcl 334 ta_offset automatic fixed bin(24,0) dcl 336 ta_ptr automatic pointer dcl 338 ta_seg_ptr automatic pointer dcl 340 tdcw_previous automatic bit(1) unaligned dcl 342 tfp automatic fixed bin(71,0) dcl 343 wc_residue automatic fixed bin(24,0) dcl 344 NAMES DECLARED BY EXPLICIT CONTEXT. fix_size 001274 constant entry internal dcl 226 ref 161 gtss_ios_open_ 000174 constant entry external dcl 9 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 66 divide builtin function ref 233 fixed builtin function ref 79 87 87 hbound builtin function ref 45 lbound builtin function ref 45 null builtin function ref 49 51 56 57 58 87 87 125 153 176 179 193 277 2-9 rtrim builtin function ref 203 203 203 203 string builtin function set ref 59 60* 79 87 87 substr builtin function ref 79 87 87 168 unspec builtin function ref 168 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1546 1612 1352 1556 Length 2140 1352 44 311 173 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_ios_open_ 165 external procedure is an external procedure. fix_size internal procedure shares stack frame of external procedure gtss_ios_open_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_ios_open_ 000100 gsp gtss_ios_open_ 000102 ap gtss_ios_open_ 000104 bc gtss_ios_open_ 000106 fcb_ptr gtss_ios_open_ 000110 fn gtss_ios_open_ 000111 gsc gtss_ios_open_ 000112 i gtss_ios_open_ 000114 gtss_file_attributes_ptr gtss_ios_open_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a alloc_cs call_ext_out_desc call_ext_out return shorten_stack ext_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ gtss_mcfc_$open gtss_verify_access_ hcs_$make_seg msf_manager_$close msf_manager_$get_ptr msf_manager_$open THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$namedup error_table_$segknown gtss_dfd_ext_$disk_file_data gtss_ext_$db gtss_ext_$mcfc gtss_ext_$work_area_ptr sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000165 277 000201 2 9 000203 32 000204 33 000210 35 000213 36 000215 38 000220 39 000222 45 000223 46 000227 47 000231 49 000232 50 000241 51 000243 52 000246 56 000247 57 000252 58 000253 59 000254 60 000255 61 000256 62 000257 63 000260 64 000261 65 000262 66 000263 69 000267 70 000275 71 000303 72 000312 73 000315 74 000334 79 000341 81 000354 82 000361 83 000364 84 000366 86 000367 87 000372 95 000440 96 000443 97 000445 102 000446 108 000473 109 000476 110 000500 112 000501 115 000506 116 000511 123 000541 124 000545 125 000554 126 000563 133 000564 141 000615 142 000625 143 000627 152 000675 153 000706 154 000713 160 000714 161 000715 162 000717 163 000721 164 000723 168 000724 173 000743 174 000747 175 000761 176 000767 177 001002 178 001004 179 001013 180 001016 181 001027 189 001064 190 001074 191 001076 192 001102 193 001113 194 001120 196 001121 202 001123 203 001127 211 001227 212 001233 219 001272 224 001273 226 001274 232 001276 233 001307 235 001313 236 001324 237 001326 238 001330 239 001342 241 001344 ----------------------------------------------------------- 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