COMPILATION LISTING OF SEGMENT gtss_interp_prim_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1341.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ************************************************************* 10* * * 11* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 12* * * 13* ************************************************************* */ 14 gtss_interp_prim_: proc; 15 16 /* Routine to interpret primitives--patterned after SCAN3 in TSSH. 17* 18* Authors: Robert J. Grimes Created 19* - Albert N. Kepner 1978 20* - Robert M. May 21* - David B. Ward 22* Change: Dave Ward 02/24/79 $db debug switch. 23* Change: Al Dupuis 06/21/79 add call to gtss_CFP_break_ 24* Change: Paul Benjamin 09/21/79 change popup_primitive to allow ..init command file 25* Change: Paul Benjamin 10/24/79 remove call to popup_primitive from t_goto 26* Change: Paul Benjamin 10/25/79 turn off logon bit in callss and t_goto to avoid recursively executing ..init 27* Change: Al Dupuis 11/10/79 reset drun indicators 28* - h* ..init when executing drun. 29* Change: Dave Ward 08/17/81 reorganized source. 30* Change: Dave Wardd 08/17/81 assure system name lowere case. 31* Change: Ron Barstad 12/09/82 fix bug: switchword_bit >35 is actually in gtss_ust.lswt2 32**/ 33 34 /* Initialization for primary entry only */ 35 on quit call gtss_fix_tty_modes_ (); /* Don't want the primitive interpreter to be interrupted */ 36 my_level = 1; 37 current_level (1) = interp; 38 tty_line_ptr = addr (characters_transmitted); 39 conclude_gtss = "0"b; 40 cl_ptr = addr (gtss_prgdes_ext_$primitives (2)); 41 cp_ptr = addrel (cl_ptr, 2*gtss_prgdes_ext_$common_cmd_num); 42 initial_lcals = fixed (rel (addr (gtss_ust.lcals)))-fixed (rel (addr (gtss_ust))); 43 initial_lxxx = fixed (rel (addr (gtss_ust.lxxx)))-fixed (rel (addr (gtss_ust))); 44 45 46 /* Start user at system level. */ 47 call system; 48 comm = "cmdl"; 49 50 interp: ; 51 52 /* At this point the number of active invocations of gtss_interp_prim_ 53* must be equal to the stack_level_ or the program is in error. */ 54 if my_level ^= gtss_ext_$stack_level_ then do; 55 call com_err_ (0, "gtss_interp_prim_", 56 "current invocation = ^i not syncronized with stack_level_ = ^i.", 57 my_level, gtss_ext_$stack_level_); 58 signal condition (gtss_fail); 59 end; 60 61 /* At this point the internal static variable comm contains the 62* ASCII name of the subsystem to be invoked */ 63 call startp; 64 65 interp2: ; 66 67 /* Set loop counter to zero. */ 68 loop_count = 0; 69 pop_callss_stack = "0"b; 70 71 interp_loop: ; 72 73 /* At this point next_prim is the index in gtss_prgdes_ext_$primitives 74* of the next primitive to interpret and primitive is the primitive to 75* interpret. 76**/ 77 /* Store pointer to current primitive in program stack. */ 78 i = gtss_ust.lxxx.b0_17-initial_lxxx; 79 gtss_ust.lprgs (i).b18_35 = next_prim; 80 if db_interp_prim then call gtss_dump_program_stack_; 81 loop_count = loop_count + 1; 82 if loop_count > 50 then do; /* Loop in primitives */ 83 call com_err_ (0, "", gtss_pnterr.err8); 84 go to break; 85 end; 86 if (prim_ophbound (case, 1)) then do; 87 call com_err_ (0, "gtss_interp_prim_", 88 "Primitive index ^i (<^i or >^i).", 89 prim_op, 90 lbound (case, 1), 91 hbound (case, 1)); 92 signal cond (gtss_fail); 93 end; 94 go to case (prim_op); 95 96 case (5): ; 97 case (6): ; 98 call com_err_ ( 99 0 100 , "gtss_interp_prim_" 101 , "^/Bad Primitive ^i at ^i." 102 , prim_op 103 , next_prim 104 ); 105 call com_err_ (0, "", gtss_pnterr.err1); 106 signal condition (gtss_fail); 107 case (1): ; /* CALLP */ 108 call callp_primitive; 109 go to interp_loop; 110 case (2): ; /* EXEC */ 111 call exec_primitive; 112 if conclude_gtss then go to gtss_ext_$finished; /* Return to gtss command to conclude execution */ 113 go to interp_loop; 114 case (3): ; /* BIN */ 115 call bin_primitive; 116 go to interp_loop; 117 case (4): ; /* POPUP */ 118 call popup_primitive; 119 if pop_callss_stack then return; /* Return to gtss_drl_callss_ */ 120 go to interp_loop; 121 case (7): ; /* SYSTM */ 122 call systm_primitive; 123 go to current_level (1); /* Unwind to primitive interpreter at 124* outermost level */ 125 case (8): ; /* IFALSE */ 126 call ifalse_primitive; 127 go to interp_loop; 128 case (9): ; /* IFTRUE */ 129 call iftrue_primitive; 130 go to interp_loop; 131 case (10): ; /* STFALS */ 132 call stfals_primitive; 133 go to interp_loop; 134 case (11): ; /* STRUE */ 135 call strue_primitive; 136 go to interp_loop; 137 138 break: ; 139 gtss_ext_$restart_from_pi = gtss_ext_$bad_drl_rtrn; 140 gtss_ext_$popup_from_pi = gtss_ext_$bad_drl_rtrn; 141 gtss_ext_$dispose_of_drl = gtss_ext_$bad_drl_rtrn; 142 call popup_primitive; 143 if pop_callss_stack then return; /* Return to gtss_drl_callss_ */ 144 go to interp2; 145 146 ret: ; 147 return; /* return to gtss_drl_callss_ */ 148 149 callss: entry (subsystem_name, mcpp); 150 151 /* This entry point is called by the DRL CALLSS (gtss_drl_callss_) 152* to invoke the primitive interpreter recursively for a specified 153* subsystem. 154**/ 155 dcl mcpp ptr parm /* pointer to machine conditions for DRL CALLSS */; 156 dcl subsystem_name char(4) parm /* Subsystem to be called */; 157 on quit call gtss_fix_tty_modes_ (); 158 comm = translate (subsystem_name, lower, upper); /* use local static variable */ 159 mcp = mcpp; 160 161 /* If this was called from within a ..init file we 162* have to turn off the logon bit or the ..init file will 163* be called recursively. 164**/ 165 gtss_ust.lflg2.b6 = "1"b; 166 167 /* Check for stack overflow */ 168 if gtss_ext_$stack_level_ > hbound (gtss_ext_$gtss_slave_area_seg, 1) then do; 169 call gtss_abort_subsystem_ (mcp, "gtss_interp_prim_", 6, err6); /* level of control too deep */ 170 return; 171 end; 172 173 /* Push slave_area_seg on stack */ 174 my_level, gtss_ext_$stack_level_ = gtss_ext_$stack_level_ + 1; 175 current_level (my_level) = interp; 176 177 /* Add entry to CALLSS stack */ 178 gtss_ust.lcals.b0_17 = gtss_ust.lcals.b0_17 + 2; 179 180 /* Save current program stack index on CALLSS stack. 181* This will later be used to decide whether to pop the CALLSS stack 182* during interpretation of the POPUP primitive. 183**/ 184 i = divide (gtss_ust.lcals.b0_17-initial_lcals, 2, 17, 0); 185 subsystems (i).tally_address = gtss_ust.lxxx.b0_17; 186 187 /* Save content of .LSWAP (program size) on CALLSS stack. 188* This is necessary so that program size can be determined when 189* returning from DRL CALLSS. 190**/ 191 gtss_ust.subsystems (i).content_lswap = gtss_ust.lswap; 192 193 /* Clear IC and abort code in SPA */ 194 gseg = gtss_ext_$gtss_slave_area_seg (my_level); 195 unspec (gtss_spa.labrt) = "0"b; 196 197 /* If subsystem was doing its own break processing 198* or executing user code save appropriate indicators 199* in the CALLSS stack. 200**/ 201 gtss_ust.ss_flags (i) = "0"b; 202 substr (gtss_ust.ss_flags (i), 18, 1) = gtss_ust.lswth.b7; /* Break processing */ 203 substr (gtss_ust.ss_flags (i), 17, 1) = gtss_ust.lflg2.b14; /* User code executing */ 204 go to interp; 205 206 t_goto: entry (subsystem_name); 207 208 /* This entry point is called by DRL T.GOTO (gtss_drl_t_goto_) or 209* by DRL CALLSS (gtss_drl_callss_) when a nonrecursive invocation 210* of the primitive interpreter is needed. */ 211 212 /* If this was called from within a ..init file we 213* have toturn off the logon bit or the ..init file will 214* be called recursively. */ 215 gtss_ust.lflg2.b6 = "1"b; 216 217 on quit call gtss_fix_tty_modes_ (); 218 comm = translate (subsystem_name, lower, upper); /* use local static variable */ 219 call gtss_run_subsystem_$finish; /* Wrap up current subsystem */ 220 go to current_level (gtss_ext_$stack_level_); /* Unwind one invocation of 221* gtss_interp_prim_ */ 222 223 sysret: entry; 224 225 /* This entry point is called by DRL SYSRET to return to system level. */ 226 227 228 on quit call gtss_fix_tty_modes_ (); 229 230 /* Turn off compiler identifier bits. */ 231 string (gtss_ust.lswth) = string (gtss_ust.lswth) & lswth_reset; 232 233 /* Reset "user prog in control" indicator. */ 234 gtss_ust.lflg2.b14 = "0"b; 235 236 /* Return to system level */ 237 call system; 238 go to current_level (1); /* Unwind to first invocation of 239* gtss_interp_prim_ */ 240 241 bin_primitive: proc; 242 243 /* SET SY** block count to -1 */ 244 gtss_ust.lsybc.b0_17 = -1; 245 gtss_ust.lsybc.b18_35 = -1; 246 247 /* Reset switch that says we have data on the 248* collector file */ 249 gtss_ust.lswth.b17 = "0"b; 250 251 /* Reset loop counter for primitives. */ 252 loop_count = 0; 253 254 call gtss_build_; 255 call scan1; 256 return; 257 258 end bin_primitive; 259 260 callp_primitive: proc; 261 262 /* If the switchword_flag bit is set then the 263* new_subsystem will be called only if the specified bit of 264* the combined switch words .LSWTH and .LSWT2 is on 265**/ 266 267 if switchword_flag then do; 268 i = fixed (switch_ov_bit); 269 if i > 35 then do; 270 if ^(addr (gtss_ust.lswt2) -> switch_word (i-36)) then goto next; 271 end; 272 else 273 if ^switch_word (i) then goto next; 274 end; 275 276 /* Check for program stack about to overflow */ 277 i = gtss_ust.lxxx.b0_17-initial_lxxx; 278 if i >= hbound (gtss_ust.lprgs, 1) then do; 279 if gtss_ext_$stack_level_ <= 1 then do; 280 call ioa_ ("^/"||err6); /* level of control too deep */ 281 call system; /* Reestablish system level. */ 282 go to interp; 283 end; 284 else do; 285 i = divide (gtss_ust.lcals.b0_17-initial_lcals, 2, 17, 0); 286 gtss_ust.lxxx.b0_17 = subsystems (i).tally_address+1; 287 call popup_primitive; 288 call gtss_abort_subsystem_ (mcp, "gtss_interp_prim_", 6, err6); /* level of control too deep */ 289 go to ret; 290 end; 291 end; 292 gtss_ust.lxxx.b0_17 = gtss_ust.lxxx.b0_17 + 1; 293 i = i+1; 294 295 /* Store index of program descriptor 296* in program stack. */ 297 gtss_ust.lprgs (i).b0_17 = callp_desc; 298 299 /* Reset "Pass break" bit in case CALLP is 300* result of CALLSS. */ 301 gtss_ust.lswth.b7 = "0"b; 302 303 /* Don't pass stuff related to wrapup along. */ 304 /* See SCAN3 in TSSH */ 305 substr (string (gtss_ust.lflg3), 34, 3) = "0"b3 ; 306 gtss_ust.lopts = "0"b; 307 unspec (gtss_ust.licec) = "0"b; 308 309 /* Keep number of calls in 5th cell of program descriptor. */ 310 calls (callp_desc) = calls (callp_desc) + 1; 311 312 /* Locate command language for this subsystem */ 313 cmd_list_len = gtss_prgdes_ext_$prgdes (callp_desc).cmd_lang_len; 314 cmd_list_ptr = addr (gtss_prgdes_ext_$primitives 315 (gtss_prgdes_ext_$prgdes (callp_desc).cmd_lang_offset)); 316 cmd_prim_list_ptr = addrel (cmd_list_ptr, 2*cmd_list_len); 317 318 /* Locate start_up primitive sequence for this subsystem. */ 319 next_prim = primitive_ptr (cmd_list_len+1); 320 321 /* get new primitive */ 322 primitive = gtss_prgdes_ext_$primitives (next_prim); 323 return; 324 325 next: ; 326 i = gtss_ust.lxxx.b0_17-initial_lxxx; 327 next_prim = gtss_ust.lprgs (i).b18_35+1; 328 primitive = gtss_prgdes_ext_$primitives (next_prim); 329 return; 330 331 dcl i fixed bin(17); 332 end callp_primitive; 333 334 exec_primitive: proc; 335 336 /* Get index of current program descriptor */ 337 i = gtss_ust.lprgs (gtss_ust.lxxx.b0_17-initial_lxxx).b0_17; 338 339 /* Keep number of loads in program descriptor */ 340 loads (i) = loads (i) + 1; 341 342 load_sz = gtss_prgdes_ext_$prgdes (i).load_size; 343 if load_sz <= 0 then do; /* Unknown system */ 344 call com_err_ (0, "", gtss_pnterr.err9); 345 call system; 346 go to current_level (1); 347 end; 348 load_address = gtss_prgdes_ext_$prgdes (i).initial_load_address; 349 350 /* Make sure load address is not in prefix. */ 351 if load_address < 100 then do; /* Unknown system */ 352 call com_err_ (0, "", gtss_pnterr.err9); 353 call system; 354 go to current_level (1); 355 end; 356 357 /* Examine for ".TSLOG" being executed => Conclude gtss execution. */ 358 if gtss_prgdes_ext_$prgdes.bci_catalog_name (i) = period_TSLOG then conclude_gtss = "1"b; 359 360 /* Execute subsystem */ 361 gtss_ext_$popup_from_pi = break; 362 on quit begin; 363 on quit call gtss_fix_tty_modes_ (); 364 gtss_ext_$restart_from_pi = restart; 365 gtss_ext_$last_k_was_out = "0"b; 366 gtss_ust.lbuf.tally = "0"b; 367 call gtss_fix_tty_modes_ (); 368 /* if in command file processing and break label specified set it's sector no */ 369 if gtss_ust.lflg2.b8 then call gtss_CFP_break_; 370 if gse_ext_$modes.mquit then do; 371 call ioa_ ("QUIT"); 372 call cu_$cl (); 373 end; 374 else signal program_interrupt; 375 restart: ; 376 gtss_ext_$restart_from_pi = gtss_ext_$bad_drl_rtrn; 377 end; 378 379 on program_interrupt begin; 380 381 /* Determine if the subsystem has provided a transfer vector for 382* line breaks. */ 383 if ^gtss_break_vector_$status () then do; 384 if (^gtss_ext_$flags.drl_in_progress) | 385 gtss_ext_$flags.dispose_of_drl_on_pi then goto gtss_ext_$popup_from_pi; 386 gtss_ext_$flags.popup_from_pi = "1"b; 387 go to gtss_ext_$restart_from_pi; 388 end; 389 390 if ^gtss_break_vector_$drl_in_progress () then do; 391 call gtss_break_vector_ (); 392 goto gtss_ext_$restart_from_pi; 393 end; 394 395 if gtss_ext_$flags.dispose_of_drl_on_pi then do; 396 gtss_ext_$flags.unfinished_drl = "1"b; 397 go to gtss_ext_$dispose_of_drl; 398 end; 399 400 gtss_ext_$flags.unfinished_drl = "1"b; 401 go to gtss_ext_$restart_from_pi; 402 403 end; /* end of on program_interrupt condition block */ 404 405 call gtss_run_subsystem_ ((i)); 406 revert program_interrupt; 407 revert quit; 408 gtss_ext_$popup_from_pi = gtss_ext_$bad_drl_rtrn; 409 410 /* If CALLSS stack is empty then 411* initialize user time limit. */ 412 if gtss_ust.lcals.b0_17-initial_lcals <= 0 then do; 413 if gtss_ext_$flags.ss_time_limit_set then do; 414 gtss_ust_ext_$ust.gtss_ust.limit = 0; 415 gtss_ext_$flags.timer_ranout = "0"b; 416 gtss_ext_$flags.ss_time_limit_set = "0"b; 417 call timer_manager_$reset_cpu_call (gtss_fault_processor_$timer_runout); /* turn off timeout */ 418 end; 419 if gtss_ext_$process_type = 2 420 then do; 421 if ((gtss_ust.lcjid = "0"b) 422 & (gtss_ext_$drun_jid ^= " ") 423 & (^gtss_ust.lflg2.b8)) 424 then do; 425 gtss_ust.lcfst.start_term = 17; 426 call gtss_ascii_bcd_ (addr (gtss_ext_$drun_jid), 5, addr (gtss_ust.lcjid)); 427 end; 428 end; 429 end; 430 431 /* Reset "user program in control" indicator */ 432 gtss_ust.lflg2.b14 = "0"b; 433 434 i = gtss_ust.lxxx.b0_17-initial_lxxx; 435 next_prim = gtss_ust.lprgs (i).b18_35+1; 436 primitive = gtss_prgdes_ext_$primitives (next_prim); 437 return; 438 439 dcl i fixed bin(17); 440 dcl load_address fixed bin(17); 441 dcl load_sz fixed bin(17); 442 end exec_primitive; 443 444 ifalse_primitive: proc; 445 if switchword_bit < 36 446 then do; 447 if ^switch_word (switchword_bit) 448 then next_prim = prim_address; 449 else next_prim = next_prim + 1; 450 end; 451 else do; /* switchword_bit >= 36 */ 452 if ^(addr(gtss_ust.lswt2) -> switch_word(switchword_bit-36)) 453 then next_prim = prim_address; 454 else next_prim = next_prim + 1; 455 end; 456 primitive = gtss_prgdes_ext_$primitives (next_prim); 457 return; 458 end ifalse_primitive; 459 460 iftrue_primitive: proc; 461 if switchword_bit < 36 462 then do; 463 if switch_word (switchword_bit) 464 then next_prim = prim_address; 465 else next_prim = next_prim + 1; 466 end; 467 else do; /* switchword_bit >= 36 */ 468 if addr(gtss_ust.lswt2) -> switch_word(switchword_bit-36) 469 then next_prim = prim_address; 470 else next_prim = next_prim + 1; 471 end; 472 primitive = gtss_prgdes_ext_$primitives (next_prim); 473 return; 474 end iftrue_primitive; 475 476 popup_primitive: proc; 477 478 /* Pop item off program stack and test for stack empty. */ 479 gtss_ust.lxxx.b0_17 = gtss_ust.lxxx.b0_17 - 1; 480 if gtss_ust.lxxx.b0_17-initial_lxxx <= 0 then do; 481 if gtss_ust.lflg2.b6 = "0"b then do; /* just logging in--make sure not to clobber init processing */ 482 if comm = "cmdl" then do; /* No ..init file -- just turn off bit */ 483 gtss_ust.lflg2.b6 = "1"b; 484 call system; 485 end; 486 else do; /* Special handling for ..init file */ 487 save_comm = comm; 488 call system; 489 comm = save_comm; 490 gtss_ust.lbuf.tally = "0"b; /* Fool crun into checking for input */ 491 gtss_ust.lflg2.b6 = "1"b; /* turn off LOGON bit */ 492 end; 493 end; 494 else call system; 495 call startp; 496 return; 497 end; 498 499 /* If the CALLSS stack is empty simply advance 500* to the next primitive at new level. */ 501 i = divide (gtss_ust.lcals.b0_17-initial_lcals, 2, 17, 0); 502 if i <= 0 then go to next; 503 504 /* Determine if current entry in CALLSS stack 505* corresponds to current entry in program stack. 506* If so, there is a swapped subsystem to restart. 507* Otherwise simply advance to the next primitive 508* at new level. */ 509 if gtss_ust.lxxx.b0_17 = gtss_ust.subsystems (i).tally_address then do; 510 511 /* Restart previous SS */ 512 513 /* Pop slave_area_seg off stack */ 514 gtss_ext_$stack_level_ = gtss_ext_$stack_level_ - 1; 515 gseg = gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_); 516 517 if gtss_ust.licec.b18_35 ^= 0 then do; 518 519 /* Move .LICEC into prefix. */ 520 gtss_spa.labrt = gtss_ust.licec; 521 end; 522 523 /* Restore program size from CALLSS stack */ 524 525 gtss_ust.lswap = subsystems (i).content_lswap; 526 gtss_ust.lsize.limit = gtss_ust.lswap.size; 527 gtss_ust.lsize.bar = divide (fixed (gtss_ust.lsize.limit, 18), 512, 17, 0); 528 call gtss_set_slave_$load_bar (fixed (gtss_ust.lsize.bar, 18, 0)); /* Reset BAR register. */ 529 530 /* Was subsystem doing its own break processing? */ 531 if substr (gtss_ust.ss_flags (i), 18, 1) then 532 533 /* If so turn on .LSWTH BIT 7 (GCOS numbering) */ 534 gtss_ust.lswth.b7 = "1"b; 535 536 /* Does pushed SS belong to user? */ 537 if substr (gtss_ust.ss_flags (i), 17, 1) then 538 539 /* If so, mark user code executing. */ 540 gtss_ust.lflg2.b14 = "1"b; 541 542 /* Pop item off CALLSS stack */ 543 gtss_ust.lcals.b0_17 = gtss_ust.lcals.b0_17-2; 544 pop_callss_stack = "1"b; /* Set flag to return to caller */ 545 return; 546 end; 547 548 next: ; 549 i = gtss_ust.lxxx.b0_17-initial_lxxx; 550 next_prim = gtss_ust.lprgs (i).b18_35 + 1; 551 primitive = gtss_prgdes_ext_$primitives (next_prim); 552 553 /* Locate command language for this subsystem */ 554 i = gtss_ust.lprgs (i).b0_17; 555 cmd_list_len = gtss_prgdes_ext_$prgdes (i).cmd_lang_len; 556 cmd_list_ptr = addr (gtss_prgdes_ext_$primitives 557 (gtss_prgdes_ext_$prgdes (i).cmd_lang_offset)); 558 cmd_prim_list_ptr = addrel (cmd_list_ptr, 2*cmd_list_len); 559 560 return; 561 562 dcl i fixed bin(17); 563 dcl save_comm char(4); 564 end popup_primitive; 565 566 scan1: proc; 567 568 /* This procedure is patterned after SCAN1 of TSSH. 569* It searches for the first four characters of the current input 570* line first in the common command list and then in the private list 571* of the current subsystem. If the command is 572* found, next_prim and primitive are updated to the first primitive 573* in the sequence for the command. If the command is not found 574* the first primitive in the sequence for the command loader is selected. 575**/ 576 577 /* Pickup first 4 characters of command line. */ 578 command = first4; 579 580 /* Translate to lower case */ 581 comm = translate (command, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 582 583 /* Determine number of commands to use from the 584* common list. */ 585 i = gtss_ust.lprgs (gtss_ust.lxxx.b0_17-initial_lxxx).b0_17; 586 common_cmds = 0; 587 if substr (parameters (i), 13, 1) then /* BASIC command list flag */ 588 common_cmds = gtss_prgdes_ext_$basic_cmd_num; 589 else 590 if substr (parameters (i), 14, 1) then /* Common command list flag */ 591 common_cmds = gtss_prgdes_ext_$common_cmd_num; 592 593 /* Search for command in common list */ 594 do i = 1 to common_cmds; 595 l = cl_len (i); 596 if substr (comm, 1, l) = substr (cl_word (i), 1, l) then do; 597 next_prim = com_prim_ptr (i); 598 primitive = gtss_prgdes_ext_$primitives (next_prim); 599 return; 600 end; 601 end; 602 /* Search for command in private list of this subsystem. */ 603 604 do i = 1 to cmd_list_len; 605 l = cmd_len (i); 606 if substr (comm, 1, l) = substr (cmd_word (i), 1, l) then do; 607 next_prim = primitive_ptr (i); 608 primitive = gtss_prgdes_ext_$primitives (next_prim); 609 return; 610 end; 611 end; 612 613 /* The command was not found, so call the command loader. */ 614 next_prim = gtss_prgdes_ext_$cmlcl; 615 primitive = gtss_prgdes_ext_$primitives (next_prim); 616 return; 617 618 dcl common_cmds fixed bin(17); 619 dcl i fixed bin(17); 620 dcl l fixed bin(17); 621 end scan1; 622 623 startp: proc; 624 625 /* This routine selects the subsystem specified 626* by the variable comm. 627* This routine is patterned after STARTP in TSSI. 628**/ 629 name = ""; 630 do i = 1 to 4; 631 c = substr (comm, i, 1); /* Pick up character */ 632 if c = "," then go to enough; 633 if c < """" then goto enough; 634 substr (name, i, 1) = c; 635 if c = """" | c = "-" then go to enough; 636 end; 637 638 enough: ; 639 640 /* Look up system name in program descriptors. */ 641 do i = 1 to hbound (gtss_prgdes_ext_$prgdes, 1); 642 if gtss_prgdes_ext_$prgdes (i).ss_name = name then go to found; 643 end; 644 i = i -1; 645 646 found: ; /* Check for system level. */ 647 if gtss_ust.lxxx.b0_17-initial_lxxx = 0 then do; 648 649 /* Make sure this subsystem can be called at 650* system level. If not call the command loader instead. */ 651 if substr (gtss_prgdes_ext_$prgdes (i).parameters, 9, 1) then i = hbound (gtss_prgdes_ext_$prgdes, 1); 652 end; 653 654 /* Make CALLP primitive. */ 655 primitive = "0"b; 656 callp_desc = i; /* index of program descriptor */ 657 prim_op = 1; /* Code for CALLP */ 658 call callp_primitive; 659 return; 660 661 dcl c char(1); 662 dcl i fixed bin(17); 663 dcl name char(4); 664 end startp; 665 666 stfals_primitive: proc; 667 if db_interp_prim then 668 call com_err_ ( 669 0 670 , "gtss_interp_prim_" 671 , "switch word bit off ^i." 672 , switchword_bit 673 ); 674 if switchword_bit < 36 675 then 676 switch_word (switchword_bit) = "0"b; 677 else /* switchword_bit >= 36 */ 678 addr(gtss_ust.lswt2) -> switch_word(switchword_bit-36) ="0"b; 679 next_prim = prim_address; 680 primitive = gtss_prgdes_ext_$primitives (next_prim); 681 return; 682 end stfals_primitive; 683 684 strue_primitive: proc; 685 if db_interp_prim then 686 call com_err_ ( 687 0 688 , "gtss_interp_prim_" 689 , "switch word bit on ^i." 690 , switchword_bit 691 ); 692 if switchword_bit < 36 693 then 694 switch_word (switchword_bit) = "1"b; 695 else /* switchword_bit >= 36 */ 696 addr(gtss_ust.lswt2) -> switch_word(switchword_bit-36) ="1"b; 697 next_prim = prim_address; 698 primitive = gtss_prgdes_ext_$primitives (next_prim); 699 return; 700 end strue_primitive; 701 702 system: proc; /* System level */ 703 704 /* This routine brings the user back to system level and selects the default 705* subsystem "NONE". It is patterned after SYS in TSSI. 706**/ 707 708 /* Turn off compiler identifier bits. */ 709 /* See SYS in TSSI. */ 710 string (gtss_ust.lswth) = string (gtss_ust.lswth) & lswth_reset; 711 712 /* Reset flag indicating that user code is executing. */ 713 gtss_ust.lflg2.b14 = "0"b; 714 715 /* Indicate that program stack is empty. */ 716 gtss_ust.lxxx.b0_17 = initial_lxxx; 717 718 /* Indicate that CALLSS stack is empty. */ 719 gtss_ust.lcals.b0_17 = initial_lcals; 720 gtss_ext_$stack_level_ = 1; 721 722 /* Select Default system "NONE" */ 723 comm = "none"; 724 end system; 725 726 systm_primitive: proc; 727 /* Turn off compiler identifier bits. */ 728 string (gtss_ust.lswth) = string (gtss_ust.lswth) & lswth_reset; 729 730 /* Reset "user prog in control" indicator. */ 731 gtss_ust.lflg2.b14 = "0"b; 732 733 /* If there is no input then re-init system level. */ 734 if substr (comm, 1, 1) = carriage_return then go to sysx; 735 736 /* Test for "SYST(EM)" present. 737* If not, must be system name. */ 738 if comm ^= "syst" then do; 739 j = 0; 740 go to name_found; 741 end; 742 743 /* Find length of command line. */ 744 l = search (tty_line, carriage_return); 745 if l <= 0 then go to sysx; 746 747 /* Find end of "SYST..." */ 748 do i = 5 to l-1; 749 if characters_transmitted (i) <= " " then go to end_found; 750 end; 751 752 /* If we fall through we are at end of line so 753* re-init system level */ 754 go to sysx; 755 756 end_found: ; 757 758 /* Find beginning of system name. */ 759 do j = i+1 to l-1; 760 if characters_transmitted (j)>" " then go to name_found; 761 end; 762 763 /* If we fall through re-init system level. */ 764 765 sysx: ; 766 call system; 767 return; 768 769 name_found: ; 770 771 if j > 1 then do; 772 count_of_characters_transmitted = count_of_characters_transmitted-j+1; 773 tty_line = substr (tty_line, j); 774 command = first4; 775 comm = translate (command, "abcdefghijklmnopqrstuvwxyz", 776 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 777 end; 778 779 /* Indicate that program stack is empty. */ 780 gtss_ust.lxxx.b0_17 = initial_lxxx; 781 782 /* Indicate that CALLSS stack is empty. */ 783 gtss_ust.lcals.b0_17 = initial_lcals; 784 gtss_ext_$stack_level_ = 1; 785 786 dcl i fixed bin(17); 787 dcl j fixed bin(17); 788 dcl l fixed bin(17); 789 end systm_primitive; 790 791 /* Variables for gtss_interp_prim_: */ 792 /* IDENTIFIER ATTRIBUTES */ 793 dcl cl_ptr ptr static; 794 dcl comm char(4) static; 795 dcl command char(4); 796 dcl conclude_gtss bit(1) static int; 797 dcl cp_ptr ptr static; 798 dcl current_level (4) label static; 799 dcl cu_$cl entry (); 800 dcl first4 char(4)aligned based (tty_line_ptr) /* Left 4 chars of line. */; 801 dcl first6 char(6)aligned based (tty_line_ptr) /* Left 6 chars of line. */; 802 dcl gseg ptr init(null()); 803 dcl gtss_dump_program_stack_ entry; 804 dcl gtss_fail condition; 805 dcl gtss_fix_tty_modes_ entry ext; 806 dcl gtss_prgdes_ext_$cmlcl fixed bin(17)ext /* gtss_prgdes_ext_$primitives offset of 1st primitive for command loader. */; 807 dcl hbound builtin; 808 dcl i fixed bin(17); 809 dcl initial_lcals fixed bin(17) static; 810 dcl initial_lxxx fixed bin(17) static; 811 dcl ioa_ entry options (variable); 812 dcl lbound builtin; 813 dcl loop_count fixed bin(17); 814 dcl lower char(26)static int options(constant)init("abcdefghijklmnopqrstuvwxyz"); 815 dcl lswth_reset bit(18)static int options(constant) init("041363"b3 ); 816 dcl my_level fixed bin(24) automatic; 817 dcl next_prim fixed bin(17); 818 dcl pop_callss_stack bit(1); 819 dcl program_interrupt condition; 820 dcl quit condition; 821 dcl search builtin; 822 dcl switch_word (0:35)bit(1)unal based(addr(gtss_ust.lswth)); 823 dcl timer_manager_$reset_cpu_call entry (entry); 824 dcl translate builtin; 825 dcl tty_line char(244)aligned based (tty_line_ptr); 826 dcl tty_line_ptr ptr init (null ()) static; 827 dcl upper char(26)static int options(constant)init("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 828 829 dcl 1 common_list (gtss_prgdes_ext_$common_cmd_num) aligned based (cl_ptr), 830 2 cl_word char(4), 831 2 cl_len fixed bin(17); 832 833 dcl 1 com_prim_list (gtss_prgdes_ext_$common_cmd_num) aligned based (cp_ptr), 834 2 com_prim_ptr fixed bin(17) unal, 835 2 filler bit(18) unal; 836 837 dcl carriage_return char(1) static int options (constant) init (" "); 838 839 dcl period_TSLOG bit(36)static int options (constant) init ("336362434627"b3); /* =. bcd for ".TSLOG". */ 840 1 1 /* BEGIN INCLUDE FILE gtss_prgdes_.incl.pl1 */ 1 2 /* 1 3* Created: Kepner 04/12/78 1 4* Modified: Ron Barstad 82-08-11 to change size of prgdes array for 4js3 1 5* Modified: Ron Barstad 83-05-19 change size of prgdes array for update 7 1 6**/ 1 7 1 8 /* 1 9* " This structure describes the timesharing subsystem program 1 10* " descriptors. 1 11* " 1 12* " Anywhere fixed bin(17) unal appears it should be noted that GCOS 1 13* " can potentially make use of all 18 bits and caution should be 1 14* " exercised. These items should be changed to fixed bin(18) 1 15* " usigned unal when this feature is added to the PL/I compiler. 1 16* " 1 17* " ss_name subsystem name 1 18* " 1 19* " program_size actual program size to be used in execution. 1 20* " 1 21* " load_size the size remaining when all leading and trailing zeros 1 22* " have been eliminated. This is used to reduce the size 1 23* " of the original copy of the program. 1 24* " 1 25* " entry_point address relative to zero that contains the first 1 26* " executable instruction. 1 27* " 1 28* " parameters flags defining attributes of the subsystem. The flag 1 29* " bits are defined below. Assume bits are numbered 1-18. 1 30* " 1 cache 1 31* " 2 .BSCF 1 32* " 3 special size request 1 33* " 4 drl t.exec permission. 1 34* " 5 drl t.cmov permission 1 35* " 6 special product offering. 1 36* " 7 high use program file, #p 1 37* " 8 special file switch (perm/temp) allowed. 1 38* " 9 ss not callable at system level. 1 39* " 10 subsystem allowed use of get-specific. 1 40* " 11 execute permission allowed for file i/o. 1 41* " 12 subsystem can read system master catalog. 1 42* " 13 basic or databasic 1 43* " 14 subsystem uses common command list. 1 44* " 15 low use subsystem (# q file) 1 45* " 16 subsystem must be patched when loaded. 1 46* " 17 master subsystem. 1 47* " 18 privileged subsystem. 1 48* " 1 49* " seek_address the word offset in the multisegment file 1 50* " component where the object code for this subsystem is 1 51* " stored. 1 52* " 1 53* " initial_load_address The address of the first nonzero word in 1 54* " the program. 1 55* " 1 56* " cmd_lang_offset The word offset into gtss_prgdes_ext_$primitives 1 57* " (suitable for use with addrel) of the command language 1 58* " list for this subsystem. 1 59* " 1 60* " cmd_lang_len Number of command names for this subsystem. 1 61* " 1 62* " statistics 1 63* " 1 64* " bci_catalog_name The GECALL name for the subsystem. 1 65* " 1 66* " library an integer which indicates which multisegment file 1 67* " contains the object code for this subsystem. 1 68* " 1 69* " component an integer which indicates which component of the 1 70* " multisegment file contains the object code for this 1 71* " subsystem. 1 72* " 1 73* " ss_name_len The number of nonblank characters in the subsystem 1 74* " name. 1 75**/ 1 76 1 77 dcl 1 gtss_prgdes_ext_$prgdes (302) aligned ext, 1 78 2 ss_name char (4) aligned, 1 79 2 program_size fixed bin (17) unal, 1 80 2 load_size fixed bin (17) unal, 1 81 2 entry_point fixed bin (17) unal, 1 82 2 parameters bit (18) unal, 1 83 2 seek_address bit(18) unal, 1 84 2 initial_load_address fixed bin (17) unal, 1 85 2 cmd_lang_offset fixed bin (17) unal, 1 86 2 cmd_lang_len fixed bin (17) unal, 1 87 2 statistics, 1 88 3 calls fixed bin (17) unal, 1 89 3 loads fixed bin (17) unal, 1 90 3 filler (3) bit (36) unal, 1 91 2 bci_catalog_name bit (36) aligned, 1 92 2 library fixed bin (17) unal, 1 93 2 component fixed bin (17) unal, 1 94 2 ss_name_len fixed bin (17) aligned; 1 95 1 96 1 97 1 98 /* This overlay structure is used to pass the user visible portion 1 99* of the program descriptor to the subsystem via DRL PRGDES. */ 1 100 dcl 1 prgdes_ov (302) aligned based (addr (gtss_prgdes_ext_$prgdes)), 1 101 2 first_9_words char (36), /* user visible portion */ 1 102 2 filler char (12); 1 103 1 104 /* END INCLUDE FILE gtss_prgdes_.incl.pl1 */ 841 842 2 1 /* BEGIN INCLUDE FILE gtss_primitives_.incl.pl1 */ 2 2 /* 2 3* Created: Kepner 04/12/78 2 4* Modified: Ron Barstad 82-08-11 to change size of primitives array for 4js3 2 5* Modified: Ron Barstad 83-05-19 change size of primitives for update 7 2 6**/ 2 7 2 8 /* This array contains the command language lists and 2 9* primitive sequences. */ 2 10 2 11 dcl gtss_prgdes_ext_$primitives (0:1070) bit (36) aligned ext; 2 12 2 13 /* This variable stores the current primitive */ 2 14 2 15 dcl primitive bit (36); 2 16 2 17 /* This overlay structure is used for the interpretation of most primitives. 2 18* 2 19* prim_address is the offset in gtss_prgdes_ext_$primitives of a 2 20* primitive that may possibly be transferred to. 2 21**/ 2 22 dcl 1 primitive_overlay aligned based (addr (primitive)), 2 23 2 prim_address fixed bin (17) unal, 2 24 2 switchword_bit fixed bin (11) unal, 2 25 2 prim_op fixed bin (5) unal; 2 26 2 27 2 28 /* This overlay structure is used for the interpretation of 2 29* the CALLP primitive. 2 30* 2 31* callp_desc is the index in gtss_prgdes_ext_$prgdes of the program 2 32* descriptor being called. 2 33**/ 2 34 dcl 1 callp_overlay aligned based (addr (primitive)), 2 35 2 callp_desc fixed bin (17) unal, 2 36 2 fill bit (5) unal, 2 37 2 switchword_flag bit (1) unal, 2 38 2 switch_ov_bit bit (6) unal, 2 39 2 prim_ov_op fixed bin (5) unal; 2 40 2 41 2 42 /* 2 43* " The following two structures, command_list and 2 44* " cmd_primitive_list, are used in scanning for command language of 2 45* " the current subsystem. command_list gives the command name and 2 46* " number of valid characters (up to 4) in the command name for each 2 47* " command. Once a particular command name has been matched, the 2 48* " corresponding entry in cmd_primitive_list gives the offset in 2 49* " gtss_prgdes_ext_$primitives of the start of the primitive list to 2 50* " interpret this command. The last entry in cmd_primitive_list 2 51* " gives the offset in gtss_prgdes_ext_$primitives of the start-up 2 52* " primitive sequence for the current subsystem. In order to use 2 53* " these structures for the subsystem represented by the Ith program 2 54* " descriptor the following calculations are needed: 2 55* " 2 56* " cmd_list_len = gtss_prgdes_ext_$prgdes(I).cmd_lang_len; 2 57* " cmd_list_ptr = addr(gtss_prgdes_ext_$primitives 2 58* " (gtss_prgdes_ext_$prgdes(I).cmd_lang_offset)); 2 59* " cmd_prim_list_ptr = addrel(cmd_list_ptr,2*cmd_list_len); 2 60* " 2 61* " Subsystems which have the common command list or BASIC command 2 62* " list bit set in their program descriptor make use of a common 2 63* " command list near the beginning of gtss_prgdes_ext_$primitives in 2 64* " addition to their private command lists (if any). The common 2 65* " command list starts in the third word of gtss_prgdes_ext_$primitives. 2 66* " The number of commands in the list is given by 2 67* " gtss_prgdes_ext_$common_cmd_num. Subsystems which have the BASIC 2 68* " command list bit set use only the first gtss_prgdes_ext_$basic_cmd_num 2 69* " commands of the common command list. 2 70**/ 2 71 dcl 1 command_list (cmd_list_len) aligned based (cmd_list_ptr), 2 72 2 cmd_word char (4), 2 73 2 cmd_len fixed bin (17); 2 74 2 75 dcl 1 cmd_primitive_list (cmd_list_len+1) aligned based (cmd_prim_list_ptr), 2 76 2 primitive_ptr fixed bin (17) unal, 2 77 2 filler fixed bin (17) unal; 2 78 2 79 dcl cmd_list_ptr ptr init(null()); 2 80 dcl cmd_prim_list_ptr ptr init(null()); 2 81 dcl cmd_list_len fixed bin (17); 2 82 2 83 /* Number of commands of the common command list used for 2 84* BASIC and various other subsystems which specify the BASIC 2 85* parameter bit in their program descriptor. 2 86**/ 2 87 dcl gtss_prgdes_ext_$basic_cmd_num fixed bin (17, 0) ext; 2 88 2 89 /* Number of commands in the common command list. 2 90**/ 2 91 dcl gtss_prgdes_ext_$common_cmd_num fixed bin (17, 0) ext; 2 92 2 93 /* END INCLUDE FILE gtss_primitives_.incl.pl1 */ 843 844 3 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 3 2 /* UST: User Status Table 3 3* definitions based on 3 4* System Tables, Order number DD14-01E, January 1981 3 5* Section 15, Time Sharing System 3 6* 3 7* Authors: Robert J. Grimes Created 3 8* - Albert N. Kepner 1978 3 9* - Robert M. May 3 10* - David B. Ward 3 11* Change: Dave Ward 02/23/79 Level 4 numbering. 3 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 3 13* Brought up to 4JS3 functionality 3 14**/ 3 15 /* octal word offsets of entries */ 3 16 dcl 1 gtss_ust_ext_$ust aligned ext, 3 17 3 gtss_ust, 3 18 /* 0-1 */ 4 lid bit (72), 3 19 /* 2 */ 4 lstp bit (36), 3 20 /* 3 */ 4 ltin bit (36), 3 21 /* 4 */ 4 lstio, 3 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 3 23 5 no_of_disk_io fixed bin (18) uns unal, 3 24 /* 5 */ 4 lsnub bit (36), 3 25 /* 6-7 */ 4 lchg bit (72), 3 26 /* 10 */ 4 lbuf, 3 27 5 address bit (18)unaligned, 3 28 5 tally bit (1)unaligned, 3 29 5 terminal_type bit (5)unaligned, 3 30 5 station_id bit (12)unaligned, 3 31 /* 11-12 */ 4 liost (0:1) bit (36), 3 32 /* 13 */ 4 lcc bit (36), 3 33 /* 14 */ 4 lback, 3 34 5 fill1 bit (18) unaligned, 3 35 5 gwake fixed bin (17) unaligned, 3 36 /* 15 */ 4 lflag, 3 37 5 mp_list bit (18) unaligned, 3 38 5 flags unaligned, 3 39 6 b18 bit (1) unaligned, 3 40 6 b19 bit (1) unaligned, 3 41 6 b20 bit (1) unaligned, 3 42 6 b21 bit (1) unaligned, 3 43 6 b22 bit (1) unaligned, 3 44 6 b23 bit (1) unaligned, 3 45 6 b24 bit (1) unaligned, 3 46 6 b25 bit (1) unaligned, 3 47 6 b26 bit (1) unaligned, 3 48 6 b27 bit (1) unaligned, 3 49 6 b28 bit (1) unaligned, 3 50 6 b29 bit (1) unaligned, 3 51 6 b30 bit (1) unaligned, 3 52 6 b31 bit (1) unaligned, 3 53 6 b32 bit (1) unaligned, 3 54 6 b33 bit (1) unaligned, 3 55 6 b34 bit (1) unaligned, 3 56 6 b35 bit (1) unaligned, 3 57 /* 16 */ 4 lkdss bit (36), 3 58 /* 17 */ 4 lfile, 3 59 5 program_stack fixed bin (17) unal, 3 60 5 file_list_ptr bit (18) unal, 3 61 /* 20 */ 4 lttys bit (36), 3 62 /* 21 */ 4 lswth, 3 63 5 b0 bit (1) unaligned, 3 64 5 b1 bit (1) unaligned, 3 65 5 b2 bit (1) unaligned, 3 66 5 b3 bit (1) unaligned, 3 67 5 b4 bit (1) unaligned, 3 68 5 b5 bit (1) unaligned, 3 69 5 b6 bit (1) unaligned, 3 70 5 b7 bit (1) unaligned, 3 71 5 b8 bit (1) unaligned, 3 72 5 b9 bit (1) unaligned, 3 73 5 b10 bit (1) unaligned, 3 74 5 b11 bit (1) unaligned, 3 75 5 b12 bit (1) unaligned, 3 76 5 b13 bit (1) unaligned, 3 77 5 b14 bit (1) unaligned, 3 78 5 b15 bit (1) unaligned, 3 79 5 b16 bit (1) unaligned, 3 80 5 b17 bit (1) unaligned, 3 81 5 b18 bit (1) unaligned, 3 82 5 b19 bit (1) unaligned, 3 83 5 b20 bit (1) unaligned, 3 84 5 b21 bit (1) unaligned, 3 85 5 b22 bit (1) unaligned, 3 86 5 b23 bit (1) unaligned, 3 87 5 b24 bit (1) unaligned, 3 88 5 b25 bit (1) unaligned, 3 89 5 b26 bit (1) unaligned, 3 90 5 b27 bit (1) unaligned, 3 91 5 b28 bit (1) unaligned, 3 92 5 b29 bit (1) unaligned, 3 93 5 b30 bit (1) unaligned, 3 94 5 b31 bit (1) unaligned, 3 95 5 b32 bit (1) unaligned, 3 96 5 b33 bit (1) unaligned, 3 97 5 b34 bit (1) unaligned, 3 98 5 b35 bit (1) unaligned, 3 99 /* 22 */ 4 lsize, 3 100 5 bar fixed bin (17) unaligned, 3 101 5 limit bit (18) unaligned, 3 102 /* 23... */ 4 lswap, 3 103 5 fill bit (18) unal, 3 104 5 size bit (18) unal, 3 105 /* ...24 */ 4 transfer_cell bit (36) unal, 3 106 /* 25 */ 4 lerrm bit (36), 3 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 3 108 /* 40 */ 4 lsybc, 3 109 5 b0_17 fixed bin (17) unaligned, 3 110 5 b18_35 fixed bin (17) unaligned, 3 111 /* 41-42 */ 4 lstem (0:1) bit (36), 3 112 /* 43 */ 4 lcals, 3 113 5 b0_17 fixed bin (17) unaligned, 3 114 5 b18_35 bit (18) unaligned, 3 115 /* 44-51 */ 4 subsystems (3), 3 116 5 content_lswap, 3 117 6 fill bit (18) unal, 3 118 6 size bit (18) unal, 3 119 5 tally_address fixed bin (17) unaligned, 3 120 5 ss_flags bit (18) unaligned, 3 121 /* 52 */ 4 ltalc, 3 122 5 tod fixed bin (17) unaligned, 3 123 5 startup fixed bin (17) unaligned, 3 124 /* 53 */ 4 lspts fixed bin (35), 3 125 /* 54 */ 4 lflg2, 3 126 5 b0 bit (1) unaligned, 3 127 5 b1 bit (1) unaligned, 3 128 5 b2 bit (1) unaligned, 3 129 5 b3 bit (1) unaligned, 3 130 5 b4 bit (1) unaligned, 3 131 5 b5 bit (1) unaligned, 3 132 5 b6 bit (1) unaligned, 3 133 5 b7 bit (1) unaligned, 3 134 5 b8 bit (1) unaligned, 3 135 5 b9 bit (1) unaligned, 3 136 5 b10 bit (1) unaligned, 3 137 5 b11 bit (1) unaligned, 3 138 5 b12 bit (1) unaligned, 3 139 5 b13 bit (1) unaligned, 3 140 5 b14 bit (1) unaligned, 3 141 5 b15 bit (1) unaligned, 3 142 5 b16 bit (1) unaligned, 3 143 5 b17 bit (1) unaligned, 3 144 5 b18 bit (1) unaligned, 3 145 5 b19 bit (1) unaligned, 3 146 5 b20 bit (1) unaligned, 3 147 5 b21 bit (1) unaligned, 3 148 5 b22 bit (1) unaligned, 3 149 5 b23 bit (1) unaligned, 3 150 5 b24 bit (1) unaligned, 3 151 5 b25 bit (1) unaligned, 3 152 5 b26 bit (1) unaligned, 3 153 5 b27 bit (1) unaligned, 3 154 5 b28 bit (1) unaligned, 3 155 5 b29 bit (1) unaligned, 3 156 5 b30 bit (1) unaligned, 3 157 5 b31 bit (1) unaligned, 3 158 5 b32 bit (1) unaligned, 3 159 5 b33 bit (1) unaligned, 3 160 5 b34 bit (1) unaligned, 3 161 5 b35 bit (1) unaligned, 3 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 3 163 /* 61 */ 4 lsprt fixed bin (35), 3 164 /* 62 */ 4 ltrm bit (36), 3 165 /* 63 */ 4 linno fixed bin (35), 3 166 /* 64 */ 4 lincr fixed bin (35), 3 167 /* 65 */ 4 ltdes bit (36), 3 168 /* 66 */ 4 lbptr bit (36), 3 169 /* 67 */ 4 lpptr, 3 170 5 last_file_pat_ptr bin (18) uns unal, 3 171 5 lpptr_reserved bin (18) uns unal, 3 172 /* 70 */ 4 lsclp bit (36), 3 173 /* 71 */ 4 limit fixed bin (35), 3 174 /* 72 */ 4 lacpt, 3 175 5 jout_pat_offset bit (18) unal, 3 176 5 permissions unal, 3 177 6 lodx bit (1) unal, 3 178 6 cardin bit (1) unal, 3 179 6 talk bit (1) unal, 3 180 6 lods bit (1) unal, 3 181 5 cardin_urgency bit (14) unal, 3 182 /* 73 */ 4 ldrl, 3 183 5 ilc bit (18) unaligned, 3 184 5 code fixed bin (17) unaligned, 3 185 /* 74 */ 4 ljsnb bit (36), 3 186 /* 75 */ 4 ltm0 bit (36), 3 187 /* 76 */ 4 ltm1 bit (36), 3 188 /* 77 */ 4 ltm2 bit (36), 3 189 /* 100 */ 4 ltm3 bit (36), 3 190 /* 101 */ 4 ltm4 bit (36), 3 191 /* 102 */ 4 ltm5 bit (36), 3 192 /* 103 */ 4 ltmwt bit (36), 3 193 /* 104 */ 4 ltmrs bit (36), 3 194 /* 105 */ 4 ltc0 bit (36), 3 195 /* 106 */ 4 ltc1 bit (36), 3 196 /* 107 */ 4 ltc2 bit (36), 3 197 /* 110 */ 4 lct3 bit (36), 3 198 /* 111 */ 4 ltc4 bit (36), 3 199 /* 112 */ 4 ltc5 bit (36), 3 200 /* 113 */ 4 ltcw bit (36), 3 201 /* 114 */ 4 lkst bit (36), 3 202 /* 115 */ 4 lkst2 bit (36), 3 203 /* 116 */ 4 lkcc bit (36), 3 204 /* 117 */ 4 lkms bit (36), 3 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 3 206 /* 122 */ 4 lkntp bit (36), 3 207 /* 123 */ 4 lkrdc bit (36), 3 208 /* 124 */ 4 lpqf bit (36), 3 209 /* 125 */ 4 lpqb bit (36), 3 210 /* 126 */ 4 lustl bit (36), 3 211 /* 127 */ 4 ltemp bit (36), 3 212 /* 130 */ 4 lrtll, 3 213 5 word_length fixed bin unaligned, 3 214 5 char_length fixed bin unaligned, 3 215 /* 131 */ 4 ltim bit (36), 3 216 /* 132 */ 4 lcfio, 3 217 5 sect_out fixed bin(18)unsigned unal, 3 218 5 sect_in fixed bin(18)unsigned unal, 3 219 /* 133 */ 4 lcfst, 3 220 5 initial_sect_out fixed bin(18)unsigned unal, 3 221 5 start_term fixed bin(18)unsigned unal, 3 222 /* 134 */ 4 lcmpt bit (36), 3 223 /* 135 */ 4 lcjid bit (36), 3 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 3 225 /* 140 */ 4 lrdta bit (36), 3 226 /* 141 */ 4 lrrsk bit (36), 3 227 /* 142 */ 4 lrskd bit (36), 3 228 /* 143 */ 4 lrcc bit (36), 3 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 3 230 /* 146 */ 4 lrtm bit (36), 3 231 /* 147 */ 4 lswt2, 3 232 5 b0 bit (1) unaligned, 3 233 5 b1 bit (1) unaligned, 3 234 5 b2 bit (1) unaligned, 3 235 5 b3 bit (1) unaligned, 3 236 5 b4 bit (1) unaligned, 3 237 5 b5 bit (1) unaligned, 3 238 5 b6 bit (1) unaligned, 3 239 5 b7 bit (1) unaligned, 3 240 5 b8 bit (1) unaligned, 3 241 5 b9 bit (1) unaligned, 3 242 5 b10 bit (1) unaligned, 3 243 5 b11 bit (1) unaligned, 3 244 5 b12 bit (1) unaligned, 3 245 5 b13 bit (1) unaligned, 3 246 5 b14 bit (1) unaligned, 3 247 5 b15 bit (1) unaligned, 3 248 5 b16 bit (1) unaligned, 3 249 5 b17 bit (1) unaligned, 3 250 5 b18 bit (1) unaligned, 3 251 5 b19 bit (1) unaligned, 3 252 5 b20 bit (1) unaligned, 3 253 5 b21 bit (1) unaligned, 3 254 5 b22 bit (1) unaligned, 3 255 5 b23 bit (1) unaligned, 3 256 5 b24 bit (1) unaligned, 3 257 5 b25 bit (1) unaligned, 3 258 5 b26 bit (1) unaligned, 3 259 5 b27 bit (1) unaligned, 3 260 5 b28 bit (1) unaligned, 3 261 5 b29 bit (1) unaligned, 3 262 5 b30 bit (1) unaligned, 3 263 5 b31 bit (1) unaligned, 3 264 5 b32 bit (1) unaligned, 3 265 5 b33 bit (1) unaligned, 3 266 5 b34 bit (1) unaligned, 3 267 5 b35 bit (1) unaligned, 3 268 /* 150 */ 4 llsnb bit (36), 3 269 /* 151 */ 4 lesq bit (36), 3 270 /* 152-153 */ 4 lumc (0:1) bit (36), 3 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 3 272 /* 156 */ 4 lopts bit (36), 3 273 /* 157 */ 4 licec, 3 274 5 b0_17 bit (18) unaligned, 3 275 5 b18_35 fixed bin (17) unaligned, 3 276 /* 160 */ 4 lflg3, 3 277 5 b0 bit (1) unaligned, 3 278 5 b1 bit (1) unaligned, 3 279 5 b2 bit (1) unaligned, 3 280 5 b3 bit (1) unaligned, 3 281 5 b4 bit (1) unaligned, 3 282 5 b5 bit (1) unaligned, 3 283 5 b6 bit (1) unaligned, 3 284 5 b7 bit (1) unaligned, 3 285 5 b8 bit (1) unaligned, 3 286 5 b9 bit (1) unaligned, 3 287 5 b10 bit (1) unaligned, 3 288 5 b11 bit (1) unaligned, 3 289 5 b12 bit (1) unaligned, 3 290 5 b13 bit (1) unaligned, 3 291 5 b14 bit (1) unaligned, 3 292 5 b15 bit (1) unaligned, 3 293 5 b16 bit (1) unaligned, 3 294 5 b17 bit (1) unaligned, 3 295 5 b18 bit (1) unaligned, 3 296 5 b19 bit (1) unaligned, 3 297 5 b20 bit (1) unaligned, 3 298 5 b21 bit (1) unaligned, 3 299 5 b22 bit (1) unaligned, 3 300 5 b23 bit (1) unaligned, 3 301 5 b24 bit (1) unaligned, 3 302 5 b25 bit (1) unaligned, 3 303 5 b26 bit (1) unaligned, 3 304 5 b27 bit (1) unaligned, 3 305 5 b28 bit (1) unaligned, 3 306 5 b29 bit (1) unaligned, 3 307 5 b30 bit (1) unaligned, 3 308 5 b31 bit (1) unaligned, 3 309 5 b32 bit (1) unaligned, 3 310 5 b33 bit (1) unaligned, 3 311 5 b34 bit (1) unaligned, 3 312 5 b35 bit (1) unaligned, 3 313 /* 161-163 */ 4 lpage (0:2) bit (36), 3 314 /* 164 */ 4 lsit1 bit (36), 3 315 /* 165 */ 4 lsit2 bit (36), 3 316 /* 166 */ 4 lsit3 bit (36), 3 317 /* 167 */ 4 lsit4 bit (36), 3 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 3 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 3 320 5 b0_17 fixed bin (17) unaligned, 3 321 5 b18_35 bit (18) unaligned, /* not used */ 3 322 /* 171-175 */ 4 lprgs (5), 3 323 5 b0_17 fixed bin (17) unaligned, 3 324 5 b18_35 fixed bin (17) unaligned, 3 325 /* 176 */ 4 fill bit (36), 3 326 /* 177 */ 4 remote_io_buffer aligned, 3 327 5 buffer_control_word, 3 328 6 current_line_pointer bit (18)unal, 3 329 6 buffer_threshold_address bit (18)unal, 3 330 5 number_words_transmitted fixed bin (17)unal, 3 331 5 FILL1 fixed bin (17)unal, 3 332 5 count_of_characters_transmitted fixed bin (17)unal, 3 333 5 FILL2 fixed bin (17)unal, 3 334 5 characters_transmitted (244) char (1) unal, 3 335 /* 277 */ 4 word_after_ust bit (36) aligned; 3 336 3 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 845 846 4 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 4 4* Modified: Ward 1981 add suspended_process dcl 4 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 4 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 4 7**/ 4 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 4 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 4 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 4 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 4 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 4 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 4 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 4 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 4 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 4 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 4 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 4 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 4 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 4 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 4 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 4 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 4 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 4 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 4 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 4 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 4 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 4 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 4 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 4 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 4 32 dcl gtss_ext_$suspended_process bit(1) ext static; 4 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 4 34 dcl gtss_ext_$user_id char (26)var ext; 4 35 dcl gtss_ext_$work_area_ptr ptr ext; 4 36 4 37 dcl 1 gtss_ext_$CFP_bits aligned static external 4 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 4 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 4 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 4 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 4 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 4 43 ; 4 44 4 45 dcl 1 gtss_ext_$com_reg aligned static ext, 4 46 3 tsdmx, 4 47 4 dst fixed bin (18) unsigned unaligned, 4 48 4 dit fixed bin (18) unsigned unaligned, 4 49 3 tsdpt fixed bin (36) unsigned unaligned, 4 50 3 tsddt fixed bin (36) unsigned unaligned, 4 51 3 tsdid bit (72) unaligned, 4 52 3 tsdsd bit (36) unaligned, 4 53 3 tsdst fixed bin (36) unsigned unaligned, 4 54 3 tsdjb fixed bin (35) unaligned, 4 55 3 tsdgt, 4 56 4 ust_loc fixed bin (18) unsigned unaligned, 4 57 4 gating_ctl fixed bin (18) unsigned unaligned, 4 58 3 tcdfr bit (36) unaligned; 4 59 4 60 dcl 1 gtss_ext_$flags aligned static ext 4 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 4 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 4 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 4 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 4 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 4 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 4 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 4 68 , 3 available bit (65) unal 4 69 ; 4 70 4 71 4 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 4 73 3 total_time (-10:71)fixed bin (71), 4 74 3 count (-10:71)fixed bin (17); 4 75 4 76 /* Declaration of Available File Table 4 77* */ 4 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 4 79 4 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 4 81 4 82 3 aft_entry (20), 4 83 4 altname char (8), /* altname name for attaching this file */ 4 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 4 85 4 previous_add fixed bin (24), /* Previously added entry. */ 4 86 4 next_add fixed bin (24), /* Entry added after this one. */ 4 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 4 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 4 89 4 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 4 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 4 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 4 93 4 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 4 95 /** Data structure to provide access to installed 4 96* subsystems fast library load. 4 97* **/ 4 98 dcl 1 gtss_ext_$fast_lib aligned ext 4 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 4 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 4 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 4 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 4 103 ; 4 104 4 105 /* Pointers to segments to regulate multipler 4 106* callers to files. Same segments are used to regulate 4 107* all simulator callers. 4 108**/ 4 109 dcl 1 gtss_ext_$mcfc aligned ext, 4 110 3 multics_lock_id bit(36), 4 111 3 wait_time fixed bin, 4 112 3 files_ptr ptr, 4 113 3 names_ptr ptr, 4 114 3 callers_ptr (0:3)ptr 4 115 ; 4 116 4 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 847 848 5 1 /* BEGIN INCLUDE FILE gtss_spa.incl.pl1 */ 5 2 /* 5 3* Created: (Grimes SMP) 04/15/78 5 4* Changed 6/22/78 A. Kepner add labrt 5 5* Changed 6/28/78 D. Ward lwrap defined (lrap) 5 6* Changed 10/16/79 Al Dupuis lsztm was off by two words. 5 7* Changed 84-02-27 Ron Barstad added hex ir bit 5 8* */ 5 9 dcl 1 gtss_spa aligned based (gseg), 5 10 3 fault_vector (0:9) bit(36), 5 11 3 lhstr char (8) unal, 5 12 3 lbrk, 5 13 4 ic bit(18) unal, 5 14 4 ir bit(18) unal, 5 15 4 tra_addr bit(18) unal, 5 16 4 tra_op bit(18) unal, 5 17 3 fill1 (0:1) bit(36), 5 18 3 lsztm, 5 19 4 ic_ir, 5 20 5 IC bit(18)unal, 5 21 5 IR bit(16)unal, 5 22 5 b34 bit(1)unal, 5 23 5 b35 bit(1)unal, 5 24 4 tra bit(36)unal, 5 25 3 losti unal, 5 26 4 ilc bit(18) unal, 5 27 4 ir unal, /* INDICATOR REGISTERS */ 5 28 5 zero bit(1) unal, /* zero indicator */ 5 29 5 neg bit(1) unal, /* negative indicator */ 5 30 5 carry bit(1) unal, /* carryry indicator */ 5 31 5 ovfl bit(1) unal, /* overflow indicator */ 5 32 5 eovf bit(1) unal, /* eponent overflow */ 5 33 5 eufl bit(1) unal, /* exponent underflow */ 5 34 5 oflm bit(1) unal, /* overflow mask */ 5 35 5 tro bit(1) unal, /* tally runout */ 5 36 5 par bit(1) unal, /* parity error */ 5 37 5 parm bit(1) unal, /* parity mask */ 5 38 5 bm bit(1) unal, /* ^bar mode */ 5 39 5 tru bit(1) unal, /* truncation mode */ 5 40 5 mif bit(1) unal, /* multi-word instruction mode */ 5 41 5 abs bit(1) unal, /* absolute mode */ 5 42 5 hex bit(1) unal, /* hexadecimalexponent mode */ 5 43 5 pad bit(3) unal, 5 44 3 lnam bit(36), /* Library name (bcd). */ 5 45 3 labrt, 5 46 4 b0_17 bit(18) unal, 5 47 4 b18_35 fixed bin (17) unal, 5 48 3 fill2 bit(36), 5 49 3 lfig bit(36), 5 50 3 lwrap, 5 51 5 b0_17 bit(1) unal, 5 52 5 b18 bit(1) unal, 5 53 5 b19 bit(1) unal, 5 54 5 b20 bit(1) unal, 5 55 5 b21 bit(1) unal, 5 56 5 b22 bit(1) unal, 5 57 5 b23 bit(1) unal, 5 58 5 b24 bit(1) unal, 5 59 5 b25 bit(1) unal, 5 60 5 b26 bit(1) unal, 5 61 5 b27 bit(1) unal, 5 62 5 b28 bit(1) unal, 5 63 5 b29 bit(1) unal, 5 64 5 b30 bit(1) unal, 5 65 5 b31 bit(1) unal, 5 66 5 b32 bit(1) unal, 5 67 5 b33 bit(1) unal, 5 68 5 b34 bit(1) unal, 5 69 5 b35 bit(1) unal, 5 70 3 lsid bit(36), 5 71 3 lftst bit(36), 5 72 3 lpcal (0:3) bit(36), 5 73 3 lpcnt fixed bin (35) unal, 5 74 3 lhole, 5 75 4 high fixed bin (17) unal, 5 76 4 total fixed bin (17) unal, 5 77 3 lostr unal, 5 78 4 regs unal, /* registers */ 5 79 5 x (0:7) bit(18) unal, /* index registers */ 5 80 5 a bit(36), /* accumulator */ 5 81 5 q bit(36), /* q-register */ 5 82 5 e bit(8) unal, /* exponent */ 5 83 5 pad1 bit(28) unal, 5 84 5 t bit(27) unal, /* timer register */ 5 85 5 pad2 bit(6) unal, 5 86 5 ralr bit(3) unal, /* ring alarm register */ 5 87 3 leisa (0:7) bit(36), 5 88 3 leisp (0:7) bit(36), 5 89 3 fill3 (0:35) bit(36); 5 90 5 91 /* END INCLUDE FILE gtss_spa.incl.pl1 */ 849 850 6 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 6 2 /* 6 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 6 4* Change: Dave Ward 06/08/78 made attributes constant. 6 5* Change: Dave Ward 08/17/81 made lengths same as constans. 6 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 6 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 6 8**/ 6 9 dcl 1 gtss_pnterr static int options (constant), 6 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 6 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 6 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 6 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 6 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 6 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 6 16 2 err7 char(50) init("007-BAP PROG. DESC."), 6 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 6 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 6 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 6 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 6 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 6 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 6 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 6 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 6 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 6 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 6 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 6 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 6 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 6 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 6 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 6 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 6 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 6 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 6 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 6 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 6 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 6 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 6 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 6 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 6 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 6 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 6 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 6 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 6 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 6 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 6 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 6 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 6 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 6 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 6 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 6 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 6 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 6 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 6 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 6 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 6 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 6 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 6 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 6 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 6 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 6 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 6 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 6 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 6 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 6 66 2 err57 char(50) init("UNASSIGNED"), 6 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 6 68 2 err59 char(50) init("UNASSIGNED"), 6 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 6 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 6 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 6 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 6 73 2 err64 char(50) init("SY** I/O ERROR"), 6 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 6 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 6 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 6 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 6 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 6 79 2 err999 char(50) init("dummy"); 6 80 6 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 851 852 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 */ 853 854 8 1 /* */ 8 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 8 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 8 4 /* Modified 07/07/76 by Morris for fault register data */ 8 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 8 6 /* Modified '82 to make values constant */ 8 7 8 8 /* words 0-15 pointer registers */ 8 9 8 10 dcl mcp ptr; 8 11 8 12 dcl 1 mc based (mcp) aligned, 8 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 8 14 (2 regs, /* registers */ 8 15 3 x (0:7) bit (18), /* index registers */ 8 16 3 a bit (36), /* accumulator */ 8 17 3 q bit (36), /* q-register */ 8 18 3 e bit (8), /* exponent */ 8 19 3 pad1 bit (28), 8 20 3 t bit (27), /* timer register */ 8 21 3 pad2 bit (6), 8 22 3 ralr bit (3), /* ring alarm register */ 8 23 8 24 2 scu (0:7) bit (36), 8 25 8 26 2 mask bit (72), /* mem controller mask at time of fault */ 8 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 8 28 2 errcode fixed bin (35), /* fault handler's error code */ 8 29 2 fim_temp, 8 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 8 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 8 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 8 33 2 fault_reg bit (36), /* fault register */ 8 34 2 pad2 bit (1), 8 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 8 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 8 37 2 fault_time bit (54), /* time of fault */ 8 38 8 39 2 eis_info (0:7) bit (36)) unaligned; 8 40 8 41 8 42 dcl (apx fixed bin init (0), 8 43 abx fixed bin init (1), 8 44 bpx fixed bin init (2), 8 45 bbx fixed bin init (3), 8 46 lpx fixed bin init (4), 8 47 lbx fixed bin init (5), 8 48 spx fixed bin init (6), 8 49 sbx fixed bin init (7)) internal static options (constant); 8 50 8 51 8 52 8 53 8 54 dcl scup ptr; 8 55 8 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 8 57 8 58 8 59 /* WORD (0) */ 8 60 8 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 8 62 3 prr bit (3), /* procedure ring register */ 8 63 3 psr bit (15), /* procedure segment register */ 8 64 3 p bit (1), /* procedure privileged bit */ 8 65 8 66 2 apu, /* APPENDING UNIT STATUS */ 8 67 3 xsf bit (1), /* ext seg flag - IT modification */ 8 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 8 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 8 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 8 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 8 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 8 73 3 dsptw bit (1), /* Fetch of DSPTW */ 8 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 8 75 3 sdwp bit (1), /* Fetch of SDW paged */ 8 76 3 ptw bit (1), /* Fetch of PTW */ 8 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 8 78 3 fap bit (1), /* Fetch of final address paged */ 8 79 3 fanp bit (1), /* Fetch of final address non-paged */ 8 80 3 fabs bit (1), /* Fetch of final address absolute */ 8 81 8 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 8 83 8 84 8 85 /* WORD (1) */ 8 86 8 87 2 fd, /* FAULT DATA */ 8 88 3 iro bit (1), /* illegal ring order */ 8 89 3 oeb bit (1), /* out of execute bracket */ 8 90 3 e_off bit (1), /* no execute */ 8 91 3 orb bit (1), /* out of read bracket */ 8 92 3 r_off bit (1), /* no read */ 8 93 3 owb bit (1), /* out of write bracket */ 8 94 3 w_off bit (1), /* no write */ 8 95 3 no_ga bit (1), /* not a gate */ 8 96 3 ocb bit (1), /* out of call bracket */ 8 97 3 ocall bit (1), /* outward call */ 8 98 3 boc bit (1), /* bad outward call */ 8 99 3 inret bit (1), /* inward return */ 8 100 3 crt bit (1), /* cross ring transfer */ 8 101 3 ralr bit (1), /* ring alarm register */ 8 102 3 am_er bit (1), /* associative memory fault */ 8 103 3 oosb bit (1), /* out of segment bounds */ 8 104 3 paru bit (1), /* processor parity upper */ 8 105 3 parl bit (1), /* processor parity lower */ 8 106 3 onc_1 bit (1), /* op not complete type 1 */ 8 107 3 onc_2 bit (1), /* op not complete type 2 */ 8 108 8 109 2 port_stat, /* PORT STATUS */ 8 110 3 ial bit (4), /* illegal action lines */ 8 111 3 iac bit (3), /* illegal action channel */ 8 112 3 con_chan bit (3), /* connect channel */ 8 113 8 114 2 fi_num bit (5), /* (fault/interrupt) number */ 8 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 8 116 8 117 8 118 /* WORD (2) */ 8 119 8 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 8 121 3 trr bit (3), /* temporary ring register */ 8 122 3 tsr bit (15), /* temporary segment register */ 8 123 8 124 2 pad2 bit (9), 8 125 8 126 2 cpu_no bit (3), /* CPU number */ 8 127 8 128 2 delta bit (6), /* tally modification DELTA */ 8 129 8 130 8 131 /* WORD (3) */ 8 132 8 133 2 word3 bit (18), 8 134 8 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 8 136 3 tsna, /* Word 1 status */ 8 137 4 prn bit (3), /* Word 1 PR number */ 8 138 4 prv bit (1), /* Word 1 PR valid bit */ 8 139 3 tsnb, /* Word 2 status */ 8 140 4 prn bit (3), /* Word 2 PR number */ 8 141 4 prv bit (1), /* Word 2 PR valid bit */ 8 142 3 tsnc, /* Word 3 status */ 8 143 4 prn bit (3), /* Word 3 PR number */ 8 144 4 prv bit (1), /* Word 3 PR valid bit */ 8 145 8 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 8 147 8 148 8 149 /* WORD (4) */ 8 150 8 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 8 152 8 153 2 ir, /* INDICATOR REGISTERS */ 8 154 3 zero bit (1), /* zero indicator */ 8 155 3 neg bit (1), /* negative indicator */ 8 156 3 carry bit (1), /* carryry indicator */ 8 157 3 ovfl bit (1), /* overflow indicator */ 8 158 3 eovf bit (1), /* eponent overflow */ 8 159 3 eufl bit (1), /* exponent underflow */ 8 160 3 oflm bit (1), /* overflow mask */ 8 161 3 tro bit (1), /* tally runout */ 8 162 3 par bit (1), /* parity error */ 8 163 3 parm bit (1), /* parity mask */ 8 164 3 bm bit (1), /* ^bar mode */ 8 165 3 tru bit (1), /* truncation mode */ 8 166 3 mif bit (1), /* multi-word instruction mode */ 8 167 3 abs bit (1), /* absolute mode */ 8 168 3 hex bit (1), /* hexadecimal exponent mode */ 8 169 3 pad bit (3), 8 170 8 171 8 172 /* WORD (5) */ 8 173 8 174 2 ca bit (18), /* COMPUTED ADDRESS */ 8 175 8 176 2 cu, /* CONTROL UNIT STATUS */ 8 177 3 rf bit (1), /* on first cycle of repeat instr */ 8 178 3 rpt bit (1), /* repeat instruction */ 8 179 3 rd bit (1), /* repeat double instruction */ 8 180 3 rl bit (1), /* repeat link instruciton */ 8 181 3 pot bit (1), /* IT modification */ 8 182 3 pon bit (1), /* return type instruction */ 8 183 3 xde bit (1), /* XDE from Even location */ 8 184 3 xdo bit (1), /* XDE from Odd location */ 8 185 3 poa bit (1), /* operation preparation */ 8 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 8 187 3 its bit (1), /* ITS modification */ 8 188 3 if bit (1), /* fault occured during instruction fetch */ 8 189 8 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 8 191 8 192 8 193 /* WORDS (6,7) */ 8 194 8 195 2 even_inst bit (36), /* even instruction of faulting pair */ 8 196 8 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 8 198 8 199 8 200 8 201 8 202 8 203 8 204 /* ALTERNATE SCU DECLARATION */ 8 205 8 206 8 207 dcl 1 scux based (scup) aligned, 8 208 8 209 (2 pad0 bit (36), 8 210 8 211 2 fd, /* GROUP II FAULT DATA */ 8 212 3 isn bit (1), /* illegal segment number */ 8 213 3 ioc bit (1), /* illegal op code */ 8 214 3 ia_am bit (1), /* illegal address - modifier */ 8 215 3 isp bit (1), /* illegal slave procedure */ 8 216 3 ipr bit (1), /* illegal procedure */ 8 217 3 nea bit (1), /* non existent address */ 8 218 3 oobb bit (1), /* out of bounds */ 8 219 3 pad bit (29), 8 220 8 221 2 pad2 bit (36), 8 222 8 223 2 pad3a bit (18), 8 224 8 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 8 226 3 prn bit (3), /* PR number */ 8 227 3 prv bit (1), /* PR valid bit */ 8 228 8 229 2 pad3b bit (6)) unaligned, 8 230 8 231 2 pad45 (0:1) bit (36), 8 232 8 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 8 234 8 235 8 236 8 237 /* END INCLUDE FILE mc.incl.pl1 */ 855 856 9 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 9 2 /* 9 3* Created: Kepner 78-12-01 9 4**/ 9 5 9 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 9 7 9 8 /* $drm_rule: 9 9* 0 => rule not set 9 10* 1 => umc_dir_mode 9 11* 2 => working_dir_mode 9 12* 3 => smc_dir_mode 9 13**/ 9 14 9 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 9 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 9 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 9 18 dcl 1 gse_ext_$modes aligned ext, 9 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 9 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 9 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 9 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 9 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 9 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 9 25 3 fill bit(30) unal; 9 26 9 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 857 858 10 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 10 2 /* 10 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 10 4**/ 10 5 10 6 /* To provide a new debugging switch: 10 7* 10 8* 1) Locate the comment "Insert next entry above this comment". 10 9* 10 10* 2) Place a new declaration for a db_ variable just 10 11* above this comment, in the same manner as the 10 12* current declaration just above the comment, using 10 13* the next integer gtss_ext_$db index. 10 14* 10 15* 3) Execute the gtss|db_names ted macro (this updates 10 16* the sorted name table). 10 17* 10 18* 4) Example use: 10 19* 10 20* if db_drl_grow then do; 10 21* . 10 22* . 10 23* . 10 24* debug i/o statements using com_err_ or ioa_ 10 25* . 10 26* . 10 27* . 10 28* end; 10 29* 10 30**/ 10 31 10 32 dcl ( 10 33 db_ bit(1) defined(gtss_ext_$db(01)) 10 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 10 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 10 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 10 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 10 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 10 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 10 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 10 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 10 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 10 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 10 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 10 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 10 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 10 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 10 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 10 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 10 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 10 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 10 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 10 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 10 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 10 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 10 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 10 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 10 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 10 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 10 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 10 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 10 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 10 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 10 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 10 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 10 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 10 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 10 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 10 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 10 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 10 71 /* Insert next entry above this comment. */ 10 72 ); 10 73 10 74 /* Table of sorted names. */ 10 75 dcl 1 debug_bit_names (38) static int options(constant) 10 76 , 2 name char(18)var init( 10 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 10 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 10 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 10 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 10 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 10 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 10 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 10 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 10 85 ) 10 86 , 2 value fixed bin init( 10 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 10 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 10 89 ,31 ,22 10 90 ); 10 91 /* End of table. */ 10 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 859 860 11 1 /* BEGIN INCLUDE FILE gtss_starCF_.incl.pl1 */ 11 2 /* 11 3* Created: (Wardd Multics) 03/20/79 1816.6 mst Tue 11 4**/ 11 5 11 6 /* 11 7* gtss_CFP_input_ data structure to provide 11 8* for accessing the current command file. 11 9* 11 10* Changed: Al Dupuis 05/17/79 to get rid of nested get_line, put_chars concept. 11 11**/ 11 12 dcl 1 gtss_starCF_$FILE aligned static ext 11 13 , 3 select_sequence 11 14 , 4 OP1 /* Seek operation. */ 11 15 , 5 Device_Command bit(06)unal 11 16 , 5 zeroes_1 fixed bin(12)unsigned unal 11 17 , 5 IOC_Command bit(05)unal 11 18 , 5 zeroes_2 fixed bin(01)unsigned unal 11 19 , 5 Control fixed bin(06)unsigned unal 11 20 , 5 Count fixed bin(06)unsigned unal 11 21 11 22 , 4 ID1 11 23 , 5 fcb_loc bit(18)unal 11 24 , 5 DCW_list_loc bit(18)unal 11 25 11 26 , 4 OP2 /* Write opteration. */ 11 27 , 5 Device_Command bit(06)unal 11 28 , 5 zeroes_1 fixed bin(12)unsigned unal 11 29 , 5 IOC_Command bit(05)unal 11 30 , 5 zeroes_2 fixed bin(01)unsigned unal 11 31 , 5 Control fixed bin(06)unsigned unal 11 32 , 5 Count fixed bin(06)unsigned unal 11 33 11 34 , 4 ID2 11 35 , 5 fcb_loc bit(18)unal 11 36 , 5 DCW_list_loc bit(18)unal 11 37 11 38 , 4 RETURN_WORD 11 39 , 5 Status_loc bit(18)unal 11 40 , 5 Courtesy_Call_loc bit(18)unal 11 41 11 42 , 3 Seek_Word 11 43 , 4 Seek_loc bit(18)unal 11 44 , 4 Seek_count fixed bin(18)unsigned unal 11 45 , 3 Seek_Address fixed bin(35) 11 46 , 3 STATUS bit(72) unal 11 47 11 48 , 3 DCW 11 49 , 4 memory_loc bit(18)unal 11 50 , 4 zeroes_3 fixed bin(03)unsigned unal 11 51 , 4 action_code fixed bin(03)unsigned unal 11 52 , 4 word_count fixed bin(12)unsigned unal 11 53 11 54 , 3 RECORD 11 55 , 4 no_characters fixed bin(18)unsigned unal 11 56 , 4 zeroes_4 bit(18)unal 11 57 , 4 chars char(252) 11 58 11 59 /* Stack to accomodate nested command file processing. */ 11 60 , 3 cf 11 61 , 4 top fixed bin(24) 11 62 , 4 aft_indx fixed bin(24) 11 63 , 4 first_time bit (1) unaligned 11 64 , 4 exclude_on bit (1) unaligned 11 65 ; 11 66 11 67 /* END INCLUDE FILE gtss_starCF_.incl.pl1 */ 861 862 end gtss_interp_prim_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1044.2 gtss_interp_prim_.pl1 >spec>on>7105>gtss_interp_prim_.pl1 841 1 09/09/83 1714.0 gtss_prgdes_.incl.pl1 >ldd>include>gtss_prgdes_.incl.pl1 843 2 09/09/83 1714.1 gtss_primitives_.incl.pl1 >ldd>include>gtss_primitives_.incl.pl1 845 3 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 847 4 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 849 5 12/10/84 1029.8 gtss_spa.incl.pl1 >spec>on>7105>gtss_spa.incl.pl1 851 6 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 853 7 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 855 8 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 857 9 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 859 10 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 861 11 09/09/83 1714.2 gtss_starCF_.incl.pl1 >ldd>include>gtss_starCF_.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. b0_17 170 000066 external static fixed bin(17,0) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 78 185 277 286* 292* 292 326 337 434 479* 479 480 509 549 585 647 716* 780* b0_17 171 000066 external static fixed bin(17,0) array level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 297* 337 554 585 b0_17 43 000066 external static fixed bin(17,0) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 178* 178 184 285 412 501 543* 543 719* 783* b0_17 40 000066 external static fixed bin(17,0) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 244* b14 54(14) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 203 234* 432* 537* 713* 731* b17 21(17) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 249* b18_35 171(18) 000066 external static fixed bin(17,0) array level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 79* 327 435 550 b18_35 157(18) 000066 external static fixed bin(17,0) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 517 b18_35 40(18) 000066 external static fixed bin(17,0) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 245* b6 54(06) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 165* 215* 481 483* 491* b7 21(07) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 202 301* 531* b8 54(08) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 369 421 bar 22 000066 external static fixed bin(17,0) level 4 packed unaligned dcl 3-16 set ref 527* 528 528 bci_catalog_name 11 000056 external static bit(36) array level 2 dcl 1-77 ref 358 c 000100 automatic char(1) unaligned dcl 661 set ref 631* 632 633 634 635 635 callp_desc based fixed bin(17,0) level 2 packed unaligned dcl 2-34 set ref 297 310 310 313 314 656* callp_overlay based structure level 1 dcl 2-34 calls 5 000056 external static fixed bin(17,0) array level 3 packed unaligned dcl 1-77 set ref 310* 310 carriage_return constant char(1) initial unaligned dcl 837 ref 734 744 characters_transmitted 202 000066 external static char(1) array level 4 packed unaligned dcl 3-16 set ref 38 749 760 cl_len 1 based fixed bin(17,0) array level 2 dcl 829 ref 595 cl_ptr 000010 internal static pointer dcl 793 set ref 40* 41 595 596 cl_word based char(4) array level 2 dcl 829 ref 596 cmd_lang_len 4(18) 000056 external static fixed bin(17,0) array level 2 packed unaligned dcl 1-77 ref 313 555 cmd_lang_offset 4 000056 external static fixed bin(17,0) array level 2 packed unaligned dcl 1-77 ref 314 556 cmd_len 1 based fixed bin(17,0) array level 2 dcl 2-71 ref 605 cmd_list_len 000134 automatic fixed bin(17,0) dcl 2-81 set ref 313* 316 319 555* 558 604 cmd_list_ptr 000130 automatic pointer initial dcl 2-79 set ref 2-79* 314* 316 556* 558 605 606 cmd_prim_list_ptr 000132 automatic pointer initial dcl 2-80 set ref 2-80* 316* 319 558* 607 cmd_primitive_list based structure array level 1 dcl 2-75 cmd_word based char(4) array level 2 dcl 2-71 ref 606 com_err_ 000120 constant entry external dcl 7-8 ref 55 83 87 98 105 344 352 667 685 com_prim_list based structure array level 1 dcl 833 com_prim_ptr based fixed bin(17,0) array level 2 packed unaligned dcl 833 ref 597 comm 000012 internal static char(4) unaligned dcl 794 set ref 48* 158* 218* 482 487 489* 581* 596 606 631 723* 734 738 775* command 000100 automatic char(4) unaligned dcl 795 set ref 578* 581 774* 775 command_list based structure array level 1 dcl 2-71 common_cmds 000170 automatic fixed bin(17,0) dcl 618 set ref 586* 587* 589* 594 common_list based structure array level 1 dcl 829 conclude_gtss 000013 internal static bit(1) unaligned dcl 796 set ref 39* 112 358* content_lswap 44 000066 external static structure array level 4 dcl 3-16 set ref 191* 525 count_of_characters_transmitted 201 000066 external static fixed bin(17,0) level 4 packed unaligned dcl 3-16 set ref 772* 772 cp_ptr 000014 internal static pointer dcl 797 set ref 41* 597 cu_$cl 000042 constant entry external dcl 799 ref 372 current_level 000016 internal static label variable array dcl 798 set ref 37* 123 175* 220 238 346 354 db_interp_prim defined bit(1) unaligned dcl 10-32 ref 80 667 685 dispose_of_drl_on_pi 000116 external static bit(1) level 2 packed unaligned dcl 4-60 ref 384 395 drl_in_progress 0(01) 000116 external static bit(1) level 2 packed unaligned dcl 4-60 ref 384 err1 000013 constant char(50) initial level 2 packed unaligned dcl 6-9 set ref 105* err6 76(18) 000013 constant char(50) initial level 2 packed unaligned dcl 6-9 set ref 169* 280 288* err8 127(18) 000013 constant char(50) initial level 2 packed unaligned dcl 6-9 set ref 83* err9 144 000013 constant char(50) initial level 2 packed unaligned dcl 6-9 set ref 344* 352* first4 based char(4) dcl 800 ref 578 774 gse_ext_$modes 000150 external static structure level 1 dcl 9-18 gseg 000102 automatic pointer initial dcl 802 set ref 194* 195 515* 520 802* gtss_CFP_break_ 000122 constant entry external dcl 7-10 ref 369 gtss_abort_subsystem_ 000124 constant entry external dcl 7-15 ref 169 288 gtss_ascii_bcd_ 000126 constant entry external dcl 7-30 ref 426 gtss_break_vector_ 000130 constant entry external dcl 7-35 ref 391 gtss_break_vector_$drl_in_progress 000132 constant entry external dcl 7-36 ref 390 gtss_break_vector_$status 000134 constant entry external dcl 7-37 ref 383 gtss_build_ 000136 constant entry external dcl 7-38 ref 254 gtss_dump_program_stack_ 000044 constant entry external dcl 803 ref 80 gtss_ext_$bad_drl_rtrn 000070 external static label variable dcl 4-9 ref 139 140 141 376 408 gtss_ext_$db 000072 external static bit(1) array unaligned dcl 4-10 ref 80 80 667 667 685 685 gtss_ext_$dispose_of_drl 000074 external static label variable dcl 4-12 set ref 141* 397 gtss_ext_$drun_jid 000076 external static char(5) unaligned dcl 4-15 set ref 421 426 426 gtss_ext_$finished 000100 external static label variable dcl 4-17 ref 112 gtss_ext_$flags 000116 external static structure level 1 dcl 4-60 gtss_ext_$gtss_slave_area_seg 000102 external static pointer array dcl 4-20 ref 168 194 515 gtss_ext_$last_k_was_out 000104 external static bit(1) dcl 4-23 set ref 365* gtss_ext_$popup_from_pi 000106 external static label variable dcl 4-25 set ref 140* 361* 384 408* gtss_ext_$process_type 000110 external static fixed bin(17,0) dcl 4-26 ref 419 gtss_ext_$restart_from_pi 000112 external static label variable dcl 4-28 set ref 139* 364* 376* 387 392 401 gtss_ext_$stack_level_ 000114 external static fixed bin(17,0) dcl 4-31 set ref 54 55* 168 174 174* 220 279 514* 514 515 720* 784* gtss_fail 000104 stack reference condition dcl 804 ref 58 92 106 gtss_fault_processor_$timer_runout 000140 constant entry external dcl 7-111 ref 417 417 gtss_fix_tty_modes_ 000046 constant entry external dcl 805 ref 35 157 217 228 363 367 gtss_pnterr 000013 constant structure level 1 packed unaligned dcl 6-9 gtss_prgdes_ext_$basic_cmd_num 000062 external static fixed bin(17,0) dcl 2-87 ref 587 gtss_prgdes_ext_$cmlcl 000050 external static fixed bin(17,0) dcl 806 ref 614 gtss_prgdes_ext_$common_cmd_num 000064 external static fixed bin(17,0) dcl 2-91 ref 41 589 gtss_prgdes_ext_$prgdes 000056 external static structure array level 1 dcl 1-77 set ref 641 651 gtss_prgdes_ext_$primitives 000060 external static bit(36) array dcl 2-11 set ref 40 314 322 328 436 456 472 551 556 598 608 615 680 698 gtss_run_subsystem_ 000142 constant entry external dcl 7-142 ref 405 gtss_run_subsystem_$finish 000144 constant entry external dcl 7-143 ref 219 gtss_set_slave_$load_bar 000146 constant entry external dcl 7-147 ref 528 gtss_spa based structure level 1 dcl 5-9 gtss_ust 000066 external static structure level 2 dcl 3-16 set ref 42 43 gtss_ust_ext_$ust 000066 external static structure level 1 dcl 3-16 hbound builtin function dcl 807 ref 86 87 87 168 278 641 651 i 000100 automatic fixed bin(17,0) dcl 331 in procedure "callp_primitive" set ref 268* 269 270 272 277* 278 285* 286 293* 293 297 326* 327 i 000171 automatic fixed bin(17,0) dcl 619 in procedure "scan1" set ref 585* 587 589 594* 595 596 597* 604* 605 606 607* i 000100 automatic fixed bin(17,0) dcl 439 in procedure "exec_primitive" set ref 337* 340 340 342 348 358 405 434* 435 i 000112 automatic fixed bin(17,0) dcl 808 in procedure "gtss_interp_prim_" set ref 78* 79 184* 185 191 201 202 203 i 000100 automatic fixed bin(17,0) dcl 562 in procedure "popup_primitive" set ref 501* 502 509 525 531 537 549* 550 554* 554 555 556 i 000101 automatic fixed bin(17,0) dcl 662 in procedure "startp" set ref 630* 631 634* 641* 642* 644* 644 651 651* 656 i 000220 automatic fixed bin(17,0) dcl 786 in procedure "systm_primitive" set ref 748* 749* 759 initial_lcals 000036 internal static fixed bin(17,0) dcl 809 set ref 42* 184 285 412 501 719 783 initial_load_address 3(18) 000056 external static fixed bin(17,0) array level 2 packed unaligned dcl 1-77 ref 348 initial_lxxx 000037 internal static fixed bin(17,0) dcl 810 set ref 43* 78 277 326 337 434 480 549 585 647 716 780 ioa_ 000052 constant entry external dcl 811 ref 280 371 j 000221 automatic fixed bin(17,0) dcl 787 set ref 739* 759* 760* 771 772 773 l 000222 automatic fixed bin(17,0) dcl 788 in procedure "systm_primitive" set ref 744* 745 748 759 l 000172 automatic fixed bin(17,0) dcl 620 in procedure "scan1" set ref 595* 596 596 605* 606 606 labrt 24 based structure level 2 dcl 5-9 set ref 195* 520* lbound builtin function dcl 812 ref 86 87 87 lbuf 10 000066 external static structure level 3 dcl 3-16 lcals 43 000066 external static structure level 3 dcl 3-16 set ref 42 lcfst 133 000066 external static structure level 3 dcl 3-16 lcjid 135 000066 external static bit(36) level 3 dcl 3-16 set ref 421 426 426 lflg2 54 000066 external static structure level 3 dcl 3-16 lflg3 160 000066 external static structure level 3 dcl 3-16 set ref 305 licec 157 000066 external static structure level 3 dcl 3-16 set ref 307* 520 limit 22(18) 000066 external static bit(18) level 4 in structure "gtss_ust_ext_$ust" packed unaligned dcl 3-16 in procedure "gtss_interp_prim_" set ref 526* 527 limit 71 000066 external static fixed bin(35,0) level 3 in structure "gtss_ust_ext_$ust" dcl 3-16 in procedure "gtss_interp_prim_" set ref 414* load_address 000101 automatic fixed bin(17,0) dcl 440 set ref 348* 351 load_size 1(18) 000056 external static fixed bin(17,0) array level 2 packed unaligned dcl 1-77 ref 342 load_sz 000102 automatic fixed bin(17,0) dcl 441 set ref 342* 343 loads 5(18) 000056 external static fixed bin(17,0) array level 3 packed unaligned dcl 1-77 set ref 340* 340 loop_count 000113 automatic fixed bin(17,0) dcl 813 set ref 68* 81* 81 82 252* lopts 156 000066 external static bit(36) level 3 dcl 3-16 set ref 306* lower 001562 constant char(26) initial unaligned dcl 814 ref 158 218 lprgs 171 000066 external static structure array level 3 dcl 3-16 set ref 278 lsize 22 000066 external static structure level 3 dcl 3-16 lswap 23 000066 external static structure level 3 dcl 3-16 set ref 191 525* lswt2 147 000066 external static structure level 3 dcl 3-16 set ref 270 452 468 677 695 lswth 21 000066 external static structure level 3 dcl 3-16 set ref 231* 231 272 447 463 674 692 710* 710 728* 728 lswth_reset constant bit(18) initial unaligned dcl 815 ref 231 710 728 lsybc 40 000066 external static structure level 3 dcl 3-16 lxxx 170 000066 external static structure level 3 dcl 3-16 set ref 43 mcp 000136 automatic pointer dcl 8-10 set ref 159* 169* 288* mcpp parameter pointer dcl 155 ref 149 159 mquit 0(04) 000150 external static bit(1) level 2 packed unaligned dcl 9-18 ref 370 my_level 000114 automatic fixed bin(24,0) dcl 816 set ref 36* 54 55* 174* 175 194 name 000102 automatic char(4) unaligned dcl 663 set ref 629* 634* 642 next_prim 000115 automatic fixed bin(17,0) dcl 817 set ref 79 98* 319* 322 327* 328 435* 436 447* 449* 449 452* 454* 454 456 463* 465* 465 468* 470* 470 472 550* 551 597* 598 607* 608 614* 615 679* 680 697* 698 parameters 2(18) 000056 external static bit(18) array level 2 packed unaligned dcl 1-77 ref 587 589 651 period_TSLOG 001552 constant bit(36) initial unaligned dcl 839 ref 358 pop_callss_stack 000116 automatic bit(1) unaligned dcl 818 set ref 69* 119 143 544* popup_from_pi 0(02) 000116 external static bit(1) level 2 packed unaligned dcl 4-60 set ref 386* prim_address based fixed bin(17,0) level 2 packed unaligned dcl 2-22 ref 447 452 463 468 679 697 prim_op 0(30) based fixed bin(5,0) level 2 packed unaligned dcl 2-22 set ref 86 86 87* 94 98* 657* primitive 000126 automatic bit(36) unaligned dcl 2-15 set ref 86 86 87 94 98 267 268 297 310 310 313 314 322* 328* 436* 445 447 447 452 452 456* 461 463 463 468 468 472* 551* 598* 608* 615* 655* 656 657 667 674 674 677 679 680* 685 692 692 695 697 698* primitive_overlay based structure level 1 dcl 2-22 primitive_ptr based fixed bin(17,0) array level 2 packed unaligned dcl 2-75 ref 319 607 program_interrupt 000000 stack reference condition dcl 819 ref 374 379 406 quit 000120 stack reference condition dcl 820 ref 35 157 217 228 362 363 407 remote_io_buffer 177 000066 external static structure level 3 dcl 3-16 save_comm 000101 automatic char(4) unaligned dcl 563 set ref 487* 489 search builtin function dcl 821 ref 744 size 23(18) 000066 external static bit(18) level 4 packed unaligned dcl 3-16 set ref 526 ss_flags 45(18) 000066 external static bit(18) array level 4 packed unaligned dcl 3-16 set ref 201* 202* 203* 531 537 ss_name 000056 external static char(4) array level 2 dcl 1-77 ref 642 ss_time_limit_set 0(04) 000116 external static bit(1) level 2 packed unaligned dcl 4-60 set ref 413 416* start_term 133(18) 000066 external static fixed bin(18,0) level 4 packed unsigned unaligned dcl 3-16 set ref 425* statistics 5 000056 external static structure array level 2 dcl 1-77 subsystem_name parameter char(4) unaligned dcl 156 ref 149 158 206 218 subsystems 44 000066 external static structure array level 3 dcl 3-16 switch_ov_bit 0(24) based bit(6) level 2 packed unaligned dcl 2-34 ref 268 switch_word based bit(1) array unaligned dcl 822 set ref 270 272 447 452 463 468 674* 677* 692* 695* switchword_bit 0(18) based fixed bin(11,0) level 2 packed unaligned dcl 2-22 set ref 445 447 452 461 463 468 667* 674 674 677 685* 692 692 695 switchword_flag 0(23) based bit(1) level 2 packed unaligned dcl 2-34 ref 267 tally 10(18) 000066 external static bit(1) level 4 packed unaligned dcl 3-16 set ref 366* 490* tally_address 45 000066 external static fixed bin(17,0) array level 4 packed unaligned dcl 3-16 set ref 185* 286 509 timer_manager_$reset_cpu_call 000054 constant entry external dcl 823 ref 417 timer_ranout 0(05) 000116 external static bit(1) level 2 packed unaligned dcl 4-60 set ref 415* translate builtin function dcl 824 ref 158 218 581 775 tty_line based char(244) dcl 825 set ref 744 773* 773 tty_line_ptr 000040 internal static pointer initial dcl 826 set ref 38* 578 744 773 773 774 unfinished_drl 0(03) 000116 external static bit(1) level 2 packed unaligned dcl 4-60 set ref 396* 400* upper 001553 constant char(26) initial unaligned dcl 827 ref 158 218 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abx internal static fixed bin(17,0) initial dcl 8-42 apx internal static fixed bin(17,0) initial dcl 8-42 bbx internal static fixed bin(17,0) initial dcl 8-42 bpx internal static fixed bin(17,0) initial dcl 8-42 db_ defined bit(1) unaligned dcl 10-32 db_CFP_input defined bit(1) unaligned dcl 10-32 db_abs defined bit(1) unaligned dcl 10-32 db_attributes_mgr defined bit(1) unaligned dcl 10-32 db_dq defined bit(1) unaligned dcl 10-32 db_drl_addmem defined bit(1) unaligned dcl 10-32 db_drl_callss defined bit(1) unaligned dcl 10-32 db_drl_defil defined bit(1) unaligned dcl 10-32 db_drl_dio defined bit(1) unaligned dcl 10-32 db_drl_filact defined bit(1) unaligned dcl 10-32 db_drl_filsp defined bit(1) unaligned dcl 10-32 db_drl_grow defined bit(1) unaligned dcl 10-32 db_drl_kin defined bit(1) unaligned dcl 10-32 db_drl_morlnk defined bit(1) unaligned dcl 10-32 db_drl_msub defined bit(1) unaligned dcl 10-32 db_drl_part defined bit(1) unaligned dcl 10-32 db_drl_retfil defined bit(1) unaligned dcl 10-32 db_drl_rew defined bit(1) unaligned dcl 10-32 db_drl_rstswh defined bit(1) unaligned dcl 10-32 db_drl_setswh defined bit(1) unaligned dcl 10-32 db_drl_switch defined bit(1) unaligned dcl 10-32 db_drl_t_cfio defined bit(1) unaligned dcl 10-32 db_expand_pathname defined bit(1) unaligned dcl 10-32 db_filact_funct02 defined bit(1) unaligned dcl 10-32 db_filact_funct03 defined bit(1) unaligned dcl 10-32 db_filact_funct04 defined bit(1) unaligned dcl 10-32 db_filact_funct05 defined bit(1) unaligned dcl 10-32 db_filact_funct10 defined bit(1) unaligned dcl 10-32 db_filact_funct11 defined bit(1) unaligned dcl 10-32 db_filact_funct14 defined bit(1) unaligned dcl 10-32 db_filact_funct18 defined bit(1) unaligned dcl 10-32 db_filact_funct19 defined bit(1) unaligned dcl 10-32 db_filact_funct21 defined bit(1) unaligned dcl 10-32 db_filact_funct22 defined bit(1) unaligned dcl 10-32 db_ios defined bit(1) unaligned dcl 10-32 db_mcfc defined bit(1) unaligned dcl 10-32 db_run_subsystem defined bit(1) unaligned dcl 10-32 debug_bit_names internal static structure array level 1 unaligned dcl 10-75 first6 based char(6) dcl 801 gse_ext_$drm_rule external static fixed bin(24,0) dcl 9-6 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 9-15 gse_ext_$smc_pathname external static char(168) unaligned dcl 9-16 gse_ext_$umc_name external static char(12) unaligned dcl 9-17 gtss_CFP_abort_ 000000 constant entry external dcl 7-9 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_$find 000000 constant entry external dcl 7-28 gtss_aft_$initialize 000000 constant entry external dcl 7-29 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_bcd_ascii_$lc 000000 constant entry external dcl 7-34 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 4-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 4-33 gtss_ext_$aem external static fixed bin(17,0) dcl 4-8 gtss_ext_$aft external static structure level 1 dcl 4-78 gtss_ext_$com_reg external static structure level 1 dcl 4-45 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 4-11 gtss_ext_$drl_rtrn external static label variable array dcl 4-13 gtss_ext_$drm_path external static char(168) unaligned dcl 4-14 gtss_ext_$event_channel external static fixed bin(71,0) dcl 4-16 gtss_ext_$fast_lib external static structure level 1 dcl 4-98 gtss_ext_$gdb_name external static char(8) unaligned dcl 4-18 gtss_ext_$get_line external static entry variable dcl 4-19 gtss_ext_$hcs_work_area_ptr external static pointer dcl 4-21 gtss_ext_$homedir external static char(64) unaligned dcl 4-22 gtss_ext_$mcfc external static structure level 1 dcl 4-109 gtss_ext_$pdir external static varying char(168) dcl 4-24 gtss_ext_$ppt external static pointer dcl 4-94 gtss_ext_$put_chars external static entry variable dcl 4-27 gtss_ext_$restart_seg_ptr external static pointer dcl 4-29 gtss_ext_$sig_ptr external static pointer dcl 4-30 gtss_ext_$statistics external static structure level 1 dcl 4-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 4-32 gtss_ext_$user_id external static varying char(26) dcl 4-34 gtss_ext_$work_area_ptr external static pointer dcl 4-35 gtss_fault_processor_ 000000 constant entry external dcl 7-109 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_io_ 000000 constant entry external dcl 7-134 gtss_ios_open_ 000000 constant entry external dcl 7-135 gtss_ios_position_ 000000 constant entry external dcl 7-136 gtss_mcfc_$close 000000 constant entry external dcl 7-139 gtss_mcfc_$delete 000000 constant entry external dcl 7-137 gtss_mcfc_$open 000000 constant entry external dcl 7-138 gtss_mcfc_empty 000000 constant entry external dcl 7-106 gtss_mcfc_init_ 000000 constant entry external dcl 7-125 gtss_read_starCFP_ 000000 constant entry external dcl 7-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 7-141 gtss_run_subsystem_$restor 000000 constant entry external dcl 7-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 7-145 gtss_set_slave_ 000000 constant entry external dcl 7-146 gtss_starCF_$FILE external static structure level 1 dcl 11-12 gtss_update_safe_store_ 000000 constant entry external dcl 7-148 gtss_verify_access_ 000000 constant entry external dcl 7-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 7-150 gtss_write_starCFP_ 000000 constant entry external dcl 7-151 lbx internal static fixed bin(17,0) initial dcl 8-42 lpx internal static fixed bin(17,0) initial dcl 8-42 mc based structure level 1 dcl 8-12 prgdes_ov based structure array level 1 dcl 1-100 sbx internal static fixed bin(17,0) initial dcl 8-42 scu based structure level 1 dcl 8-56 scup automatic pointer dcl 8-54 scux based structure level 1 dcl 8-207 spx internal static fixed bin(17,0) initial dcl 8-42 NAMES DECLARED BY EXPLICIT CONTEXT. bin_primitive 002777 constant entry internal dcl 241 ref 115 break 002435 constant label dcl 138 ref 84 361 callp_primitive 003020 constant entry internal dcl 260 ref 108 658 callss 002474 constant entry external dcl 149 case 000000 constant label array(11) dcl 96 ref 86 86 87 87 87 87 94 end_found 005135 constant label dcl 756 ref 749 enough 004567 constant label dcl 638 set ref 632 633 635 exec_primitive 003275 constant entry internal dcl 334 ref 111 found 004607 constant label dcl 646 ref 642 gtss_interp_prim_ 001742 constant entry external dcl 14 ifalse_primitive 004021 constant entry internal dcl 444 ref 126 iftrue_primitive 004067 constant entry internal dcl 460 ref 129 interp 002045 constant label dcl 50 ref 37 175 204 282 interp2 002120 constant label dcl 65 ref 144 interp_loop 002123 constant label dcl 71 set ref 109 113 116 120 127 130 133 136 name_found 005166 constant label dcl 769 ref 740 760 next 003256 constant label dcl 325 in procedure "callp_primitive" ref 270 272 next 004331 constant label dcl 548 in procedure "popup_primitive" ref 502 popup_primitive 004136 constant entry internal dcl 476 ref 118 142 287 restart 003544 constant label dcl 375 ref 364 ret 002466 constant label dcl 146 set ref 289 scan1 004370 constant entry internal dcl 566 ref 255 startp 004530 constant entry internal dcl 623 ref 63 495 stfals_primitive 004643 constant entry internal dcl 666 ref 132 strue_primitive 004736 constant entry internal dcl 684 ref 135 sysret 002733 constant entry external dcl 223 system 005032 constant entry internal dcl 702 ref 47 237 281 345 353 484 488 494 766 systm_primitive 005057 constant entry internal dcl 726 ref 122 sysx 005160 constant label dcl 765 ref 734 745 754 t_goto 002657 constant entry external dcl 206 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 38 40 42 42 43 43 86 86 87 94 98 267 268 270 272 297 310 310 313 314 314 426 426 426 426 445 447 447 447 452 452 452 461 463 463 463 468 468 468 556 656 657 667 674 674 674 677 677 679 685 692 692 692 695 695 697 addrel builtin function ref 41 316 558 divide builtin function ref 184 285 501 527 fixed builtin function ref 42 42 43 43 268 527 528 528 null builtin function ref 802 2-79 2-80 rel builtin function ref 42 42 43 43 string builtin function set ref 231 231 305 710* 710 728* 728 substr builtin function set ref 202 203* 305* 531 537 587 589 596 596 606 606 631 634* 651 734 773 unspec builtin function set ref 195 307* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6426 6600 5645 6436 Length 7370 5645 152 553 560 32 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_interp_prim_ 299 external procedure is an external procedure. on unit on line 35 64 on unit on unit on line 157 64 on unit on unit on line 217 64 on unit on unit on line 228 64 on unit bin_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. callp_primitive 106 internal procedure is called by several nonquick procedures. exec_primitive 106 internal procedure enables or reverts conditions. on unit on line 362 84 on unit enables or reverts conditions. on unit on line 363 64 on unit on unit on line 379 70 on unit ifalse_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. iftrue_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. popup_primitive 74 internal procedure is called by several nonquick procedures. scan1 internal procedure shares stack frame of external procedure gtss_interp_prim_. startp 67 internal procedure is called by several nonquick procedures. stfals_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. strue_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. system 64 internal procedure is called by several nonquick procedures. systm_primitive internal procedure shares stack frame of external procedure gtss_interp_prim_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 cl_ptr gtss_interp_prim_ 000012 comm gtss_interp_prim_ 000013 conclude_gtss gtss_interp_prim_ 000014 cp_ptr gtss_interp_prim_ 000016 current_level gtss_interp_prim_ 000036 initial_lcals gtss_interp_prim_ 000037 initial_lxxx gtss_interp_prim_ 000040 tty_line_ptr gtss_interp_prim_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME callp_primitive 000100 i callp_primitive exec_primitive 000100 i exec_primitive 000101 load_address exec_primitive 000102 load_sz exec_primitive gtss_interp_prim_ 000100 command gtss_interp_prim_ 000102 gseg gtss_interp_prim_ 000112 i gtss_interp_prim_ 000113 loop_count gtss_interp_prim_ 000114 my_level gtss_interp_prim_ 000115 next_prim gtss_interp_prim_ 000116 pop_callss_stack gtss_interp_prim_ 000126 primitive gtss_interp_prim_ 000130 cmd_list_ptr gtss_interp_prim_ 000132 cmd_prim_list_ptr gtss_interp_prim_ 000134 cmd_list_len gtss_interp_prim_ 000136 mcp gtss_interp_prim_ 000170 common_cmds scan1 000171 i scan1 000172 l scan1 000220 i systm_primitive 000221 j systm_primitive 000222 l systm_primitive popup_primitive 000100 i popup_primitive 000101 save_comm popup_primitive startp 000100 c startp 000101 i startp 000102 name startp THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return move_label_var make_label_var tra_ext tra_label_var signal enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$cl gtss_CFP_break_ gtss_abort_subsystem_ gtss_ascii_bcd_ gtss_break_vector_ gtss_break_vector_$drl_in_progress gtss_break_vector_$status gtss_build_ gtss_dump_program_stack_ gtss_fault_processor_$timer_runout gtss_fix_tty_modes_ gtss_run_subsystem_ gtss_run_subsystem_$finish gtss_set_slave_$load_bar ioa_ timer_manager_$reset_cpu_call THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gse_ext_$modes gtss_ext_$bad_drl_rtrn gtss_ext_$db gtss_ext_$dispose_of_drl gtss_ext_$drun_jid gtss_ext_$finished gtss_ext_$flags gtss_ext_$gtss_slave_area_seg gtss_ext_$last_k_was_out gtss_ext_$popup_from_pi gtss_ext_$process_type gtss_ext_$restart_from_pi gtss_ext_$stack_level_ gtss_prgdes_ext_$basic_cmd_num gtss_prgdes_ext_$cmlcl gtss_prgdes_ext_$common_cmd_num gtss_prgdes_ext_$prgdes gtss_prgdes_ext_$primitives gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 802 001733 2 79 001735 2 80 001736 14 001741 35 001750 36 001771 37 001773 38 001777 39 002002 40 002003 41 002006 42 002013 43 002025 47 002033 48 002042 50 002045 54 002046 55 002052 58 002111 63 002114 65 002120 68 002121 69 002122 71 002123 78 002124 79 002132 80 002136 81 002145 82 002146 83 002151 84 002175 86 002176 87 002206 92 002257 94 002262 96 002266 97 002267 98 002270 105 002332 106 002354 107 002357 108 002360 109 002364 110 002365 111 002366 112 002372 113 002400 114 002401 115 002402 116 002403 117 002404 118 002405 119 002411 120 002413 121 002414 122 002415 123 002416 125 002421 126 002422 127 002423 128 002424 129 002425 130 002426 131 002427 132 002430 133 002431 134 002432 135 002433 136 002434 138 002435 139 002436 140 002445 141 002452 142 002457 143 002463 144 002465 146 002466 147 002467 149 002470 157 002502 158 002523 159 002532 165 002535 168 002540 169 002543 170 002576 174 002577 175 002602 178 002606 184 002613 185 002620 191 002624 194 002627 195 002635 201 002636 202 002641 203 002646 204 002653 206 002654 215 002665 217 002671 218 002712 219 002721 220 002725 223 002732 228 002741 231 002762 234 002766 237 002770 238 002774 241 002777 244 003000 245 003004 249 003006 252 003010 254 003011 255 003015 256 003016 260 003017 267 003025 268 003033 269 003037 270 003041 271 003046 272 003047 277 003054 278 003062 279 003064 280 003067 281 003105 282 003112 285 003115 286 003122 287 003130 288 003135 289 003172 292 003175 293 003201 297 003202 301 003206 305 003210 306 003212 307 003213 310 003214 313 003230 314 003240 316 003243 319 003247 322 003253 323 003255 325 003256 326 003257 327 003263 328 003271 329 003273 334 003274 337 003302 340 003311 342 003322 343 003326 344 003330 345 003351 346 003356 348 003361 351 003365 352 003367 353 003410 354 003415 358 003420 361 003425 362 003432 363 003446 364 003467 365 003474 366 003475 367 003500 369 003504 370 003515 371 003521 372 003533 373 003540 374 003541 375 003544 376 003545 377 003554 379 003555 383 003571 384 003602 386 003620 387 003623 390 003625 391 003637 392 003644 395 003647 396 003653 397 003655 400 003657 401 003661 405 003663 406 003674 407 003675 408 003676 412 003705 413 003712 414 003715 415 003716 416 003720 417 003722 419 003734 421 003740 425 003757 426 003761 432 004000 434 004004 435 004010 436 004016 437 004020 444 004021 445 004022 447 004032 449 004045 450 004046 452 004047 454 004062 456 004063 457 004066 460 004067 461 004070 463 004100 465 004113 466 004114 468 004115 470 004130 472 004131 473 004134 476 004135 479 004143 480 004151 481 004156 482 004161 483 004164 484 004166 485 004173 487 004174 488 004175 489 004202 490 004205 491 004210 493 004212 494 004213 495 004220 496 004225 501 004226 502 004233 509 004234 514 004242 515 004244 517 004252 520 004256 525 004260 526 004263 527 004265 528 004272 531 004303 537 004313 543 004320 544 004325 545 004330 548 004331 549 004332 550 004335 551 004343 554 004345 555 004351 556 004360 558 004363 560 004367 566 004370 578 004371 581 004374 585 004400 586 004407 587 004410 589 004421 594 004426 595 004435 596 004442 597 004451 598 004456 599 004460 601 004461 604 004463 605 004473 606 004477 607 004507 608 004514 609 004516 611 004517 614 004521 615 004524 616 004526 623 004527 629 004535 630 004537 631 004545 632 004552 633 004555 634 004557 635 004562 636 004565 638 004567 641 004570 642 004575 643 004603 644 004605 646 004607 647 004610 651 004616 655 004626 656 004630 657 004633 658 004635 659 004642 666 004643 667 004644 674 004705 677 004722 679 004730 680 004733 681 004735 684 004736 685 004737 692 005000 695 005015 697 005023 698 005026 699 005030 702 005031 710 005037 713 005042 716 005044 719 005047 720 005052 723 005054 724 005056 726 005057 728 005060 731 005064 734 005066 738 005072 739 005075 740 005076 744 005077 745 005112 748 005113 749 005123 750 005132 754 005134 756 005135 759 005136 760 005147 761 005156 765 005160 766 005161 767 005165 769 005166 771 005167 772 005172 773 005200 774 005212 775 005214 780 005220 783 005223 784 005226 789 005230 ----------------------------------------------------------- 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