COMPILATION LISTING OF SEGMENT gtss_ios_close_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1148.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 gtss_ios_close_: proc (file_no, status_ptr, code); 12 13 /* 14* 15* This entry point is used to close a previously opened file. The 16* associated file number is made available for opening a new file. 17* If the file is temporary it is deleted on closing. 18* 19* Author: Dave Ward 03/04/80 (derived from gtss_ios_) 20* Modified: Scott C. Akers 12/11/81 Set bitcounts when closing. 21* Change "\014" to "%page;" 22* Modified: Ron Barstad 08/11/82 Fix set bitcounts only when 23* file was written to 24* Modified: Ron Barstad 11/29/84 Fix componet count in MSFs 25* 26**/ 27 dcl code fixed bin (35) parm; 28 dcl file_no fixed bin (24) parm; 29 dcl status_ptr ptr parm /* Pointer to gcos caller's 2 word status. */; 30 31 fn = file_no; /* Use local variables */ 32 fcb_ptr = gtss_disk.fcb_ptr (fn); 33 34 gsp = status_ptr; /* Reference gcos_status. */ 35 gcos_status = "4000"b3; /* Initialize status to indicate no error */ 36 code = 0; 37 38 gsc = 0; 39 if bad_file_status (fn, gsc) then do; 40 if gsc = 15 then gcos_status = "4042"b3; /* Bad file number. */ 41 else /* => 14. */ 42 gcos_status = "4025"b3; /* File not open. */ 43 return; 44 end; 45 46 if pat_body.perm (fn) then do; /* Perm file. */ 47 48 /* Re-establish the pathname of the file 49* to be closed (may have changed due to 50* deletion of a concurrently accessed 51* file). 52**/ 53 if msf (fn) then 54 file_ptr = msf_array_ptr (fn) -> msf_components (0); 55 else 56 file_ptr = single_segment_ptr (fn); 57 call hcs_$fs_get_path_name ( 58 file_ptr 59 , file_dir 60 , file_dir_len 61 , file_ent 62 , code 63 ); 64 if code ^= 0 then do; 65 if db_ios then 66 call com_err_ ( 67 code 68 , "gtss_ios_" 69 , "File ^i ptr ^p" 70 , fn 71 , file_ptr 72 ); 73 gcos_status = "4100"b3; 74 goto return_close; 75 end; 76 77 call gtss_verify_access_$check_forced_access ( /* We may have forced access, must remove acl. */ 78 file_dir 79 , file_ent 80 , fn 81 ); 82 if msf (fn) then do; 83 84 /* Extract pathname of directory 85* of the msf, rather than the pathname 86* of component 0. 87**/ 88 j = index (reverse (file_dir), ">"); 89 if j = 0 then do; /* Bad pathname. */ 90 if db_ios then 91 call com_err_ ( 92 0 93 , "gtss_ios_" 94 , "Could not get MSF pathname from ""^a""" 95 , file_dir 96 ); 97 gcos_status = "4100"b3; 98 goto return_close; 99 end; 100 file_ent = substr (file_dir, length (file_dir)-j+2); 101 substr (file_dir, length (file_dir)-j+1) = " "; 102 end; 103 call gtss_mcfc_$close ( /* Close the file. */ 104 file_dir 105 , file_ent 106 , gtss_ext_$mcfc.multics_lock_id 107 , status_ptr 108 , code 109 ); 110 end; 111 else do; /* Delete temp file at closing. */ 112 call delete_$path ( 113 gtss_disk.dir_name (fn) 114 , gtss_disk.entry_name (fn) 115 , "000100"b 116 , "gtss_ios_" 117 , code 118 ); 119 if code ^= 0 then 120 gcos_status = "4100"b3; /* error encountered by delete_$path */ 121 end; 122 123 return_close: ; 124 /* If this is a perm file and have write permisssion, then reset bit ount */ 125 if pat_body.perm (fn) 126 & gtss_dfd_ext_$disk_file_data(fn).gtss_disk.permissions.write 127 then do; 128 size_ptr = gtss_dfd_ext_$disk_file_data(fn).gtss_disk.attributes_ptr; 129 file_size = size_ptr -> gtss_file_attributes.current_size; 130 if file_size ^= 0 131 then file_size = (mod (file_size-1, 816))+1; 132 final_bit_count = file_size * 36 * 320; /* Make bitcounts modulo 320 words. */ 133 134 if msf (fn) /* Now, see who does the honors. */ 135 then call msf_manager_$adjust (gtss_disk.fcb_ptr (fn), 136 gtss_dfd_ext_$disk_file_data(fn).gtss_disk.no_components-1, 137 final_bit_count, "110"b, code); 138 else call hcs_$set_bc_seg (single_segment_ptr (fn), final_bit_count, code); 139 if code ^= 0 140 then do; 141 gcos_status = "4100"b3; 142 if db_ios 143 then call com_err_ (code, "gtss_ios_", 144 "^/Could not set bit_count on file # ^i (^p)", 145 fn, file_ptr); 146 end; 147 end; 148 149 call msf_manager_$close (gtss_disk.fcb_ptr (fn)); /* We do the close even if it's a temp file. */ 150 if msf (fn) 151 then free msf_array_ptr (fn) -> msf_components; 152 153 return; 154 155 /* INTERNAL PROCEDURES */ 156 157 bad_file_status: proc (fn, status) returns (bit (1)); 158 159 /* This routine is called to verify that 160* the file number input parameter corresponds 161* to a valid open file. If so, "0"b is returned. 162* Otherwise , "1"b is returned. */ 163 164 dcl fn fixed bin (24) parm; 165 dcl status fixed bin (24) parm; 166 167 if fn < lbound (gtss_disk, 1) | fn >= hbound (gtss_disk, 1) then do; 168 status = 15; /* Bad file number */ 169 return ("1"b); 170 end; 171 if gtss_disk.fcb_ptr (fn) = null () then do; 172 status = 14; /* File not open */ 173 return ("1"b); 174 end; 175 return ("0"b); 176 end bad_file_status; 177 178 /* VARIABLES FOR GTSS_IOS_ */ 179 180 dcl file_dir char(168); 181 dcl file_dir_len fixed bin; 182 dcl file_ent char(32); 183 dcl gcos_status bit(12)aligned based(gsp); 184 dcl bit72 bit(72)aligned based; 185 dcl gsp ptr; 186 187 dcl acl_ptr ptr /* pointer to segment_acl passed 188* as a parameter to msf_manager_$acl_list */; 189 dcl ap ptr /* Pointer to the attributes 190* structure for the current file */; 191 dcl bc fixed bin (24) /* Used as a sink for bit counts returned by 192* msf_manager_$get_ptr */; 193 dcl bit_count fixed bin (24) /* The bit count of the last segment of an msf. 194* Passed as a parameter to 195* msf_manager_$adjust. */; 196 dcl bksp_sw bit (1) /* Distinguishes between backspacing 197* "1"b and forward spacing "0"b 198* a linked file. */; 199 dcl cmd_word bit (36) aligned /* temp */; 200 dcl count fixed bin (24) /* Counts io commands processed 201* for current I/O select sequence */; 202 dcl da_residue fixed bin /* Address of last memory location 203* accessed during I/O. Used in building 204* return status words for I/O. */; 205 dcl data_moved fixed bin (24) /* number of words moved or skipped over by 206* the current read or write operation. */; 207 dcl dcw_number fixed bin (24) /* Used to count DCW's in 208* the current select sequence */; 209 dcl dcw_offset fixed bin (24) /* slave offset of current dcw */; 210 dcl dcw_ptr ptr /* Multics pointer to the current dcw */; 211 dcl disconnect bit (1) /* Indicator that the last DCW has been encountered. */; 212 dcl error_table_$namedup fixed bin (35) ext; 213 dcl error_table_$rqover fixed bin(35)ext; 214 dcl error_table_$segknown fixed bin (35) ext; 215 dcl fcb_ptr ptr init (null ()) /* pointer to file control block 216* used by msf_manager_ */; 217 dcl file_ptr ptr /* pointer to current positoion in file */; 218 dcl (file_size, 219 final_bit_count) fixed bin (24); /* Final file size in blocks and bits. */ 220 dcl fn fixed bin (24) /* Index in gtss_ext_$disk_file_data of 221* information about the file to 222* be processed. */; 223 dcl get_mode fixed bin (5) /* User's access mode to segment as 224* returned by hcs_$fs_get_mode */; 225 dcl gsc fixed bin(24); 226 dcl i fixed bin (24); 227 dcl idptr ptr /* Pointer to the current id 228* word of the I/O select sequence. */; 229 dcl j fixed bin (24); 230 dcl l fixed bin (24) /* The length in words of the current 231* piece of data to be moved to 232* or from the file */; 233 dcl largest_file fixed bin (24) /* Max no. of llinks a file can grow to */; 234 dcl last_component bit (1) /* When on, indicates that the 235* current component is the last component of the file */; 236 dcl li bit (1) /* variable for the parameter link_indicator */; 237 dcl M char (l*4) based /* A template used for moving data 238* to or from the file. */; 239 dcl max_change fixed bin (24) /* The maximum amount that 240* the size of a file can be increased 241* expressed in llinks (320 word blocks) */; 242 dcl msf_components (0:499) ptr based /* An array of pointers for each msf. 243* Each component which has been accessed 244* has a corresponding initialized pointer. */; 245 246 dcl msf_save bit (1) /* A flag used to remember whether 247* the file was a msf before its size 248* was changed. */; 249 dcl no_components_save fixed bin (24) /* Used to remember the number 250* of components a file had before its 251* size was changed */; 252 dcl pat_body_overlay bit (180) based /* used for initializing the 253* pat body to all zeros */; 254 dcl opptr ptr /* Pointer to the current operation 255* word of the I/O select sequence. */; 256 dcl rec_ct_residue fixed bin (24) /* holds no of unskipped records */; 257 dcl record_quota_overflow condition ext; 258 dcl sc fixed bin (24) /* local variable for the parameter size_change */; 259 dcl scratch_status bit (72) aligned /* temp */; 260 dcl seek_address fixed bin (24) based /* user seek address for disk or drum */; 261 dcl seek_ptr ptr /* Pointer to the word containing 262* the io seek address */; 263 dcl seeksw bit (1) /* sw controlling disk or drum seeks */; 264 dcl seg_length fixed bin (24) /* length in words of current component of file */; 265 dcl select_seg_ptr ptr /* Pointer to beginning of 266* segment containing select sequence */; 267 dcl select_seq_in_memory bit (1) /* 1 => the select sequence is in the 268* same segment that is used for Gcos memory. 269* In this case the addresses of DCW's, seek address data word, and 270* status return words will be checked against the 271* memory_limit parameter. */; 272 dcl size_ptr ptr; /* Points to size atribute */ 273 dcl slave_status bit (36) aligned; 274 dcl sp ptr /* Pointer to user's select sequence for this I/O */; 275 dcl storlimit fixed bin (24) /* slave core boundary */; 276 dcl sptr ptr /* pointer to return word of select sequence */; 277 dcl swptr ptr /* Pointer to status return words */; 278 dcl sys_info$max_seg_size fixed bin (35) ext; 279 dcl ta_offset fixed bin (24) /* Offset in the user's slave memory 280* of the transmission area for the current DCW. */; 281 dcl ta_ptr ptr /* pointer to the transmission area for 282* the current DCW. */; 283 dcl ta_seg_ptr ptr /* pointer to the user's slave 284* memory segment */; 285 dcl tdcw_previous bit (1) /* Indicator that the last DCW processed was a TDCW */; 286 dcl tfp fixed bin (71); 287 dcl wc_residue fixed bin (24) /* Number of words remaining to be transferred 288* in the current DCW when EOF or 289* memory fault occurs. Used in building 290* return status words for I/O. */; 291 dcl work_area area (sys_info$max_seg_size) aligned 292 based (gtss_ext_$work_area_ptr) /* Area used to store arrays of pointers to 293* components of MSFs. */; 294 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 295 dcl hcs_$fs_get_path_name entry(ptr,char(*),fixed bin,char(*),fixed bin(35)); 296 dcl hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 297 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 298 dcl hcs_$set_bc_seg entry (ptr, fixed bin(24), fixed bin(35)); 299 dcl ioa_ entry options (variable); 300 dcl msf_manager_$adjust entry (ptr, fixed bin, fixed bin (24), bit (3), fixed bin (35)); 301 dcl msf_manager_$close entry (ptr); 302 dcl msf_manager_$get_ptr entry (ptr, fixed bin, bit (1), ptr, fixed bin (24), fixed bin (35)); 303 dcl msf_manager_$open entry (char (*), char (*), ptr, fixed bin (35)); 304 305 /* STRUCTURES */ 306 307 dcl 1 dcw aligned based (dcw_ptr), /* dcw model */ 308 2 data_addr bit (18) unaligned, /* data address */ 309 2 zero bit (3) unaligned, /* fill */ 310 2 action bit (3) unaligned, /* action */ 311 2 count bit (12) unaligned; /* word count for transfer */ 312 313 dcl 1 id_word aligned based (idptr), /* model of identification word */ 314 2 filep bit (18) unaligned, /* file control block pointer */ 315 2 dcwp bit (18) unaligned; /* dcw list pointer */ 316 317 318 dcl 1 op_word aligned based (opptr), /* model of operation word */ 319 2 dev_com bit (6) unaligned, /* device command */ 320 2 zero1 bit (12) unaligned, /* zeros */ 321 2 ioc_com bit (5) unaligned, /* ioc command */ 322 2 zero2 bit (1) unaligned, /* zero */ 323 2 control bit (6) unaligned, /* control */ 324 2 count bit (6) unaligned; /* count */ 325 326 dcl 1 return_word aligned based (sptr), /* model of status return word */ 327 2 status_return bit (18) unaligned, /* pointer to return words */ 328 2 courtesy_call bit (18) unaligned; /* pointer to courtesy call rtn */ 329 330 dcl 1 stat_words aligned based (swptr), /* model of status words */ 331 2 sw1 bit (36) aligned, /* word 1 */ 332 2 sw2 bit (36) aligned; /* word 2 */ 333 334 335 336 dcl decode_mode (0:63) bit (3) aligned /* Permissions are read, execute, write */ 337 static init ( /* OCTAL */ 338 "100"b, /* 0 -- Zero access mode maps to Query permission */ 339 "100"b, /* 1 */ 340 (2) (1)"000"b, /* 2-3 */ 341 "110"b, /* 4 */ 342 (3) (1)"000"b, /* 5-7 */ 343 "100"b, /* 10 */ 344 (7) (1)"000"b, /* 11-17 */ 345 (2) (1)"101"b, /* 20-21 */ 346 (2) (1) "000"b, /* 22-23 */ 347 "101"b, /* 24 */ 348 (11) (1)"000"b, /* 25-37 */ 349 (2) (1) "100"b, /* 40-41 */ 350 (6) (1)"000"b, /* 42-47 */ 351 "100"b, /* 50 */ 352 (3) (1)"000"b, /* 51-53 */ 353 "100"b, /* 54 */ 354 (3) (1)"000"b, /* 55-57 */ 355 (2) (1)"101"b, /* 60-61 */ 356 (10) (1)"000"b, /* 62-73 */ 357 "101"b, /* 74 */ 358 (3) (1)"000"b); /* 75-77 */ 359 360 dcl io_commands (8) bit (36) internal static aligned init ( 361 362 363 /* Disk Command Table */ 364 365 "340000000002"b3, /* 34 - seek disk address */ 366 "250000002400"b3, /* 25 - read disk continuous */ 367 "310000002400"b3, /* 31 - write disk continuous */ 368 "700000020001"b3, /* 70 - rewind */ 369 "460000020001"b3, /* 46 - backspace record(s) */ 370 "440000020001"b3, /* 44 - forward space record(s) */ 371 "400000020001"b3, /* 40 - reset status */ 372 "000000020001"b3); /* 00 - request status */ 373 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 */ 374 375 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 */ 376 377 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 */ 378 379 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 */ 380 381 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 */ 382 383 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 */ 384 385 386 end gtss_ios_close_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1027.5 gtss_ios_close_.pl1 >spec>on>7105>gtss_ios_close_.pl1 374 1 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 376 2 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 378 3 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 380 4 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 382 5 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 384 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. attributes_ptr 100 000022 external static pointer array level 3 dcl 1-6 ref 128 code parameter fixed bin(35,0) dcl 27 set ref 11 36* 57* 64 65* 103* 112* 119 134* 138* 139 142* com_err_ 000030 constant entry external dcl 5-8 ref 65 90 142 current_size 1 based fixed bin(24,0) level 2 dcl 2-11 ref 129 db_ios defined bit(1) unaligned dcl 6-32 ref 65 90 142 delete_$path 000010 constant entry external dcl 294 ref 112 dir_name 000022 external static char(168) array level 3 packed unaligned dcl 1-6 set ref 112* entry_name 52 000022 external static char(32) array level 3 packed unaligned dcl 1-6 set ref 112* fcb_ptr 000166 automatic pointer initial dcl 215 in procedure "gtss_ios_close_" set ref 32* 215* fcb_ptr 62 000022 external static pointer array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 1-6 in procedure "gtss_ios_close_" set ref 32 134* 149* 171 file_dir 000100 automatic char(168) unaligned dcl 180 set ref 57* 77* 88 90* 100 100 101 101* 103* file_dir_len 000152 automatic fixed bin(17,0) dcl 181 set ref 57* file_ent 000153 automatic char(32) unaligned dcl 182 set ref 57* 77* 100* 103* file_no parameter fixed bin(24,0) dcl 28 ref 11 31 file_ptr 000170 automatic pointer dcl 217 set ref 53* 55* 57* 65* 142* file_size 000172 automatic fixed bin(24,0) dcl 218 set ref 129* 130 130* 130 132 final_bit_count 000173 automatic fixed bin(24,0) dcl 218 set ref 132* 134* 138* fn parameter fixed bin(24,0) dcl 164 in procedure "bad_file_status" ref 157 167 167 171 fn 000174 automatic fixed bin(24,0) dcl 220 in procedure "gtss_ios_close_" set ref 31* 32 39* 46 53 53 55 65* 77* 82 112 112 125 125 128 134 134 134 138 142* 149 150 150 gcos_status based bit(12) dcl 183 set ref 35* 40* 41* 73* 97* 119* 141* gsc 000175 automatic fixed bin(24,0) dcl 225 set ref 38* 39* 40 gsp 000164 automatic pointer dcl 185 set ref 34* 35 40 41 73 97 119 141 gtss_dfd_ext_$disk_file_data 000022 external static structure array level 1 dcl 1-6 gtss_disk 000022 external static structure array level 2 dcl 1-6 set ref 167 167 gtss_ext_$db 000024 external static bit(1) array unaligned dcl 3-10 ref 65 65 90 90 142 142 gtss_ext_$mcfc 000026 external static structure level 1 dcl 3-109 gtss_file_attributes based structure level 1 dcl 2-11 gtss_file_attributes_ptr 000202 automatic pointer initial dcl 2-9 set ref 2-9* gtss_mcfc_$close 000032 constant entry external dcl 5-139 ref 103 gtss_verify_access_$check_forced_access 000034 constant entry external dcl 5-150 ref 77 hcs_$fs_get_path_name 000012 constant entry external dcl 295 ref 57 hcs_$set_bc_seg 000014 constant entry external dcl 298 ref 138 indicators 70 000022 external static structure array level 3 dcl 1-6 j 000176 automatic fixed bin(24,0) dcl 229 set ref 88* 89 100 101 msf 70 000022 external static bit(1) array level 4 packed unaligned dcl 1-6 ref 53 82 134 150 msf_array_ptr 64 000022 external static pointer array level 3 dcl 1-6 ref 53 150 msf_components based pointer array dcl 242 ref 53 150 msf_manager_$adjust 000016 constant entry external dcl 300 ref 134 msf_manager_$close 000020 constant entry external dcl 301 ref 149 multics_lock_id 000026 external static bit(36) level 2 dcl 3-109 set ref 103* no_components 77 000022 external static fixed bin(24,0) array level 3 dcl 1-6 ref 134 pat_body 102 000022 external static structure array level 3 dcl 1-6 perm 104(09) 000022 external static bit(1) array level 5 packed unaligned dcl 1-6 ref 46 125 permissions 71 000022 external static structure array level 3 dcl 1-6 single_segment_ptr 66 000022 external static pointer array level 3 dcl 1-6 set ref 55 138* size_ptr 000200 automatic pointer dcl 272 set ref 128* 129 status parameter fixed bin(24,0) dcl 165 set ref 157 168* 172* status_ptr parameter pointer dcl 29 set ref 11 34 103* word_2 104 000022 external static structure array level 4 dcl 1-6 write 71(02) 000022 external static bit(1) array level 4 packed unaligned dcl 1-6 ref 125 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. M based char unaligned dcl 237 acl_ptr automatic pointer dcl 187 ap automatic pointer dcl 189 attr_name internal static char(4) initial array unaligned dcl 4-46 bc automatic fixed bin(24,0) dcl 191 bit72 based bit(72) dcl 184 bit_count automatic fixed bin(24,0) dcl 193 bksp_sw automatic bit(1) unaligned dcl 196 cmd_word automatic bit(36) dcl 199 count automatic fixed bin(24,0) dcl 200 da_residue automatic fixed bin(17,0) dcl 202 data_moved automatic fixed bin(24,0) dcl 205 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 307 dcw_number automatic fixed bin(24,0) dcl 207 dcw_offset automatic fixed bin(24,0) dcl 209 dcw_ptr automatic pointer dcl 210 debug_bit_names internal static structure array level 1 unaligned dcl 6-75 decode_mode internal static bit(3) initial array dcl 336 disconnect automatic bit(1) unaligned dcl 211 error_table_$namedup external static fixed bin(35,0) dcl 212 error_table_$rqover external static fixed bin(35,0) dcl 213 error_table_$segknown external static fixed bin(35,0) dcl 214 get_mode automatic fixed bin(5,0) dcl 223 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_ext_$work_area_ptr external static pointer dcl 3-35 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_$delete 000000 constant entry external dcl 5-137 gtss_mcfc_$open 000000 constant entry external dcl 5-138 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_ 000000 constant entry external dcl 5-149 gtss_write_starCFP_ 000000 constant entry external dcl 5-151 hcs_$fs_get_mode 000000 constant entry external dcl 296 hcs_$make_seg 000000 constant entry external dcl 297 i automatic fixed bin(24,0) dcl 226 id_word based structure level 1 dcl 313 idptr automatic pointer dcl 227 io_commands internal static bit(36) initial array dcl 360 ioa_ 000000 constant entry external dcl 299 l automatic fixed bin(24,0) dcl 230 largest_file automatic fixed bin(24,0) dcl 233 last_component automatic bit(1) unaligned dcl 234 li automatic bit(1) unaligned dcl 236 max_change automatic fixed bin(24,0) dcl 239 msf_manager_$get_ptr 000000 constant entry external dcl 302 msf_manager_$open 000000 constant entry external dcl 303 msf_save automatic bit(1) unaligned dcl 246 no_components_save automatic fixed bin(24,0) dcl 249 op_word based structure level 1 dcl 318 opptr automatic pointer dcl 254 pat_body_overlay based bit(180) unaligned dcl 252 rec_ct_residue automatic fixed bin(24,0) dcl 256 record_quota_overflow 000000 stack reference condition dcl 257 return_word based structure level 1 dcl 326 sc automatic fixed bin(24,0) dcl 258 scratch_status automatic bit(72) dcl 259 seek_address based fixed bin(24,0) dcl 260 seek_ptr automatic pointer dcl 261 seeksw automatic bit(1) unaligned dcl 263 seg_length automatic fixed bin(24,0) dcl 264 select_seg_ptr automatic pointer dcl 265 select_seq_in_memory automatic bit(1) unaligned dcl 267 slave_status automatic bit(36) dcl 273 sp automatic pointer dcl 274 sptr automatic pointer dcl 276 stat_words based structure level 1 dcl 330 storlimit automatic fixed bin(24,0) dcl 275 swptr automatic pointer dcl 277 sys_info$max_seg_size external static fixed bin(35,0) dcl 278 ta_offset automatic fixed bin(24,0) dcl 279 ta_ptr automatic pointer dcl 281 ta_seg_ptr automatic pointer dcl 283 tdcw_previous automatic bit(1) unaligned dcl 285 tfp automatic fixed bin(71,0) dcl 286 wc_residue automatic fixed bin(24,0) dcl 287 work_area based area dcl 291 NAMES DECLARED BY EXPLICIT CONTEXT. bad_file_status 000675 constant entry internal dcl 157 ref 39 gtss_ios_close_ 000067 constant entry external dcl 11 return_close 000504 constant label dcl 123 set ref 74 98 NAMES DECLARED BY CONTEXT OR IMPLICATION. hbound builtin function ref 167 index builtin function ref 88 lbound builtin function ref 167 length builtin function ref 100 101 mod builtin function ref 130 null builtin function ref 215 2-9 171 reverse builtin function ref 88 substr builtin function set ref 100 101* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1122 1160 747 1132 Length 1470 747 36 274 152 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_ios_close_ 189 external procedure is an external procedure. bad_file_status internal procedure shares stack frame of external procedure gtss_ios_close_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_ios_close_ 000100 file_dir gtss_ios_close_ 000152 file_dir_len gtss_ios_close_ 000153 file_ent gtss_ios_close_ 000164 gsp gtss_ios_close_ 000166 fcb_ptr gtss_ios_close_ 000170 file_ptr gtss_ios_close_ 000172 file_size gtss_ios_close_ 000173 final_bit_count gtss_ios_close_ 000174 fn gtss_ios_close_ 000175 gsc gtss_ios_close_ 000176 j gtss_ios_close_ 000200 size_ptr gtss_ios_close_ 000202 gtss_file_attributes_ptr gtss_ios_close_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return mod_fx1 ext_entry free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ delete_$path gtss_mcfc_$close gtss_verify_access_$check_forced_access hcs_$fs_get_path_name hcs_$set_bc_seg msf_manager_$adjust msf_manager_$close THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gtss_dfd_ext_$disk_file_data gtss_ext_$db gtss_ext_$mcfc LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000063 215 000074 2 9 000076 31 000077 32 000102 34 000106 35 000111 36 000113 38 000114 39 000115 40 000122 41 000130 43 000132 46 000133 53 000143 55 000152 57 000154 64 000205 65 000210 73 000256 74 000260 77 000261 82 000302 88 000311 89 000322 90 000323 97 000362 98 000364 100 000365 101 000400 103 000405 110 000436 112 000437 119 000477 123 000504 125 000505 128 000517 129 000521 130 000524 132 000532 134 000535 138 000566 139 000601 141 000604 142 000606 149 000651 150 000664 153 000674 157 000675 167 000677 168 000704 169 000706 171 000713 172 000722 173 000724 175 000731 ----------------------------------------------------------- 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