COMPILATION LISTING OF SEGMENT gtss_ios_change_size_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1346.3 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 gtss_ios_change_size_: proc (file_no, size_change, link_indicator, status, code); 10 11 /* 12* " This entry point is used to grow a permanent file up to its 13* " maximum size limit and to change the size of a temporary file. 14* " The caller should ensure that this entry point is not called to 15* " reduce the size of a permanent file. 16* 17* Author: Dave Ward 03/04/80 (derived from gtss_ios_) 18**/ 19 dcl code fixed bin (35) parm; 20 dcl file_no fixed bin (24) parm; 21 dcl link_indicator bit (1) parm; 22 dcl size_change fixed bin (24) parm; 23 dcl status fixed bin (24) parm; 24 25 fn = file_no; /* Use local variables */ 26 sc = size_change; 27 li = link_indicator; 28 ap = gtss_disk.attributes_ptr (fn); 29 fcb_ptr = gtss_disk (fn).fcb_ptr; 30 31 status = 0; /* Initialize status to indicate no error */ 32 code = 0; 33 34 if bad_file_status (fn, gsc) then do; 35 /* FIX ** if gsc = 15 then gcos_status = "4042"b3; */ /* Bad file number. */ 36 /* FIX ** else */ /* => 14. */ 37 /* FIX ** gcos_status = "4025"b3; */ /* File not open. */ 38 status=gsc; 39 return; 40 end; 41 42 if li then sc = sc * 12; /* convert to llinks */ 43 44 if sc = 0 then do; /* Grow file by unspecified amount */ 45 if pat_body.perm (fn) then do; /* Perm file */ 46 47 /* Grow a perm file by approx. 1/8 of its current size. */ 48 sc = divide (ap -> current_size, 8, 24, 0)+1; 49 if ap -> max_size > 0 50 then sc = min (sc, ap -> max_size - ap -> current_size); 51 end; 52 else do; /* Temp file */ 53 sc = min (ap -> current_size, 1365*12-ap -> current_size); 54 end; 55 if sc <= 0 then do; 56 status = 1; /* file size is unchanged */ 57 sc = 0; 58 end; 59 end; 60 else do; /* change file size by specified amount */ 61 if pat_body.perm (fn) then do; /* Perm File */ 62 if ap -> max_size > 0 then do; 63 max_change = ap -> max_size - ap -> current_size; 64 if sc > max_change then do; 65 sc = max_change; 66 if sc <= 0 67 then do; 68 status = 1; /* file size is unchanged */ 69 sc = 0; 70 end; 71 else status = 2; /* file size increased by 72* less than requested amount */ 73 end; 74 end; 75 end; 76 else do; /* Temp File */ 77 78 /* Make sure the size change is a multiple of a full link (12 llinks) */ 79 if mod (sc, 12) ^= 0 then do; 80 if sc > 0 then sc = sc + 12 - mod (sc, 12); 81 else sc = sc - mod (sc, 12); 82 end; 83 end; 84 end; /* End of change file size by 85* specified amount. */ 86 87 /* Change size of file */ 88 ap -> current_size = ap -> current_size + sc; 89 90 /* Do not exceed implementation restriction of 500 components per file */ 91 largest_file = divide (sys_info$max_seg_size*500, 320, 24, 0); /* max number of llinks */ 92 if ap -> current_size > largest_file then do; 93 status = 3; /* implementation restriction of 500 components per file */ 94 ap -> current_size = largest_file; 95 end; 96 97 /* Make sure a temp file is not reduced below one link */ 98 if ^pat_body.perm (fn) then 99 ap -> current_size = max (12, ap -> current_size); 100 101 /* Call an internal procedure to set file_size, no_components, and the msf flag. */ 102 /* Remember if the file was an msf before the size change. */ 103 msf_save = msf (fn); 104 no_components_save = no_components (fn); 105 call fix_size (status); 106 107 /* If a temp file is reduced from an msf to 108* a single segment, free the array of component pointers. */ 109 if sc < 0 110 then do; 111 if msf_save & ^msf (fn) then do; 112 single_segment_ptr (fn) = msf_array_ptr (fn) -> msf_components (0); 113 free msf_array_ptr (fn) -> msf_components; 114 end; 115 116 /* If the number of components in a file is reduced, 117* set the unused pointers to null */ 118 else 119 if no_components (fn) < no_components_save then 120 do i = no_components (fn) to no_components_save - 1; 121 msf_array_ptr (fn) -> msf_components (i) = null (); 122 end; 123 end; 124 125 /* If the file has just been grown from a single segment to an msf 126* then allocate an array of component pointers. */ 127 if ^msf_save & msf (fn) then do; 128 allocate msf_components in (work_area) set (msf_array_ptr (fn)); 129 msf_array_ptr (fn) -> msf_components (0) = single_segment_ptr (fn); 130 single_segment_ptr (fn) = null (); 131 end; 132 133 /* If the number of components in a file is increased 134* then get pointers to the new components */ 135 if no_components (fn) > no_components_save then 136 do i = no_components_save to no_components (fn) - 1; 137 call msf_manager_$get_ptr (fcb_ptr, (i), "1"b, 138 msf_array_ptr (fn) -> msf_components (i), bc, code); 139 if code ^= 0 then do; 140 status = 5; /* error detected by msf_manager_$get_ptr */ 141 free msf_array_ptr (fn) -> msf_components; 142 call msf_manager_$close (gtss_disk (fn).fcb_ptr); 143 return; 144 end; 145 end; 146 147 /* Call msf_manager_$adjust to set the bit count 148* and free any excess file space. */ 149 bit_count = 36 * (mod (file_size (fn)-1, sys_info$max_seg_size)+1); 150 151 on cond (record_quota_overflow) begin; 152 gtss_disk (fn) = gtss_disk (41); /* Restore file fn to state before change_size. */ 153 if db_ios then 154 call ioa_ ("gtss_ios_change_size_: record quota overflow."); 155 status = 4; /* ?? */ 156 code = error_table_$rqover; 157 goto fin_change_size; 158 end; 159 gtss_disk (41) = gtss_disk (fn); /* Save state of file fn. */ 160 161 call msf_manager_$adjust (fcb_ptr, no_components (fn)-1, bit_count, "110"b, code); 162 if code ^= 0 & status = 0 163 then status = 4; /* error detected by msf_manager_$adjust */ 164 165 if pat_body.perm (fn) then do; /* Perm File */ 166 gtss_file_attributes_ptr = gtss_dfd_ext_$disk_file_data (fn).gtss_disk.attributes_ptr; 167 gtss_file_values.version = 1; 168 gtss_file_values.change_name = "0"b; 169 gtss_file_values.dname = gtss_dfd_ext_$disk_file_data (fn).gtss_disk.dir_name; 170 gtss_file_values.ename = gtss_dfd_ext_$disk_file_data (fn).gtss_disk.entry_name; 171 gtss_file_values.new_ename = " "; /* Set values for current entry. */ 172 string (gtss_file_values.set_switch) = "0"b; 173 gtss_file_values.set_switch.curll = "1"b; 174 gtss_file_values.data_fields.curll = gtss_file_attributes.current_size; 175 176 call gtss_attributes_mgr_$set (addr (gtss_file_values), code); 177 if code ^= 0 then status = 6; /* $set failed. */ 178 end; 179 180 fin_change_size: ; 181 182 return; /* End of gtss_ios_change_size_ */ 183 184 185 /* INTERNAL PROCEDURES */ 186 187 bad_file_status: proc (fn, status) returns (bit (1)); 188 189 /* This routine is called to verify that 190* the file number input parameter corresponds 191* to a valid open file. If so, "0"b is returned. 192* Otherwise , "1"b is returned. */ 193 194 dcl fn fixed bin (24) parm; 195 dcl status fixed bin (24) parm; 196 197 if fn < lbound (gtss_disk, 1) | fn >= hbound (gtss_disk, 1) then do; 198 status = 15; /* Bad file number */ 199 return ("1"b); 200 end; 201 if gtss_disk.fcb_ptr (fn) = null () then do; 202 status = 14; /* File not open */ 203 return ("1"b); 204 end; 205 return ("0"b); 206 end bad_file_status; 207 208 fix_size: proc (status); 209 210 /* This routine is called from within the open and change_size entry points 211* to set file_size, no_components, and the msf flag. */ 212 dcl status fixed bin(24)parm; 213 214 gtss_disk.file_size (fn) = 320 * ap -> gtss_file_attributes.current_size; 215 gtss_disk.no_components (fn) = 216 divide (file_size (fn)-1, sys_info$max_seg_size, 24, 0)+1; 217 gtss_disk.msf (fn) = (no_components (fn) > 1); 218 if no_components (fn) > 500 then do; 219 no_components (fn) = 500; 220 file_size (fn) = 500*1024*255; 221 status = 3; /* Size of file requested exceeds 500 components */ 222 end; 223 end fix_size; 224 225 /* VARIABLES FOR GTSS_IOS_ */ 226 dcl hcs_$fs_get_path_name entry(ptr,char(*),fixed bin,char(*),fixed bin(35)); 227 dcl file_dir char(168); 228 dcl file_dir_len fixed bin; 229 dcl file_ent char(32); 230 dcl gcos_status bit(12)aligned based(gsp); 231 dcl bit72 bit(72)aligned based; 232 dcl gsp ptr; 233 234 dcl acl_ptr ptr /* pointer to segment_acl passed 235* as a parameter to msf_manager_$acl_list */; 236 dcl ap ptr /* Pointer to the attributes structure for the current file */; 237 dcl bc fixed bin (24) /* Used as a sink for bit counts returned by 238* msf_manager_$get_ptr */; 239 dcl bit_count fixed bin (24) /* The bit count of the last segment of an msf. 240* Passed as a parameter to msf_manager_$adjust. */; 241 dcl bksp_sw bit (1) /* Distinguishes between backspacing 242* "1"b and forward spacing "0"b a linked file. */; 243 dcl cmd_word bit (36) aligned /* temp */; 244 dcl count fixed bin (24) /* Counts io commands processed 245* for current io select sequence */; 246 dcl da_residue fixed bin /* Address of last memory location 247* accessed during I/O. Used in building 248* return status words for I/O. */; 249 dcl data_moved fixed bin (24) /* number of words moved or skipped over by 250* the current read or write operation. */; 251 dcl dcw_number fixed bin (24) /* Used to count DCW's in 252* the current select sequence */; 253 dcl dcw_offset fixed bin (24) /* slave offset of current dcw */; 254 dcl dcw_ptr ptr /* Multics pointer to the current dcw */; 255 dcl disconnect bit (1) /* Indicator that the last DCW has been encountered. */; 256 dcl error_table_$namedup fixed bin (35) ext; 257 dcl error_table_$rqover fixed bin(35)ext; 258 dcl error_table_$segknown fixed bin (35) ext; 259 dcl fcb_ptr ptr init (null ()) /* pointer to file control block 260* used by msf_manager_ */; 261 dcl file_ptr ptr /* pointer to current positoion in file */; 262 dcl fn fixed bin (24) /* Index in gtss_ext_$disk_file_data of 263* information about the file to be processed. */; 264 dcl get_mode fixed bin (5) /* User's access mode to segment as 265* returned by hcs_$fs_get_mode */; 266 dcl gsc fixed bin(24); 267 dcl i fixed bin (24); 268 dcl idptr ptr /* Pointer to the current id 269* word of the I/O select sequence. */; 270 dcl j fixed bin (24); 271 dcl l fixed bin (24) /* The length in words of the current 272* piece of data to be moved to or from the file */; 273 dcl largest_file fixed bin (24) /* Max no. of llinks a file can grow to */; 274 dcl last_component bit (1) /* When on, indicates that the 275* current component is the last component of the file */; 276 dcl li bit (1) /* variable for the parameter link_indicator */; 277 dcl M char (l*4) based /* A template used for moving data 278* to or from the file. */; 279 dcl max_change fixed bin (24) /* The maximum amount that 280* the size of a file can be increased 281* expressed in llinks (320 word blocks) */; 282 dcl msf_components (0:499) ptr based /* An array of pointers for each msf. 283* Each component which has been accessed has a 284* corresponding initialized pointer. */; 285 286 dcl msf_save bit (1) /* A flag used to remember whether 287* the file was a msf before its size 288* was changed. */; 289 dcl no_components_save fixed bin (24) /* Used to remember the number 290* of components a file had before its 291* size was changed */; 292 dcl pat_body_overlay bit (180) based /* used for initializing the 293* pat body to all zeros */; 294 dcl opptr ptr /* Pointer to the current operation 295* word of the I/O select sequence. */; 296 dcl rec_ct_residue fixed bin (24) /* holds no of unskipped records */; 297 dcl record_quota_overflow condition ext; 298 dcl sc fixed bin (24) /* local variable for the parameter size_change */; 299 dcl scratch_status bit (72) aligned /* temp */; 300 dcl seek_address fixed bin (24) based /* user seek address for disk or drum */; 301 dcl seek_ptr ptr /* Pointer to the word containing 302* the io seek address */; 303 dcl seeksw bit (1) /* sw controlling disk or drum seeks */; 304 dcl seg_length fixed bin (24) /* length in words of current component of file */; 305 dcl select_seg_ptr ptr /* Pointer to beginning of 306* segment containing select sequence */; 307 dcl select_seq_in_memory bit (1) /* 1 => the select sequence is in the 308* same segment that is used for Gcos memory. 309* In this case the addresses of DCW's, seek address data word, and 310* status return words will be checked against the 311* memory_limit parameter. */; 312 dcl slave_status bit (36) aligned; 313 dcl sp ptr /* Pointer to user's select sequence for this I/O */; 314 dcl storlimit fixed bin (24) /* slave core boundary */; 315 dcl sptr ptr /* pointer to return word of select sequence */; 316 dcl swptr ptr /* Pointer to status return words */; 317 dcl sys_info$max_seg_size fixed bin (35) ext; 318 dcl ta_offset fixed bin (24) /* Offset in the user's slave memory 319* of the transmission area for the current DCW. */; 320 dcl ta_ptr ptr /* pointer to the transmission area for 321* the current DCW. */; 322 dcl ta_seg_ptr ptr /* pointer to the user's slave 323* memory segment */; 324 dcl tdcw_previous bit (1) /* Indicator that the last DCW processed was a TDCW */; 325 dcl tfp fixed bin (71); 326 dcl wc_residue fixed bin (24) /* Number of words remaining to be transferred 327* in the current dcw when eof or 328* memory fault occurs. Used in building 329* return status words for I/O. */; 330 dcl work_area area (sys_info$max_seg_size) aligned 331 based (gtss_ext_$work_area_ptr) /* Area used to store arrays of pointers to 332* components of msf's. */; 333 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 334 dcl hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 335 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 336 dcl ioa_ entry options (variable); 337 dcl msf_manager_$adjust entry (ptr, fixed bin, fixed bin (24), bit (3), fixed bin (35)); 338 dcl msf_manager_$close entry (ptr); 339 dcl msf_manager_$get_ptr entry (ptr, fixed bin, bit (1), ptr, fixed bin (24), fixed bin (35)); 340 dcl msf_manager_$open entry (char (*), char (*), ptr, fixed bin (35)); 341 342 /* STRUCTURES */ 343 344 dcl 1 dcw aligned based (dcw_ptr), /* dcw model */ 345 2 data_addr bit (18) unaligned, /* data address */ 346 2 zero bit (3) unaligned, /* fill */ 347 2 action bit (3) unaligned, /* action */ 348 2 count bit (12) unaligned; /* word count for transfer */ 349 350 dcl 1 id_word aligned based (idptr), /* model of identification word */ 351 2 filep bit (18) unaligned, /* file control block pointer */ 352 2 dcwp bit (18) unaligned; /* dcw list pointer */ 353 354 355 dcl 1 op_word aligned based (opptr), /* model of operation word */ 356 2 dev_com bit (6) unaligned, /* device command */ 357 2 zero1 bit (12) unaligned, /* zeros */ 358 2 ioc_com bit (5) unaligned, /* ioc command */ 359 2 zero2 bit (1) unaligned, /* zero */ 360 2 control bit (6) unaligned, /* control */ 361 2 count bit (6) unaligned; /* count */ 362 363 dcl 1 return_word aligned based (sptr), /* model of status return word */ 364 2 status_return bit (18) unaligned, /* pointer to return words */ 365 2 courtesy_call bit (18) unaligned; /* pointer to courtesy call rtn */ 366 367 dcl 1 stat_words aligned based (swptr), /* model of status words */ 368 2 sw1 bit (36) aligned, /* word 1 */ 369 2 sw2 bit (36) aligned; /* word 2 */ 370 371 372 373 dcl decode_mode (0:63) bit (3) aligned /* Permissions are read, execute, write */ 374 static init ( /* OCTAL */ 375 "100"b, /* 0 -- Zero access mode maps to Query permission */ 376 "100"b, /* 1 */ 377 (2) (1)"000"b, /* 2-3 */ 378 "110"b, /* 4 */ 379 (3) (1)"000"b, /* 5-7 */ 380 "100"b, /* 10 */ 381 (7) (1)"000"b, /* 11-17 */ 382 (2) (1)"101"b, /* 20-21 */ 383 (2) (1) "000"b, /* 22-23 */ 384 "101"b, /* 24 */ 385 (11) (1)"000"b, /* 25-37 */ 386 (2) (1) "100"b, /* 40-41 */ 387 (6) (1)"000"b, /* 42-47 */ 388 "100"b, /* 50 */ 389 (3) (1)"000"b, /* 51-53 */ 390 "100"b, /* 54 */ 391 (3) (1)"000"b, /* 55-57 */ 392 (2) (1)"101"b, /* 60-61 */ 393 (10) (1)"000"b, /* 62-73 */ 394 "101"b, /* 74 */ 395 (3) (1)"000"b); /* 75-77 */ 396 397 dcl io_commands (8) bit (36) internal static aligned init ( 398 399 400 /* Disk Command Table */ 401 402 "340000000002"b3, /* 34 - seek disk address */ 403 "250000002400"b3, /* 25 - read disk continuous */ 404 "310000002400"b3, /* 31 - write disk continuous */ 405 "700000020001"b3, /* 70 - rewind */ 406 "460000020001"b3, /* 46 - backspace record(s) */ 407 "440000020001"b3, /* 44 - forward space record(s) */ 408 "400000020001"b3, /* 40 - reset status */ 409 "000000020001"b3); /* 00 - request status */ 410 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 */ 411 412 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 */ 413 414 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 */ 415 416 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 */ 417 418 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 */ 419 420 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 */ 421 422 end /* gtss_ios_change_size_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.2 gtss_ios_change_size_.pl1 >spec>on>7105>gtss_ios_change_size_.pl1 411 1 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 413 2 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 415 3 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 417 4 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 419 5 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 421 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. ap 000100 automatic pointer dcl 236 set ref 28* 48 49 49 49 53 53 62 63 63 88 88 92 94 98 98 214 attributes_ptr 100 000024 external static pointer array level 3 dcl 1-6 set ref 28 166 bc 000102 automatic fixed bin(24,0) dcl 237 set ref 137* bit_count 000103 automatic fixed bin(24,0) dcl 239 set ref 149* 161* change_name 73 000130 automatic bit(1) level 2 dcl 4-56 set ref 168* code parameter fixed bin(35,0) dcl 19 set ref 9 32* 137* 139 156* 161* 162 176* 177 curll 100(02) 000130 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 4-56 in procedure "gtss_ios_change_size_" set ref 173* curll 102 000130 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 4-56 in procedure "gtss_ios_change_size_" set ref 174* current_size 1 based fixed bin(24,0) level 2 dcl 2-11 set ref 48 49 53 53 63 88* 88 92 94* 98* 98 174 214 data_fields 102 000130 automatic structure level 2 dcl 4-56 db_ios defined bit(1) unaligned dcl 6-32 ref 153 dir_name 000024 external static char(168) array level 3 packed unaligned dcl 1-6 set ref 169 dname 1 000130 automatic char(168) level 2 packed unaligned dcl 4-56 set ref 169* ename 53 000130 automatic char(32) level 2 packed unaligned dcl 4-56 set ref 170* entry_name 52 000024 external static char(32) array level 3 packed unaligned dcl 1-6 set ref 170 error_table_$rqover 000010 external static fixed bin(35,0) dcl 257 ref 156 fcb_ptr 000104 automatic pointer initial dcl 259 in procedure "gtss_ios_change_size_" set ref 29* 137* 161* 259* fcb_ptr 62 000024 external static pointer array level 3 in structure "gtss_dfd_ext_$disk_file_data" dcl 1-6 in procedure "gtss_ios_change_size_" set ref 29 142* 201 file_no parameter fixed bin(24,0) dcl 20 ref 9 25 file_size 76 000024 external static fixed bin(30,0) array level 3 dcl 1-6 set ref 149 214* 215 220* fn parameter fixed bin(24,0) dcl 194 in procedure "bad_file_status" ref 187 197 197 201 fn 000106 automatic fixed bin(24,0) dcl 262 in procedure "gtss_ios_change_size_" set ref 25* 28 29 34* 45 61 98 103 104 111 112 112 113 118 118 121 127 128 129 129 130 135 135 137 141 142 149 152 159 161 165 166 169 170 214 215 215 217 217 218 219 220 gsc 000107 automatic fixed bin(24,0) dcl 266 set ref 34* 38 gtss_attributes_mgr_$set 000032 constant entry external dcl 5-32 ref 176 gtss_dfd_ext_$disk_file_data 000024 external static structure array level 1 dcl 1-6 gtss_disk 000024 external static structure array level 2 dcl 1-6 set ref 152* 152 159* 159 197 197 gtss_ext_$db 000026 external static bit(1) array unaligned dcl 3-10 ref 153 153 gtss_ext_$work_area_ptr 000030 external static pointer dcl 3-35 ref 128 gtss_file_attributes based structure level 1 dcl 2-11 gtss_file_attributes_ptr 000126 automatic pointer initial dcl 2-9 set ref 166* 174 2-9* gtss_file_values 000130 automatic structure level 1 dcl 4-56 set ref 176 176 i 000110 automatic fixed bin(24,0) dcl 267 set ref 118* 121* 135* 137 137* indicators 70 000024 external static structure array level 3 dcl 1-6 ioa_ 000014 constant entry external dcl 336 ref 153 largest_file 000111 automatic fixed bin(24,0) dcl 273 set ref 91* 92 94 li 000112 automatic bit(1) unaligned dcl 276 set ref 27* 42 link_indicator parameter bit(1) unaligned dcl 21 ref 9 27 max_change 000113 automatic fixed bin(24,0) dcl 279 set ref 63* 64 65 max_size based fixed bin(24,0) level 2 dcl 2-11 ref 49 49 62 63 msf 70 000024 external static bit(1) array level 4 packed unaligned dcl 1-6 set ref 103 111 127 217* msf_array_ptr 64 000024 external static pointer array level 3 dcl 1-6 set ref 112 113 121 128* 129 137 141 msf_components based pointer array dcl 282 set ref 112 113 121* 128 129* 137* 141 msf_manager_$adjust 000016 constant entry external dcl 337 ref 161 msf_manager_$close 000020 constant entry external dcl 338 ref 142 msf_manager_$get_ptr 000022 constant entry external dcl 339 ref 137 msf_save 000114 automatic bit(1) unaligned dcl 286 set ref 103* 111 127 new_ename 63 000130 automatic char(32) level 2 packed unaligned dcl 4-56 set ref 171* no_components 77 000024 external static fixed bin(24,0) array level 3 dcl 1-6 set ref 104 118 118 135 135 161 215* 217 218 219* no_components_save 000115 automatic fixed bin(24,0) dcl 289 set ref 104* 118 118 135 135 pat_body 102 000024 external static structure array level 3 dcl 1-6 perm 104(09) 000024 external static bit(1) array level 5 packed unaligned dcl 1-6 set ref 45 61 98 165 record_quota_overflow 000116 stack reference condition dcl 297 ref 151 sc 000124 automatic fixed bin(24,0) dcl 298 set ref 26* 42* 42 44 48* 49* 49 53* 55 57* 64 65* 66 69* 79 80 80* 80 80 81* 81 81 88 109 set_switch 100 000130 automatic structure level 2 dcl 4-56 set ref 172* single_segment_ptr 66 000024 external static pointer array level 3 dcl 1-6 set ref 112* 129 130* size_change parameter fixed bin(24,0) dcl 22 ref 9 26 status parameter fixed bin(24,0) dcl 212 in procedure "fix_size" set ref 208 221* status parameter fixed bin(24,0) dcl 195 in procedure "bad_file_status" set ref 187 198* 202* status parameter fixed bin(24,0) dcl 23 in procedure "gtss_ios_change_size_" set ref 9 31* 38* 56* 68* 71* 93* 105* 140* 155* 162 162* 177* sys_info$max_seg_size 000012 external static fixed bin(35,0) dcl 317 ref 91 149 215 version 000130 automatic fixed bin(17,0) level 2 dcl 4-56 set ref 167* word_2 104 000024 external static structure array level 4 dcl 1-6 work_area based area dcl 330 ref 128 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. M based char unaligned dcl 277 acl_ptr automatic pointer dcl 234 attr_name internal static char(4) initial array unaligned dcl 4-46 bit72 based bit(72) dcl 231 bksp_sw automatic bit(1) unaligned dcl 241 cmd_word automatic bit(36) dcl 243 com_err_ 000000 constant entry external dcl 5-8 count automatic fixed bin(24,0) dcl 244 da_residue automatic fixed bin(17,0) dcl 246 data_moved automatic fixed bin(24,0) dcl 249 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 344 dcw_number automatic fixed bin(24,0) dcl 251 dcw_offset automatic fixed bin(24,0) dcl 253 dcw_ptr automatic pointer dcl 254 debug_bit_names internal static structure array level 1 unaligned dcl 6-75 decode_mode internal static bit(3) initial array dcl 373 delete_$path 000000 constant entry external dcl 333 disconnect automatic bit(1) unaligned dcl 255 error_table_$namedup external static fixed bin(35,0) dcl 256 error_table_$segknown external static fixed bin(35,0) dcl 258 file_dir automatic char(168) unaligned dcl 227 file_dir_len automatic fixed bin(17,0) dcl 228 file_ent automatic char(32) unaligned dcl 229 file_ptr automatic pointer dcl 261 gcos_status based bit(12) dcl 230 get_mode automatic fixed bin(5,0) dcl 264 gsp automatic pointer dcl 232 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_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_$mcfc external static structure level 1 dcl 3-109 gtss_ext_$pdir external static varying char(168) dcl 3-24 gtss_ext_$popup_from_pi external static label variable dcl 3-25 gtss_ext_$ppt external static pointer dcl 3-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 3-26 gtss_ext_$put_chars external static entry variable dcl 3-27 gtss_ext_$restart_from_pi external static label variable dcl 3-28 gtss_ext_$restart_seg_ptr external static pointer dcl 3-29 gtss_ext_$sig_ptr external static pointer dcl 3-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 3-31 gtss_ext_$statistics external static structure level 1 dcl 3-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 3-32 gtss_ext_$user_id external static varying char(26) dcl 3-34 gtss_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_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_$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_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 334 hcs_$fs_get_path_name 000000 constant entry external dcl 226 hcs_$make_seg 000000 constant entry external dcl 335 id_word based structure level 1 dcl 350 idptr automatic pointer dcl 268 io_commands internal static bit(36) initial array dcl 397 j automatic fixed bin(24,0) dcl 270 l automatic fixed bin(24,0) dcl 271 last_component automatic bit(1) unaligned dcl 274 msf_manager_$open 000000 constant entry external dcl 340 op_word based structure level 1 dcl 355 opptr automatic pointer dcl 294 pat_body_overlay based bit(180) unaligned dcl 292 rec_ct_residue automatic fixed bin(24,0) dcl 296 return_word based structure level 1 dcl 363 scratch_status automatic bit(72) dcl 299 seek_address based fixed bin(24,0) dcl 300 seek_ptr automatic pointer dcl 301 seeksw automatic bit(1) unaligned dcl 303 seg_length automatic fixed bin(24,0) dcl 304 select_seg_ptr automatic pointer dcl 305 select_seq_in_memory automatic bit(1) unaligned dcl 307 slave_status automatic bit(36) dcl 312 sp automatic pointer dcl 313 sptr automatic pointer dcl 315 stat_words based structure level 1 dcl 367 storlimit automatic fixed bin(24,0) dcl 314 swptr automatic pointer dcl 316 ta_offset automatic fixed bin(24,0) dcl 318 ta_ptr automatic pointer dcl 320 ta_seg_ptr automatic pointer dcl 322 tdcw_previous automatic bit(1) unaligned dcl 324 tfp automatic fixed bin(71,0) dcl 325 wc_residue automatic fixed bin(24,0) dcl 326 NAMES DECLARED BY EXPLICIT CONTEXT. bad_file_status 000733 constant entry internal dcl 187 ref 34 fin_change_size 000731 constant label dcl 180 ref 157 fix_size 000774 constant entry internal dcl 208 ref 105 gtss_ios_change_size_ 000043 constant entry external dcl 9 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 176 176 divide builtin function ref 48 91 215 hbound builtin function ref 197 lbound builtin function ref 197 max builtin function ref 98 min builtin function ref 49 53 mod builtin function ref 79 80 81 149 null builtin function ref 121 130 259 2-9 201 string builtin function ref 172 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1236 1272 1060 1246 Length 1612 1060 34 304 156 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_ios_change_size_ 205 external procedure is an external procedure. on unit on line 151 82 on unit bad_file_status internal procedure shares stack frame of external procedure gtss_ios_change_size_. fix_size internal procedure shares stack frame of external procedure gtss_ios_change_size_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_ios_change_size_ 000100 ap gtss_ios_change_size_ 000102 bc gtss_ios_change_size_ 000103 bit_count gtss_ios_change_size_ 000104 fcb_ptr gtss_ios_change_size_ 000106 fn gtss_ios_change_size_ 000107 gsc gtss_ios_change_size_ 000110 i gtss_ios_change_size_ 000111 largest_file gtss_ios_change_size_ 000112 li gtss_ios_change_size_ 000113 max_change gtss_ios_change_size_ 000114 msf_save gtss_ios_change_size_ 000115 no_components_save gtss_ios_change_size_ 000124 sc gtss_ios_change_size_ 000126 gtss_file_attributes_ptr gtss_ios_change_size_ 000130 gtss_file_values gtss_ios_change_size_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a call_ext_out_desc call_ext_out return tra_ext mpfx2 mod_fx1 enable ext_entry int_entry divide_fx3 alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gtss_attributes_mgr_$set ioa_ msf_manager_$adjust msf_manager_$close msf_manager_$get_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$rqover gtss_dfd_ext_$disk_file_data gtss_ext_$db 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 000036 259 000050 2 9 000052 25 000053 26 000056 27 000060 28 000065 29 000072 31 000075 32 000076 34 000077 38 000104 39 000107 42 000110 44 000115 45 000117 48 000126 49 000133 51 000142 53 000143 55 000152 56 000154 57 000157 59 000160 61 000161 62 000170 63 000172 64 000175 65 000177 66 000200 68 000202 69 000205 70 000206 71 000207 75 000212 79 000213 80 000217 81 000226 88 000230 91 000233 92 000241 93 000243 94 000246 98 000250 103 000263 104 000267 105 000271 109 000300 111 000302 112 000314 113 000317 114 000321 118 000322 121 000341 122 000354 127 000356 128 000367 129 000402 130 000406 135 000411 137 000431 139 000465 140 000470 141 000472 142 000501 143 000512 145 000513 149 000515 151 000536 152 000552 153 000563 155 000601 156 000605 157 000610 159 000613 161 000622 162 000646 165 000655 166 000664 167 000666 168 000671 169 000672 170 000676 171 000702 172 000705 173 000706 174 000710 176 000712 177 000724 180 000731 182 000732 187 000733 197 000735 198 000742 199 000744 201 000751 202 000760 203 000762 205 000767 208 000774 214 000776 215 001007 217 001013 218 001024 219 001026 220 001030 221 001042 223 001044 ----------------------------------------------------------- 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