COMPILATION LISTING OF SEGMENT gcos_run_activity_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1620.1 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* **************************************************************************************** 12* ****************************************************************************************** 13* * 14* * 15* * 16* * R U N A G C O S A C T I V I T Y 17* * 18* * 19* * This procedure is called by gcos_gein_ whenever an activity terminating card is read 20* * while an activity is being defined. This procedure will setup to run the activity 21* * specified in gcos_ext_stat_$activity_name. It will receive control when this activity 22* * is completed. At such time, it will clean up, record some accounting information 23* * and return. 24* * 25* * 26* * WRITTEN BY DICK SNYDER SEPTEMBER 10,1970 27* * MODIFIED BY T. CASEY JUNE 1973, OCTOBER 1973, JANUARY 1974, FEBRUARY 1974, MAY 1974, AUGUST 1974 28* * MODIFIED BY D. KAYDEN MARCH 1974, APRIL 1974, JUNE 1974, DECEMBER 1974 29* * MODIFIED BY R.H. MORRISON 75/06/15 30* * Modified by M. R. Jordan, August 1977 31* * Modified Ron Barstad 83-11-16 Fix actid format and console msgs 32* * Modified Ron Barstad 83-04-28 Fix precision of time limit divide 33* * change "ACT. TERM." to "NORM TERM" 34* * 35* ****************************************************************************************** 36* **************************************************************************************** */ 37 38 gcos_run_activity_: proc; 39 40 if pre_setup_stop_sw then do; 41 call ioa_ ("run_activity_ entered; calling db:"); 42 call db; 43 end; 44 45 gcos_ext_stat_$save_data.activ = "0"b; /* clear activity being defined sw */ 46 47 if gcos_ext_stat_$save_data.gtssflag then 48 call gcos_gtss_update_$new_activity (save_data.activity_no, WAIT_PERIPH); 49 50 51 /* This loop scans the fibs and does the following things */ 52 /* where indicated: */ 53 /* write eof and rewind gein files */ 54 /* attach unattached files */ 55 /* save initial file size and position */ 56 57 58 do i = 1 to hbound (save_data.fibs, 1); 59 if fct.filecode (i) = "" then go to bump; 60 if fct.sysout (i) then go to bump; 61 62 fibptr = fct.fibptr (i); 63 64 if fib.gein then do; /* eof and rewind? */ 65 66 if fib.buffer = null then go to bump; /* bump if no writes done */ 67 68 call gcos_write_$bcd_ptr (fibptr, "", (8)"0"b); /* write eof */ 69 70 fib.last = fib.current; 71 72 call ios_$seek (fib.stream, "read", "first", 0, status); /* reset read ptr */ 73 74 fib.read = "1"b; /* gein files can only be read */ 75 76 fib.current = 0; 77 78 fib.disp = "01"b; /* set disposition to release */ 79 end; 80 81 82 if ^fib.attached then call gcos_attach_file_ (fibptr); /* attach file */ 83 84 fib.init_posit = fib.current; /* save file position */ 85 fib.init_size = fib.size; /* save file size */ 86 bump: 87 end; 88 89 90 91 /* Set up the gcos segment. If it does not exist yet, it will be */ 92 /* created by the file system in the working directory or in the */ 93 /* process directory depending on the control arg. "-nosave". A pointer */ 94 /* to the segment will be kept in internal static so that the seg */ 95 /* need be created only once per process. Once the segment has been */ 96 /* created or located, it is truncated and then its max length */ 97 /* is set to the storage limit for the activity. Thus if the gcos */ 98 /* program attempts to write above its allotted memory, a fault */ 99 /* will occur and the program can be aborted just like in "real" gcos. */ 100 101 if gcos_ext_stat_$activity_name = "geload" then do; /* activity = "geload" ? */ 102 103 if gcos_ext_stat_$ldrss ^= 0 then do; /* yes...loader shared stg = 0 ? */ 104 105 /* If loader shared storage > max for loader, decrease it to this max (22000 octal ) */ 106 107 /* NOTE that a constant loader size of 9K is built into the code, here */ 108 109 if gcos_ext_stat_$ldrss > 9*1024 then gcos_ext_stat_$ldrss = 9*1024; /* 9K */ 110 111 /* Round ldrss down to a multiple of 1K */ 112 113 i = divide (gcos_ext_stat_$ldrss, 1024, 17, 0); 114 gcos_ext_stat_$ldrss = i*1024; 115 end; 116 117 /* If ldrss is negative, the above will round its absolute value down to a multiple of 1K. 118* Then, the subtraction below will add its absolute value to the storage limit, 119* which is what is desired when negative loader shared storage is specified */ 120 121 gcos_ext_stat_$storage_limit = gcos_ext_stat_$storage_limit+9*1024-gcos_ext_stat_$ldrss; 122 /* compute final storage limit */ 123 end; 124 125 /* Check for storage limit too high */ 126 127 if gcos_ext_stat_$storage_limit >gcos_ext_stat_$max_mem then /* wants too much core */ 128 call gcos_error_ (0, "slave core limit > max Multics segment size"); 129 130 gseg = gcos_ext_stat_$gcos_slave_area_seg; 131 132 if gseg = null then do; 133 call hcs_$make_seg ("", "gcos_slave_area_seg", "", 11, gseg, code); /* create gcos segment */ 134 /* in process directory */ 135 if gseg = null then call gcos_error_ (code, "attempting to create slave segment"); 136 gcos_ext_stat_$gcos_slave_area_seg = gseg; /* save ptr in ext static */ 137 138 /* Set rewa access on gcos_slave_area_seg */ 139 140 /* NOTE: eliminate append access ONLY after all existing Multics systems 141* have been upgraded to the version that does not use it */ 142 143 acla.userid = get_group_id_$tag_star (); /* fill in user id in acl model */ 144 call cu_$level_get (i); /* get validation level */ 145 rb1 = substr (unspec (i), 31, 6); /* put in ring bracket 1 */ 146 rb2, rb3 = substr (unspec (i), 31, 6); /* brackets 2 & 3 = val level */ 147 acla.mode = "01110"b; /* mode = rew */ 148 149 call hcs_$acl_add (string (gcos_ext_stat_$pdir), "gcos_slave_area_seg", addr (acla), 1, code); /* set acl */ 150 if code ^= 0 then call gcos_error_ (code, "setting access to slave segment"); 151 152 end; 153 call hcs_$truncate_seg (gseg, 0, code); /* truncate */ 154 155 /* Set the actual max length limit on the segment */ 156 call hcs_$set_max_length (string (gcos_ext_stat_$pdir), "gcos_slave_area_seg", gcos_ext_stat_$storage_limit, code); 157 if code ^= 0 then call gcos_error_ (code, "setting max length on slave segment"); 158 159 /* Set up bypass of condition handlers */ 160 161 on any_other call gcos_fault_processor_; 162 163 call sct_manager_$get (mme1_sct_index, gcos_ext_stat_$sig_ptr, code); 164 /* check */ 165 call sct_manager_$set (mme1_sct_index, addr (gcos_process_mme_), code); 166 /* check */ 167 168 /* The stack frame for this procedure stays around during the running of the 169* activity. If it gets cleaned up, we must reset to the normal condition 170* handlers and turn off the timer */ 171 172 on cleanup begin; 173 call timer_manager_$reset_cpu_call (gcos_fault_processor_$timer_runout); /* abort any timeout */ 174 if gcos_ext_stat_$sig_ptr ^= null /* pointer was diddled */ 175 then do; 176 call sct_manager_$set (mme1_sct_index, gcos_ext_stat_$sig_ptr, code); 177 /* check */ 178 gcos_ext_stat_$sig_ptr = null; /* reinitialize */ 179 end; 180 if gcos_ext_stat_$save_data.rout then call gcos_mme_rout_$rout_cleanup; /* MME GEROUT simulater wants to clean up too */ 181 182 released_fibs.nrf = 0; /* Empty released fibs array. */ 183 184 end; 185 186 on program_interrupt /* to simulate the GCOS equivalent of "QUIT" to stop */ 187 call gcos_mme_rout_$rout_interrupt; /* unwanted typing from the slave program, we use the */ 188 /* Multics "pi" command (user hits QUIT, then types "pi") */ 189 190 191 /* CLEAR THE SLAVE PREFIX, THEN START INITIALIZING IT */ 192 193 zero = "0"b; /* zero out slave prefix */ 194 195 subact1: /* come here to start running an abort subactivity */ 196 slave_prefix.mme = "000000000000010010000000001000000000"b; /* set up MME GECALL in slave prefix */ 197 198 199 /* Translate program name to bcd and put in prefix */ 200 201 call gcos_cv_ascii_gebcd_ (addr (gcos_ext_stat_$activity_name), 6, addr (slave_prefix.prog), i); 202 203 if gcos_ext_stat_$save_data.abort_subact then goto subact2; /* skip lots of initialization, if running subactivity */ 204 205 /* Convert activity number and job number to one word with the following format: */ 206 /* bits 0-5 activity number in binary */ 207 /* bits 6-35 job number in BCD */ 208 /* Save also in ext static for use by MME GESYOT */ 209 210 /* convert snumb to BCD */ 211 212 call gcos_cv_ascii_gebcd_ (addr (substr (save_data.actid, 1, 5)), 5, addr (slave_prefix.activid), i); 213 214 /* now get the activity number and concatenate the BCD snumb onto the end of it */ 215 216 i = save_data.activity_no; 217 218 save_data.short_actid, slave_prefix.activid = 219 substr (unspec (i), 31, 6) || substr (slave_prefix.activid, 1, 30); 220 221 /* Compute relative load limits and put in 37 octal of slave prefix */ 222 /* Has the following format. Bits 0-17 hold lowest allowable address */ 223 /* of activity relative to GELOAD origin. Bits 18-35 hold highest allowable */ 224 /* address to be loaded by GELOAD. */ 225 226 227 /* Lower limit = size of GELOAD - loader shared storage */ 228 229 i = 9*1024-gcos_ext_stat_$ldrss; 230 231 /* Upper limit = storage limit -1 */ 232 233 j = gcos_ext_stat_$storage_limit-1; 234 slave_prefix.load_limits = substr (unspec (i), 19, 18)||substr (unspec (j), 19, 18); 235 236 /* Put ident card info in slave prefix */ 237 238 call gcos_cv_ascii_gebcd_ (addr (gcos_ext_stat_$save_data.save_data.ident), length (gcos_ext_stat_$save_data.save_data.ident), addr (slave_prefix.ident), i); 239 240 if gcos_ext_stat_$save_data.taskflag then spa_taskflag = (36) "1"b; /* set gtss drl task flag in spa */ 241 242 /* Set up label variable in external static so that when the GCOS */ 243 /* program terminates, the handler can return to this procedure */ 244 /* and revert the stack properly. */ 245 246 gcos_ext_stat_$mme_rtrn = end_activity; 247 248 if gcos_ext_stat_$save_data.gtssflag then 249 call gcos_gtss_update_$status_update (EXECUTING); 250 251 /* Put activity start message out to operator */ 252 253 call hcs_$get_usage_values (k, cputime_start, k); /* get cpu time at activity start */ 254 realtime_start = clock_ (); /* get activity start time */ 255 gcos_ext_stat_$activity_start_time = realtime_start; 256 call date_time_ (realtime_start, holdtime); /* get date and time */ 257 if save_data.activity_no = 1 & ^gcos_ext_stat_$save_data.brief then 258 call ioa_ (" *SRT ^a @^a ^6a (^3d)", save_data.actid, 259 substr (holdtime, 11, 6), gcos_ext_stat_$activity_name, 260 divide(gcos_ext_stat_$time_limit,36,35)); 261 262 pta.accno, rta.accno = substr (save_data.actid, 7, 2); 263 264 term_msg = "activity"; 265 266 /* Format the begin message for the execution report */ 267 268 subact2: call ioa_$rs ("* ACTY-^2d $CARD #^4a ^6a ^a SW=^w", bannerstring, j, 269 save_data.activity_no, 270 gcos_ext_stat_$activity_card_num, gcos_ext_stat_$activity_name, 271 substr (holdtime, 1, 8), save_data.psw); 272 273 call gcos_write_$ptr (gcos_ext_stat_$er, var_msg, "11111100"b); /* write it on the execution report */ 274 275 if gcos_ext_stat_$save_data.long then 276 call ioa_$nnl (var_msg); /* also write it on the console for the interactive user */ 277 278 /* Set up timeout = current number of cpu seconds process has */ 279 /* been running + time limit. Control goes to fault$timer_runout */ 280 /* if timeout occurs. */ 281 282 call timer_manager_$cpu_call (gcos_ext_stat_$time_limit, "11"b, gcos_fault_processor_$timer_runout); 283 284 if ^gcos_ext_stat_$save_data.abort_subact then /* except when continuing, with a subactivity */ 285 gcos_ext_stat_$initial_cpu_time = virtual_cpu_time_ (); 286 287 if pre_activity_stop_sw then do; 288 call ioa_ ("ready to run activity; calling db:"); 289 call db; 290 end; 291 292 /* Ready to transfer to gcos segment. Call a program to set BAR and do */ 293 /* a TSS to enter BAR mode. Pass as args the limit part of the BAR */ 294 /* (number of 512 word blocks), and a pointer to 26 in the gcos segment */ 295 /* which is the location of the MME GECALL to get the activity going. */ 296 297 call gcos_set_slave_ (divide (gcos_ext_stat_$storage_limit, 512, 18, 0), addrel (gseg, 26), (gcos_ext_stat_$save_data.no_bar)); 298 299 /* Control will return to the top of the next page, via a nonlocal goto, 300* when the slave program gives up control, which it will do for any of the following reasons: 301* 302* 1) MME GEFINI from the slave program, 303* 2) MME GEBORT from the slave program, 304* 3) fault in slave program, of a type which causes an abort, 305* 4) error in one of the mme simulators, of a type which causes an abort. 306* */ 307 308 309 /* Control comes here via a nonlocal goto, when the activity terminates */ 310 311 end_activity: 312 313 if post_activity_stop_sw then do; 314 call ioa_ ("activity completed; calling db:"); 315 call db; 316 end; 317 318 call timer_manager_$reset_cpu_call (gcos_fault_processor_$timer_runout); /* turn off timeout */ 319 320 call hcs_$get_usage_values (k, cputime_finish, k); /* get cpu time used */ 321 322 /* compute cpu time used in slave program */ 323 324 cputime_used = cputime_finish - cputime_start; 325 326 /* CONVERT MICROSECONDS USED TO SECONDS USED - VERIFY THIS THOUGH, 327* hcs_$get_usage_values is not in the MPM any longer, so we can not be 328* sure the value it returns IS microseconds ... */ 329 330 cputime_used = divide (cputime_used, 1000000, 71, 0); 331 332 if gcos_ext_stat_$abort_reason ^= "" then do; /* was there an abort in the slave pgm */ 333 /* NOTE: if activity aborted but wrapup did not, 334* abort_reason will be blank when wrapup terminates, 335* and this do group will be skipped after the wrapup */ 336 337 term_msg = term_msg || " aborted "; 338 339 if ^gcos_ext_stat_$save_data.wrapup /* if not wrapup */ 340 then if ^gcos_ext_stat_$save_data.abort_subact /* and not subactivity */ 341 then initial_abort_reason = gcos_ext_stat_$abort_reason; /* save the abort reason for the ABT message */ 342 call gcos_write_to_er_ ("^a", gcos_ext_stat_$abort_reason); 343 344 345 gcos_ext_stat_$abort_reason = ""; /* clear it, so we can tell if wrapup aborts */ 346 347 if gcos_ext_stat_$save_data.gtssflag then 348 call gcos_gtss_update_$status_update (TERMINATING); 349 350 /* Check type of dump desired, set switches, then call dump program */ 351 352 if substr (save_data.psw, 1, 1) then 353 dump_info = (36)"0"b; /* dump it all */ 354 else 355 dump_info = (29)"0"b || "1"b || (6)"0"b; /* only regs and prefix */ 356 357 call gcos_mme_snp1_$bord (gcos_ext_stat_$mc.scu (4), dump_info); 358 359 if gcos_ext_stat_$save_data.wrapup then goto no_wrapup; /* if abort from within wrapup, don't wrapup again */ 360 361 if slave_prefix.wrapup = "0"b then goto no_wrapup; /* if no wrapup address given */ 362 363 if fixed (slave_prefix.wrapup) > gcos_ext_stat_$storage_limit then do; /* if wrapup address out of bounds */ 364 365 call ioa_ ("wrapup address out of bounds"); 366 call gcos_write_$ptr (gcos_ext_stat_$er, "wrapup address out of bounds", "11111100"b); 367 goto no_wrapup; 368 end; 369 370 /* print psw, etc. before entering wrapup */ 371 call print_term_msg; /* internal procedure */ 372 373 term_msg = "wrapup"; /* prepare for next message */ 374 375 /* add 30 seconds to the remainder of the time limit, for the wrapup routine */ 376 377 gcos_ext_stat_$time_limit = gcos_ext_stat_$time_limit - cputime_used + 30; 378 379 /* set timer for wrapup */ 380 381 call timer_manager_$cpu_call (gcos_ext_stat_$time_limit, "11"b, gcos_fault_processor_$timer_runout); 382 383 gcos_ext_stat_$save_data.wrapup = "1"b; /* remember that we are wrapping up after an abort */ 384 substr (save_data.psw, 1, 1) = "0"b; /* and don't dump if wrapup aborts */ 385 386 /* Call program to set bar and then transfer via TSS to wrapup address in gcos pgm */ 387 388 call gcos_set_slave_ (divide (gcos_ext_stat_$storage_limit, 512, 18, 0), 389 addrel (gseg, slave_prefix.wrapup), (gcos_ext_stat_$save_data.no_bar)); 390 391 /* control returns to "end_activity" above, via a nonlocal goto, when the wrapup terminates */ 392 393 end; 394 395 term_msg = term_msg || " terminated "; /* no abort - normal termination */ 396 397 398 399 /* come here if wrapup not to be executed, for any reason (including no abort) */ 400 401 no_wrapup: 402 403 /* clean up the slave environment that we established earlier */ 404 405 call sct_manager_$set (mme1_sct_index, gcos_ext_stat_$sig_ptr, code); 406 /* check */ 407 gcos_ext_stat_$sig_ptr = null; 408 409 revert program_interrupt; 410 411 if gcos_ext_stat_$save_data.rout then call gcos_mme_rout_$rout_cleanup; 412 413 gcos_ext_stat_$save_data.wrapup = "0"b; /* turn off wrapup flag in case it was oh */ 414 415 call print_term_msg; /* go print message */ 416 417 /* if an abort subactivity is to be run, we do not want to clean up everything right now, though */ 418 419 if gcos_ext_stat_$save_data.this_act_abort then /* if this activity aborted */ 420 if gcos_ext_stat_$save_data.abort_card then do; /* and it contained a $ ABORT card */ 421 422 /* NOTE that we are using our own flag and ignoring psw bit 12 here. This means that: 423* 1) the activity can not turn off bit 12 to prevent the subactivity from running; 424* 2) the activity can not turn on bit 12 to force it to run; 425* it depends only on whether a $ ABORT card was present */ 426 427 428 if gcos_ext_stat_$activity_name ^= "geload" /* only after a $ EXECUTE activity */ 429 then goto no_subact; /* is $ ABORT allowed */ 430 431 gcos_ext_stat_$save_data.abort_subact = "1"b; /* remember that we are running an abort subactivity */ 432 433 /* add 30 seconds to remainder of time limit, for the subactivity */ 434 435 gcos_ext_stat_$time_limit = gcos_ext_stat_$time_limit - cputime_used + 30; 436 437 gcos_ext_stat_$activity_name = "utility"; 438 439 term_msg = "subactivity"; 440 call date_time_ (clock_ (), holdtime); 441 442 goto subact1; /* go back to the activity-initializing part of this procedure, 443* and set up to run the subactivity */ 444 445 end; 446 447 448 no_subact: 449 450 /* terminate the activity and clean up completely */ 451 452 call gcos_cleanup_files_; /* dispose of files according to settings of fib.indicators */ 453 454 /* Write real time used on execution report */ 455 456 realtime_finish = clock_ (); /* get current time */ 457 458 call gcos_time_convert_ (realtime_finish-realtime_start, rta.time); /* get real time used */ 459 460 call gcos_write_$ptr (gcos_ext_stat_$er, string (rta), "11111100"b); /* put out real time used msg */ 461 462 /* Write cpu time used on execution report */ 463 464 call gcos_time_convert_ (cputime_finish-cputime_start, pta.time); /* get cpu time used */ 465 466 call gcos_write_$ptr (gcos_ext_stat_$er, string (pta), "11111100"b); /* put msg on execution report */ 467 468 /* Write activity completion message (either FIN or ABT) on console */ 469 470 if ^gcos_ext_stat_$save_data.brief then do; 471 call date_time_ (realtime_finish, holdtime); /* format date and time of activity completion */ 472 if gcos_ext_stat_$save_data.this_act_abort then /* put abort message on console */ 473 474 call ioa_ (" *ABT ^a @^a ^a", save_data.actid, substr (holdtime, 11, 6), initial_abort_reason); 475 476 /* else 477* call ioa_ (" *FIN ^a @^a", save_data.actid, substr (holdtime, 11, 6)); 478**/ end; 479 480 post_cleanup: 481 482 if post_cleanup_stop_sw then do; 483 call ioa_ ("post-activity cleanup completed; calling db:"); 484 call db; 485 end; 486 487 return; 488 489 490 /* INTERNAL PROCEDURE TO PRINT MESSAGES OF THE FORM: 491* * 492* * ACTIVITY 493* * TERMINATED 494* * WRAPUP AT nnnnnn I=nnnnnn SW=nnnnnnnnnnnn 495* * ABORTED 496* * SUBACTIVITY 497* * 498* */ 499 500 print_term_msg: proc; 501 502 dcl (xilc, xir) fixed bin(35); 503 504 /* get pointer to scu data */ 505 506 scup = addr (gcos_ext_stat_$mc.scu); 507 508 /* get location counter and indicators into separate full words, to keep ioa_ happy */ 509 510 xilc = fixed (scu.ilc); 511 512 xir = fixed (substr (string (scu.ir), 1, 12)); 513 514 /* format the message */ 515 516 /* ********** 517* ********** 518* 519* CHANGE TO USE NEW IOA CODES TO GET RID OF FORMAT PROBLEMS */ 520 521 if term_msg = "activity terminated " 522 then term_msg = "normal termination "; /* what it should be */ 523 call ioa_$rs (" * ^22a at ^6w I=^4w SW=^w", bannerstring, j, 524 term_msg, xilc, xir, save_data.psw); 525 526 call gcos_write_$ptr (gcos_ext_stat_$er, var_msg, "11111100"b); /* write it on execution report */ 527 528 if gcos_ext_stat_$save_data.long then 529 call ioa_$nnl (var_msg); /* also write it on console, for interactive user */ 530 531 return; 532 533 end print_term_msg; 534 535 536 /* D E B U G G I N G E N T R I E S */ 537 538 pre_setup_stop: presetup: entry; 539 switch_name = "pre_setup_stop"; 540 pre_setup_stop_sw = ^pre_setup_stop_sw; 541 if pre_setup_stop_sw then 542 print_on: 543 switch_state = "on"; 544 else 545 print_off: 546 switch_state = "off"; 547 548 print_switch: 549 call ioa_ ("^a turned ^a", switch_name, switch_state); 550 return; 551 552 pre_activity_stop: preact: entry; 553 switch_name = "pre_activity_stop"; 554 pre_activity_stop_sw = ^pre_activity_stop_sw; 555 if pre_activity_stop_sw then goto print_on; 556 else goto print_off; 557 558 post_activity_stop: postact: entry; 559 switch_name = "post_activity_stop"; 560 post_activity_stop_sw = ^post_activity_stop_sw; 561 if post_activity_stop_sw then goto print_on; 562 else goto print_off; 563 564 post_cleanup_stop: postclean: entry; 565 switch_name = "post_cleanup_stop"; 566 post_cleanup_stop_sw = ^post_cleanup_stop_sw; 567 if post_cleanup_stop_sw then goto print_on; 568 else goto print_off; 569 570 /* D E C L A R A T I O N S */ 571 572 573 /* External Static */ 574 575 dcl error_table_$namedup ext static fixed bin(35); /* system error code */ 576 dcl error_table_$segknown ext static fixed bin(35); /* system error code */ 577 578 /* External Entries */ 579 580 581 dcl gcos_attach_file_ ext entry (ptr); 582 dcl gcos_process_mme_ ext entry; /* called at fault time instead of signal_ */ 583 dcl gcos_cleanup_files_ ext entry; 584 dcl gcos_cv_ascii_gebcd_ ext entry (ptr, fixed bin(24), ptr, fixed bin(24)); 585 dcl gcos_mme_snp1_$bord entry (bit (36), bit (36)); 586 dcl gcos_error_ ext entry options (variable); 587 dcl gcos_fault_processor_ ext entry; 588 dcl gcos_fault_processor_$timer_runout ext entry; 589 dcl virtual_cpu_time_ entry () returns (fixed bin(71) aligned); 590 dcl gcos_mme_rout_$rout_cleanup ext entry; 591 dcl gcos_mme_rout_$rout_interrupt ext entry; 592 dcl gcos_set_slave_ ext entry (fixed bin(18), ptr, bit (1) aligned); 593 dcl gcos_time_convert_ ext entry (fixed bin(52), char (19)); 594 dcl gcos_write_$bcd_ptr ext entry (ptr, char (*), bit (8)); 595 dcl gcos_write_$ptr ext entry (ptr, char (*), bit (8)); 596 dcl gcos_write_to_er_ entry options (variable); 597 598 dcl clock_ ext entry returns (fixed bin(71)); 599 dcl cu_$level_get ext entry (fixed bin(24)); 600 dcl date_time_ ext entry (fixed bin(71), char (*)); 601 dcl db ext entry options (variable); 602 dcl get_group_id_$tag_star ext entry returns (char (32)); 603 dcl hcs_$acl_add ext entry (char (*), char (*), ptr, fixed bin(24), fixed bin(35)); 604 dcl hcs_$get_usage_values ext entry (fixed bin(24), fixed bin(71), fixed bin(24)); 605 dcl hcs_$make_seg ext entry (char (*), char (*), char (*), fixed bin(5), ptr, fixed bin(35)); 606 dcl hcs_$set_max_length ext entry (char (*), char (*), fixed bin(19), fixed bin(35)); 607 dcl hcs_$truncate_seg ext entry (pointer, fixed bin(24), fixed bin(35)); 608 dcl ios_$seek ext entry (char (*), char (*), char (*), fixed bin(35), bit (72)); 609 dcl sct_manager_$get entry (fixed bin, ptr, fixed bin(35)); 610 dcl sct_manager_$set entry (fixed bin, ptr, fixed bin(35)); 611 dcl timer_manager_$cpu_call ext entry (fixed bin(71), bit (2), entry); 612 dcl timer_manager_$reset_cpu_call ext entry (entry); 613 dcl (ioa_, ioa_$rs, ioa_$nnl) ext entry options (variable); 614 615 616 617 618 /* Work Variables */ 619 620 621 dcl system_free_area area based (gcos_ext_stat_$system_free_pointer); 622 dcl dump_info bit (36); 623 dcl status bit (72); /* holds return status from ios_ */ 624 dcl bannerstring char (120); /* area to build banner in */ 625 dcl var_msg char (j) based (addr (bannerstring)); /* variable length overlay for above */ 626 dcl term_msg char (24) varying; /* holds "activity terminated", "wrapup aborted", etc. */ 627 dcl initial_abort_reason char (128) varying; /* holds initial abort reason, for ABT message */ 628 629 dcl (j, i) fixed bin(24); /* temps */ 630 631 dcl (realtime_start, realtime_finish) fixed bin(71); /* holds time of start,end of activity */ 632 dcl (cputime_start, cputime_finish, cputime_used) fixed bin(71); /* hold cpu time usage figures */ 633 dcl k fixed bin(24); 634 dcl holdtime char (24); /* holds date and time */ 635 dcl code fixed bin(35); /* code returned from calls to hardcore */ 636 dcl gseg pointer; /* temp ptr to gcos seg */ 637 638 dcl zero bit (2304) based (gseg); /* used to zero slave prefix */ 639 dcl 1 slave_prefix based (gseg), /* slave prefix model */ 640 2 fault_vector (14) fixed bin(24), 641 2 fill1 (9) fixed bin(24), 642 2 goodies, 643 3 wrapup bit (18) unaligned, /* address of abort wrapup routine */ 644 645 646 3 fill2 bit (18) unaligned, 647 2 fill3 (2) fixed bin(24), 648 2 mme bit (36), /* place where MME GECALL is to go */ 649 2 prog bit (36), /* prog to be loaded for this activity */ 650 2 fill4 (2) fixed bin(24), 651 2 activid bit (36), /* activity number and job number */ 652 2 load_limits bit (36), /* upper and lower load limits */ 653 2 fill5 (22) fixed bin(24), 654 2 ident bit (360) /* ident information from ident card (60 BCD characters) */; 655 dcl 1 slave_prefix_alt_1 based (gseg), 656 2 fill (0:62) bit (36), 657 2 spa_taskflag bit (36); 658 659 660 dcl 1 acla, /* acl model for file system */ 661 2 userid char (32), 662 2 pack, 663 3 mode bit (5), /* access */ 664 3 reterr bit (13), 665 3 (rb1, rb2, rb3) bit (6); 666 667 dcl 1 rta int static, 668 2 msg char (21) init ("real time activity #"), 669 2 accno char (2), 670 2 blanks char (4) init (" "), 671 2 time char (19), 672 2 nl char (2) init (" 673 674 "); 675 676 dcl 1 pta int static, 677 2 msg char (26) init ("processor time activity #"), 678 2 accno char (2), 679 2 blanks char (4) init (" "), 680 2 time char (19), 681 2 nl char (4) init (" 682 683 684 685 "); 686 687 688 689 /* FOR DEBUGGING */ 690 691 dcl ( 692 pre_setup_stop_sw 693 , pre_activity_stop_sw 694 , post_activity_stop_sw 695 , post_cleanup_stop_sw 696 ) bit (1) aligned int static init ("0"b); 697 698 dcl switch_name char (32) aligned; 699 dcl switch_state char (4) aligned; 700 701 dcl (addr, addrel, divide, fixed, null, string, substr, unspec) builtin; 702 703 dcl (any_other, cleanup, program_interrupt) condition; 704 1 1 /* BEGIN INCLUDE FILE gcos_ext_stat_.incl.pl1 */ 1 2 /* 1 3* Changes to gcos_ext_stat_ must be made here AND gcos_ext_stat_.cds 1 4**/ 1 5 /* July 77 (MRJ) Mike Jordan. */ 1 6 /* Change: Mel Wilson Oct 1979 for gtss compatibility (Bell Canada). */ 1 7 /* Change: A. N. Kepner, March, 1978 to allow courtesy call i/o within cc routines. */ 1 8 /* Change: Dave Ward 06/01/81 Reorganized to eliminate alm object (using cds). Use of like structures. */ 1 9 /* Change: Scott C. Akers 01/26/82 Add tape_buffer_size for GEINOS processing. */ 1 10 /* Change: Ron Barstad 83-08-02 Added activity_card_num for execution report */ 1 11 /* Increased size of statistics for 4js3 MMEs */ 1 12 1 13 dcl gcos_ext_stat_$abort_reason char(128) varying /* abort reason from gcos pgm */ ext; 1 14 dcl gcos_ext_stat_$abort_return label /* abort return point */ ext; 1 15 dcl gcos_ext_stat_$activity_card_num pic "9999" ext; /* card number defining current activity */ 1 16 dcl gcos_ext_stat_$activity_name char(8) /* name of activity to be run */ ext; 1 17 dcl gcos_ext_stat_$activity_start_time fixed bin(71) /* TOD start of activity */ ext; 1 18 dcl gcos_ext_stat_$card_num pic "9999" /* ordinal number of card in input stream */ ext; 1 19 dcl gcos_ext_stat_$dbs (36)bit(1) /* Debugging switch. */ ext; 1 20 dcl gcos_ext_stat_$default_nondollar char(2) /* filecode where nondollar cards go by default */ ext; 1 21 dcl gcos_ext_stat_$dir_rings (3) fixed bin(3) /* ring brackets for created catalogs */ ext; 1 22 dcl gcos_ext_stat_$dpno char(100) varying /* arguments for call to dpunch */ ext; 1 23 dcl gcos_ext_stat_$dpo char(100) varying /* arguments for call to dprint */ ext; 1 24 dcl gcos_ext_stat_$endfc char(2) /* endfc value for endcopy processing */ ext; 1 25 dcl gcos_ext_stat_$er ptr /* fib pointer for *er */ ext; 1 26 dcl gcos_ext_stat_$etc_filecode char(2) /* filecode where $ ETC cards should be written */ ext; 1 27 dcl gcos_ext_stat_$gcos_slave_area_seg ptr /* pointer to gcos slave area segment */ ext; 1 28 dcl gcos_ext_stat_$gf fixed bin(24)/* sw used by getfield rtn */ ext; 1 29 dcl gcos_ext_stat_$incode fixed bin(24) /* switches to control incode processing */ ext; 1 30 dcl gcos_ext_stat_$increment_hold fixed bin(24) /* Holds increment for courtesy call returns. */ ext; 1 31 dcl gcos_ext_stat_$initial_cpu_time fixed bin(71) /* vcu time at activity start */ ext; 1 32 dcl gcos_ext_stat_$input_segment_path char(168) varying /* pathname of input segment */ ext; 1 33 dcl gcos_ext_stat_$jcl_warnings fixed bin(24) /* number warnings issued processing control cards */ ext; 1 34 dcl gcos_ext_stat_$job_cpu_time fixed bin(71) /* cpu usage at job start */ ext; 1 35 dcl gcos_ext_stat_$job_id char(18) varying /* unique job id for file naming */ ext; 1 36 dcl gcos_ext_stat_$job_real_time fixed bin(71) /* job start time in microseconds */ ext; 1 37 dcl gcos_ext_stat_$last_mme fixed bin(24)/* number of last mme executed */ ext; 1 38 dcl gcos_ext_stat_$ldrss fixed bin(24) /* loader shared stg. */ ext; 1 39 dcl gcos_ext_stat_$max_activities fixed bin(24)/* max activities in a job */ ext; 1 40 dcl gcos_ext_stat_$max_mem fixed bin(19) /* maximum memory available to an activity */ ext; 1 41 dcl gcos_ext_stat_$mme_rtrn label /* where to return at activity end */ ext; 1 42 dcl gcos_ext_stat_$nondollar char(2) /* non-dollar card file code */ ext; 1 43 dcl gcos_ext_stat_$nongcos char(2) /* filecode where nongcos dollar cards go */ ext; 1 44 dcl gcos_ext_stat_$normal_return label /* nonlocal goto for normal termination */ ext; 1 45 dcl gcos_ext_stat_$patchfile_ptr ptr /* pointer to patchfile */ ext; 1 46 dcl gcos_ext_stat_$pathname_prefix char(168)var ext; 1 47 dcl gcos_ext_stat_$pch ptr /* pointer to fib for syspunch collector file */ ext; 1 48 dcl gcos_ext_stat_$pdir char(168) varying /* pathname of process directory */ ext; 1 49 dcl gcos_ext_stat_$prt ptr /* pointer to fib for sysprint collector file */ ext; 1 50 dcl gcos_ext_stat_$rs ptr /* pointer to fib for geload r* collector file */ ext; 1 51 dcl gcos_ext_stat_$saveseg_ptr ptr /* pointer to save segment used by save/restart */ ext; 1 52 dcl gcos_ext_stat_$save_dir char(168) varying /* pathname of temp save directory */ ext; 1 53 dcl gcos_ext_stat_$seg_rings (3) fixed bin(3) /* ring brackets for created files */ ext; 1 54 dcl gcos_ext_stat_$sig_ptr ptr /* saved pointer to signal_ */ ext; 1 55 dcl gcos_ext_stat_$skip_umc bit(1) ext; 1 56 dcl gcos_ext_stat_$snumb bit (30) aligned /* snumb of the current job */ ext; 1 57 dcl gcos_ext_stat_$sought_label char(8) /* Label from GOTO, IF, or WHEN card */ ext; 1 58 dcl gcos_ext_stat_$statistics (3*44) fixed bin(24) /* mme usage statistics- 3 per mme */ ext; 1 59 dcl gcos_ext_stat_$stop_code fixed bin(24) /* debugging, print results and stop. */ ext; 1 60 dcl gcos_ext_stat_$storage_limit fixed bin(19) /* activity storage limit */ ext; 1 61 dcl gcos_ext_stat_$sysout_limit fixed bin(35) /* sysout line limit */ ext; 1 62 dcl gcos_ext_stat_$sysout_lines fixed bin(35) /* sysout lines used */ ext; 1 63 dcl gcos_ext_stat_$system_free_pointer ptr /* pointer to area for allocating in ext; set by gcos */ ext; 1 64 dcl gcos_ext_stat_$tape_buffer_size fixed bin(35) external static; /* tape buffer size for GEINOS. */ 1 65 dcl gcos_ext_stat_$temp_dir char(168) varying /* pathname of directory to hold temp files */ ext; 1 66 dcl gcos_ext_stat_$temp_seg_ptr ptr ext; 1 67 dcl gcos_ext_stat_$termination_code bit (18) /* termination code from gcos_mme_bort_ */ ext; 1 68 dcl gcos_ext_stat_$time_limit fixed bin(71) /* activity time limit */ ext; 1 69 dcl gcos_ext_stat_$userid char(12) /* the USERID */ ext; 1 70 dcl gcos_ext_stat_$validation_level fixed bin(3) /* current ring of execution */ ext; 1 71 1 72 /* Courtesy Call Queue 1 73* A queue for courtesy call addresses which must be saved during 1 74* execution of courtesy call routines. A courtesy call address is 1 75* saved each time a MME GEROUT or MME GEINOS, which specifies a 1 76* courtesy call, is executed within a courtesy call routine. Each 1 77* time a MME GEENDC is executed a courtesy call address will be 1 78* removed from this FIFO queue and the corresponding courtesy call 1 79* routine executed until the queue is empty. The FIFO "queue" is 1 80* implemented in a circular fashion. "next_avail" points to the 1 81* next empty location in the queue. "next_out" points to the 1 82* entry in the queue which has been in the queue longest. When 1 83* entering or removing entries from the queue the appropriate index 1 84* is incremented modulo the length of the queue. By convention the 1 85* queue is empty when "next_avail" equals "next_out". A 1 86* second convention is that the queue is considered to overflow 1 87* during an attempt to add an entry to the queue which would force 1 88* "next_avail" to "catch up" with "next_out". This means that 1 89* the last empty position in the queue will never be used. 1 90**/ 1 91 1 92 dcl 1 gcos_ext_stat_$courtesy_call_control aligned ext 1 93 , 3 courtesy_call 1 94 , 4 hold like save_machine_conditions /* Mach. conds. restored on courtesy call returns. */ 1 95 , 4 next_avail fixed bin(24) /* next available empty location in cc_queue. */ 1 96 , 4 next_out fixed bin(24) /* next entry to remove from cc_queue. */ 1 97 , 4 queue (6) fixed bin(24) 1 98 ; 1 99 2 1 /* BEGIN INCLUDE FILE gcos_save_mc.incl.pl1 (Wardd Multics) 09/12/81 0905.9 mst Sat */ 2 2 2 3 /* Structure to isolate the definition of the size of the 2 4*space needed to store he machine conditions structure (mc). 2 5**/ 2 6 dcl 1 save_machine_conditions based 2 7 , 3 save_space bit(1728) 2 8 ; 2 9 2 10 /* END INCLUDE FILE gcos_save_mc.incl.pl1 */ 1 100 1 101 1 102 dcl 1 gcos_ext_stat_$fct aligned ext, 1 103 3 fct (40) like fct_entry; 3 1 /* BEGIN INCLUDE FILE gcos_fct_entry.incl.pl1 (Wardd Multics) 05/30/81 1758.6 mst Sat */ 3 2 3 3 dcl 1 fct_entry aligned based, 3 4 2 filecode char(2) aligned, /* file code (or blank) */ 3 5 /* flags */ 3 6 2 sysout bit(1) unaligned, /* 1=file is sysout or dac */ 3 7 2 dac bit(1) unaligned, /* 1=file is dac,0=file is sysout */ 3 8 2 pad bit(34) unaligned, /* unused */ 3 9 2 fibptr ptr aligned /* ptr to fib for this file */ 3 10 ; 3 11 3 12 /* END INCLUDE FILE gcos_fct_entry.incl.pl1 */ 1 104 1 105 1 106 dcl 1 gcos_ext_stat_$save_data aligned ext, 1 107 3 save_data like save_data_entry; 4 1 /* BEGIN INCLUDE FILE gcos_save_data_entry.incl.pl1 (Wardd Multics) 07/01/81 1339.9 mst Wed */ 4 2 /* Change: Dave Ward 07/01/81 include gcos_flags_. */ 4 3 /* Change: Dave Ward 09/10/81 fib changed to fibs & likened to fib. */ 4 4 4 5 dcl 1 save_data_entry aligned based 4 6 ,3 flgs like flags /* system wide flgs */ 4 7 ,3 actid char(8) /* activity no. and accnt i.d. */ 4 8 ,3 short_actid bit(36) aligned /* short form of activity id */ 4 9 ,3 ident char(60) /* holds ident info from snumb card */ 4 10 ,3 psw bit(36) aligned /* program switch word */ 4 11 ,3 last_execute_act_no fixed bin(24)/* activity number of last $ EXECUTE card in job */ 4 12 ,3 activity_no fixed bin(24)/* activity number */ 4 13 ,3 job_time_limit fixed bin(71) /* job time limit */ 4 14 ,3 job_sysout_limit fixed bin(24)/* job sysout line limit */ 4 15 ,3 sysout_queue (10) char(32) /* sysout queue */ 4 16 ,3 sysout_queue_media (10) fixed bin(24)/* medium (print,punch) of each file on queue */ 4 17 ,3 sqindex fixed bin(24)/* curr offset in sysout queue */ 4 18 ,3 pathname_prefix char(168)varying /* prefix for gcos cfdescs */ 4 19 ,3 skip_umc aligned bit(1) /* flag to tell if we should skip umc names */ 4 20 ,3 job_deck pointer /* pointer to seg holding canonicalized job deck */ 4 21 ,3 jd_size fixed bin(24)/* size in words of job deck */ 4 22 ,3 jd_position fixed bin(24) /* position of current block of job deck */ 4 23 ,3 jd_rem_block_len fixed bin(24)/* words remaining in current block of job deck */ 4 24 ,3 syot_dir char(168)varying /* pathname of directory to hold sysout files */ 4 25 ,3 fibs (40) like fib 4 26 ,3 param (32) char(57)varying /* parameters */ 4 27 ; 4 28 5 1 /* BEGIN INCLUDE FILE gcos_flags.incl.pl1 (Wardd Multics) 07/01/81 1344.7 mst Wed */ 5 2 /* Change: Mel Wilson 03/01/79 to add gtssflag & identflag */ 5 3 /* Change: Dave Ward 07/01/81 revised, mad apart of gcos_ext_stat_. */ 5 4 5 5 5 6 /* Declaration of Simulator Wide Flags */ 5 7 5 8 dcl 1 flags aligned based, 5 9 2 ( 5 10 pad1, /* no longer used */ 5 11 copy, /* 1=copy option on|0=off */ 5 12 snumb, /* 1=snumb card read|0=not */ 5 13 ident, /* 1=ident card read|0=not */ 5 14 activ, /* 1=activity being defined|0=not */ 5 15 cc, /* 1=courtesy call active|0=not */ 5 16 pad2, /* no longer used */ 5 17 cksum, /* 1=don't check checksums|0=do */ 5 18 pad3, /* no longer used */ 5 19 wrapup, /* 1=processing wrapup after abort */ 5 20 5 21 /* FOLLOWING ADDED AFTER MARCH 73 */ 5 22 5 23 nosave, /* 1=disable save/restart function,0=not */ 5 24 pad4, /* no longer used */ 5 25 gcos, /* 1=job deck segment in gcos file format */ 5 26 raw, /* 1=sysout punch files to be converted to raw bit strings */ 5 27 list, /* 1=sysout print files to be converted to ascii */ 5 28 brief, /* 1=print nothing but fatal error messages on terminal */ 5 29 debug, /* 1=give option to call debug before aborting */ 5 30 no_canonicalize, /* 1=do NOT canonicalize job deck */ 5 31 5 32 /* 18 bits into first word */ 5 33 5 34 pad5, /* no longer used */ 5 35 dpunch, /* 1=dpunch sysout punch files;0=don't */ 5 36 dprint, /* 1=dprint sysout print files,0=don't */ 5 37 userid, /* 1=userid card read,0=not */ 5 38 userlib, /* 1= -userlib ctl arg given, see gcos_gein_ */ 5 39 dstar, /* 1=current activity card written on d* */ 5 40 write_etc, /* 1 tells get_cc_field to write $ ETC cards on etc_filecode */ 5 41 prev_act_abort, /* turned on by abort and off by $ BREAK */ 5 42 this_act_abort, /* turned on by abort to select abort disp codes */ 5 43 abort_subact, /* 1=processing abort subactivity */ 5 44 dump, /* 1=dump option given on activity card */ 5 45 nondollar, /* 1=reading nondollar card deck in gein */ 5 46 endjob, /* 1=cc_endjob already called once in this job */ 5 47 abort_card, /* 1=the terminator for this activity was a $ ABORT card */ 5 48 truncate, /* 1=truncate option given:truncate long ascii input lines */ 5 49 continue, /* 1=continue option given:continue after nonfatal errors */ 5 50 rout, /* 1=gcos_mme_rout_ was called in this activity */ 5 51 seeking, /* 1=gein is looking for a label and/or terminator */ 5 52 5 53 /* end of first word */ 5 54 5 55 seeking_terminator, /* 1=gein is looking for a terminator */ 5 56 lower_case, /* 1=lower case print conversion wanted */ 5 57 no_bar, /* 1=do not run slave program in BAR mode */ 5 58 long, /* 1=print some lines from execution reort on terminal */ 5 59 endfc, /* 1=process endfc option on endcopy card */ 5 60 gtssflag, /* 1=update gtss_user_state_ during execution */ 5 61 identflag, /* 1= use $ident banner info for print & punch */ 5 62 spawnflag, /* 1= entry due to tss spawn */ 5 63 taskflag /* 1= entry due to tss drl task */ 5 64 ) bit(1) unal, 5 65 2 pad6 bit(27)unal 5 66 ; 5 67 5 68 /* END INCLUDE FILE gcos_flags.incl.pl1 */ 4 29 4 30 4 31 /* END INCLUDE FILE gcos_save_data_entry.incl.pl1 */ 1 108 1 109 6 1 /* BEGIN INCLUDE FILE gcos_file_info_block_.incl.pl1 DAK - APRIL 74 */ 6 2 6 3 /* Declaration of File Information Block (fib) 6 4* 6 5* Change: Mel Wilson 11/01/79 for gtss compatibility 6 6* Change: Dave Ward 05/20/81 *_file constants. 6 7* Change: Dave Ward 05/29/81 separated fct structures. 6 8* Change: Dave Ward 09/02/81 provision for tape density 6250, dens_hist 2 bits (not 3). 6 9**/ 6 10 dcl 1 fib aligned based (fibptr) /* fib structure */ 6 11 6 12 , 2 buffer ptr aligned /* pointer to current buffer (gcos_write_) */ 6 13 , 2 buffer_indx fixed bin /* Index to buffer in use. */ 6 14 , 2 stream char(8)unal /* stream name for attaching this file */ 6 15 , 2 pathnm char(168)unal /* pathname (for disk, print or punch files) */ 6 16 , 2 unique_file_id bit(36) /* multics unique segment id for file */ 6 17 , 2 indicators /* five words of flags */ 6 18 6 19 , 3 indicators_word_1 6 20 , 4 used bit(1) unal /* 1=fib used, 0=fib used */ 6 21 , 4 attached bit(1) unal /* 1=stream is attached */ 6 22 , 4 type bit(1) unal /* 1=random, 0=linked */ 6 23 , 4 perm bit(1) unal /* 1=permanent file, 0=not */ 6 24 , 4 print bit(1) unal /* 1=file type is printer */ 6 25 , 4 punch bit(1) unal /* 1=file type is punch */ 6 26 , 4 reader bit(1) unal /* 1=file type is card reader */ 6 27 , 4 tape bit(1) unal /* 1=file type is tape */ 6 28 , 4 console bit(1) unal /* 1=file type is console typewriter */ 6 29 , 4 read bit(1) unal /* 1=read access permitted */ 6 30 , 4 write bit(1) unal /* 1=write access permitted */ 6 31 , 4 null bit(1) unal /* 1=file is null */ 6 32 , 4 purge bit(1) unal /* 1=purge file at time on release */ 6 33 , 4 gein bit(1) unal /* 1 = this file contains data cards from the job deck */ 6 34 , 4 disp bit(2) unal /* disposition code: 6 35* 00 = dismount 6 36* 01 = release 6 37* 10 = save 6 38* 11 = continue */ 6 39 , 4 adisp bit(2) unal /* abort disp - same codes as disp */ 6 40 , 4 order bit(1) unal /* 1 = write, 0 = read or other */ 6 41 , 4 mode bit(2) unal /* tape i/o mode 6 42* 00 = binary 6 43* 01 = decimal 6 44* 10 = nine */ 6 45 , 4 tracks bit(2) unal /* tape request code: 6 46* 00 = installation default 6 47* 01 = 7 track 6 48* 10 = 9 track */ 6 49 , 4 density bit(4) unal /* tape density from $ TAPE card 6 50* 0000 = site standard high 6 51* 0001 = 200 bpi 6 52* 0010 = 556 bpi 6 53* 0100 = 800 bpi 6 54* 1001 = 1600 bpi 6 55* 1100 = 6250 bpi 6 56* 1111 = handler capable of any appropriate denisty */ 6 57 , 4 dens_hist bit(2) unal /* density history for MME GEFADD */ 6 58 , 4 forced_acl_flag bit(1) unal /* 1 => acl forced for gtss file (2.4) */ 6 59 , 4 fill bit(6) unal /* reserved for future use */ 6 60 , 3 indicators_word_2 6 61 , 4 plud bit(18) unal /* primary log unit designator */ 6 62 /* bcd channel and channel number */ 6 63 6 64 , 4 slud bit(18) unal /* secondary log. unit designator */ 6 65 /* bcd channel and channel number */ 6 66 , 3 indicators_word_3 6 67 , 4 serial_no bit(30) unal /* tape serial number */ 6 68 , 4 pad bit( 6) unal /* unused */ 6 69 , 3 indicators_word_4 6 70 , 4 tape_name bit(72) unal /* tape name */ 6 71 6 72 , 2 current fixed bin(21) /* current file position */ 6 73 , 2 last fixed bin(21) /* eof for sequential disk files */ 6 74 , 2 size fixed bin(24) /* offset of end of file in words */ 6 75 , 2 init_size fixed bin(24) /* file size at start of activity */ 6 76 , 2 init_posit fixed bin(24) /* file position at start of activity */ 6 77 , 2 iocount fixed bin(35) /* total no. of i/o operations */ 6 78 , 2 rec_len fixed bin(24) /* length of current record (gcos_write_) */ 6 79 , 2 command_count fixed bin(17) unal /* size of command table for device (gcos_mme_inos_) */ 6 80 , 2 command_index fixed bin(17) unal /* pointer to command table entry (gcos_mme_inos_) */ 6 81 , 2 error_retry fixed bin(17) unal /* error retry counter */ 6 82 , 2 seq_no fixed bin(17) unal /* tape reel sequence no */ 6 83 ; 6 84 dcl fibptr ptr /* pointer to current fib in gcos_ext_stat_ */; 6 85 6 86 /* File usage classification constants: */ 6 87 dcl linked_file bit(1)static int options(constant)init("0"b); 6 88 dcl random_file bit(1)static int options(constant)init("1"b); 6 89 dcl read_file bit(1)static int options(constant)init("0"b); 6 90 dcl write_file bit(1)static int options(constant)init("1"b); 6 91 6 92 /* END INCLUDE FILE gcos_file_info_block_.incl.pl1 */ 1 110 1 111 1 112 dcl 1 gcos_ext_stat_$mc like mc /* machine condition from abort or fault */ ext; 7 1 /* */ 7 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 7 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 7 4 /* Modified 07/07/76 by Morris for fault register data */ 7 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 7 6 /* Modified '82 to make values constant */ 7 7 7 8 /* words 0-15 pointer registers */ 7 9 7 10 dcl mcp ptr; 7 11 7 12 dcl 1 mc based (mcp) aligned, 7 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 7 14 (2 regs, /* registers */ 7 15 3 x (0:7) bit (18), /* index registers */ 7 16 3 a bit (36), /* accumulator */ 7 17 3 q bit (36), /* q-register */ 7 18 3 e bit (8), /* exponent */ 7 19 3 pad1 bit (28), 7 20 3 t bit (27), /* timer register */ 7 21 3 pad2 bit (6), 7 22 3 ralr bit (3), /* ring alarm register */ 7 23 7 24 2 scu (0:7) bit (36), 7 25 7 26 2 mask bit (72), /* mem controller mask at time of fault */ 7 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 7 28 2 errcode fixed bin (35), /* fault handler's error code */ 7 29 2 fim_temp, 7 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 7 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 7 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 7 33 2 fault_reg bit (36), /* fault register */ 7 34 2 pad2 bit (1), 7 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 7 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 7 37 2 fault_time bit (54), /* time of fault */ 7 38 7 39 2 eis_info (0:7) bit (36)) unaligned; 7 40 7 41 7 42 dcl (apx fixed bin init (0), 7 43 abx fixed bin init (1), 7 44 bpx fixed bin init (2), 7 45 bbx fixed bin init (3), 7 46 lpx fixed bin init (4), 7 47 lbx fixed bin init (5), 7 48 spx fixed bin init (6), 7 49 sbx fixed bin init (7)) internal static options (constant); 7 50 7 51 7 52 7 53 7 54 dcl scup ptr; 7 55 7 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 7 57 7 58 7 59 /* WORD (0) */ 7 60 7 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 7 62 3 prr bit (3), /* procedure ring register */ 7 63 3 psr bit (15), /* procedure segment register */ 7 64 3 p bit (1), /* procedure privileged bit */ 7 65 7 66 2 apu, /* APPENDING UNIT STATUS */ 7 67 3 xsf bit (1), /* ext seg flag - IT modification */ 7 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 7 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 7 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 7 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 7 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 7 73 3 dsptw bit (1), /* Fetch of DSPTW */ 7 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 7 75 3 sdwp bit (1), /* Fetch of SDW paged */ 7 76 3 ptw bit (1), /* Fetch of PTW */ 7 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 7 78 3 fap bit (1), /* Fetch of final address paged */ 7 79 3 fanp bit (1), /* Fetch of final address non-paged */ 7 80 3 fabs bit (1), /* Fetch of final address absolute */ 7 81 7 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 7 83 7 84 7 85 /* WORD (1) */ 7 86 7 87 2 fd, /* FAULT DATA */ 7 88 3 iro bit (1), /* illegal ring order */ 7 89 3 oeb bit (1), /* out of execute bracket */ 7 90 3 e_off bit (1), /* no execute */ 7 91 3 orb bit (1), /* out of read bracket */ 7 92 3 r_off bit (1), /* no read */ 7 93 3 owb bit (1), /* out of write bracket */ 7 94 3 w_off bit (1), /* no write */ 7 95 3 no_ga bit (1), /* not a gate */ 7 96 3 ocb bit (1), /* out of call bracket */ 7 97 3 ocall bit (1), /* outward call */ 7 98 3 boc bit (1), /* bad outward call */ 7 99 3 inret bit (1), /* inward return */ 7 100 3 crt bit (1), /* cross ring transfer */ 7 101 3 ralr bit (1), /* ring alarm register */ 7 102 3 am_er bit (1), /* associative memory fault */ 7 103 3 oosb bit (1), /* out of segment bounds */ 7 104 3 paru bit (1), /* processor parity upper */ 7 105 3 parl bit (1), /* processor parity lower */ 7 106 3 onc_1 bit (1), /* op not complete type 1 */ 7 107 3 onc_2 bit (1), /* op not complete type 2 */ 7 108 7 109 2 port_stat, /* PORT STATUS */ 7 110 3 ial bit (4), /* illegal action lines */ 7 111 3 iac bit (3), /* illegal action channel */ 7 112 3 con_chan bit (3), /* connect channel */ 7 113 7 114 2 fi_num bit (5), /* (fault/interrupt) number */ 7 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 7 116 7 117 7 118 /* WORD (2) */ 7 119 7 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 7 121 3 trr bit (3), /* temporary ring register */ 7 122 3 tsr bit (15), /* temporary segment register */ 7 123 7 124 2 pad2 bit (9), 7 125 7 126 2 cpu_no bit (3), /* CPU number */ 7 127 7 128 2 delta bit (6), /* tally modification DELTA */ 7 129 7 130 7 131 /* WORD (3) */ 7 132 7 133 2 word3 bit (18), 7 134 7 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 7 136 3 tsna, /* Word 1 status */ 7 137 4 prn bit (3), /* Word 1 PR number */ 7 138 4 prv bit (1), /* Word 1 PR valid bit */ 7 139 3 tsnb, /* Word 2 status */ 7 140 4 prn bit (3), /* Word 2 PR number */ 7 141 4 prv bit (1), /* Word 2 PR valid bit */ 7 142 3 tsnc, /* Word 3 status */ 7 143 4 prn bit (3), /* Word 3 PR number */ 7 144 4 prv bit (1), /* Word 3 PR valid bit */ 7 145 7 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 7 147 7 148 7 149 /* WORD (4) */ 7 150 7 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 7 152 7 153 2 ir, /* INDICATOR REGISTERS */ 7 154 3 zero bit (1), /* zero indicator */ 7 155 3 neg bit (1), /* negative indicator */ 7 156 3 carry bit (1), /* carryry indicator */ 7 157 3 ovfl bit (1), /* overflow indicator */ 7 158 3 eovf bit (1), /* eponent overflow */ 7 159 3 eufl bit (1), /* exponent underflow */ 7 160 3 oflm bit (1), /* overflow mask */ 7 161 3 tro bit (1), /* tally runout */ 7 162 3 par bit (1), /* parity error */ 7 163 3 parm bit (1), /* parity mask */ 7 164 3 bm bit (1), /* ^bar mode */ 7 165 3 tru bit (1), /* truncation mode */ 7 166 3 mif bit (1), /* multi-word instruction mode */ 7 167 3 abs bit (1), /* absolute mode */ 7 168 3 hex bit (1), /* hexadecimal exponent mode */ 7 169 3 pad bit (3), 7 170 7 171 7 172 /* WORD (5) */ 7 173 7 174 2 ca bit (18), /* COMPUTED ADDRESS */ 7 175 7 176 2 cu, /* CONTROL UNIT STATUS */ 7 177 3 rf bit (1), /* on first cycle of repeat instr */ 7 178 3 rpt bit (1), /* repeat instruction */ 7 179 3 rd bit (1), /* repeat double instruction */ 7 180 3 rl bit (1), /* repeat link instruciton */ 7 181 3 pot bit (1), /* IT modification */ 7 182 3 pon bit (1), /* return type instruction */ 7 183 3 xde bit (1), /* XDE from Even location */ 7 184 3 xdo bit (1), /* XDE from Odd location */ 7 185 3 poa bit (1), /* operation preparation */ 7 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 7 187 3 its bit (1), /* ITS modification */ 7 188 3 if bit (1), /* fault occured during instruction fetch */ 7 189 7 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 7 191 7 192 7 193 /* WORDS (6,7) */ 7 194 7 195 2 even_inst bit (36), /* even instruction of faulting pair */ 7 196 7 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 7 198 7 199 7 200 7 201 7 202 7 203 7 204 /* ALTERNATE SCU DECLARATION */ 7 205 7 206 7 207 dcl 1 scux based (scup) aligned, 7 208 7 209 (2 pad0 bit (36), 7 210 7 211 2 fd, /* GROUP II FAULT DATA */ 7 212 3 isn bit (1), /* illegal segment number */ 7 213 3 ioc bit (1), /* illegal op code */ 7 214 3 ia_am bit (1), /* illegal address - modifier */ 7 215 3 isp bit (1), /* illegal slave procedure */ 7 216 3 ipr bit (1), /* illegal procedure */ 7 217 3 nea bit (1), /* non existent address */ 7 218 3 oobb bit (1), /* out of bounds */ 7 219 3 pad bit (29), 7 220 7 221 2 pad2 bit (36), 7 222 7 223 2 pad3a bit (18), 7 224 7 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 7 226 3 prn bit (3), /* PR number */ 7 227 3 prv bit (1), /* PR valid bit */ 7 228 7 229 2 pad3b bit (6)) unaligned, 7 230 7 231 2 pad45 (0:1) bit (36), 7 232 7 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 7 234 7 235 7 236 7 237 /* END INCLUDE FILE mc.incl.pl1 */ 1 113 1 114 1 115 dcl 1 gcos_ext_stat_$gcos_gtss ext 1 116 , 3 gcos_gtss_ext 1 117 , 4 u_state_ptr ptr 1 118 , 4 snumb_index fixed bin(24) 1 119 , 4 home_path char(168) 1 120 ; 1 121 1 122 /* END INCLUDE FILE gcos_ext_stat_.incl.pl1 */ 705 706 8 1 /* BEGIN INCLUDE FILE gcos_gtss_dcls.incl.pl1 (MWilson Multics) 03Apr79 */ 8 2 8 3 dcl 1 gtss_snumb_xref_ based (gcos_gtss_ext.u_state_ptr), 8 4 2 snumb_sequence pic "9999", 8 5 2 entry_count fixed bin(24), 8 6 2 snumb_entry (100), 8 7 3 snumb char (5), 8 8 3 jout_id bit (12), 8 9 3 activity_no fixed bin(24), 8 10 3 job_status fixed bin(24); 8 11 8 12 /** snumb_entry.job_status key values */ 8 13 dcl ( 8 14 COMPLETE init (-1) 8 15 , (READING_RMT, INITIATED) init (3) 8 16 , WAIT_PERIPH init (5) 8 17 , EXECUTING init (9) 8 18 , WAIT_MEDIA init (11) 8 19 , TERMINATING init (15) 8 20 , OUTPUT_WAITING init (16) 8 21 , OUTPUT_COMPLETE init (17) 8 22 ) fixed bin(24)static int options(constant); 8 23 8 24 dcl gcos_gtss_update_$new_activity entry (fixed bin(24), fixed bin(24)); 8 25 dcl gcos_gtss_update_$status_update entry (fixed bin(24)); 8 26 8 27 8 28 /** END INCLUDE FILE gcos_gtss.incl.pl1 */ 707 708 9 1 /* BEGIN INCLUDE FILE static_handlers.incl.pl1 */ 9 2 9 3 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 9 4 9 5 /* HISTORY: 9 6*Written by S. H. Webber, 06/20/75. 9 7*Modified: 9 8*12/15/83 by Benson Margulies: added undefined_pointer_sct_index and 9 9* pgt_sct_index. 9 10*06/11/84 by Lee A. Newcomb: added dm_shutdown_warning_sct_index and 9 11* dm_user_shutdown_sct_index for handling of Data Management 9 12* shutdown. 9 13*08/22/84 by R. Michael Tague: Removed dm_shutdown_warning_sct_index and 9 14* dm_user_shutdown_sct_index. Added 9 15* system_shutdown_scheduled_sct_index and 9 16* dm_shutdown_scheduled_sct_index. 9 17**/ 9 18 9 19 9 20 /****^ HISTORY COMMENTS: 9 21* 1) change(85-11-13,Herbst), approve(87-07-21,MCR7697), 9 22* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 9 23* Add system_message_sct_index. 9 24* END HISTORY COMMENTS */ 9 25 9 26 9 27 dcl ( 9 28 shutdown_sct_index init (0), 9 29 store_sct_index init (1), 9 30 mme1_sct_index init (2), 9 31 fault_tag_1_sct_index init (3), 9 32 timer_runout_sct_index init (4), 9 33 command_sct_index init (5), 9 34 derail_sct_index init (6), 9 35 lockup_sct_index init (7), 9 36 connect_sct_index init (8), 9 37 parity_sct_index init (9), 9 38 illegal_procedure_sct_index init (10), 9 39 op_not_complete_sct_index init (11), 9 40 startup_sct_index init (12), 9 41 ovrflo_sct_index init (13), 9 42 zerodivide_sct_index init (14), 9 43 execute_sct_index init (15), 9 44 seg_fault_error_sct_index init (16), 9 45 page_fault_error_sct_index init (17), 9 46 directed_fault_2_sct_index init (18), 9 47 directed_fault_3_sct_index init (19), 9 48 accessviolation_sct_index init (20), 9 49 mme2_sct_index init (21), 9 50 mme3_sct_index init (22), 9 51 mme4_sct_index init (23), 9 52 linkage_error_sct_index init (24), 9 53 fault_tag_3_sct_index init (25), 9 54 undefined_fault_sct_index init (26), 9 55 trouble_sct_index init (31), 9 56 illegal_opcode_sct_index init (32), 9 57 simfault_000000_sct_index init (33), 9 58 illegal_modifier_sct_index init (34), 9 59 illegal_ring_order_sct_index init (35), 9 60 not_in_execute_bracket_sct_index init (36), 9 61 no_execute_permission_sct_index init (37), 9 62 not_in_read_bracket_sct_index init (38), 9 63 no_read_permission_sct_index init (39), 9 64 not_in_write_bracket_sct_index init (40), 9 65 no_write_permission_sct_index init (41), 9 66 not_a_gate_sct_index init (42), 9 67 not_in_call_bracket_sct_index init (43), 9 68 outward_call_sct_index init (44), 9 69 bad_outward_call_sct_index init (45), 9 70 inward_return_sct_index init (46), 9 71 cross_ring_transfer_sct_index init (47), 9 72 ring_alarm_fault_sct_index init (48), 9 73 am_fault_sct_index init (49), 9 74 out_of_bounds_sct_index init (50), 9 75 fixedoverflow_sct_index init (51), 9 76 overflow_sct_index init (52), 9 77 underflow_sct_index init (53), 9 78 stringsize_sct_index init (54), 9 79 other_illegal_proc_sct_index init (55), 9 80 storage_sct_index init (56), 9 81 packed_pointer_fault_sct_index init (57), 9 82 lot_fault_sct_index init (58), 9 83 isot_fault_sct_index init (59), 9 84 system_packed_pointer_sct_index init (60), 9 85 quit_sct_index init (61), 9 86 alrm_sct_index init (62), 9 87 cput_sct_index init (63), 9 88 record_quota_overflow_sct_index init (64), 9 89 size_sct_index init (65), 9 90 neti_sct_index init (66), 9 91 other_command_sct_index init (67), 9 92 susp_sct_index init (68), 9 93 term_sct_index init (69), 9 94 wkp_sct_index init (70), 9 95 undefined_pointer_sct_index init (71), 9 96 pgt_sct_index init (72), 9 97 system_shutdown_scheduled_sct_index 9 98 init (73), 9 99 dm_shutdown_scheduled_sct_index init (74), 9 100 system_message_sct_index init (75) 9 101 ) fixed bin (17) int static options (constant); 9 102 9 103 /* END INCLUDE FILE static_handlers.incl.pl1 */ 709 710 10 1 /* BEGIN INCLUDE FILE gcos_fibs.incl.pl1 (Wardd Multics) 09/13/81 1739.2 mst Sun */ 10 2 dcl 1 fibs_control aligned based(gcos_ext_stat_$temp_seg_ptr) 10 3 10 4 /* Structure to save released fibs in. 10 5**/ 10 6 , 2 released_fibs 10 7 , 3 nrf fixed bin /* Number of released fibs. */ 10 8 , 3 released_fib (500) like fib /* Copy of released fib. */ 10 9 10 10 /* Buffers. */ 10 11 , 2 fib_buffers 10 12 , 3 buffer_in_use (500)bit(1)unal /* "1"b => in use. */ 10 13 , 3 buffer (500)bit(320*36) /* Space for buffer. */ 10 14 ; 10 15 10 16 /* END INCLUDE FILE gcos_fibs.incl.pl1 */ 711 712 end gcos_run_activity_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1541.4 gcos_run_activity_.pl1 >special_ldd>install>MR12.1-1054>gcos_run_activity_.pl1 705 1 09/09/83 1714.4 gcos_ext_stat_.incl.pl1 >ldd>include>gcos_ext_stat_.incl.pl1 1-100 2 03/27/82 0424.8 gcos_save_mc.incl.pl1 >ldd>include>gcos_save_mc.incl.pl1 1-104 3 03/27/82 0424.8 gcos_fct_entry.incl.pl1 >ldd>include>gcos_fct_entry.incl.pl1 1-108 4 03/27/82 0424.8 gcos_save_data_entry.incl.pl1 >ldd>include>gcos_save_data_entry.incl.pl1 4-29 5 09/09/83 1714.4 gcos_flags.incl.pl1 >ldd>include>gcos_flags.incl.pl1 1-110 6 03/27/82 0424.8 gcos_file_info_block_.incl.pl1 >ldd>include>gcos_file_info_block_.incl.pl1 1-113 7 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 707 8 03/27/82 0424.8 gcos_gtss_dcls.incl.pl1 >ldd>include>gcos_gtss_dcls.incl.pl1 709 9 08/04/87 1139.0 static_handlers.incl.pl1 >spec>install>1056>static_handlers.incl.pl1 711 10 03/31/82 1614.5 gcos_fibs.incl.pl1 >ldd>include>gcos_fibs.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. EXECUTING 000055 constant fixed bin(24,0) initial dcl 8-13 set ref 248* TERMINATING 000000 constant fixed bin(24,0) initial dcl 8-13 set ref 347* WAIT_PERIPH 000030 constant fixed bin(24,0) initial dcl 8-13 set ref 47* abort_card 0(31) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 419 abort_subact 0(27) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 set ref 203 284 339 431* accno 6(18) 000024 internal static char(2) level 2 in structure "pta" packed unaligned dcl 676 in procedure "gcos_run_activity_" set ref 262* accno 5(09) 000010 internal static char(2) level 2 in structure "rta" packed unaligned dcl 667 in procedure "gcos_run_activity_" set ref 262* acla 000240 automatic structure level 1 packed unaligned dcl 660 set ref 149 149 actid 2 000212 external static char(8) level 3 dcl 1-106 set ref 212 212 257* 262 472* activ 0(04) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 set ref 45* activid 36 based bit(36) level 2 packed unaligned dcl 639 set ref 212 212 218 218* activity_no 26 000212 external static fixed bin(24,0) level 3 dcl 1-106 set ref 47* 216 257 268* addr builtin function dcl 701 ref 149 149 165 165 201 201 201 201 212 212 212 212 238 238 238 238 273 275 506 526 528 addrel builtin function dcl 701 ref 297 297 388 388 any_other 000262 stack reference condition dcl 703 ref 161 attached 60(01) based bit(1) level 4 packed unaligned dcl 6-10 ref 82 bannerstring 000104 automatic char(120) unaligned dcl 624 set ref 268* 273 275 523* 526 528 brief 0(15) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 257 470 buffer based pointer level 2 dcl 6-10 ref 66 cleanup 000270 stack reference condition dcl 703 ref 172 clock_ 000106 constant entry external dcl 598 ref 254 440 440 456 code 000235 automatic fixed bin(35,0) dcl 635 set ref 133* 135* 149* 150 150* 153* 156* 157 157* 163* 165* 176* 401* cputime_finish 000222 automatic fixed bin(71,0) dcl 632 set ref 320* 324 464 cputime_start 000220 automatic fixed bin(71,0) dcl 632 set ref 253* 324 464 cputime_used 000224 automatic fixed bin(71,0) dcl 632 set ref 324* 330* 330 377 435 cu_$level_get 000110 constant entry external dcl 599 ref 144 current 65 based fixed bin(21,0) level 2 dcl 6-10 set ref 70 76* 84 date_time_ 000112 constant entry external dcl 600 ref 256 440 471 db 000114 constant entry external dcl 601 ref 42 289 315 484 disp 60(14) based bit(2) level 4 packed unaligned dcl 6-10 set ref 78* divide builtin function dcl 701 ref 113 257 257 297 297 330 388 388 dump_info 000100 automatic bit(36) unaligned dcl 622 set ref 352* 354* 357* fct 000210 external static structure array level 2 dcl 1-102 fct_entry based structure level 1 dcl 3-3 fib based structure level 1 dcl 6-10 fibptr 000304 automatic pointer dcl 6-84 in procedure "gcos_run_activity_" set ref 62* 64 66 68* 70 70 72 74 76 78 82 82* 84 84 85 85 fibptr 2 000210 external static pointer array level 3 in structure "gcos_ext_stat_$fct" dcl 1-102 in procedure "gcos_run_activity_" ref 62 fibs 322 000212 external static structure array level 3 dcl 1-106 ref 58 fibs_control based structure level 1 dcl 10-2 filecode 000210 external static char(2) array level 3 dcl 1-102 ref 59 fixed builtin function dcl 701 ref 363 510 512 flags based structure level 1 dcl 5-8 flgs 000212 external static structure level 3 dcl 1-106 gcos_attach_file_ 000046 constant entry external dcl 581 ref 82 gcos_cleanup_files_ 000052 constant entry external dcl 583 ref 448 gcos_cv_ascii_gebcd_ 000054 constant entry external dcl 584 ref 201 212 238 gcos_error_ 000060 constant entry external dcl 586 ref 127 135 150 157 gcos_ext_stat_$abort_reason 000152 external static varying char(128) dcl 1-13 set ref 332 339 342* 345* gcos_ext_stat_$activity_card_num 000154 external static picture(4) unaligned dcl 1-15 set ref 268* gcos_ext_stat_$activity_name 000156 external static char(8) unaligned dcl 1-16 set ref 101 201 201 257* 268* 428 437* gcos_ext_stat_$activity_start_time 000160 external static fixed bin(71,0) dcl 1-17 set ref 255* gcos_ext_stat_$er 000162 external static pointer dcl 1-25 set ref 273* 366* 460* 466* 526* gcos_ext_stat_$fct 000210 external static structure level 1 dcl 1-102 gcos_ext_stat_$gcos_slave_area_seg 000164 external static pointer dcl 1-27 set ref 130 136* gcos_ext_stat_$initial_cpu_time 000166 external static fixed bin(71,0) dcl 1-31 set ref 284* gcos_ext_stat_$ldrss 000170 external static fixed bin(24,0) dcl 1-38 set ref 103 109 109* 113 114* 121 229 gcos_ext_stat_$max_mem 000172 external static fixed bin(19,0) dcl 1-40 ref 127 gcos_ext_stat_$mc 000214 external static structure level 1 unaligned dcl 1-112 gcos_ext_stat_$mme_rtrn 000174 external static label variable dcl 1-41 set ref 246* gcos_ext_stat_$pdir 000176 external static varying char(168) dcl 1-48 ref 149 149 156 156 gcos_ext_stat_$save_data 000212 external static structure level 1 dcl 1-106 gcos_ext_stat_$sig_ptr 000200 external static pointer dcl 1-54 set ref 163* 174 176* 178* 401* 407* gcos_ext_stat_$storage_limit 000202 external static fixed bin(19,0) dcl 1-60 set ref 121* 121 127 156* 233 297 297 363 388 388 gcos_ext_stat_$temp_seg_ptr 000204 external static pointer dcl 1-66 ref 182 gcos_ext_stat_$time_limit 000206 external static fixed bin(71,0) dcl 1-68 set ref 257 257 282* 377* 377 381* 435* 435 gcos_fault_processor_ 000062 constant entry external dcl 587 ref 161 gcos_fault_processor_$timer_runout 000064 constant entry external dcl 588 ref 173 173 282 282 318 318 381 381 gcos_gtss_update_$new_activity 000216 constant entry external dcl 8-24 ref 47 gcos_gtss_update_$status_update 000220 constant entry external dcl 8-25 ref 248 347 gcos_mme_rout_$rout_cleanup 000070 constant entry external dcl 590 ref 180 411 gcos_mme_rout_$rout_interrupt 000072 constant entry external dcl 591 ref 186 gcos_mme_snp1_$bord 000056 constant entry external dcl 585 ref 357 gcos_process_mme_ 000050 constant entry external dcl 582 set ref 165 165 gcos_set_slave_ 000074 constant entry external dcl 592 ref 297 388 gcos_time_convert_ 000076 constant entry external dcl 593 ref 458 464 gcos_write_$bcd_ptr 000100 constant entry external dcl 594 ref 68 gcos_write_$ptr 000102 constant entry external dcl 595 ref 273 366 460 466 526 gcos_write_to_er_ 000104 constant entry external dcl 596 ref 342 gein 60(13) based bit(1) level 4 packed unaligned dcl 6-10 ref 64 get_group_id_$tag_star 000116 constant entry external dcl 602 ref 143 goodies 27 based structure level 2 packed unaligned dcl 639 gseg 000236 automatic pointer dcl 636 set ref 130* 132 133* 135 136 153* 193 195 201 201 212 212 218 218 234 238 238 240 297 297 361 363 388 388 388 388 gtssflag 1(05) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 47 248 347 hcs_$acl_add 000120 constant entry external dcl 603 ref 149 hcs_$get_usage_values 000122 constant entry external dcl 604 ref 253 320 hcs_$make_seg 000124 constant entry external dcl 605 ref 133 hcs_$set_max_length 000126 constant entry external dcl 606 ref 156 hcs_$truncate_seg 000130 constant entry external dcl 607 ref 153 holdtime 000227 automatic char(24) unaligned dcl 634 set ref 256* 257 257 268 268 440* 471* 472 472 i 000213 automatic fixed bin(24,0) dcl 629 set ref 58* 59 60 62* 113* 114 144* 145 146 201* 212* 216* 218 229* 234 238* ident 5 000212 external static char(60) level 3 in structure "gcos_ext_stat_$save_data" dcl 1-106 in procedure "gcos_run_activity_" set ref 238 238 238 238 ident 66 based bit(360) level 2 in structure "slave_prefix" packed unaligned dcl 639 in procedure "gcos_run_activity_" set ref 238 238 ilc 4 based bit(18) level 2 packed unaligned dcl 7-56 ref 510 indicators 60 based structure level 2 dcl 6-10 indicators_word_1 60 based structure level 3 dcl 6-10 init_posit 71 based fixed bin(24,0) level 2 dcl 6-10 set ref 84* init_size 70 based fixed bin(24,0) level 2 dcl 6-10 set ref 85* initial_abort_reason 000151 automatic varying char(128) dcl 627 set ref 339* 472* ioa_ 000144 constant entry external dcl 613 ref 41 257 288 314 365 472 483 548 ioa_$nnl 000150 constant entry external dcl 613 ref 275 528 ioa_$rs 000146 constant entry external dcl 613 ref 268 523 ios_$seek 000132 constant entry external dcl 608 ref 72 ir 4(18) based structure level 2 packed unaligned dcl 7-56 ref 512 j 000212 automatic fixed bin(24,0) dcl 629 set ref 233* 234 268* 273 273 275 275 523* 526 526 528 528 k 000226 automatic fixed bin(24,0) dcl 633 set ref 253* 253* 320* 320* last 66 based fixed bin(21,0) level 2 dcl 6-10 set ref 70* load_limits 37 based bit(36) level 2 packed unaligned dcl 639 set ref 234* long 1(03) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 275 528 mc based structure level 1 dcl 7-12 mme 32 based bit(36) level 2 packed unaligned dcl 639 set ref 195* mme1_sct_index 000053 constant fixed bin(17,0) initial dcl 9-27 set ref 163* 165* 176* 401* mode 10 000240 automatic bit(5) level 3 packed unaligned dcl 660 set ref 147* no_bar 1(02) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 297 388 nrf based fixed bin(17,0) level 3 dcl 10-2 set ref 182* null builtin function dcl 701 ref 66 132 135 174 178 407 pack 10 000240 automatic structure level 2 packed unaligned dcl 660 post_activity_stop_sw 000044 internal static bit(1) initial dcl 691 set ref 311 560* 560 561 post_cleanup_stop_sw 000045 internal static bit(1) initial dcl 691 set ref 480 566* 566 567 pre_activity_stop_sw 000043 internal static bit(1) initial dcl 691 set ref 287 554* 554 555 pre_setup_stop_sw 000042 internal static bit(1) initial dcl 691 set ref 40 540* 540 541 prog 33 based bit(36) level 2 packed unaligned dcl 639 set ref 201 201 program_interrupt 000276 stack reference condition dcl 703 ref 186 409 psw 24 000212 external static bit(36) level 3 dcl 1-106 set ref 268* 352 384* 523* pta 000024 internal static structure level 1 packed unaligned dcl 676 set ref 466 466 rb1 10(18) 000240 automatic bit(6) level 3 packed unaligned dcl 660 set ref 145* rb2 10(24) 000240 automatic bit(6) level 3 packed unaligned dcl 660 set ref 146* rb3 10(30) 000240 automatic bit(6) level 3 packed unaligned dcl 660 set ref 146* read 60(09) based bit(1) level 4 packed unaligned dcl 6-10 set ref 74* realtime_finish 000216 automatic fixed bin(71,0) dcl 631 set ref 456* 458 471* realtime_start 000214 automatic fixed bin(71,0) dcl 631 set ref 254* 255 256* 458 released_fibs based structure level 2 dcl 10-2 rout 0(34) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 180 411 rta 000010 internal static structure level 1 packed unaligned dcl 667 set ref 460 460 save_data 000212 external static structure level 2 dcl 1-106 save_data_entry based structure level 1 dcl 4-5 save_machine_conditions based structure level 1 packed unaligned dcl 2-6 sct_manager_$get 000134 constant entry external dcl 609 ref 163 sct_manager_$set 000136 constant entry external dcl 610 ref 165 176 401 scu 30 000214 external static bit(36) array level 2 in structure "gcos_ext_stat_$mc" packed unaligned dcl 1-112 in procedure "gcos_run_activity_" set ref 357* 506 scu based structure level 1 dcl 7-56 in procedure "gcos_run_activity_" scup 000306 automatic pointer dcl 7-54 set ref 506* 510 512 short_actid 4 000212 external static bit(36) level 3 dcl 1-106 set ref 218* size 67 based fixed bin(24,0) level 2 dcl 6-10 ref 85 slave_prefix based structure level 1 unaligned dcl 639 slave_prefix_alt_1 based structure level 1 packed unaligned dcl 655 spa_taskflag 77 based bit(36) level 2 packed unaligned dcl 655 set ref 240* status 000102 automatic bit(72) unaligned dcl 623 set ref 72* stream 3 based char(8) level 2 packed unaligned dcl 6-10 set ref 72* string builtin function dcl 701 ref 149 149 156 156 460 460 466 466 512 substr builtin function dcl 701 set ref 145 146 212 212 218 218 234 234 257 257 262 268 268 352 384* 472 472 512 switch_name 000251 automatic char(32) dcl 698 set ref 539* 548* 553* 559* 565* switch_state 000261 automatic char(4) dcl 699 set ref 541* 544* 548* sysout 1 000210 external static bit(1) array level 3 packed unaligned dcl 1-102 ref 60 taskflag 1(08) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 240 term_msg 000142 automatic varying char(24) dcl 626 set ref 264* 337* 337 373* 395* 395 439* 521 521* 523* this_act_abort 0(26) 000212 external static bit(1) level 4 packed unaligned dcl 1-106 ref 419 472 time 6(27) 000010 internal static char(19) level 2 in structure "rta" packed unaligned dcl 667 in procedure "gcos_run_activity_" set ref 458* time 10 000024 internal static char(19) level 2 in structure "pta" packed unaligned dcl 676 in procedure "gcos_run_activity_" set ref 464* timer_manager_$cpu_call 000140 constant entry external dcl 611 ref 282 381 timer_manager_$reset_cpu_call 000142 constant entry external dcl 612 ref 173 318 unspec builtin function dcl 701 ref 145 146 218 234 234 userid 000240 automatic char(32) level 2 packed unaligned dcl 660 set ref 143* var_msg based char unaligned dcl 625 set ref 273* 275* 526* 528* virtual_cpu_time_ 000066 constant entry external dcl 589 ref 284 wrapup 0(09) 000212 external static bit(1) level 4 in structure "gcos_ext_stat_$save_data" packed unaligned dcl 1-106 in procedure "gcos_run_activity_" set ref 339 359 383* 413* wrapup 27 based bit(18) level 3 in structure "slave_prefix" packed unaligned dcl 639 in procedure "gcos_run_activity_" ref 361 363 388 388 xilc 000316 automatic fixed bin(35,0) dcl 502 set ref 510* 523* xir 000317 automatic fixed bin(35,0) dcl 502 set ref 512* 523* zero based bit(2304) unaligned dcl 638 set ref 193* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. COMPLETE internal static fixed bin(24,0) initial dcl 8-13 INITIATED internal static fixed bin(24,0) initial dcl 8-13 OUTPUT_COMPLETE internal static fixed bin(24,0) initial dcl 8-13 OUTPUT_WAITING internal static fixed bin(24,0) initial dcl 8-13 READING_RMT internal static fixed bin(24,0) initial dcl 8-13 WAIT_MEDIA internal static fixed bin(24,0) initial dcl 8-13 abx internal static fixed bin(17,0) initial dcl 7-42 accessviolation_sct_index internal static fixed bin(17,0) initial dcl 9-27 alrm_sct_index internal static fixed bin(17,0) initial dcl 9-27 am_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 apx internal static fixed bin(17,0) initial dcl 7-42 bad_outward_call_sct_index internal static fixed bin(17,0) initial dcl 9-27 bbx internal static fixed bin(17,0) initial dcl 7-42 bpx internal static fixed bin(17,0) initial dcl 7-42 command_sct_index internal static fixed bin(17,0) initial dcl 9-27 connect_sct_index internal static fixed bin(17,0) initial dcl 9-27 cput_sct_index internal static fixed bin(17,0) initial dcl 9-27 cross_ring_transfer_sct_index internal static fixed bin(17,0) initial dcl 9-27 derail_sct_index internal static fixed bin(17,0) initial dcl 9-27 directed_fault_2_sct_index internal static fixed bin(17,0) initial dcl 9-27 directed_fault_3_sct_index internal static fixed bin(17,0) initial dcl 9-27 dm_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 9-27 error_table_$namedup external static fixed bin(35,0) dcl 575 error_table_$segknown external static fixed bin(35,0) dcl 576 execute_sct_index internal static fixed bin(17,0) initial dcl 9-27 fault_tag_1_sct_index internal static fixed bin(17,0) initial dcl 9-27 fault_tag_3_sct_index internal static fixed bin(17,0) initial dcl 9-27 fixedoverflow_sct_index internal static fixed bin(17,0) initial dcl 9-27 gcos_ext_stat_$abort_return external static label variable dcl 1-14 gcos_ext_stat_$card_num external static picture(4) unaligned dcl 1-18 gcos_ext_stat_$courtesy_call_control external static structure level 1 dcl 1-92 gcos_ext_stat_$dbs external static bit(1) array unaligned dcl 1-19 gcos_ext_stat_$default_nondollar external static char(2) unaligned dcl 1-20 gcos_ext_stat_$dir_rings external static fixed bin(3,0) array dcl 1-21 gcos_ext_stat_$dpno external static varying char(100) dcl 1-22 gcos_ext_stat_$dpo external static varying char(100) dcl 1-23 gcos_ext_stat_$endfc external static char(2) unaligned dcl 1-24 gcos_ext_stat_$etc_filecode external static char(2) unaligned dcl 1-26 gcos_ext_stat_$gcos_gtss external static structure level 1 unaligned dcl 1-115 gcos_ext_stat_$gf external static fixed bin(24,0) dcl 1-28 gcos_ext_stat_$incode external static fixed bin(24,0) dcl 1-29 gcos_ext_stat_$increment_hold external static fixed bin(24,0) dcl 1-30 gcos_ext_stat_$input_segment_path external static varying char(168) dcl 1-32 gcos_ext_stat_$jcl_warnings external static fixed bin(24,0) dcl 1-33 gcos_ext_stat_$job_cpu_time external static fixed bin(71,0) dcl 1-34 gcos_ext_stat_$job_id external static varying char(18) dcl 1-35 gcos_ext_stat_$job_real_time external static fixed bin(71,0) dcl 1-36 gcos_ext_stat_$last_mme external static fixed bin(24,0) dcl 1-37 gcos_ext_stat_$max_activities external static fixed bin(24,0) dcl 1-39 gcos_ext_stat_$nondollar external static char(2) unaligned dcl 1-42 gcos_ext_stat_$nongcos external static char(2) unaligned dcl 1-43 gcos_ext_stat_$normal_return external static label variable dcl 1-44 gcos_ext_stat_$patchfile_ptr external static pointer dcl 1-45 gcos_ext_stat_$pathname_prefix external static varying char(168) dcl 1-46 gcos_ext_stat_$pch external static pointer dcl 1-47 gcos_ext_stat_$prt external static pointer dcl 1-49 gcos_ext_stat_$rs external static pointer dcl 1-50 gcos_ext_stat_$save_dir external static varying char(168) dcl 1-52 gcos_ext_stat_$saveseg_ptr external static pointer dcl 1-51 gcos_ext_stat_$seg_rings external static fixed bin(3,0) array dcl 1-53 gcos_ext_stat_$skip_umc external static bit(1) unaligned dcl 1-55 gcos_ext_stat_$snumb external static bit(30) dcl 1-56 gcos_ext_stat_$sought_label external static char(8) unaligned dcl 1-57 gcos_ext_stat_$statistics external static fixed bin(24,0) array dcl 1-58 gcos_ext_stat_$stop_code external static fixed bin(24,0) dcl 1-59 gcos_ext_stat_$sysout_limit external static fixed bin(35,0) dcl 1-61 gcos_ext_stat_$sysout_lines external static fixed bin(35,0) dcl 1-62 gcos_ext_stat_$system_free_pointer external static pointer dcl 1-63 gcos_ext_stat_$tape_buffer_size external static fixed bin(35,0) dcl 1-64 gcos_ext_stat_$temp_dir external static varying char(168) dcl 1-65 gcos_ext_stat_$termination_code external static bit(18) unaligned dcl 1-67 gcos_ext_stat_$userid external static char(12) unaligned dcl 1-69 gcos_ext_stat_$validation_level external static fixed bin(3,0) dcl 1-70 gtss_snumb_xref_ based structure level 1 unaligned dcl 8-3 illegal_modifier_sct_index internal static fixed bin(17,0) initial dcl 9-27 illegal_opcode_sct_index internal static fixed bin(17,0) initial dcl 9-27 illegal_procedure_sct_index internal static fixed bin(17,0) initial dcl 9-27 illegal_ring_order_sct_index internal static fixed bin(17,0) initial dcl 9-27 inward_return_sct_index internal static fixed bin(17,0) initial dcl 9-27 isot_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 lbx internal static fixed bin(17,0) initial dcl 7-42 linkage_error_sct_index internal static fixed bin(17,0) initial dcl 9-27 linked_file internal static bit(1) initial unaligned dcl 6-87 lockup_sct_index internal static fixed bin(17,0) initial dcl 9-27 lot_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 lpx internal static fixed bin(17,0) initial dcl 7-42 mcp automatic pointer dcl 7-10 mme2_sct_index internal static fixed bin(17,0) initial dcl 9-27 mme3_sct_index internal static fixed bin(17,0) initial dcl 9-27 mme4_sct_index internal static fixed bin(17,0) initial dcl 9-27 neti_sct_index internal static fixed bin(17,0) initial dcl 9-27 no_execute_permission_sct_index internal static fixed bin(17,0) initial dcl 9-27 no_read_permission_sct_index internal static fixed bin(17,0) initial dcl 9-27 no_write_permission_sct_index internal static fixed bin(17,0) initial dcl 9-27 not_a_gate_sct_index internal static fixed bin(17,0) initial dcl 9-27 not_in_call_bracket_sct_index internal static fixed bin(17,0) initial dcl 9-27 not_in_execute_bracket_sct_index internal static fixed bin(17,0) initial dcl 9-27 not_in_read_bracket_sct_index internal static fixed bin(17,0) initial dcl 9-27 not_in_write_bracket_sct_index internal static fixed bin(17,0) initial dcl 9-27 op_not_complete_sct_index internal static fixed bin(17,0) initial dcl 9-27 other_command_sct_index internal static fixed bin(17,0) initial dcl 9-27 other_illegal_proc_sct_index internal static fixed bin(17,0) initial dcl 9-27 out_of_bounds_sct_index internal static fixed bin(17,0) initial dcl 9-27 outward_call_sct_index internal static fixed bin(17,0) initial dcl 9-27 overflow_sct_index internal static fixed bin(17,0) initial dcl 9-27 ovrflo_sct_index internal static fixed bin(17,0) initial dcl 9-27 packed_pointer_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 page_fault_error_sct_index internal static fixed bin(17,0) initial dcl 9-27 parity_sct_index internal static fixed bin(17,0) initial dcl 9-27 pgt_sct_index internal static fixed bin(17,0) initial dcl 9-27 quit_sct_index internal static fixed bin(17,0) initial dcl 9-27 random_file internal static bit(1) initial unaligned dcl 6-88 read_file internal static bit(1) initial unaligned dcl 6-89 record_quota_overflow_sct_index internal static fixed bin(17,0) initial dcl 9-27 ring_alarm_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 sbx internal static fixed bin(17,0) initial dcl 7-42 scux based structure level 1 dcl 7-207 seg_fault_error_sct_index internal static fixed bin(17,0) initial dcl 9-27 shutdown_sct_index internal static fixed bin(17,0) initial dcl 9-27 simfault_000000_sct_index internal static fixed bin(17,0) initial dcl 9-27 size_sct_index internal static fixed bin(17,0) initial dcl 9-27 spx internal static fixed bin(17,0) initial dcl 7-42 startup_sct_index internal static fixed bin(17,0) initial dcl 9-27 storage_sct_index internal static fixed bin(17,0) initial dcl 9-27 store_sct_index internal static fixed bin(17,0) initial dcl 9-27 stringsize_sct_index internal static fixed bin(17,0) initial dcl 9-27 susp_sct_index internal static fixed bin(17,0) initial dcl 9-27 system_free_area based area(1024) dcl 621 system_message_sct_index internal static fixed bin(17,0) initial dcl 9-27 system_packed_pointer_sct_index internal static fixed bin(17,0) initial dcl 9-27 system_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 9-27 term_sct_index internal static fixed bin(17,0) initial dcl 9-27 timer_runout_sct_index internal static fixed bin(17,0) initial dcl 9-27 trouble_sct_index internal static fixed bin(17,0) initial dcl 9-27 undefined_fault_sct_index internal static fixed bin(17,0) initial dcl 9-27 undefined_pointer_sct_index internal static fixed bin(17,0) initial dcl 9-27 underflow_sct_index internal static fixed bin(17,0) initial dcl 9-27 wkp_sct_index internal static fixed bin(17,0) initial dcl 9-27 write_file internal static bit(1) initial unaligned dcl 6-90 zerodivide_sct_index internal static fixed bin(17,0) initial dcl 9-27 NAMES DECLARED BY EXPLICIT CONTEXT. bump 000557 constant label dcl 86 ref 59 60 66 end_activity 002077 constant label dcl 311 ref 246 gcos_run_activity_ 000343 constant entry external dcl 38 no_subact 002563 constant label dcl 448 ref 428 no_wrapup 002451 constant label dcl 401 ref 359 361 367 post_activity_stop 003131 constant entry external dcl 558 post_cleanup 002767 constant label dcl 480 post_cleanup_stop 003157 constant entry external dcl 564 postact 003122 constant entry external dcl 558 postclean 003150 constant entry external dcl 564 pre_activity_stop 003103 constant entry external dcl 552 pre_setup_stop 003023 constant entry external dcl 538 preact 003074 constant entry external dcl 552 presetup 003014 constant entry external dcl 538 print_off 003043 constant label dcl 544 ref 556 562 568 print_on 003040 constant label dcl 541 ref 555 561 567 print_switch 003045 constant label dcl 548 print_term_msg 003175 constant entry internal dcl 500 ref 371 415 subact1 001341 constant label dcl 195 ref 442 subact2 001653 constant label dcl 268 ref 203 NAMES DECLARED BY CONTEXT OR IMPLICATION. hbound builtin function ref 58 length builtin function ref 238 238 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4272 4514 3344 4302 Length 5310 3344 222 557 725 36 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_run_activity_ 365 external procedure is an external procedure. on unit on line 161 64 on unit on unit on line 172 80 on unit on unit on line 186 64 on unit print_term_msg internal procedure shares stack frame of external procedure gcos_run_activity_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 rta gcos_run_activity_ 000024 pta gcos_run_activity_ 000042 pre_setup_stop_sw gcos_run_activity_ 000043 pre_activity_stop_sw gcos_run_activity_ 000044 post_activity_stop_sw gcos_run_activity_ 000045 post_cleanup_stop_sw gcos_run_activity_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_run_activity_ 000100 dump_info gcos_run_activity_ 000102 status gcos_run_activity_ 000104 bannerstring gcos_run_activity_ 000142 term_msg gcos_run_activity_ 000151 initial_abort_reason gcos_run_activity_ 000212 j gcos_run_activity_ 000213 i gcos_run_activity_ 000214 realtime_start gcos_run_activity_ 000216 realtime_finish gcos_run_activity_ 000220 cputime_start gcos_run_activity_ 000222 cputime_finish gcos_run_activity_ 000224 cputime_used gcos_run_activity_ 000226 k gcos_run_activity_ 000227 holdtime gcos_run_activity_ 000235 code gcos_run_activity_ 000236 gseg gcos_run_activity_ 000240 acla gcos_run_activity_ 000251 switch_name gcos_run_activity_ 000261 switch_state gcos_run_activity_ 000304 fibptr gcos_run_activity_ 000306 scup gcos_run_activity_ 000316 xilc print_term_msg 000317 xir print_term_msg THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry int_entry divide_fx3 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ cu_$level_get date_time_ db gcos_attach_file_ gcos_cleanup_files_ gcos_cv_ascii_gebcd_ gcos_error_ gcos_fault_processor_ gcos_fault_processor_$timer_runout gcos_gtss_update_$new_activity gcos_gtss_update_$status_update gcos_mme_rout_$rout_cleanup gcos_mme_rout_$rout_interrupt gcos_mme_snp1_$bord gcos_process_mme_ gcos_set_slave_ gcos_time_convert_ gcos_write_$bcd_ptr gcos_write_$ptr gcos_write_to_er_ get_group_id_$tag_star hcs_$acl_add hcs_$get_usage_values hcs_$make_seg hcs_$set_max_length hcs_$truncate_seg ioa_ ioa_$nnl ioa_$rs ios_$seek sct_manager_$get sct_manager_$set timer_manager_$cpu_call timer_manager_$reset_cpu_call virtual_cpu_time_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gcos_ext_stat_$abort_reason gcos_ext_stat_$activity_card_num gcos_ext_stat_$activity_name gcos_ext_stat_$activity_start_time gcos_ext_stat_$er gcos_ext_stat_$fct gcos_ext_stat_$gcos_slave_area_seg gcos_ext_stat_$initial_cpu_time gcos_ext_stat_$ldrss gcos_ext_stat_$max_mem gcos_ext_stat_$mc gcos_ext_stat_$mme_rtrn gcos_ext_stat_$pdir gcos_ext_stat_$save_data gcos_ext_stat_$sig_ptr gcos_ext_stat_$storage_limit gcos_ext_stat_$temp_seg_ptr gcos_ext_stat_$time_limit LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 38 000342 40 000350 41 000352 42 000365 45 000372 47 000375 58 000411 59 000417 60 000430 62 000433 64 000435 66 000440 68 000444 70 000466 72 000471 74 000527 76 000532 78 000533 82 000537 84 000552 85 000555 86 000557 101 000561 103 000571 109 000573 113 000577 114 000601 121 000603 127 000607 130 000632 132 000636 133 000642 135 000702 136 000726 143 000731 144 000737 145 000746 146 000752 147 000757 149 000763 150 001034 153 001057 156 001073 157 001134 161 001157 163 001200 165 001213 172 001230 173 001244 174 001256 176 001263 178 001276 180 001301 182 001310 184 001313 186 001314 193 001335 195 001341 201 001344 203 001367 212 001373 216 001417 218 001423 229 001435 233 001440 234 001443 238 001452 240 001474 246 001505 248 001511 253 001522 254 001535 255 001544 256 001547 257 001563 262 001637 264 001646 268 001653 273 001725 275 001753 282 001773 284 002014 287 002026 288 002031 289 002044 297 002051 311 002077 314 002102 315 002115 318 002122 320 002135 324 002150 330 002153 332 002157 337 002166 339 002200 342 002213 345 002231 347 002233 352 002245 354 002254 357 002256 359 002267 361 002273 363 002277 365 002305 366 002320 367 002346 371 002347 373 002350 377 002355 381 002362 383 002402 384 002405 388 002410 395 002437 401 002451 407 002464 409 002467 411 002470 413 002477 415 002502 419 002503 428 002512 431 002521 435 002523 437 002527 439 002532 440 002537 442 002562 448 002563 456 002567 458 002576 460 002614 464 002642 466 002656 470 002704 471 002710 472 002724 480 002767 483 002772 484 003005 487 003012 538 003013 539 003030 540 003033 541 003037 544 003043 548 003045 550 003072 552 003073 553 003110 554 003113 555 003117 556 003120 558 003121 559 003136 560 003141 561 003145 562 003146 564 003147 565 003164 566 003167 567 003173 568 003174 500 003175 506 003176 510 003202 512 003205 521 003211 523 003223 526 003266 528 003314 531 003334 ----------------------------------------------------------- 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