COMPILATION LISTING OF SEGMENT gtss_drl_restor_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1243.6 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /************************************************************** 10* * * 11* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 12* * * 13* **************************************************************/ 14 15 gtss_drl_restor_: proc (mcpp, increment); 16 17 /** gtss bring on overlay for current subsystem. 18* 19* Authors: Robert J. Grimes Created 20* - Albert N. Kepner 1978 21* - Robert M. May 22* - David B. Ward 23* Changed: Dave Ward 5/29/79 h* gdb name parm. 24* **/ 25 dcl mcpp ptr parm; 26 dcl increment fixed bin parm; 27 mcp = mcpp; 28 29 /** 30* 31* DRL RESTOR, OVERLAY-LOAD A SUBSYSTEM (octal 25) 32* 33* 34* 8_________1_6_____________________ 35* 36* DRL RESTOR 37* ASCII 1,name 38* ZERO loc,0 or non-0 39* ZERO tra,0 40* 41* or 42* 43* DRL RESTOR 44* ZERO nameloc,0 or 1 45* ZERO loc,0 or non-0 46* ZERO tra,bufloc 47* 48* (See TSS SYSTEM PROGRAMMER'S 49* REFERENCE MANUAL DD17B, Rev. 0, July 1976 50* Page 3-21) 51* 52**/ 53 54 scup = addr (mc.scu); 55 gseg = gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_); 56 arg_list_ptr = addrel (gseg, fixed (scu.ilc)+1); /* get addres of arg_list */ 57 58 /* Update saved machine registers in user's slave prefix. */ 59 call gtss_update_safe_store_ (mcp); 60 61 if substr (arg_list2.not_first_name, 1, 17) ^= "0"b then do; 62 63 /** Cause an overlay to be placed in the current memory 64* for the current executing subsystem. Transfer execution 65* back into the current subsystem. 66* **/ 67 68 prog_name = ascii_program_name; /* Local value. */ 69 do i = 1 to hbound (gtss_prgdes_ext_$prgdes, 1); /* Lookup name in program descriptors. */ 70 if prog_name = gtss_prgdes_ext_$prgdes (i).ss_name then do; /* Found */ 71 call gtss_run_subsystem_$restor (i, arg_list_ptr); /* AND DO NOT RETURN! */ 72 call gtss_abort_subsystem_ ( 73 mcp 74 , "gtss_drl_restor_" 75 , 0 76 , "RESTOR: Improper return? at (^6o)" 77 , fixed (scu.ilc, 18) 78 ); 79 return; 80 end; 81 end; 82 /* Not found. */ 83 call com_err_ (0, "gtss_drl_restor_", 84 """^a"" not found as a program descriptor name.", prog_name); 85 call gtss_abort_subsystem_ ( 86 mcp 87 , "gtss_drl_restor_" 88 , 0 89 , "RESTOR: ??? at (^6o)" 90 , fixed (scu.ilc, 18) 91 ); 92 return; 93 end; 94 95 /** Overlay-load a permanent file or a program 96* from a multiprogram permanent file. 97* **/ 98 99 /** Verify 3 word name list available. **/ 100 if (fixed (nameloc)+2) > fixed (gtss_ust.lsize.limit, 18) 101 | fixed (nameloc) < 100 then do; 102 call gtss_abort_subsystem_ ( 103 mcp 104 , "gtss_drl_restor_" 105 , 4 106 , "RESTOR: 3 word name list outside memory at (^60)" 107 , fixed (scu.ilc, 18) 108 ); 109 return; 110 end; 111 name_list_ptr = addrel (gseg, nameloc); 112 113 /** Verify name of perm file is in AFT. **/ 114 call gtss_aft_$find ((ascii_file_name), fn, code); 115 if code = 1 then do; /* Not in AFT. */ 116 call gtss_abort_subsystem_ ( 117 mcp 118 , "gtss_drl_restor_" 119 , 0 120 , "RESTOR: SAVE/RESTOR FILE NAME (^a) NOT IN AFT at (^6o)" 121 , ascii_file_name 122 , fixed (scu.ilc, 18) 123 ); 124 return; 125 end; 126 temp = divide (file_size (fn), 64, 24, 0); 127 if temp > max_for_18_bits 128 then file_size_in_blocks = max_for_18_bits; 129 else file_size_in_blocks = temp; 130 131 /* Make sure file is not null */ 132 133 if ^gtss_disk (fn).pat_body.write_performed 134 then do; 135 not_initialized: ; 136 call gtss_abort_subsystem_ ( 137 mcp 138 , "gtss_drl_restor_" 139 , 51 140 , err51 /* H* file not initialized */ 141 , fixed (scu.ilc, 18) 142 , ascii_file_name 143 ); 144 return; 145 end; 146 147 /* Make sure the buffer is within memory */ 148 if fixed (arg_list2.bufloc)+63 >= fixed (gtss_ust.lsize.limit) 149 | fixed (arg_list2.bufloc, 18) < 100 then do; 150 bad_arg: ; 151 call gtss_abort_subsystem_ ( 152 mcp 153 , "gtss_drl_restor_" 154 , 4 155 , err4 /* Bad derail argument */ 156 , fixed (scu.ilc, 18) 157 ); 158 return; 159 end; 160 buffer_ptr = addrel (gseg, arg_list2.bufloc); 161 162 /* Make sure file name is not within buffer */ 163 call check (fixed (nameloc), fixed (nameloc)+1); 164 165 /* Make sure Derail call sequence is not within buffer */ 166 call check (fixed (scu.ilc), fixed (scu.ilc)+3); 167 168 169 /* At this point the arguments have been checked and the restore of 170* the user's H* can proceed. */ 171 172 if arg_list2.not_first_name then do; 173 last_catalog = "0"b; 174 next_catalog = 0; 175 control_block = 0; 176 do while (^last_catalog); 177 call read_buffer (next_catalog, fixed (arg_list2.bufloc)); 178 call search_for_object (next_catalog, control_block); 179 if control_block ^= 0 then go to read_control_block; 180 last_catalog = (next_catalog <= 0); 181 if next_catalog >= file_size_in_blocks then go to undefined; 182 end; 183 184 undefined: ; 185 gtss_ext_$gdb_name = " "; 186 call gtss_bcd_ascii_$lc (addr (bcd_program_name), 6, addr (gtss_ext_$gdb_name)); 187 call gtss_abort_subsystem_ ( 188 mcp 189 , "gtss_drl_restor_" 190 , 47 191 , err47 /* H* program name undefined */ 192 , fixed (scu.ilc, 18) 193 , gtss_ext_$gdb_name 194 ); 195 return; 196 end; 197 else control_block = 2; 198 199 read_control_block: ; 200 if control_block >= file_size_in_blocks then go to undefined; 201 call read_buffer (control_block, fixed (arg_list2.bufloc)); 202 call analyze_control_block; 203 call read_data (control_block+1, memory_loc); 204 call gtss_update_safe_store_ (mcp); 205 call gtss_run_subsystem_$restor_perm (0, arg_list_ptr, fixed (entry_address, 18)); 206 ret: ; 207 return; 208 209 analyze_control_block: proc; 210 211 /* Place entry address and load origin in the Q register. */ 212 mc.regs.q = data_control_block.entry_address|| 213 data_control_block.load_origin; 214 215 /* Determine where to resume execution. */ 216 entry_address = data_control_block.entry_address; 217 if arg_list2.tra ^= "0"b 218 then entry_address = arg_list2.tra; 219 if entry_address >= gtss_ust.lsize.limit 220 then go to bad_arg; 221 222 /* Determine where in memory to put data being restored. */ 223 if arg_list2.program_0_at_loc 224 then load_origin = "0"b; 225 else do; 226 if data_control_block.load_origin > "0"b 227 then load_origin = data_control_block.load_origin; 228 else do; 229 temp = fixed (data_control_block.dcws (1).memory_loc, 18)-1024; 230 if temp < 0 then go to undefined; 231 load_origin = bit (fixed (temp, 18), 18); 232 end; 233 end; 234 memory_loc = fixed (load_origin, 18)+fixed (arg_list2.loc, 18); 235 236 /* Determine length of data block to be restored. */ 237 words_in_element = 0; 238 do i = 1 to hbound (data_control_block.dcws, 1); 239 240 /* Check for IONTP */ 241 if dcws (i).action_code = "011"b then do; 242 call gtss_abort_subsystem_ ( 243 mcp 244 , "gtss_drl_restor_" 245 , 4 /* Bad derail arg */ 246 , "Unimplemented function: IONTP DCW by DRL RESTOR at (^6o)" 247 , fixed (scu.ilc, 18) 248 ); 249 go to ret; 250 end; 251 252 if data_control_block.dcws (i).word_count = "0"b 253 then words_in_element = words_in_element + 4096; 254 else words_in_element = words_in_element + 255 fixed (data_control_block.dcws (i).word_count); 256 257 /* Check for IOTD. */ 258 if dcws (i).action_code = "000"b 259 then go to last_dcw; 260 261 /* Check for IOTP */ 262 if dcws (i).action_code ^= "001"b then do; 263 call gtss_abort_subsystem_ ( 264 mcp 265 , "gtss_drl_restor_" 266 , 3 267 , err3 /* Invalid DCW */ 268 , fixed (scu.ilc, 18) 269 ); 270 go to ret; 271 end; 272 end; 273 274 last_dcw: ; 275 mc.regs.a = 276 bit (fixed (words_in_element+fixed (load_origin, 18), 18), 18)|| 277 load_origin; 278 if words_in_element+memory_loc >= fixed (gtss_ust.lsize.limit) then 279 go to bad_arg; 280 end analyze_control_block; 281 282 check: proc (l1, l2); 283 284 /* This routine verifies that the range of addresses from l1 to l2 285* does not overlap the user's buffer */ 286 dcl (l1, l2) fixed bin (18) parm; 287 288 if l2 < fixed (arg_list2.bufloc) then return; 289 if l1 > fixed (arg_list2.bufloc) then return; 290 call gtss_abort_subsystem_ ( 291 mcp 292 , "gtss_drl_restor_" 293 , 4 294 , err4 /* Bad derail argument */ 295 , fixed (scu.ilc, 18) 296 ); 297 go to ret; 298 end check; 299 300 search_for_object: proc (next_catalog, control_block); 301 dcl next_catalog fixed bin (18) parm; 302 dcl control_block fixed bin (18) parm; 303 next_catalog = fixed (catalog_block.continue_catalog, 18); 304 do i = 1 to hbound (cat, 1); 305 if bcd_program_name = cat (i).bcd_name then do; 306 gtss_ext_$gdb_name = " "; 307 call gtss_bcd_ascii_$lc (addr (bcd_program_name), 6, addr (gtss_ext_$gdb_name)); 308 control_block = fixed (cat (i).initial_block, 18); 309 return; 310 end; 311 end; 312 end search_for_object; 313 314 /** Variables for gtss_drl_restor_: 315* IDENTIFIER ATTRIBUTES **/ 316 dcl addrel builtin; 317 dcl arg_list_ptr ptr init(null()); 318 dcl code fixed bin (35); 319 dcl control_block fixed bin (18); 320 dcl entry_address bit (18); 321 dcl fixed builtin; 322 dcl fn fixed bin (24); 323 dcl gseg ptr init(null()); 324 dcl last_catalog bit (1); 325 dcl load_origin bit (18); 326 dcl me char (32) int static options (constant) init ("gtss_drl_restor_"); 327 dcl name_list_ptr ptr init(null()); 328 dcl next_catalog fixed bin (18); 329 dcl prog_name char (4)aligned; 330 dcl status fixed bin (24); 331 dcl to_from char (17) int static options (constant) init ("read program from"); 332 1 1 /* BEGIN INCLUDE FILE gtss_restor_arg_list1.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 06/26/78 1308.1 mst Mon 1 4**/ 1 5 1 6 dcl 1 arg_list1 aligned based(arg_list_ptr) 1 7 , 2 ascii_program_name char(4) 1 8 , 2 loc bit(18)unal 1 9 , 2 loc_use bit(18)unal 1 10 , 2 tra bit(18)unal 1 11 , 2 restor_type bit(18)unal 1 12 ; 1 13 /* END INCLUDE FILE gtss_restor_arg_list1.incl.pl1 */ 333 334 335 dcl 1 arg_list2 aligned based (arg_list_ptr) 336 , 2 nameloc bit (18)unal 337 , 2 not_first_name bit (18)unal 338 , 2 loc bit (18)unal 339 , 2 program_0_at_loc bit (18)unal 340 , 2 tra bit (18)unal 341 , 2 bufloc bit (18)unal 342 ; 343 344 dcl 1 name_list aligned based (name_list_ptr) 345 , 2 ascii_file_name char (8) 346 , 2 bcd_program_name bit (36) 347 ; 348 2 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 2 2 /* 2 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 2 4* Modified: Ward 1981 add suspended_process dcl 2 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 2 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 2 7**/ 2 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 2 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 2 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 2 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 2 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 2 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 2 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 2 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 2 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 2 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 2 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 2 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 2 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 2 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 2 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 2 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 2 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 2 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 2 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 2 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 2 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 2 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 2 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 2 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 2 32 dcl gtss_ext_$suspended_process bit(1) ext static; 2 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 2 34 dcl gtss_ext_$user_id char (26)var ext; 2 35 dcl gtss_ext_$work_area_ptr ptr ext; 2 36 2 37 dcl 1 gtss_ext_$CFP_bits aligned static external 2 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 2 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 2 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 2 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 2 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 2 43 ; 2 44 2 45 dcl 1 gtss_ext_$com_reg aligned static ext, 2 46 3 tsdmx, 2 47 4 dst fixed bin (18) unsigned unaligned, 2 48 4 dit fixed bin (18) unsigned unaligned, 2 49 3 tsdpt fixed bin (36) unsigned unaligned, 2 50 3 tsddt fixed bin (36) unsigned unaligned, 2 51 3 tsdid bit (72) unaligned, 2 52 3 tsdsd bit (36) unaligned, 2 53 3 tsdst fixed bin (36) unsigned unaligned, 2 54 3 tsdjb fixed bin (35) unaligned, 2 55 3 tsdgt, 2 56 4 ust_loc fixed bin (18) unsigned unaligned, 2 57 4 gating_ctl fixed bin (18) unsigned unaligned, 2 58 3 tcdfr bit (36) unaligned; 2 59 2 60 dcl 1 gtss_ext_$flags aligned static ext 2 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 2 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 2 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 2 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 2 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 2 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 2 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 2 68 , 3 available bit (65) unal 2 69 ; 2 70 2 71 2 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 2 73 3 total_time (-10:71)fixed bin (71), 2 74 3 count (-10:71)fixed bin (17); 2 75 2 76 /* Declaration of Available File Table 2 77* */ 2 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 2 79 2 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 2 81 2 82 3 aft_entry (20), 2 83 4 altname char (8), /* altname name for attaching this file */ 2 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 2 85 4 previous_add fixed bin (24), /* Previously added entry. */ 2 86 4 next_add fixed bin (24), /* Entry added after this one. */ 2 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 2 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 2 89 2 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 2 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 2 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 2 93 2 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 2 95 /** Data structure to provide access to installed 2 96* subsystems fast library load. 2 97* **/ 2 98 dcl 1 gtss_ext_$fast_lib aligned ext 2 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 2 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 2 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 2 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 2 103 ; 2 104 2 105 /* Pointers to segments to regulate multipler 2 106* callers to files. Same segments are used to regulate 2 107* all simulator callers. 2 108**/ 2 109 dcl 1 gtss_ext_$mcfc aligned ext, 2 110 3 multics_lock_id bit(36), 2 111 3 wait_time fixed bin, 2 112 3 files_ptr ptr, 2 113 3 names_ptr ptr, 2 114 3 callers_ptr (0:3)ptr 2 115 ; 2 116 2 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 349 350 3 1 /* */ 3 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 3 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 3 4 /* Modified 07/07/76 by Morris for fault register data */ 3 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 3 6 /* Modified '82 to make values constant */ 3 7 3 8 /* words 0-15 pointer registers */ 3 9 3 10 dcl mcp ptr; 3 11 3 12 dcl 1 mc based (mcp) aligned, 3 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 3 14 (2 regs, /* registers */ 3 15 3 x (0:7) bit (18), /* index registers */ 3 16 3 a bit (36), /* accumulator */ 3 17 3 q bit (36), /* q-register */ 3 18 3 e bit (8), /* exponent */ 3 19 3 pad1 bit (28), 3 20 3 t bit (27), /* timer register */ 3 21 3 pad2 bit (6), 3 22 3 ralr bit (3), /* ring alarm register */ 3 23 3 24 2 scu (0:7) bit (36), 3 25 3 26 2 mask bit (72), /* mem controller mask at time of fault */ 3 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 3 28 2 errcode fixed bin (35), /* fault handler's error code */ 3 29 2 fim_temp, 3 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 3 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 3 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 3 33 2 fault_reg bit (36), /* fault register */ 3 34 2 pad2 bit (1), 3 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 3 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 3 37 2 fault_time bit (54), /* time of fault */ 3 38 3 39 2 eis_info (0:7) bit (36)) unaligned; 3 40 3 41 3 42 dcl (apx fixed bin init (0), 3 43 abx fixed bin init (1), 3 44 bpx fixed bin init (2), 3 45 bbx fixed bin init (3), 3 46 lpx fixed bin init (4), 3 47 lbx fixed bin init (5), 3 48 spx fixed bin init (6), 3 49 sbx fixed bin init (7)) internal static options (constant); 3 50 3 51 3 52 3 53 3 54 dcl scup ptr; 3 55 3 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 3 57 3 58 3 59 /* WORD (0) */ 3 60 3 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 3 62 3 prr bit (3), /* procedure ring register */ 3 63 3 psr bit (15), /* procedure segment register */ 3 64 3 p bit (1), /* procedure privileged bit */ 3 65 3 66 2 apu, /* APPENDING UNIT STATUS */ 3 67 3 xsf bit (1), /* ext seg flag - IT modification */ 3 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 3 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 3 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 3 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 3 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 3 73 3 dsptw bit (1), /* Fetch of DSPTW */ 3 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 3 75 3 sdwp bit (1), /* Fetch of SDW paged */ 3 76 3 ptw bit (1), /* Fetch of PTW */ 3 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 3 78 3 fap bit (1), /* Fetch of final address paged */ 3 79 3 fanp bit (1), /* Fetch of final address non-paged */ 3 80 3 fabs bit (1), /* Fetch of final address absolute */ 3 81 3 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 3 83 3 84 3 85 /* WORD (1) */ 3 86 3 87 2 fd, /* FAULT DATA */ 3 88 3 iro bit (1), /* illegal ring order */ 3 89 3 oeb bit (1), /* out of execute bracket */ 3 90 3 e_off bit (1), /* no execute */ 3 91 3 orb bit (1), /* out of read bracket */ 3 92 3 r_off bit (1), /* no read */ 3 93 3 owb bit (1), /* out of write bracket */ 3 94 3 w_off bit (1), /* no write */ 3 95 3 no_ga bit (1), /* not a gate */ 3 96 3 ocb bit (1), /* out of call bracket */ 3 97 3 ocall bit (1), /* outward call */ 3 98 3 boc bit (1), /* bad outward call */ 3 99 3 inret bit (1), /* inward return */ 3 100 3 crt bit (1), /* cross ring transfer */ 3 101 3 ralr bit (1), /* ring alarm register */ 3 102 3 am_er bit (1), /* associative memory fault */ 3 103 3 oosb bit (1), /* out of segment bounds */ 3 104 3 paru bit (1), /* processor parity upper */ 3 105 3 parl bit (1), /* processor parity lower */ 3 106 3 onc_1 bit (1), /* op not complete type 1 */ 3 107 3 onc_2 bit (1), /* op not complete type 2 */ 3 108 3 109 2 port_stat, /* PORT STATUS */ 3 110 3 ial bit (4), /* illegal action lines */ 3 111 3 iac bit (3), /* illegal action channel */ 3 112 3 con_chan bit (3), /* connect channel */ 3 113 3 114 2 fi_num bit (5), /* (fault/interrupt) number */ 3 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 3 116 3 117 3 118 /* WORD (2) */ 3 119 3 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 3 121 3 trr bit (3), /* temporary ring register */ 3 122 3 tsr bit (15), /* temporary segment register */ 3 123 3 124 2 pad2 bit (9), 3 125 3 126 2 cpu_no bit (3), /* CPU number */ 3 127 3 128 2 delta bit (6), /* tally modification DELTA */ 3 129 3 130 3 131 /* WORD (3) */ 3 132 3 133 2 word3 bit (18), 3 134 3 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 3 136 3 tsna, /* Word 1 status */ 3 137 4 prn bit (3), /* Word 1 PR number */ 3 138 4 prv bit (1), /* Word 1 PR valid bit */ 3 139 3 tsnb, /* Word 2 status */ 3 140 4 prn bit (3), /* Word 2 PR number */ 3 141 4 prv bit (1), /* Word 2 PR valid bit */ 3 142 3 tsnc, /* Word 3 status */ 3 143 4 prn bit (3), /* Word 3 PR number */ 3 144 4 prv bit (1), /* Word 3 PR valid bit */ 3 145 3 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 3 147 3 148 3 149 /* WORD (4) */ 3 150 3 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 3 152 3 153 2 ir, /* INDICATOR REGISTERS */ 3 154 3 zero bit (1), /* zero indicator */ 3 155 3 neg bit (1), /* negative indicator */ 3 156 3 carry bit (1), /* carryry indicator */ 3 157 3 ovfl bit (1), /* overflow indicator */ 3 158 3 eovf bit (1), /* eponent overflow */ 3 159 3 eufl bit (1), /* exponent underflow */ 3 160 3 oflm bit (1), /* overflow mask */ 3 161 3 tro bit (1), /* tally runout */ 3 162 3 par bit (1), /* parity error */ 3 163 3 parm bit (1), /* parity mask */ 3 164 3 bm bit (1), /* ^bar mode */ 3 165 3 tru bit (1), /* truncation mode */ 3 166 3 mif bit (1), /* multi-word instruction mode */ 3 167 3 abs bit (1), /* absolute mode */ 3 168 3 hex bit (1), /* hexadecimal exponent mode */ 3 169 3 pad bit (3), 3 170 3 171 3 172 /* WORD (5) */ 3 173 3 174 2 ca bit (18), /* COMPUTED ADDRESS */ 3 175 3 176 2 cu, /* CONTROL UNIT STATUS */ 3 177 3 rf bit (1), /* on first cycle of repeat instr */ 3 178 3 rpt bit (1), /* repeat instruction */ 3 179 3 rd bit (1), /* repeat double instruction */ 3 180 3 rl bit (1), /* repeat link instruciton */ 3 181 3 pot bit (1), /* IT modification */ 3 182 3 pon bit (1), /* return type instruction */ 3 183 3 xde bit (1), /* XDE from Even location */ 3 184 3 xdo bit (1), /* XDE from Odd location */ 3 185 3 poa bit (1), /* operation preparation */ 3 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 3 187 3 its bit (1), /* ITS modification */ 3 188 3 if bit (1), /* fault occured during instruction fetch */ 3 189 3 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 3 191 3 192 3 193 /* WORDS (6,7) */ 3 194 3 195 2 even_inst bit (36), /* even instruction of faulting pair */ 3 196 3 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 3 198 3 199 3 200 3 201 3 202 3 203 3 204 /* ALTERNATE SCU DECLARATION */ 3 205 3 206 3 207 dcl 1 scux based (scup) aligned, 3 208 3 209 (2 pad0 bit (36), 3 210 3 211 2 fd, /* GROUP II FAULT DATA */ 3 212 3 isn bit (1), /* illegal segment number */ 3 213 3 ioc bit (1), /* illegal op code */ 3 214 3 ia_am bit (1), /* illegal address - modifier */ 3 215 3 isp bit (1), /* illegal slave procedure */ 3 216 3 ipr bit (1), /* illegal procedure */ 3 217 3 nea bit (1), /* non existent address */ 3 218 3 oobb bit (1), /* out of bounds */ 3 219 3 pad bit (29), 3 220 3 221 2 pad2 bit (36), 3 222 3 223 2 pad3a bit (18), 3 224 3 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 3 226 3 prn bit (3), /* PR number */ 3 227 3 prv bit (1), /* PR valid bit */ 3 228 3 229 2 pad3b bit (6)) unaligned, 3 230 3 231 2 pad45 (0:1) bit (36), 3 232 3 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 3 234 3 235 3 236 3 237 /* END INCLUDE FILE mc.incl.pl1 */ 351 352 4 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 4 2 /* 4 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 4 4* Change: Dave Ward 06/08/78 made attributes constant. 4 5* Change: Dave Ward 08/17/81 made lengths same as constans. 4 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 4 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 4 8**/ 4 9 dcl 1 gtss_pnterr static int options (constant), 4 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 4 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 4 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 4 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 4 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 4 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 4 16 2 err7 char(50) init("007-BAP PROG. DESC."), 4 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 4 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 4 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 4 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 4 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 4 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 4 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 4 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 4 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 4 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 4 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 4 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 4 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 4 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 4 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 4 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 4 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 4 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 4 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 4 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 4 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 4 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 4 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 4 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 4 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 4 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 4 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 4 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 4 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 4 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 4 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 4 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 4 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 4 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 4 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 4 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 4 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 4 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 4 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 4 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 4 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 4 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 4 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 4 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 4 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 4 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 4 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 4 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 4 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 4 66 2 err57 char(50) init("UNASSIGNED"), 4 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 4 68 2 err59 char(50) init("UNASSIGNED"), 4 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 4 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 4 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 4 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 4 73 2 err64 char(50) init("SY** I/O ERROR"), 4 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 4 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 4 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 4 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 4 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 4 79 2 err999 char(50) init("dummy"); 4 80 4 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 353 5 1 /* BEGIN INCLUDE FILE gtss_prgdes_.incl.pl1 */ 5 2 /* 5 3* Created: Kepner 04/12/78 5 4* Modified: Ron Barstad 82-08-11 to change size of prgdes array for 4js3 5 5* Modified: Ron Barstad 83-05-19 change size of prgdes array for update 7 5 6**/ 5 7 5 8 /* 5 9* " This structure describes the timesharing subsystem program 5 10* " descriptors. 5 11* " 5 12* " Anywhere fixed bin(17) unal appears it should be noted that GCOS 5 13* " can potentially make use of all 18 bits and caution should be 5 14* " exercised. These items should be changed to fixed bin(18) 5 15* " usigned unal when this feature is added to the PL/I compiler. 5 16* " 5 17* " ss_name subsystem name 5 18* " 5 19* " program_size actual program size to be used in execution. 5 20* " 5 21* " load_size the size remaining when all leading and trailing zeros 5 22* " have been eliminated. This is used to reduce the size 5 23* " of the original copy of the program. 5 24* " 5 25* " entry_point address relative to zero that contains the first 5 26* " executable instruction. 5 27* " 5 28* " parameters flags defining attributes of the subsystem. The flag 5 29* " bits are defined below. Assume bits are numbered 1-18. 5 30* " 1 cache 5 31* " 2 .BSCF 5 32* " 3 special size request 5 33* " 4 drl t.exec permission. 5 34* " 5 drl t.cmov permission 5 35* " 6 special product offering. 5 36* " 7 high use program file, #p 5 37* " 8 special file switch (perm/temp) allowed. 5 38* " 9 ss not callable at system level. 5 39* " 10 subsystem allowed use of get-specific. 5 40* " 11 execute permission allowed for file i/o. 5 41* " 12 subsystem can read system master catalog. 5 42* " 13 basic or databasic 5 43* " 14 subsystem uses common command list. 5 44* " 15 low use subsystem (# q file) 5 45* " 16 subsystem must be patched when loaded. 5 46* " 17 master subsystem. 5 47* " 18 privileged subsystem. 5 48* " 5 49* " seek_address the word offset in the multisegment file 5 50* " component where the object code for this subsystem is 5 51* " stored. 5 52* " 5 53* " initial_load_address The address of the first nonzero word in 5 54* " the program. 5 55* " 5 56* " cmd_lang_offset The word offset into gtss_prgdes_ext_$primitives 5 57* " (suitable for use with addrel) of the command language 5 58* " list for this subsystem. 5 59* " 5 60* " cmd_lang_len Number of command names for this subsystem. 5 61* " 5 62* " statistics 5 63* " 5 64* " bci_catalog_name The GECALL name for the subsystem. 5 65* " 5 66* " library an integer which indicates which multisegment file 5 67* " contains the object code for this subsystem. 5 68* " 5 69* " component an integer which indicates which component of the 5 70* " multisegment file contains the object code for this 5 71* " subsystem. 5 72* " 5 73* " ss_name_len The number of nonblank characters in the subsystem 5 74* " name. 5 75**/ 5 76 5 77 dcl 1 gtss_prgdes_ext_$prgdes (302) aligned ext, 5 78 2 ss_name char (4) aligned, 5 79 2 program_size fixed bin (17) unal, 5 80 2 load_size fixed bin (17) unal, 5 81 2 entry_point fixed bin (17) unal, 5 82 2 parameters bit (18) unal, 5 83 2 seek_address bit(18) unal, 5 84 2 initial_load_address fixed bin (17) unal, 5 85 2 cmd_lang_offset fixed bin (17) unal, 5 86 2 cmd_lang_len fixed bin (17) unal, 5 87 2 statistics, 5 88 3 calls fixed bin (17) unal, 5 89 3 loads fixed bin (17) unal, 5 90 3 filler (3) bit (36) unal, 5 91 2 bci_catalog_name bit (36) aligned, 5 92 2 library fixed bin (17) unal, 5 93 2 component fixed bin (17) unal, 5 94 2 ss_name_len fixed bin (17) aligned; 5 95 5 96 5 97 5 98 /* This overlay structure is used to pass the user visible portion 5 99* of the program descriptor to the subsystem via DRL PRGDES. */ 5 100 dcl 1 prgdes_ov (302) aligned based (addr (gtss_prgdes_ext_$prgdes)), 5 101 2 first_9_words char (36), /* user visible portion */ 5 102 2 filler char (12); 5 103 5 104 /* END INCLUDE FILE gtss_prgdes_.incl.pl1 */ 354 355 6 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 6 2 /* UST: User Status Table 6 3* definitions based on 6 4* System Tables, Order number DD14-01E, January 1981 6 5* Section 15, Time Sharing System 6 6* 6 7* Authors: Robert J. Grimes Created 6 8* - Albert N. Kepner 1978 6 9* - Robert M. May 6 10* - David B. Ward 6 11* Change: Dave Ward 02/23/79 Level 4 numbering. 6 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 6 13* Brought up to 4JS3 functionality 6 14**/ 6 15 /* octal word offsets of entries */ 6 16 dcl 1 gtss_ust_ext_$ust aligned ext, 6 17 3 gtss_ust, 6 18 /* 0-1 */ 4 lid bit (72), 6 19 /* 2 */ 4 lstp bit (36), 6 20 /* 3 */ 4 ltin bit (36), 6 21 /* 4 */ 4 lstio, 6 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 6 23 5 no_of_disk_io fixed bin (18) uns unal, 6 24 /* 5 */ 4 lsnub bit (36), 6 25 /* 6-7 */ 4 lchg bit (72), 6 26 /* 10 */ 4 lbuf, 6 27 5 address bit (18)unaligned, 6 28 5 tally bit (1)unaligned, 6 29 5 terminal_type bit (5)unaligned, 6 30 5 station_id bit (12)unaligned, 6 31 /* 11-12 */ 4 liost (0:1) bit (36), 6 32 /* 13 */ 4 lcc bit (36), 6 33 /* 14 */ 4 lback, 6 34 5 fill1 bit (18) unaligned, 6 35 5 gwake fixed bin (17) unaligned, 6 36 /* 15 */ 4 lflag, 6 37 5 mp_list bit (18) unaligned, 6 38 5 flags unaligned, 6 39 6 b18 bit (1) unaligned, 6 40 6 b19 bit (1) unaligned, 6 41 6 b20 bit (1) unaligned, 6 42 6 b21 bit (1) unaligned, 6 43 6 b22 bit (1) unaligned, 6 44 6 b23 bit (1) unaligned, 6 45 6 b24 bit (1) unaligned, 6 46 6 b25 bit (1) unaligned, 6 47 6 b26 bit (1) unaligned, 6 48 6 b27 bit (1) unaligned, 6 49 6 b28 bit (1) unaligned, 6 50 6 b29 bit (1) unaligned, 6 51 6 b30 bit (1) unaligned, 6 52 6 b31 bit (1) unaligned, 6 53 6 b32 bit (1) unaligned, 6 54 6 b33 bit (1) unaligned, 6 55 6 b34 bit (1) unaligned, 6 56 6 b35 bit (1) unaligned, 6 57 /* 16 */ 4 lkdss bit (36), 6 58 /* 17 */ 4 lfile, 6 59 5 program_stack fixed bin (17) unal, 6 60 5 file_list_ptr bit (18) unal, 6 61 /* 20 */ 4 lttys bit (36), 6 62 /* 21 */ 4 lswth, 6 63 5 b0 bit (1) unaligned, 6 64 5 b1 bit (1) unaligned, 6 65 5 b2 bit (1) unaligned, 6 66 5 b3 bit (1) unaligned, 6 67 5 b4 bit (1) unaligned, 6 68 5 b5 bit (1) unaligned, 6 69 5 b6 bit (1) unaligned, 6 70 5 b7 bit (1) unaligned, 6 71 5 b8 bit (1) unaligned, 6 72 5 b9 bit (1) unaligned, 6 73 5 b10 bit (1) unaligned, 6 74 5 b11 bit (1) unaligned, 6 75 5 b12 bit (1) unaligned, 6 76 5 b13 bit (1) unaligned, 6 77 5 b14 bit (1) unaligned, 6 78 5 b15 bit (1) unaligned, 6 79 5 b16 bit (1) unaligned, 6 80 5 b17 bit (1) unaligned, 6 81 5 b18 bit (1) unaligned, 6 82 5 b19 bit (1) unaligned, 6 83 5 b20 bit (1) unaligned, 6 84 5 b21 bit (1) unaligned, 6 85 5 b22 bit (1) unaligned, 6 86 5 b23 bit (1) unaligned, 6 87 5 b24 bit (1) unaligned, 6 88 5 b25 bit (1) unaligned, 6 89 5 b26 bit (1) unaligned, 6 90 5 b27 bit (1) unaligned, 6 91 5 b28 bit (1) unaligned, 6 92 5 b29 bit (1) unaligned, 6 93 5 b30 bit (1) unaligned, 6 94 5 b31 bit (1) unaligned, 6 95 5 b32 bit (1) unaligned, 6 96 5 b33 bit (1) unaligned, 6 97 5 b34 bit (1) unaligned, 6 98 5 b35 bit (1) unaligned, 6 99 /* 22 */ 4 lsize, 6 100 5 bar fixed bin (17) unaligned, 6 101 5 limit bit (18) unaligned, 6 102 /* 23... */ 4 lswap, 6 103 5 fill bit (18) unal, 6 104 5 size bit (18) unal, 6 105 /* ...24 */ 4 transfer_cell bit (36) unal, 6 106 /* 25 */ 4 lerrm bit (36), 6 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 6 108 /* 40 */ 4 lsybc, 6 109 5 b0_17 fixed bin (17) unaligned, 6 110 5 b18_35 fixed bin (17) unaligned, 6 111 /* 41-42 */ 4 lstem (0:1) bit (36), 6 112 /* 43 */ 4 lcals, 6 113 5 b0_17 fixed bin (17) unaligned, 6 114 5 b18_35 bit (18) unaligned, 6 115 /* 44-51 */ 4 subsystems (3), 6 116 5 content_lswap, 6 117 6 fill bit (18) unal, 6 118 6 size bit (18) unal, 6 119 5 tally_address fixed bin (17) unaligned, 6 120 5 ss_flags bit (18) unaligned, 6 121 /* 52 */ 4 ltalc, 6 122 5 tod fixed bin (17) unaligned, 6 123 5 startup fixed bin (17) unaligned, 6 124 /* 53 */ 4 lspts fixed bin (35), 6 125 /* 54 */ 4 lflg2, 6 126 5 b0 bit (1) unaligned, 6 127 5 b1 bit (1) unaligned, 6 128 5 b2 bit (1) unaligned, 6 129 5 b3 bit (1) unaligned, 6 130 5 b4 bit (1) unaligned, 6 131 5 b5 bit (1) unaligned, 6 132 5 b6 bit (1) unaligned, 6 133 5 b7 bit (1) unaligned, 6 134 5 b8 bit (1) unaligned, 6 135 5 b9 bit (1) unaligned, 6 136 5 b10 bit (1) unaligned, 6 137 5 b11 bit (1) unaligned, 6 138 5 b12 bit (1) unaligned, 6 139 5 b13 bit (1) unaligned, 6 140 5 b14 bit (1) unaligned, 6 141 5 b15 bit (1) unaligned, 6 142 5 b16 bit (1) unaligned, 6 143 5 b17 bit (1) unaligned, 6 144 5 b18 bit (1) unaligned, 6 145 5 b19 bit (1) unaligned, 6 146 5 b20 bit (1) unaligned, 6 147 5 b21 bit (1) unaligned, 6 148 5 b22 bit (1) unaligned, 6 149 5 b23 bit (1) unaligned, 6 150 5 b24 bit (1) unaligned, 6 151 5 b25 bit (1) unaligned, 6 152 5 b26 bit (1) unaligned, 6 153 5 b27 bit (1) unaligned, 6 154 5 b28 bit (1) unaligned, 6 155 5 b29 bit (1) unaligned, 6 156 5 b30 bit (1) unaligned, 6 157 5 b31 bit (1) unaligned, 6 158 5 b32 bit (1) unaligned, 6 159 5 b33 bit (1) unaligned, 6 160 5 b34 bit (1) unaligned, 6 161 5 b35 bit (1) unaligned, 6 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 6 163 /* 61 */ 4 lsprt fixed bin (35), 6 164 /* 62 */ 4 ltrm bit (36), 6 165 /* 63 */ 4 linno fixed bin (35), 6 166 /* 64 */ 4 lincr fixed bin (35), 6 167 /* 65 */ 4 ltdes bit (36), 6 168 /* 66 */ 4 lbptr bit (36), 6 169 /* 67 */ 4 lpptr, 6 170 5 last_file_pat_ptr bin (18) uns unal, 6 171 5 lpptr_reserved bin (18) uns unal, 6 172 /* 70 */ 4 lsclp bit (36), 6 173 /* 71 */ 4 limit fixed bin (35), 6 174 /* 72 */ 4 lacpt, 6 175 5 jout_pat_offset bit (18) unal, 6 176 5 permissions unal, 6 177 6 lodx bit (1) unal, 6 178 6 cardin bit (1) unal, 6 179 6 talk bit (1) unal, 6 180 6 lods bit (1) unal, 6 181 5 cardin_urgency bit (14) unal, 6 182 /* 73 */ 4 ldrl, 6 183 5 ilc bit (18) unaligned, 6 184 5 code fixed bin (17) unaligned, 6 185 /* 74 */ 4 ljsnb bit (36), 6 186 /* 75 */ 4 ltm0 bit (36), 6 187 /* 76 */ 4 ltm1 bit (36), 6 188 /* 77 */ 4 ltm2 bit (36), 6 189 /* 100 */ 4 ltm3 bit (36), 6 190 /* 101 */ 4 ltm4 bit (36), 6 191 /* 102 */ 4 ltm5 bit (36), 6 192 /* 103 */ 4 ltmwt bit (36), 6 193 /* 104 */ 4 ltmrs bit (36), 6 194 /* 105 */ 4 ltc0 bit (36), 6 195 /* 106 */ 4 ltc1 bit (36), 6 196 /* 107 */ 4 ltc2 bit (36), 6 197 /* 110 */ 4 lct3 bit (36), 6 198 /* 111 */ 4 ltc4 bit (36), 6 199 /* 112 */ 4 ltc5 bit (36), 6 200 /* 113 */ 4 ltcw bit (36), 6 201 /* 114 */ 4 lkst bit (36), 6 202 /* 115 */ 4 lkst2 bit (36), 6 203 /* 116 */ 4 lkcc bit (36), 6 204 /* 117 */ 4 lkms bit (36), 6 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 6 206 /* 122 */ 4 lkntp bit (36), 6 207 /* 123 */ 4 lkrdc bit (36), 6 208 /* 124 */ 4 lpqf bit (36), 6 209 /* 125 */ 4 lpqb bit (36), 6 210 /* 126 */ 4 lustl bit (36), 6 211 /* 127 */ 4 ltemp bit (36), 6 212 /* 130 */ 4 lrtll, 6 213 5 word_length fixed bin unaligned, 6 214 5 char_length fixed bin unaligned, 6 215 /* 131 */ 4 ltim bit (36), 6 216 /* 132 */ 4 lcfio, 6 217 5 sect_out fixed bin(18)unsigned unal, 6 218 5 sect_in fixed bin(18)unsigned unal, 6 219 /* 133 */ 4 lcfst, 6 220 5 initial_sect_out fixed bin(18)unsigned unal, 6 221 5 start_term fixed bin(18)unsigned unal, 6 222 /* 134 */ 4 lcmpt bit (36), 6 223 /* 135 */ 4 lcjid bit (36), 6 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 6 225 /* 140 */ 4 lrdta bit (36), 6 226 /* 141 */ 4 lrrsk bit (36), 6 227 /* 142 */ 4 lrskd bit (36), 6 228 /* 143 */ 4 lrcc bit (36), 6 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 6 230 /* 146 */ 4 lrtm bit (36), 6 231 /* 147 */ 4 lswt2, 6 232 5 b0 bit (1) unaligned, 6 233 5 b1 bit (1) unaligned, 6 234 5 b2 bit (1) unaligned, 6 235 5 b3 bit (1) unaligned, 6 236 5 b4 bit (1) unaligned, 6 237 5 b5 bit (1) unaligned, 6 238 5 b6 bit (1) unaligned, 6 239 5 b7 bit (1) unaligned, 6 240 5 b8 bit (1) unaligned, 6 241 5 b9 bit (1) unaligned, 6 242 5 b10 bit (1) unaligned, 6 243 5 b11 bit (1) unaligned, 6 244 5 b12 bit (1) unaligned, 6 245 5 b13 bit (1) unaligned, 6 246 5 b14 bit (1) unaligned, 6 247 5 b15 bit (1) unaligned, 6 248 5 b16 bit (1) unaligned, 6 249 5 b17 bit (1) unaligned, 6 250 5 b18 bit (1) unaligned, 6 251 5 b19 bit (1) unaligned, 6 252 5 b20 bit (1) unaligned, 6 253 5 b21 bit (1) unaligned, 6 254 5 b22 bit (1) unaligned, 6 255 5 b23 bit (1) unaligned, 6 256 5 b24 bit (1) unaligned, 6 257 5 b25 bit (1) unaligned, 6 258 5 b26 bit (1) unaligned, 6 259 5 b27 bit (1) unaligned, 6 260 5 b28 bit (1) unaligned, 6 261 5 b29 bit (1) unaligned, 6 262 5 b30 bit (1) unaligned, 6 263 5 b31 bit (1) unaligned, 6 264 5 b32 bit (1) unaligned, 6 265 5 b33 bit (1) unaligned, 6 266 5 b34 bit (1) unaligned, 6 267 5 b35 bit (1) unaligned, 6 268 /* 150 */ 4 llsnb bit (36), 6 269 /* 151 */ 4 lesq bit (36), 6 270 /* 152-153 */ 4 lumc (0:1) bit (36), 6 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 6 272 /* 156 */ 4 lopts bit (36), 6 273 /* 157 */ 4 licec, 6 274 5 b0_17 bit (18) unaligned, 6 275 5 b18_35 fixed bin (17) unaligned, 6 276 /* 160 */ 4 lflg3, 6 277 5 b0 bit (1) unaligned, 6 278 5 b1 bit (1) unaligned, 6 279 5 b2 bit (1) unaligned, 6 280 5 b3 bit (1) unaligned, 6 281 5 b4 bit (1) unaligned, 6 282 5 b5 bit (1) unaligned, 6 283 5 b6 bit (1) unaligned, 6 284 5 b7 bit (1) unaligned, 6 285 5 b8 bit (1) unaligned, 6 286 5 b9 bit (1) unaligned, 6 287 5 b10 bit (1) unaligned, 6 288 5 b11 bit (1) unaligned, 6 289 5 b12 bit (1) unaligned, 6 290 5 b13 bit (1) unaligned, 6 291 5 b14 bit (1) unaligned, 6 292 5 b15 bit (1) unaligned, 6 293 5 b16 bit (1) unaligned, 6 294 5 b17 bit (1) unaligned, 6 295 5 b18 bit (1) unaligned, 6 296 5 b19 bit (1) unaligned, 6 297 5 b20 bit (1) unaligned, 6 298 5 b21 bit (1) unaligned, 6 299 5 b22 bit (1) unaligned, 6 300 5 b23 bit (1) unaligned, 6 301 5 b24 bit (1) unaligned, 6 302 5 b25 bit (1) unaligned, 6 303 5 b26 bit (1) unaligned, 6 304 5 b27 bit (1) unaligned, 6 305 5 b28 bit (1) unaligned, 6 306 5 b29 bit (1) unaligned, 6 307 5 b30 bit (1) unaligned, 6 308 5 b31 bit (1) unaligned, 6 309 5 b32 bit (1) unaligned, 6 310 5 b33 bit (1) unaligned, 6 311 5 b34 bit (1) unaligned, 6 312 5 b35 bit (1) unaligned, 6 313 /* 161-163 */ 4 lpage (0:2) bit (36), 6 314 /* 164 */ 4 lsit1 bit (36), 6 315 /* 165 */ 4 lsit2 bit (36), 6 316 /* 166 */ 4 lsit3 bit (36), 6 317 /* 167 */ 4 lsit4 bit (36), 6 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 6 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 6 320 5 b0_17 fixed bin (17) unaligned, 6 321 5 b18_35 bit (18) unaligned, /* not used */ 6 322 /* 171-175 */ 4 lprgs (5), 6 323 5 b0_17 fixed bin (17) unaligned, 6 324 5 b18_35 fixed bin (17) unaligned, 6 325 /* 176 */ 4 fill bit (36), 6 326 /* 177 */ 4 remote_io_buffer aligned, 6 327 5 buffer_control_word, 6 328 6 current_line_pointer bit (18)unal, 6 329 6 buffer_threshold_address bit (18)unal, 6 330 5 number_words_transmitted fixed bin (17)unal, 6 331 5 FILL1 fixed bin (17)unal, 6 332 5 count_of_characters_transmitted fixed bin (17)unal, 6 333 5 FILL2 fixed bin (17)unal, 6 334 5 characters_transmitted (244) char (1) unal, 6 335 /* 277 */ 4 word_after_ust bit (36) aligned; 6 336 6 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 356 357 7 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 7 2 /* 7 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 7 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 7 5**/ 7 6 7 7 /** gtss external entry variables. **/ 7 8 dcl com_err_ entry() options(variable); 7 9 dcl gtss_CFP_abort_ entry options(variable); 7 10 dcl gtss_CFP_break_ entry options(variable); 7 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 7 13 dcl gtss_abandon_CFP_ entry options(variable); 7 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 7 15 dcl gtss_abort_subsystem_ entry options (variable); 7 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 7 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 7 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 7 19 dcl gtss_abs_$abs_equiv entry options(variable); 7 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 7 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 7 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 7 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 7 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 7 25 dcl gtss_adjust_size_ entry (ptr); 7 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 7 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 7 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 7 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 7 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 7 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 7 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 7 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 7 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 7 35 dcl gtss_break_vector_ entry (); 7 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 7 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 7 38 dcl gtss_build_ entry options(variable); 7 39 dcl gtss_com_err_ entry options(variable); 7 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 7 41 dcl gtss_derail_processor_$set entry options(variable); 7 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 7 43 dcl gtss_dq_$create entry (bit(1)); 7 44 dcl gtss_dq_$dibp entry (char(5), ptr); 7 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 7 46 dcl gtss_dq_$hdrp entry (ptr); 7 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 7 48 dcl gtss_dq_$open_exc entry (bit(1)); 7 49 dcl gtss_dq_$open_gen entry (bit(1)); 7 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 7 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 7 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 7 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 7 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 7 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 7 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 7 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 7 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 7 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 7 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 7 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 7 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 7 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 7 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 7 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 7 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 7 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 7 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 7 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 7 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 7 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 7 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 7 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 7 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 7 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 7 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 7 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 7 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 7 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 7 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 7 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 7 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 7 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 7 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 7 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 7 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 7 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 7 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 7 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 7 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 7 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 7 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 7 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 7 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 7 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 7 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 7 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 7 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 7 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 7 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 7 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 7 102 dcl gtss_drun_ entry (bit(1)); 7 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 7 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 7 106 dcl gtss_mcfc_empty entry (char(*) var); 7 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 7 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 7 109 dcl gtss_fault_processor_ entry options(variable); 7 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 7 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 7 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 7 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 7 125 dcl gtss_mcfc_init_ entry (char(*) var); 7 126 dcl gtss_interp_prim_ entry options(variable); 7 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 7 128 dcl gtss_interp_prim_$sysret entry options(variable); 7 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 7 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 7 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 7 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 7 133 dcl gtss_ios_initialize_ entry options(variable); 7 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 7 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 7 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 7 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 7 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 7 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 7 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 7 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 7 143 dcl gtss_run_subsystem_$finish entry options(variable); 7 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 7 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 7 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 7 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 7 148 dcl gtss_update_safe_store_ entry (ptr); 7 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 7 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 7 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 7 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 358 359 8 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 8 2 /* 8 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 8 4**/ 8 5 8 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 8 7 8 8 3 gtss_disk, 8 9 4 dir_name char (168) unal, /* containing directory for file */ 8 10 4 entry_name char (32) unal, /* entry name for file */ 8 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 8 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 8 13* component which has been accessed has a corresponding 8 14* initialized pointer. Currently 500 components 8 15* are supported. */ 8 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 8 17 4 indicators aligned, /* one word of flags */ 8 18 8 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 8 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 8 21 5 fill bit (34) unal, 8 22 8 23 4 permissions aligned, 8 24 5 read bit (1) unaligned, /* 1=read permission */ 8 25 5 execute bit (1) unaligned, /* 1=execute permission */ 8 26 5 write bit (1) unaligned, /* 1=write permission */ 8 27 5 fill2 bit (33) unaligned, /* unused at this time */ 8 28 8 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 8 30 4 component fixed bin, /* current component value (first component = 0) */ 8 31 4 offset fixed bin (24), /* current word offset in the component */ 8 32 4 file_position fixed bin (30), /* current file position in words */ 8 33 4 file_size fixed bin (30), /* size of file in words */ 8 34 4 no_components fixed bin (24), /* number of components for a msf */ 8 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 8 36* for this file. (See gtss_file_attributes.incl.pl1) */ 8 37 8 38 4 pat_body, 8 39 8 40 5 word_0, 8 41 6 defective bit (1) unal, /* 1 = file has defective space */ 8 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 8 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 8 44 6 sct bit (12) unal, /* address of SCT for device on which 8 45* file begins or if cataloged, 8 46* for device with file catalog entry */ 8 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 8 48 8 49 5 word_1, 8 50 6 io_time fixed bin (35), /* I/O time for this file */ 8 51 8 52 5 word_2, 8 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 8 54 6 hash_code bit (5) unal, /* hash code of user name under which 8 55* file is cataloged */ 8 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 8 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 8 58 6 random bit (1) unal, /* 1 = access to file is random */ 8 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 8 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 8 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 8 62 6 disposition bit (2) unal, /* Abort disposition code 8 63* 00 = Release 8 64* 01 = Dismount 8 65* 10 = Save 8 66* 11 = Continue */ 8 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 8 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 8 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 8 70* attempted to part of file marked defective (only 8 71* for procted allocation) */ 8 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 8 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 8 74* (on device with SCT referenced in word 0). If 8 75* cataloged file that is proctected (bit 0 ON in this 8 76* word), memory location of table in File Management 8 77* Supervisor Executive. If user temporary file, 8 78* largest size file has ever attained, in llinks. 8 79* If system value equals 777777 octal, it is system 8 80* file created by System Input. */ 8 81 8 82 5 word_3, 8 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 8 84* 0-13 = 0, File size is greater than 16,383 llinks, 8 85* and if the file is cataloged, call to .MFS19,5 with 8 86* offset to PAT pointer in index 5 will cause bits 8 87* 14-35 of Q-register to be set to file size. (Unless 8 88* there is a Seek error on file catalog in which case 8 89* zero is returned. ) 8 90* */ 8 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 8 92* in memory. */ 8 93 8 94 5 word_4, 8 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 8 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 8 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 8 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 8 99* descriptor) */ 8 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 8 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 360 361 9 1 /* BEGIN INCLUDE FILE gtss_device_cmds.incl.pl1 */ 9 2 /* 9 3* Created: (Wardd Multics) 07/08/78 1503.0 mst Sat 9 4**/ 9 5 dcl read_cmd bit(6)static int options(constant)init("25"b3); 9 6 dcl seek_cmd bit(6)static int options(constant)init("34"b3); 9 7 dcl write_cmd bit(6)static int options(constant)init("31"b3); 9 8 /* END INCLUDE FILE gtss_device_cmds.incl.pl1 */ 362 363 10 1 /* BEGIN INCLUDE FILE gtss_hstar.incl.pl1 */ 10 2 /* 10 3* Created: (Kepner Multics) 10/12/78 1500.3 mst Thu 10 4**/ 10 5 /* This include file contains data structures, variables, 10 6*and routines used in common between gtss_drl_drlsav_ and 10 7*gtss_drl_restor_ for reading and writing H* files. */ 10 8 dcl 1 catalog_block aligned based (buffer_ptr), 10 9 2 blk_num fixed bin (17) unal, 10 10 2 continue_catalog bit (18) unal, 10 11 2 fill2 bit (36), 10 12 2 cat (15), 10 13 3 bcd_name bit (36), 10 14 3 element_size bit (18) unal, /* Size in 64 word blocks */ 10 15 3 initial_block bit (18) unal, 10 16 3 fill3 bit (72), 10 17 2 fill4 bit (36), 10 18 2 checksum bit (36); 10 19 10 20 dcl 1 available_space_block aligned based (buffer_ptr), 10 21 2 fill1 bit (36), 10 22 2 blocks_used bit (18) unal, 10 23 2 blocks_remaining bit (18)unal, 10 24 2 fill2 (61) bit (36), 10 25 2 checksum bit (36); 10 26 10 27 dcl 1 data_control_block aligned based (buffer_ptr), 10 28 2 data_checksum bit (36), 10 29 2 fill1 bit (36), 10 30 2 control_block_checksum bit (36), 10 31 2 bcd_name bit (36), 10 32 2 entry_address bit (18) unal, 10 33 2 load_origin bit (18) unal, 10 34 2 fill2 bit (18) unal, 10 35 2 number_of_data_blocks bit (18) unal, 10 36 2 dcws (58), 10 37 3 memory_loc bit (18)unal, 10 38 3 zeros_3 bit (03)unal, 10 39 3 action_code bit (03)unal, 10 40 3 word_count bit (12) unal; 10 41 10 42 dcl buffer_ptr ptr init(null()); 10 43 dcl element_name bit (36); 10 44 dcl file_size_in_blocks fixed bin (18); 10 45 dcl i fixed bin (24); 10 46 dcl max_for_18_bits fixed bin (18) static int options (constant) init (256*1024-1); 10 47 dcl memory_loc fixed bin (18); 10 48 dcl temp fixed bin (24); 10 49 dcl words_in_element fixed bin (18); 10 50 dcl words_remaining fixed bin (18); 10 51 10 52 write_data: proc (sector,memory_location); 10 53 dcl memory_location fixed bin(18) parm; 10 54 dcl sector fixed bin (18) parm; 10 55 OP2.Device_Command = write_cmd; 10 56 go to data_dcws; 10 57 10 58 read_data: entry(sector,memory_location); 10 59 OP2.Device_Command = read_cmd; 10 60 10 61 10 62 data_dcws:; 10 63 memory_loc = memory_location; 10 64 words_remaining = words_in_element; 10 65 do i = 1 to hbound (DCW, 1); 10 66 if words_remaining < 4097 then go to last_dcw; 10 67 DCW (i).memory_loc = bit (memory_loc, 18); 10 68 DCW (i).action_code = "001"b; /* IOTP */ 10 69 DCW (i).word_count = "0000"b3; /* 10000 octal = 4096 words indicated by all zeros in dcw count */ 10 70 memory_loc = memory_loc + 4096; 10 71 words_remaining = words_remaining - 4096; 10 72 end; 10 73 10 74 last_dcw: ; 10 75 DCW (i).memory_loc = bit (memory_loc, 18); 10 76 DCW (i).action_code = "000"b; /* IOTD */ 10 77 DCW (i).word_count = bit (fixed (words_remaining, 12), 12); 10 78 go to common; 10 79 10 80 write_buffer: entry (sector,memory_location); 10 81 OP2.Device_Command = write_cmd; 10 82 go to buffer_dcw; 10 83 10 84 read_buffer: entry (sector,memory_location); 10 85 OP2.Device_Command = read_cmd; 10 86 10 87 buffer_dcw: ; 10 88 DCW (1).memory_loc = bit(memory_location,18); 10 89 DCW (1).action_code = "000"b; /* IOTD */ 10 90 DCW (1).word_count = "0100"b3; /* 100 octal = 64 = block_size */ 10 91 10 92 common: ; 10 93 Seek_Address = sector; 10 94 call gtss_ios_io_ ( 10 95 fn, 10 96 addr (select_sequence), 10 97 gseg, 10 98 fixed (gtss_ust.lsize.limit, 18), 10 99 status, 10 100 code); 10 101 if status ^= 0 then do; 10 102 call gtss_abort_subsystem_( 10 103 mcp, 10 104 me, 10 105 4, /* Bad derail argument */ 10 106 "At (^6o) Unable to write program to file ""^a"". gtss_ios_ status = ^i", 10 107 fixed (scu.ilc, 18), 10 108 to_from, 10 109 ascii_file_name); 10 110 go to ret; 10 111 end; 10 112 end write_data; 10 113 /* END INCLUDE FILE gtss_hstar.incl.pl1 */ 364 365 11 1 /* BEGIN INCLUDE FILE gtss_save_restore_data_.incl.pl1 */ 11 2 /* 11 3* Created: (Kepner Multics) 10/07/78 1634.3 mst Sat 11 4**/ 11 5 11 6 11 7 /** data structure used for file I/O by 11 8* gtss_drl_drlsav_ and gtss_drl_restor_. **/ 11 9 11 10 dcl 1 gtss_save_restore_data_$IO aligned static ext 11 11 , 3 select_sequence 11 12 , 4 OP1 /* Seek operation. */ 11 13 , 5 Device_Command bit(06)unal 11 14 , 5 zeroes_1 bit(12)unal 11 15 , 5 IOC_Command bit(05)unal 11 16 , 5 zeroes_2 bit(01)unal 11 17 , 5 Control bit(06)unal 11 18 , 5 Count bit(06)unal 11 19 11 20 , 4 ID1 11 21 , 5 fcb_loc bit(18)unal 11 22 , 5 DCW_list_loc bit(18)unal 11 23 11 24 , 4 OP2 /* Read or Write opteration. */ 11 25 , 5 Device_Command bit(06)unal 11 26 , 5 zeroes_1 bit(12)unal 11 27 , 5 IOC_Command bit(05)unal 11 28 , 5 zeroes_2 bit(01)unal 11 29 , 5 Control bit(06)unal 11 30 , 5 Count bit(06)unal 11 31 11 32 , 4 ID2 11 33 , 5 fcb_loc bit(18)unal 11 34 , 5 DCW_list_loc bit(18)unal 11 35 11 36 , 4 RETURN_WORD 11 37 , 5 Status_loc bit(18)unal 11 38 , 5 Courtesy_Call_loc bit(18)unal 11 39 11 40 , 3 Seek_Word 11 41 , 4 Seek_loc bit(18)unal 11 42 , 4 Seek_count fixed bin(17)unal 11 43 , 3 Seek_Address fixed bin(35) 11 44 , 3 STATUS bit(72) 11 45 11 46 , 3 DCW (64) 11 47 , 4 memory_loc bit(18)unal 11 48 , 4 zeroes_3 bit(03)unal 11 49 , 4 action_code bit(03)unal 11 50 , 4 word_count bit(12)unal 11 51 ; 11 52 /* END INCLUDE FILE gtss_save_restore_data_.incl.pl1 */ 366 367 end /* gtss_drl_restor_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1043.3 gtss_drl_restor_.pl1 >spec>on>7105>gtss_drl_restor_.pl1 333 1 09/09/83 1714.1 gtss_restor_arg_list1.incl.pl1 >ldd>include>gtss_restor_arg_list1.incl.pl1 349 2 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 351 3 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 353 4 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 354 5 09/09/83 1714.0 gtss_prgdes_.incl.pl1 >ldd>include>gtss_prgdes_.incl.pl1 356 6 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 358 7 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 360 8 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 362 9 09/09/83 1713.7 gtss_device_cmds.incl.pl1 >ldd>include>gtss_device_cmds.incl.pl1 364 10 09/09/83 1713.3 gtss_hstar.incl.pl1 >ldd>include>gtss_hstar.incl.pl1 366 11 09/09/83 1714.2 gtss_save_restore_data_.incl.pl1 >ldd>include>gtss_save_restore_data_.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. DCW 11 000044 external static structure array level 2 dcl 11-10 set ref 10-65 Device_Command 2 000044 external static bit(6) level 4 packed unaligned dcl 11-10 set ref 10-55* 10-59* 10-81* 10-85* OP2 2 000044 external static structure level 3 dcl 11-10 Seek_Address 6 000044 external static fixed bin(35,0) level 2 dcl 11-10 set ref 10-93* a 24 based bit(36) level 3 packed unaligned dcl 3-12 set ref 275* action_code 6(21) based bit(3) array level 3 in structure "data_control_block" packed unaligned dcl 10-27 in procedure "gtss_drl_restor_" ref 241 258 262 action_code 11(21) 000044 external static bit(3) array level 3 in structure "gtss_save_restore_data_$IO" packed unaligned dcl 11-10 in procedure "gtss_drl_restor_" set ref 10-68* 10-76* 10-89* addrel builtin function dcl 316 ref 56 111 160 arg_list1 based structure level 1 dcl 1-6 arg_list2 based structure level 1 dcl 335 arg_list_ptr 000100 automatic pointer initial dcl 317 set ref 56* 61 68 71* 100 100 111 148 148 160 163 163 163 172 177 177 201 201 205* 217 217 223 234 288 289 317* ascii_file_name based char(8) level 2 dcl 344 set ref 114 116* 136* 10-102* ascii_program_name based char(4) level 2 dcl 1-6 ref 68 bcd_name 2 based bit(36) array level 3 dcl 10-8 ref 305 bcd_program_name 2 based bit(36) level 2 dcl 344 set ref 186 186 305 307 307 buffer_ptr 000124 automatic pointer initial dcl 10-42 set ref 160* 10-42* 212 212 216 226 226 229 238 241 252 254 258 262 303 304 305 308 bufloc 2(18) based bit(18) level 2 packed unaligned dcl 335 ref 148 148 160 177 177 201 201 288 289 cat 2 based structure array level 2 dcl 10-8 ref 304 catalog_block based structure level 1 dcl 10-8 code 000102 automatic fixed bin(35,0) dcl 318 set ref 114* 115 10-94* com_err_ 000022 constant entry external dcl 7-8 ref 83 continue_catalog 0(18) based bit(18) level 2 packed unaligned dcl 10-8 ref 303 control_block 000103 automatic fixed bin(18,0) dcl 319 in procedure "gtss_drl_restor_" set ref 175* 178* 179 197* 200 201* 203 control_block parameter fixed bin(18,0) dcl 302 in procedure "search_for_object" set ref 300 308* data_control_block based structure level 1 dcl 10-27 dcws 6 based structure array level 2 dcl 10-27 ref 238 entry_address 4 based bit(18) level 2 in structure "data_control_block" packed unaligned dcl 10-27 in procedure "gtss_drl_restor_" ref 212 216 entry_address 000104 automatic bit(18) unaligned dcl 320 in procedure "gtss_drl_restor_" set ref 205 205 216* 217* 219 err3 31 000000 constant char(50) initial level 2 packed unaligned dcl 4-9 set ref 263* err4 45(18) 000000 constant char(50) initial level 2 packed unaligned dcl 4-9 set ref 151* 290* err47 1077 000000 constant char(50) initial level 2 packed unaligned dcl 4-9 set ref 187* err51 1161 000000 constant char(50) initial level 2 packed unaligned dcl 4-9 set ref 136* file_size 76 000042 external static fixed bin(30,0) array level 3 dcl 8-6 ref 126 file_size_in_blocks 000126 automatic fixed bin(18,0) dcl 10-44 set ref 127* 129* 181 200 fixed builtin function dcl 321 ref 56 72 72 85 85 100 100 100 102 102 116 116 136 136 148 148 148 151 151 163 163 163 166 166 166 177 177 187 187 201 201 205 205 229 231 234 234 242 242 254 263 263 275 275 278 288 289 290 290 303 308 10-77 10-94 10-94 10-102 10-102 fn 000105 automatic fixed bin(24,0) dcl 322 set ref 114* 126 133 10-94* gseg 000106 automatic pointer initial dcl 323 set ref 55* 56 111 160 323* 10-94* gtss_abort_subsystem_ 000024 constant entry external dcl 7-15 ref 72 85 102 116 136 151 187 242 263 290 10-102 gtss_aft_$find 000026 constant entry external dcl 7-28 ref 114 gtss_bcd_ascii_$lc 000030 constant entry external dcl 7-34 ref 186 307 gtss_dfd_ext_$disk_file_data 000042 external static structure array level 1 dcl 8-6 gtss_disk 000042 external static structure array level 2 dcl 8-6 gtss_ext_$gdb_name 000010 external static char(8) unaligned dcl 2-18 set ref 185* 186 186 187* 306* 307 307 gtss_ext_$gtss_slave_area_seg 000012 external static pointer array dcl 2-20 ref 55 gtss_ext_$stack_level_ 000014 external static fixed bin(17,0) dcl 2-31 ref 55 gtss_ios_io_ 000032 constant entry external dcl 7-134 ref 10-94 gtss_pnterr 000000 constant structure level 1 packed unaligned dcl 4-9 gtss_prgdes_ext_$prgdes 000016 external static structure array level 1 dcl 5-77 ref 69 gtss_run_subsystem_$restor 000034 constant entry external dcl 7-144 ref 71 gtss_run_subsystem_$restor_perm 000036 constant entry external dcl 7-145 ref 205 gtss_save_restore_data_$IO 000044 external static structure level 1 dcl 11-10 gtss_update_safe_store_ 000040 constant entry external dcl 7-148 ref 59 204 gtss_ust 000020 external static structure level 2 dcl 6-16 gtss_ust_ext_$ust 000020 external static structure level 1 dcl 6-16 i 000127 automatic fixed bin(24,0) dcl 10-45 set ref 69* 70 71* 238* 241 252 254 258 262* 304* 305 308* 10-65* 10-67 10-68 10-69* 10-75 10-76 10-77 ilc 4 based bit(18) level 2 packed unaligned dcl 3-56 ref 56 72 72 85 85 102 102 116 116 136 136 151 151 166 166 166 187 187 242 242 263 263 290 290 10-102 10-102 increment parameter fixed bin(17,0) dcl 26 ref 15 initial_block 3(18) based bit(18) array level 3 packed unaligned dcl 10-8 ref 308 l1 parameter fixed bin(18,0) dcl 286 ref 282 289 l2 parameter fixed bin(18,0) dcl 286 ref 282 288 last_catalog 000110 automatic bit(1) unaligned dcl 324 set ref 173* 176 180* limit 22(18) 000020 external static bit(18) level 4 packed unaligned dcl 6-16 ref 100 148 219 278 10-94 10-94 load_origin 4(18) based bit(18) level 2 in structure "data_control_block" packed unaligned dcl 10-27 in procedure "gtss_drl_restor_" ref 212 226 226 load_origin 000111 automatic bit(18) unaligned dcl 325 in procedure "gtss_drl_restor_" set ref 223* 226* 231* 234 275 275 loc 1 based bit(18) level 2 packed unaligned dcl 335 ref 234 lsize 22 000020 external static structure level 3 dcl 6-16 max_for_18_bits constant fixed bin(18,0) initial dcl 10-46 ref 127 127 mc based structure level 1 dcl 3-12 mcp 000120 automatic pointer dcl 3-10 set ref 27* 54 59* 72* 85* 102* 116* 136* 151* 187* 204* 212 242* 263* 275 290* 10-102* mcpp parameter pointer dcl 25 ref 15 27 me 001544 constant char(32) initial unaligned dcl 326 set ref 10-102* memory_loc 000130 automatic fixed bin(18,0) dcl 10-47 in procedure "gtss_drl_restor_" set ref 203* 234* 278 10-63* 10-67 10-70* 10-70 10-75 memory_loc 6 based bit(18) array level 3 in structure "data_control_block" packed unaligned dcl 10-27 in procedure "gtss_drl_restor_" ref 229 memory_loc 11 000044 external static bit(18) array level 3 in structure "gtss_save_restore_data_$IO" packed unaligned dcl 11-10 in procedure "gtss_drl_restor_" set ref 10-67* 10-75* 10-88* memory_location parameter fixed bin(18,0) dcl 10-53 ref 10-52 10-58 10-63 10-80 10-84 10-88 name_list based structure level 1 dcl 344 name_list_ptr 000112 automatic pointer initial dcl 327 set ref 111* 114 116 136 186 186 305 307 307 327* 10-102 nameloc based bit(18) level 2 packed unaligned dcl 335 ref 100 100 111 163 163 163 next_catalog parameter fixed bin(18,0) dcl 301 in procedure "search_for_object" set ref 300 303* next_catalog 000114 automatic fixed bin(18,0) dcl 328 in procedure "gtss_drl_restor_" set ref 174* 177* 178* 180 181 not_first_name 0(18) based bit(18) level 2 packed unaligned dcl 335 ref 61 172 pat_body 102 000042 external static structure array level 3 dcl 8-6 prog_name 000115 automatic char(4) dcl 329 set ref 68* 70 83* program_0_at_loc 1(18) based bit(18) level 2 packed unaligned dcl 335 ref 223 q 25 based bit(36) level 3 packed unaligned dcl 3-12 set ref 212* read_cmd constant bit(6) initial unaligned dcl 9-5 ref 10-59 10-85 regs 20 based structure level 2 packed unaligned dcl 3-12 scu 30 based bit(36) array level 2 in structure "mc" packed unaligned dcl 3-12 in procedure "gtss_drl_restor_" set ref 54 scu based structure level 1 dcl 3-56 in procedure "gtss_drl_restor_" scup 000122 automatic pointer dcl 3-54 set ref 54* 56 72 72 85 85 102 102 116 116 136 136 151 151 166 166 166 187 187 242 242 263 263 290 290 10-102 10-102 sector parameter fixed bin(18,0) dcl 10-54 ref 10-52 10-58 10-80 10-84 10-93 select_sequence 000044 external static structure level 2 dcl 11-10 set ref 10-94 10-94 ss_name 000016 external static char(4) array level 2 dcl 5-77 ref 70 status 000116 automatic fixed bin(24,0) dcl 330 set ref 10-94* 10-101 temp 000131 automatic fixed bin(24,0) dcl 10-48 set ref 126* 127 129 229* 230 231 to_from 001537 constant char(17) initial unaligned dcl 331 set ref 10-102* tra 2 based bit(18) level 2 packed unaligned dcl 335 ref 217 217 word_2 104 000042 external static structure array level 4 dcl 8-6 word_count 11(24) 000044 external static bit(12) array level 3 in structure "gtss_save_restore_data_$IO" packed unaligned dcl 11-10 in procedure "gtss_drl_restor_" set ref 10-69* 10-77* 10-90* word_count 6(24) based bit(12) array level 3 in structure "data_control_block" packed unaligned dcl 10-27 in procedure "gtss_drl_restor_" ref 252 254 words_in_element 000132 automatic fixed bin(18,0) dcl 10-49 set ref 237* 252* 252 254* 254 275 278 10-64 words_remaining 000133 automatic fixed bin(18,0) dcl 10-50 set ref 10-64* 10-66 10-71* 10-71 10-77 write_cmd constant bit(6) initial unaligned dcl 9-7 ref 10-55 10-81 write_performed 104(15) 000042 external static bit(1) array level 5 packed unaligned dcl 8-6 ref 133 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abx internal static fixed bin(17,0) initial dcl 3-42 apx internal static fixed bin(17,0) initial dcl 3-42 available_space_block based structure level 1 dcl 10-20 bbx internal static fixed bin(17,0) initial dcl 3-42 bpx internal static fixed bin(17,0) initial dcl 3-42 element_name automatic bit(36) unaligned dcl 10-43 gtss_CFP_abort_ 000000 constant entry external dcl 7-9 gtss_CFP_break_ 000000 constant entry external dcl 7-10 gtss_CFP_input_ 000000 constant entry external dcl 7-11 gtss_CFP_output_ 000000 constant entry external dcl 7-12 gtss_abandon_CFP_ 000000 constant entry external dcl 7-13 gtss_abort_dump_ 000000 constant entry external dcl 7-14 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 7-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 7-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 7-20 gtss_abs_$create_absin 000000 constant entry external dcl 7-21 gtss_abs_$dabt_check 000000 constant entry external dcl 7-22 gtss_abs_$get_drm 000000 constant entry external dcl 7-24 gtss_abs_$get_id 000000 constant entry external dcl 7-23 gtss_abs_login_banner_ 000000 constant entry external dcl 7-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 7-18 gtss_adjust_size_ 000000 constant entry external dcl 7-25 gtss_aft_$add 000000 constant entry external dcl 7-26 gtss_aft_$delete 000000 constant entry external dcl 7-27 gtss_aft_$initialize 000000 constant entry external dcl 7-29 gtss_ascii_bcd_ 000000 constant entry external dcl 7-30 gtss_attributes_mgr_$get 000000 constant entry external dcl 7-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 7-32 gtss_bcd_ascii_ 000000 constant entry external dcl 7-33 gtss_break_vector_ 000000 constant entry external dcl 7-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 7-36 gtss_break_vector_$status 000000 constant entry external dcl 7-37 gtss_build_ 000000 constant entry external dcl 7-38 gtss_com_err_ 000000 constant entry external dcl 7-39 gtss_derail_processor_ 000000 constant entry external dcl 7-40 gtss_derail_processor_$set 000000 constant entry external dcl 7-41 gtss_dq_$catp 000000 constant entry external dcl 7-42 gtss_dq_$create 000000 constant entry external dcl 7-43 gtss_dq_$dibp 000000 constant entry external dcl 7-44 gtss_dq_$entries_info 000000 constant entry external dcl 7-45 gtss_dq_$hdrp 000000 constant entry external dcl 7-46 gtss_dq_$mod_js 000000 constant entry external dcl 7-47 gtss_dq_$open_exc 000000 constant entry external dcl 7-48 gtss_dq_$open_gen 000000 constant entry external dcl 7-49 gtss_drl_abort_ 000000 constant entry external dcl 7-50 gtss_drl_addmem_ 000000 constant entry external dcl 7-51 gtss_drl_callss_ 000000 constant entry external dcl 7-52 gtss_drl_corfil_ 000000 constant entry external dcl 7-53 gtss_drl_defil_ 000000 constant entry external dcl 7-54 gtss_drl_defil_$subr 000000 constant entry external dcl 7-55 gtss_drl_dio_ 000000 constant entry external dcl 7-56 gtss_drl_drlimt_ 000000 constant entry external dcl 7-57 gtss_drl_drlsav_ 000000 constant entry external dcl 7-58 gtss_drl_filact_ 000000 constant entry external dcl 7-59 gtss_drl_filsp_ 000000 constant entry external dcl 7-60 gtss_drl_grow_ 000000 constant entry external dcl 7-61 gtss_drl_gwake_ 000000 constant entry external dcl 7-62 gtss_drl_jsts_ 000000 constant entry external dcl 7-63 gtss_drl_kin_ 000000 constant entry external dcl 7-64 gtss_drl_kotnow_ 000000 constant entry external dcl 7-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 7-66 gtss_drl_koutn_ 000000 constant entry external dcl 7-67 gtss_drl_morlnk_ 000000 constant entry external dcl 7-68 gtss_drl_msub_ 000000 constant entry external dcl 7-69 gtss_drl_objtim_ 000000 constant entry external dcl 7-70 gtss_drl_part_ 000000 constant entry external dcl 7-71 gtss_drl_pasaft_ 000000 constant entry external dcl 7-72 gtss_drl_pasdes_ 000000 constant entry external dcl 7-73 gtss_drl_pasust_ 000000 constant entry external dcl 7-74 gtss_drl_pdio_ 000000 constant entry external dcl 7-75 gtss_drl_prgdes_ 000000 constant entry external dcl 7-76 gtss_drl_pseudo_ 000000 constant entry external dcl 7-77 gtss_drl_relmem_ 000000 constant entry external dcl 7-78 gtss_drl_restor_ 000000 constant entry external dcl 7-79 gtss_drl_retfil_ 000000 constant entry external dcl 7-80 gtss_drl_return_ 000000 constant entry external dcl 7-81 gtss_drl_rew_ 000000 constant entry external dcl 7-82 gtss_drl_rstswh_ 000000 constant entry external dcl 7-83 gtss_drl_setlno_ 000000 constant entry external dcl 7-84 gtss_drl_setswh_ 000000 constant entry external dcl 7-85 gtss_drl_snumb_ 000000 constant entry external dcl 7-86 gtss_drl_spawn_ 000000 constant entry external dcl 7-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 7-88 gtss_drl_stoppt_ 000000 constant entry external dcl 7-89 gtss_drl_switch_ 000000 constant entry external dcl 7-90 gtss_drl_sysret_ 000000 constant entry external dcl 7-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 7-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 7-93 gtss_drl_t_err_ 000000 constant entry external dcl 7-94 gtss_drl_t_goto_ 000000 constant entry external dcl 7-95 gtss_drl_t_linl_ 000000 constant entry external dcl 7-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 7-97 gtss_drl_tapein_ 000000 constant entry external dcl 7-98 gtss_drl_task_ 000000 constant entry external dcl 7-99 gtss_drl_termtp_ 000000 constant entry external dcl 7-100 gtss_drl_time_ 000000 constant entry external dcl 7-101 gtss_drun_ 000000 constant entry external dcl 7-102 gtss_dsd_lookup_ 000000 constant entry external dcl 7-103 gtss_dsd_process_ 000000 constant entry external dcl 7-104 gtss_edit_dsd_ 000000 constant entry external dcl 7-105 gtss_expand_pathname_ 000000 constant entry external dcl 7-107 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 7-108 gtss_ext_$CFP_bits external static structure level 1 dcl 2-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 2-33 gtss_ext_$aem external static fixed bin(17,0) dcl 2-8 gtss_ext_$aft external static structure level 1 dcl 2-78 gtss_ext_$bad_drl_rtrn external static label variable dcl 2-9 gtss_ext_$com_reg external static structure level 1 dcl 2-45 gtss_ext_$db external static bit(1) array unaligned dcl 2-10 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 2-11 gtss_ext_$dispose_of_drl external static label variable dcl 2-12 gtss_ext_$drl_rtrn external static label variable array dcl 2-13 gtss_ext_$drm_path external static char(168) unaligned dcl 2-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 2-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 2-16 gtss_ext_$fast_lib external static structure level 1 dcl 2-98 gtss_ext_$finished external static label variable dcl 2-17 gtss_ext_$flags external static structure level 1 dcl 2-60 gtss_ext_$get_line external static entry variable dcl 2-19 gtss_ext_$hcs_work_area_ptr external static pointer dcl 2-21 gtss_ext_$homedir external static char(64) unaligned dcl 2-22 gtss_ext_$last_k_was_out external static bit(1) dcl 2-23 gtss_ext_$mcfc external static structure level 1 dcl 2-109 gtss_ext_$pdir external static varying char(168) dcl 2-24 gtss_ext_$popup_from_pi external static label variable dcl 2-25 gtss_ext_$ppt external static pointer dcl 2-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 2-26 gtss_ext_$put_chars external static entry variable dcl 2-27 gtss_ext_$restart_from_pi external static label variable dcl 2-28 gtss_ext_$restart_seg_ptr external static pointer dcl 2-29 gtss_ext_$sig_ptr external static pointer dcl 2-30 gtss_ext_$statistics external static structure level 1 dcl 2-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 2-32 gtss_ext_$user_id external static varying char(26) dcl 2-34 gtss_ext_$work_area_ptr external static pointer dcl 2-35 gtss_fault_processor_ 000000 constant entry external dcl 7-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 7-111 gtss_filact_error_status_ 000000 constant entry external dcl 7-112 gtss_filact_funct02_ 000000 constant entry external dcl 7-113 gtss_filact_funct03_ 000000 constant entry external dcl 7-114 gtss_filact_funct04_ 000000 constant entry external dcl 7-115 gtss_filact_funct05_ 000000 constant entry external dcl 7-116 gtss_filact_funct08_ 000000 constant entry external dcl 7-117 gtss_filact_funct10_ 000000 constant entry external dcl 7-118 gtss_filact_funct11_ 000000 constant entry external dcl 7-119 gtss_filact_funct14_ 000000 constant entry external dcl 7-120 gtss_filact_funct18_ 000000 constant entry external dcl 7-121 gtss_filact_funct19_ 000000 constant entry external dcl 7-122 gtss_filact_funct21_ 000000 constant entry external dcl 7-123 gtss_filact_funct22_ 000000 constant entry external dcl 7-124 gtss_find_cond_frame_ 000000 constant entry external dcl 7-110 gtss_interp_prim_ 000000 constant entry external dcl 7-126 gtss_interp_prim_$callss 000000 constant entry external dcl 7-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 7-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 7-129 gtss_ios_change_size_ 000000 constant entry external dcl 7-130 gtss_ios_close_ 000000 constant entry external dcl 7-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 7-132 gtss_ios_initialize_ 000000 constant entry external dcl 7-133 gtss_ios_open_ 000000 constant entry external dcl 7-135 gtss_ios_position_ 000000 constant entry external dcl 7-136 gtss_mcfc_$close 000000 constant entry external dcl 7-139 gtss_mcfc_$delete 000000 constant entry external dcl 7-137 gtss_mcfc_$open 000000 constant entry external dcl 7-138 gtss_mcfc_empty 000000 constant entry external dcl 7-106 gtss_mcfc_init_ 000000 constant entry external dcl 7-125 gtss_read_starCFP_ 000000 constant entry external dcl 7-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 7-141 gtss_run_subsystem_ 000000 constant entry external dcl 7-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 7-143 gtss_set_slave_ 000000 constant entry external dcl 7-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 7-147 gtss_verify_access_ 000000 constant entry external dcl 7-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 7-150 gtss_write_starCFP_ 000000 constant entry external dcl 7-151 lbx internal static fixed bin(17,0) initial dcl 3-42 lpx internal static fixed bin(17,0) initial dcl 3-42 prgdes_ov based structure array level 1 dcl 5-100 sbx internal static fixed bin(17,0) initial dcl 3-42 scux based structure level 1 dcl 3-207 seek_cmd internal static bit(6) initial unaligned dcl 9-6 spx internal static fixed bin(17,0) initial dcl 3-42 NAMES DECLARED BY EXPLICIT CONTEXT. analyze_control_block 003005 constant entry internal dcl 209 ref 202 bad_arg 002513 constant label dcl 150 ref 219 278 buffer_dcw 003567 constant label dcl 10-87 ref 10-82 check 003300 constant entry internal dcl 282 ref 163 166 common 003602 constant label dcl 10-92 ref 10-78 data_dcws 003463 constant label dcl 10-62 set ref 10-56 gtss_drl_restor_ 001742 constant entry external dcl 15 last_dcw 003246 constant label dcl 274 in procedure "analyze_control_block" ref 258 last_dcw 003527 constant label dcl 10-74 in procedure "write_data" ref 10-66 not_initialized 002422 constant label dcl 135 read_buffer 003561 constant entry internal dcl 10-84 ref 177 201 read_control_block 002736 constant label dcl 199 ref 179 read_data 003455 constant entry internal dcl 10-58 ref 203 ret 003003 constant label dcl 206 ref 249 270 297 10-110 search_for_object 003366 constant entry internal dcl 300 ref 178 undefined 002636 constant label dcl 184 ref 181 200 230 write_buffer 003552 constant entry internal dcl 10-80 write_data 003446 constant entry internal dcl 10-52 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 54 186 186 186 186 307 307 307 307 10-94 10-94 bit builtin function ref 231 275 10-67 10-75 10-77 10-88 divide builtin function ref 126 hbound builtin function ref 69 238 304 10-65 null builtin function ref 317 323 327 10-42 substr builtin function ref 61 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4204 4252 3760 4214 Length 4702 3760 46 414 224 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_drl_restor_ 364 external procedure is an external procedure. analyze_control_block internal procedure shares stack frame of external procedure gtss_drl_restor_. check internal procedure shares stack frame of external procedure gtss_drl_restor_. search_for_object internal procedure shares stack frame of external procedure gtss_drl_restor_. write_data internal procedure shares stack frame of external procedure gtss_drl_restor_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_drl_restor_ 000100 arg_list_ptr gtss_drl_restor_ 000102 code gtss_drl_restor_ 000103 control_block gtss_drl_restor_ 000104 entry_address gtss_drl_restor_ 000105 fn gtss_drl_restor_ 000106 gseg gtss_drl_restor_ 000110 last_catalog gtss_drl_restor_ 000111 load_origin gtss_drl_restor_ 000112 name_list_ptr gtss_drl_restor_ 000114 next_catalog gtss_drl_restor_ 000115 prog_name gtss_drl_restor_ 000116 status gtss_drl_restor_ 000120 mcp gtss_drl_restor_ 000122 scup gtss_drl_restor_ 000124 buffer_ptr gtss_drl_restor_ 000126 file_size_in_blocks gtss_drl_restor_ 000127 i gtss_drl_restor_ 000130 memory_loc gtss_drl_restor_ 000131 temp gtss_drl_restor_ 000132 words_in_element gtss_drl_restor_ 000133 words_remaining gtss_drl_restor_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_le_a call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ gtss_abort_subsystem_ gtss_aft_$find gtss_bcd_ascii_$lc gtss_ios_io_ gtss_run_subsystem_$restor gtss_run_subsystem_$restor_perm gtss_update_safe_store_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gtss_dfd_ext_$disk_file_data gtss_ext_$gdb_name gtss_ext_$gtss_slave_area_seg gtss_ext_$stack_level_ gtss_prgdes_ext_$prgdes gtss_save_restore_data_$IO gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 001736 317 001747 323 001751 327 001752 10 42 001753 27 001754 54 001760 55 001762 56 001767 59 001775 61 002003 68 002006 69 002010 70 002015 71 002023 72 002033 79 002100 81 002101 83 002103 85 002140 92 002210 100 002211 102 002234 109 002301 111 002302 114 002306 115 002323 116 002326 124 002377 126 002400 127 002410 129 002415 133 002416 135 002422 136 002423 144 002471 148 002472 150 002513 151 002514 158 002561 160 002562 163 002566 166 002575 172 002605 173 002610 174 002611 175 002612 176 002613 177 002616 178 002624 179 002626 180 002630 181 002633 182 002635 184 002636 185 002637 186 002644 187 002664 195 002733 197 002734 199 002736 200 002737 201 002741 202 002747 203 002750 204 002755 205 002764 206 003003 207 003004 209 003005 212 003006 216 003017 217 003022 219 003030 223 003037 226 003044 229 003054 230 003060 231 003061 234 003066 237 003075 238 003076 241 003103 242 003112 249 003160 252 003161 254 003171 258 003174 262 003176 263 003200 270 003243 272 003244 274 003246 275 003247 278 003264 280 003277 282 003300 288 003302 289 003313 290 003320 297 003365 300 003366 303 003370 304 003373 305 003401 306 003407 307 003414 308 003433 309 003442 311 003443 312 003445 10 52 003446 10 55 003450 10 56 003454 10 58 003455 10 59 003457 10 62 003463 10 63 003464 10 64 003467 10 65 003471 10 66 003477 10 67 003502 10 68 003513 10 69 003517 10 70 003521 10 71 003523 10 72 003525 10 74 003527 10 75 003530 10 76 003541 10 77 003543 10 78 003551 10 80 003552 10 81 003554 10 82 003560 10 84 003561 10 85 003563 10 87 003567 10 88 003570 10 89 003576 10 90 003600 10 92 003602 10 93 003603 10 94 003606 10 101 003634 10 102 003636 10 110 003710 10 112 003711 ----------------------------------------------------------- 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