COMPILATION LISTING OF SEGMENT gtss_dq_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1154.4 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 gtss_dq_: proc; 10 11 /** Author: Al Dupuis 08/79 12* Change: Dave Ward 08/79/03 Revised call to ios open. 13* Change: Al Dupuis 11/10/79 Reworked open_exc code. 14* Change: Ron Barstad 84-11-21 Always open drun_d_q if accessed. 15* 16* This module performs the following operations: 17* 18* ENTRY OPERATION 19* 20* gtss_dq_$create Creates the GCOS #D file in the users home 21* directory. ([hd]>drun_#d_q) Creates the absin 22* segment in the home directory. ([hd]>drun_control) 23* 24* gtss_dq_$open_exc Opens the deferred queue for exclusive read and write 25* 26* gtss_dq_$open_gen Opens the deferred queue for read while writers. 27* 28* gtss_dq_$hdrp Returns a pointer to the #D header, given the DRUN job id. 29* 30* gtss_dq_$catp Returns a pointer to the #D catalog entry, and the relative 31* position of the entry in the queue, given the DRUN job id. 32* 33* gtss_dq_$dibp Returns a pointer to the #D DIB, given the DRUN job id. 34* 35* gtss_dq_$entries_info Fills in the following structure. 36* 1 entries_info (no_of_cat_entries) 37* 2 did char (5), the drun job id 38* 2 aid char (19), the Multics absentee id 39* 2 job_status fb (6) unsigned; the job status from #D catalog 40* An entry in this structure is created for every 41* catalog entry in the #D queue that has been used. 42* 43* gtss_dq_$mod_js Modifies a catalog entrie's job status. 44***/ 45 46 call com_err_ (0, "gtss_dq_", 47 "See documentation for meaningful entries."); 48 return; 49 50 51 create: entry (error); 52 53 /** 54* arg_1 (output) Set to 1 if the required operation could 55* not be performed. 56* 57* This entry creates the DRUN deferred file (#D) in the 58* user's home directory. It then initializes the header and 59* catalogue as described in DB84 Page 16-18. 60* 61***/ 62 63 caller = "gtss_dq_$create"; 64 error = "0"b; 65 call create_file; 66 if ^local_error then call set_attr; 67 if ^local_error then call access_dq; 68 if ^local_error then call init_head_cat; 69 error = local_error; 70 return; 71 72 73 74 75 76 open_exc: entry (error); 77 78 caller = "gtss_dq_$open_exc"; 79 error = "0"b; 80 if file_opened then call close_file; 81 if local_error then do; 82 error = local_error; 83 return; 84 end; 85 86 call access_dq; 87 if local_error then do; 88 call com_err_ (0, caller, 89 "Couldn't set runtime attributes on #D file."); 90 error = local_error; 91 return; 92 end; 93 call gtss_ios_open_ ( 94 fn, 95 gtss_file_values.dname, 96 gtss_file_values.ename, 97 "110000"b, 98 "1"b, 99 gtss_file_attributes_ptr, 100 addr (gcos_status), 101 code); 102 if db_dq then call com_err_ (0, caller, 103 "status for open (1st attempt) was (^w)", 104 gcos_status.bit12); 105 if gcos_status.bit12 = "4000"b3 106 then do; 107 file_opened = "1"b; 108 return; 109 end; 110 do i = 1 to max_attempts while (gcos_status.bit12 ^= "4000"b3); 111 if db_dq then call com_err_ (0, caller, 112 "going to sleep for ^d seconds.", 113 wait_time); 114 call timer_manager_$sleep (wait_time, "11"b); 115 call gtss_ios_open_ ( 116 fn, 117 gtss_file_values.dname, 118 gtss_file_values.ename, 119 "110000"b, 120 "1"b, 121 gtss_file_attributes_ptr, 122 addr (gcos_status), 123 code); 124 if db_dq then call com_err_ (0, caller, 125 "status for open (attempt no ^d) was (^w)", 126 i, gcos_status.bit12); 127 end; 128 if gcos_status.bit12 = "4000"b3 129 then do; 130 file_opened = "1"b; 131 return; 132 end; 133 error = "1"b; 134 call ioa_ ("FILE #D BUSY: TRY AGAIN IN A MINUTE"); 135 return; 136 137 open_gen: entry (error); 138 139 caller = "gtss_dq_$open_gen"; 140 error = "0"b; 141 142 if file_opened then call close_file; 143 if local_error then do; 144 error = local_error; 145 return; 146 end; 147 148 call access_dq; 149 if local_error then do; 150 call com_err_ (0, caller, 151 "Couldn't set runtime attributes on #D file."); 152 error = local_error; 153 return; 154 end; 155 call gtss_ios_open_ ( 156 fn, 157 gtss_file_values.dname, 158 gtss_file_values.ename, 159 "100001"b, 160 "1"b, 161 gtss_file_attributes_ptr, 162 addr (gcos_status), 163 code); 164 if gcos_status.bit12 ^= "4000"b3 then do; 165 call com_err_ (0, caller, 166 "Couldn't open #D file (status ^w)", 167 gcos_status.bit12); 168 error = "1"b; 169 return; 170 end; 171 else file_opened = "1"b; 172 173 return; 174 175 176 hdrp: entry (dqhp); 177 178 /** This entry is called to obtain a pointer to the 179* DRUN #D file's header. The pointer is null if 180* the operation could not be performed. 181***/ 182 183 caller = "gtss_dq_$hdrp"; 184 call gtss_aft_$find ("#D", fn, code); 185 if code ^= 0 then do; 186 call access_dq; 187 call open_gen (local_error); 188 end; 189 if ^local_error then do; 190 gtss_def_q_$FILE.Seek_Address = 0; 191 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 192 call read_sector; 193 end; 194 if local_error then dqhp = null (); 195 else dqhp = addr (gtss_def_q_$FILE.no_characters); 196 return; 197 198 199 catp: entry (drun_job_id, dcp, cat_e_parm); 200 201 /** 202* arg_1 (input) The DRUN job id. 203* arg_2 (output) A pointer to the catalog entry. 204* Null if the entry could not be found. 205* arg_3 (output) The relative position of the catalog 206* entry in the #D queue. Used to read 207* the associated DIB. 208***/ 209 210 caller = "gtss_dq_$catp"; 211 call gtss_ascii_bcd_ (addr (drun_job_id), 5, addr (bcd_jid)); 212 call gtss_aft_$find ("#D", fn, code); 213 if code ^= 0 then call access_dq; 214 if ^local_error then do; 215 gtss_def_q_$FILE.Seek_Address = 0; 216 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 217 call read_sector; 218 if ^local_error then dqh_ptr = addr (gtss_def_q_$FILE.no_characters); 219 end; 220 if ^local_error then call get_cat_entry; 221 if local_error then do; 222 cat_e_parm = 0; 223 dcp = null (); 224 end; 225 else do; 226 cat_e_parm = cat_entry; 227 dcp = dc_ptr; 228 end; 229 return; 230 231 dibp: entry (drun_job_id, dibp); 232 233 /** 234* arg_1 (input) The DRUN job id. 235* arg_2 (output) A pointer to the DIB entry. 236* Null if the entry could not be found. 237***/ 238 239 caller = "gtss_dq_$dibp"; 240 call gtss_ascii_bcd_ (addr (drun_job_id), 5, addr (bcd_jid)); 241 call gtss_aft_$find ("#D", fn, code); 242 if code ^= 0 then call access_dq; 243 if ^local_error then do; 244 gtss_def_q_$FILE.Seek_Address = 0; 245 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 246 call read_sector; 247 if ^local_error then do; 248 dqh_ptr = addr (gtss_def_q_$FILE.no_characters); 249 cat_entries_avail = dqh_ptr -> dq_header.dhbsn.no_of_cea; 250 end; 251 end; 252 if ^local_error then call get_cat_entry; 253 if ^local_error then do; 254 gtss_def_q_$FILE.Seek_Address = (5 * drun_file_size) - cat_entries_avail + cat_entry - 1; 255 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 256 call read_sector; 257 end; 258 if local_error then dibp = null (); 259 else dibp = addr (gtss_def_q_$FILE.no_characters); 260 return; 261 262 entries_info: entry (eip, no_of_e, no_of_entries_found); 263 264 /** 265* arg_1 (input) A pointer to the info structure. 266* arg_2 (input) The number of entries in the structure. 267* arg_3 (output) The number of entries found. 268* 269***/ 270 caller = "gtss_dq_$entries_info"; 271 if eip = null () then do; 272 call com_err_ (0, caller, 273 "Invalid pointer to structure."); 274 no_of_entries_found = 0; 275 return; 276 end; 277 278 call gtss_dq_$hdrp (dqh_ptr); 279 if dqh_ptr = null () then call gtss_abort_subsystem_ ( 280 null (), 281 caller, 282 0, 283 "Could not get pointer to #D queue's header."); 284 read_limit = dqh_ptr -> dq_header.dhbsn.no_of_cea / 8; 285 wp = dqh_ptr; 286 curr_entry = 1; 287 288 /** Examine the first seven entries contained in the header **/ 289 do i = 2 to 8; 290 dc_ptr = addr (words (i)); 291 if dc_ptr -> dq_catalog.dcjid.job_status ^= 0 then do; 292 entries_info.job_stat (curr_entry) = 293 dc_ptr -> dq_catalog.dcjid.job_status; 294 call gtss_bcd_ascii_ (addr (dc_ptr -> dq_catalog.dcjid.bcd_job_id), 5, addr (entries_info.did (curr_entry))); 295 entries_info.aid (curr_entry) = gtss_abs_$get_id (entries_info.did (curr_entry)); 296 curr_entry = curr_entry + 1; 297 end; 298 end; 299 300 /** And examine the rest of the entries **/ 301 do sec_no = 1 to read_limit; 302 gtss_def_q_$FILE.Seek_Address = sec_no; 303 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 304 call read_sector; 305 do i = 1 to 8; 306 dc_ptr = addr (words (i)); 307 if dc_ptr -> dq_catalog.dcjid.job_status ^= 0 then do; 308 entries_info.job_stat (curr_entry) = 309 dc_ptr -> dq_catalog.dcjid.job_status; 310 call gtss_bcd_ascii_ (addr (dc_ptr -> dq_catalog.dcjid.bcd_job_id), 5, addr (entries_info.did (curr_entry))); 311 entries_info.aid (curr_entry) = gtss_abs_$get_id (entries_info.did (curr_entry)); 312 curr_entry = curr_entry + 1; 313 end; 314 end; 315 end; 316 317 no_of_entries_found = curr_entry - 1; 318 if db_dq then 319 if curr_entry - 1 > 0 then 320 do i = 1 to curr_entry - 1; 321 call ioa_ ("^a ^a Job status = ^i", 322 entries_info.did (i), entries_info.aid (i), entries_info.job_stat (i)); 323 end; 324 325 326 return; 327 328 329 330 mod_js: entry (drun_job_id, job_stat, error); 331 332 333 /** 334* arg_1 (input) The DRUN job id. 335* arg_2 (input) The new value of job status. (See DB84 16-20 DCJID) 336* arg_3 (output) Set to 0 if operation successful. 337***/ 338 339 340 caller = "gtss_dq_$mod_js"; 341 error = "0"b; 342 if job_stat > 7 then do; 343 call com_err_ (0, caller, 344 "^d is not a valid job status", job_stat); 345 error = "1"b; 346 return; 347 end; 348 call gtss_ascii_bcd_ (addr (drun_job_id), 5, addr (bcd_jid)); 349 350 /* Read header, get sector with catalog entry, change job status, write back out */ 351 gtss_def_q_$FILE.Seek_Address = 0; 352 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 353 call read_sector; 354 if local_error then do; 355 error = local_error; 356 return; 357 end; 358 dqh_ptr, dc_ptr = addr (gtss_def_q_$FILE.no_characters); 359 call get_cat_entry; 360 if local_error then do; 361 error = local_error; 362 return; 363 end; 364 dc_ptr -> dq_catalog.dcjid.job_status = job_stat; 365 if i = 0 then gtss_def_q_$FILE.Seek_Address = i; 366 else gtss_def_q_$FILE.Seek_Address = i - 1; 367 gtss_def_q_$FILE.OP2.Device_Command = write_cmd; 368 call write_sector; 369 if local_error then do; 370 error = local_error; 371 return; 372 end; 373 374 /* Read the file into the buffer */ 375 do i = 0 to hbound (d_buf, 1); 376 gtss_def_q_$FILE.Seek_Address = i; 377 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 378 call read_sector; 379 if local_error then do; 380 error = local_error; 381 return; 382 end; 383 d_buf (i) = dqh_ptr -> sector; 384 end; 385 386 /* Calculate checksum on buffer, move header from buffer to output buffer, 387* write header sector back to #D file */ 388 checksum_field = checksum (addrel (addr (d_buf (0)), 1), 389 ((hbound (d_buf, 1) + 1) * 64) - 1); 390 391 dqh_ptr -> sector = addr (d_buf (0)) -> sector; 392 gtss_def_q_$FILE.OP2.Device_Command = write_cmd; 393 gtss_def_q_$FILE.Seek_Address = 0; 394 call write_sector; 395 if local_error then do; 396 error = local_error; 397 return; 398 end; 399 400 return; 401 402 create_file: proc; 403 404 call user_info_$homedir (gtss_file_values.dname); 405 gtss_file_values.new_ename = drun_file_name; 406 407 call hcs_$make_seg (gtss_file_values.dname, gtss_file_values.new_ename, 408 "", 10, seg_ptr, code); 409 if code ^= 0 then do; 410 call com_err_ (code, "gtss_dq_create", 411 "Could not create drun_#d_q seg, quitting"); 412 local_error = "1"b; 413 return; 414 end; 415 416 call hcs_$set_bc_seg (seg_ptr, drun_file_size*320*36, code); 417 if code ^= 0 then do; 418 call com_err_ (code, caller, 419 "Could not set bit count, quitting"); 420 local_error = "1"b; 421 return; 422 end; 423 424 call hcs_$set_safety_sw (gtss_file_values.dname, gtss_file_values.new_ename, 425 "1"b, code); 426 if code ^= 0 then do; 427 call com_err_ (code, caller, 428 "Cannot set safety switch, quitting"); 429 local_error = "1"b; 430 return; 431 end; 432 433 call hcs_$make_seg (gtss_file_values.dname, 434 absin_fn, "", 10, seg_ptr, code); 435 if code ^= 0 then do; 436 call com_err_ (code, "gtss_dq_create", 437 "Could not create absin seg, quitting"); 438 local_error = "1"b; 439 return; 440 end; 441 442 char_string = gtss_abs_$create_absin (); 443 csl = length (char_string); 444 chars = char_string; 445 call hcs_$set_bc_seg (seg_ptr, csl * 9, code); 446 if code ^= 0 then do; 447 call com_err_ (code, caller, 448 "Could not set bit count, quitting"); 449 local_error = "1"b; 450 return; 451 end; 452 call hcs_$set_safety_sw (gtss_file_values.dname, absin_fn, 453 "1"b, code); 454 if code ^= 0 then do; 455 call com_err_ (code, caller, 456 "Cannot set safety switch, quitting"); 457 local_error = "1"b; 458 return; 459 end; 460 461 end; /* create_file */ 462 463 set_attr: proc; 464 gtss_file_values.set_switch = "0"b; 465 gtss_file_values.set_switch.mode_random 466 , gtss_file_values.set_switch.maxll 467 , gtss_file_values.set_switch.curll 468 , gtss_file_values.set_switch.busy 469 , gtss_file_values.set_switch.attr 470 , gtss_file_values.set_switch.null_file 471 , gtss_file_values.set_switch.number_allocations 472 , gtss_file_values.set_switch.creation_date 473 = "1"b; 474 475 gtss_file_values.version = 1; 476 gtss_file_values.change_name = "0"b; 477 gtss_file_values.ename = " "; /* => Initial setting. */ 478 479 gtss_file_values.data_flags.mode_random = "1"b; 480 gtss_file_values.data_flags.busy = "0"b; 481 gtss_file_values.data_flags.null_file = "1"b; 482 483 gtss_file_values.data_fields.curll = drun_file_size; 484 gtss_file_values.data_fields.maxll = drun_file_size; 485 gtss_file_values.data_fields.number_allocations = 0; 486 487 gtss_file_values.attributes.attr = "0"b; 488 string (date_val) = date (); 489 gtss_file_values.creation_date = mm||dd||yy; 490 491 call gtss_attributes_mgr_$set (addr (gtss_file_values.version), code); 492 if code ^= 0 then do; 493 call com_err_ (code, caller, 494 "Could not set attributes"); 495 local_error = "1"b; 496 return; 497 end; 498 499 end; /* set_attr */ 500 501 access_dq: proc; 502 503 call gtss_aft_$find ("#D", fn, code); 504 if code ^= 0 then do; 505 call gtss_aft_$add ("#D", fn, code); 506 if code = 1 then do; 507 call com_err_ (0, caller, 508 "#D file already in aft"); 509 local_error = "1"b; 510 return; 511 end; 512 else if code ^= 0 then do; 513 call com_err_ (0, caller, 514 "Could not add #D file to aft (status ^i)", code); 515 local_error = "1"b; 516 return; 517 end; 518 end; 519 gtss_file_values.version = 1; 520 gtss_file_values.change_name = "0"b; 521 gtss_file_values.new_ename = " "; 522 gtss_file_values.ename = drun_file_name; 523 call user_info_$homedir (gtss_file_values.dname); 524 525 call gtss_attributes_mgr_$get (addr (gtss_file_values), code); 526 if code ^= 0 then do; 527 call com_err_ (0, caller, 528 "Couldn't get #D attributes (code ^i)", code); 529 local_error = "1"b; 530 return; 531 end; 532 533 gtss_file_values.set_switch = "0"b; 534 gtss_file_values.set_switch.number_allocations = "1"b; 535 gtss_file_values.data_fields.number_allocations = 1; /* Increment by 1. */ 536 call gtss_attributes_mgr_$set (addr (gtss_file_values), code); 537 if code ^= 0 then do; 538 call com_err_ (0, caller, 539 "Couldn't reset attributes (code ^i)", code); 540 local_error = "1"b; 541 return; 542 end; 543 544 545 /** Set runtime attributes structure for ios. **/ 546 gtss_file_attributes_ptr = addr (gtss_tfa_ext_$file_attributes.temp_file (fn)); 547 gtss_file_attributes.max_size = gtss_file_values.data_fields.maxll; 548 gtss_file_attributes.current_size = gtss_file_values.data_fields.curll; 549 gtss_file_attributes.user_attributes.non_null = ^gtss_file_values.data_flags.null_file; 550 gtss_file_attributes.user_attributes.user_attr = gtss_file_values.attributes.attr; 551 gtss_file_attributes.descriptor.device_type = "64"b3; /* => disk. */ 552 if gtss_file_values.data_flags.mode_random then 553 gtss_file_attributes.descriptor.words_block = "0100"b3; /* 64 (100oct) words per block. */ 554 else 555 gtss_file_attributes.descriptor.words_block = "0500"b3; /* 320 (500oct) words per block. */ 556 gtss_file_attributes.descriptor.llink_flag = "1"b; /* size is in llinks (320words) */ 557 gtss_file_attributes.descriptor.mode = gtss_file_values.data_flags.mode_random; 558 gtss_file_attributes.descriptor.perm = "1"b; /* Permanent file. */ 559 gtss_file_attributes.descriptor.size = bit (fixed (gtss_file_values.data_fields.curll, 14)); /* Size in llinks */ 560 end; /* access_dq */ 561 562 563 init_head_cat: proc; 564 565 566 call gtss_aft_$find ("#D", fn, code); 567 if code ^= 0 then do; 568 call com_err_ (0, caller, 569 "Couldn't find #D in aft"); 570 local_error = "1"b; 571 return; 572 end; 573 call gtss_ios_open_ ( 574 fn, 575 gtss_file_values.dname, 576 gtss_file_values.ename, 577 "110000"b, 578 "1"b, 579 gtss_file_attributes_ptr, 580 addr (gcos_status), 581 code); 582 if gcos_status.bit12 ^= "4000"b3 then do; 583 call com_err_ (0, caller, 584 "Couldn't open #D file (status ^w)", 585 gcos_status.bit12); 586 local_error = "1"b; 587 return; 588 end; 589 else file_opened = "1"b; 590 dqh_ptr = addr (gtss_def_q_$FILE.RECORD.no_characters); 591 unspec (dqh_ptr -> dq_header) = "0"b; 592 dqh_ptr -> dhbsn.no_of_cea = (320 * drun_file_size - 8) / 72; 593 call decode_clock_value_ ( 594 clock_ () 595 , month 596 , day_of_month 597 , year 598 , time_of_day 599 , day_of_week 600 , time_zone 601 ); 602 603 ascii_date.yr = mod (year, 100); 604 ascii_date.mo = month; 605 ascii_date.dy = day_of_month; 606 call gtss_ascii_bcd_ (addr (ascii_date), 6, addr (dqh_ptr -> dhdat)); 607 608 milsec = divide (time_of_day, 1000, 71); 609 milsec64ths = milsec*64; 610 dqh_ptr -> dhtim = milsec64ths; 611 dqh_ptr -> dhrns = milsec64ths; 612 sp = dqh_ptr; 613 dc_ptr = addr (sp -> cs (33)); 614 unspec (dc_ptr -> dq_catalog) = "0"b; 615 dc_ptr -> dcdsd = dqh_ptr -> dhdat; 616 dc_ptr -> dcdst = -1; 617 618 gtss_def_q_$FILE.OP2.Device_Command = write_cmd; 619 call gtss_ios_io_ ( 620 fn, 621 addr (gtss_def_q_$FILE.select_sequence), 622 addr (gtss_def_q_$FILE.select_sequence), 623 fixed (rel (addr (gtss_def_q_$FILE.DQ))), 624 status, 625 code); 626 if status ^= 0 then do; 627 call com_err_ (code, caller, 628 "Unable to write header. (status ^i)", status); 629 local_error = "1"b; 630 return; 631 end; 632 633 call close_file; 634 635 end; /* init_dq_head */ 636 637 read_sector: write_sector: proc; 638 639 /** Read/write #D sector **/ 640 call gtss_aft_$find ("#D", fn, code); 641 if code ^= 0 then do; 642 call com_err_ (0, caller, 643 "Couldn't access the #D file."); 644 local_error = "1"b; 645 return; 646 end; 647 call gtss_ios_io_ ( 648 fn, 649 addr (gtss_def_q_$FILE.select_sequence), 650 addr (gtss_def_q_$FILE.select_sequence), 651 fixed (rel (addr (gtss_def_q_$FILE.DQ))), 652 status, 653 code); 654 if status ^= 0 then do; 655 call com_err_ (code, caller, 656 "Unable to read/write sector. (status ^i)", status); 657 local_error = "1"b; 658 return; 659 end; 660 661 end; /* read_sector */ 662 663 get_cat_entry: proc; 664 665 cat_entries_avail = dqh_ptr -> dq_header.dhbsn.no_of_cea; 666 read_limit = dqh_ptr -> dq_header.dhbsn.no_of_cea / 8; 667 668 /** Find the catalog entry **/ 669 i = 0; 670 if ^find_cat_entry () then do; 671 not_found = "1"b; 672 do i = 1 to read_limit while (not_found); 673 gtss_def_q_$FILE.OP2.Device_Command = read_cmd; 674 gtss_def_q_$FILE.Seek_Address = i; 675 call gtss_ios_io_ ( 676 fn, 677 addr (gtss_def_q_$FILE.select_sequence), 678 addr (gtss_def_q_$FILE.select_sequence), 679 fixed (rel (addr (gtss_def_q_$FILE.DQ))), 680 status, 681 code); 682 if status ^= 0 then do; 683 call com_err_ (code, caller, 684 "Unable to read catalog sector. (status ^i)", status); 685 local_error = "1"b; 686 return; 687 end; 688 if find_cat_entry () then not_found = "0"b; 689 end; 690 691 if i > read_limit then do; 692 local_error = "1"b; 693 cat_entry = 0; 694 end; 695 696 end; 697 698 if i ^= 0 then 699 cat_entry = 7 + ((i - 1) * 8) + cat_entry; 700 else cat_entry = cat_entry - 1; 701 702 find_cat_entry: proc returns (bit (1)); 703 704 wp = addr (gtss_def_q_$FILE.RECORD.no_characters); 705 706 do cat_entry = 1 to 8; 707 dc_ptr = addr (words (cat_entry)); 708 if dc_ptr -> dq_catalog.dcjid.bcd_job_id = bcd_jid 709 then return ("1"b); 710 end; 711 712 return ("0"b); 713 714 end; /* find_cat_entry */ 715 716 end; /* get_cat_entry */ 717 718 close_file: proc; 719 720 call gtss_aft_$find ("#D", fn, code); 721 if code ^= 0 then do; 722 file_opened = "0"b; 723 return; 724 end; 725 call gtss_ios_close_ (fn, addr (gcos_status), code); 726 if gcos_status.bit12 ^= "4000"b3 then do; 727 call com_err_ (0, caller, 728 "Couldn't close #D file (status ^w)", 729 gcos_status.bit12); 730 local_error = "1"b; 731 return; 732 end; 733 file_opened = "0"b; 734 735 end; /* close_file */ 736 737 738 /* gtss_dq_ local declares */ 739 740 dcl CR char (1) init (" 741 "); 742 dcl absin_fn char (32) init ("drun_control.absin"); 743 dcl bcd_jid bit (30); 744 dcl caller char (32) varying; 745 dcl cat_entry fixed bin (18) unsigned; 746 dcl cat_e_parm fixed bin (18) unsigned parm; 747 dcl cat_entries_avail fixed bin (18) unsigned; 748 dcl char_string char (252) varying; 749 dcl checksum_field bit (36) based (addr (d_buf (0))); 750 dcl chars char (csl) based (seg_ptr); 751 dcl clock_ entry returns(fixed bin(71)); 752 dcl code fixed bin (35); 753 dcl cs (253) char (1) based; 754 dcl csl fixed bin (24); 755 dcl curr_entry fixed bin (18) unsigned; 756 dcl day_of_month fixed bin; 757 dcl day_of_week fixed bin; 758 dcl date builtin; 759 dcl d_buf (0:((320*71-8)/72/8)-1) bit (36 * 64); 760 dcl dc_ptr ptr init (null()); 761 dcl dcp ptr parm; 762 dcl decode_clock_value_ entry(fixed bin(71),fixed bin,fixed bin,fixed bin,fixed bin(71),fixed bin,char(3)aligned); 763 dcl dib_ptr ptr init (null()); 764 dcl dibp ptr parm; 765 dcl dqh_ptr ptr init (null()); 766 dcl dqhp ptr parm; 767 dcl drun_file_name char (32) init ("drun_#d_q"); 768 dcl drun_file_size fixed bin (24) init (71); 769 dcl drun_job_id char (5) parm; 770 dcl djid char (5); 771 dcl eb bit (1); 772 dcl eip ptr parm; 773 dcl error bit (1) parameter; 774 dcl file_opened bit (1) static internal init ("0"b); 775 dcl fn fixed bin (24); 776 dcl gtss_fail condition external; 777 dcl hcs_$make_seg entry (char(*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 778 dcl hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 779 dcl hcs_$set_safety_sw entry (char (*), char (*), bit (1), fixed bin (35)); 780 dcl i fixed bin (18) unsigned; 781 dcl ioa_ entry options (variable); 782 dcl j fixed bin (18) unsigned; 783 dcl job_stat fixed bin (6) unsigned parm; 784 dcl local_error bit (1) automatic init ("0"b); 785 dcl max_attempts fixed bin init (50); 786 dcl milsec64ths fixed bin(35); 787 dcl milsec fixed bin(71); 788 dcl month fixed bin; 789 dcl no_of_e fixed bin (18) unsigned parm; 790 dcl no_of_entries_found fixed bin (18) unsigned parm; 791 dcl not_found bit (1); 792 dcl read_limit fixed bin (18) unsigned; 793 dcl sec_no fixed bin (18) unsigned; 794 dcl sector bit (36 * 64) based; 795 dcl seg_ptr ptr init (null()); 796 dcl sp ptr init (null()); 797 dcl status fixed bin (24); 798 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 799 dcl time_of_day fixed bin(71); 800 dcl time_zone char(3)aligned; 801 dcl user_info_$homedir entry (char(*)); 802 dcl wait_time fixed bin (71) init (1); 803 dcl words (8) bit (36 * 8) based (wp); 804 dcl wp ptr init (null()); 805 dcl year fixed bin; 806 dcl 1 ascii_date aligned, 807 2 yr pic "99" unal, 808 2 mo pic "99" unal, 809 2 dy pic "99" unal; 810 dcl 1 date_val, 811 2 yy char(2)unal, 812 2 mm char(2)unal, 813 2 dd char(2)unal; 814 815 dcl 1 entries_info (no_of_e) based (eip), 816 2 did char (5), 817 2 aid char (19), 818 2 job_stat fixed bin (6) unsigned; 819 dcl 1 gcos_status aligned, 820 2 bit12 bit(12)unal, 821 2 bit60 bit(60)unal; 822 823 1 1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 09/01/78 1447.1 mst Fri 1 4**/ 1 5 1 6 /** The gtss_file_values structure provides parameters to the 1 7* gtss_attributes_mgr_ subroutine. 1 8* 1 9* The caller must provide space for this structure, fill in 1 10* the version with 1, the dname and ename with the file directory 1 11* and entry name, and for calls to gtss_attributes_mgr_$set, 1 12* fill in values to be reset and set the corresponding set_switch 1 13* to "1"b. 1 14* 1 15* If the (Multics) file located is a directory 1 16* a GCOS catalog is implied. 1 17* 1 18* If both ename and new_ename are set but no set_switch 1 19* is "1"b (and the set entry is called) this implies 1 20* that the existing attribute values are being renamed 1 21* to the new entry. 1 22* 1 23* Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code); 1 24* 1 25* Use of ename/new_ename combinations 1 26* for set entry. 1 27* 1 28* -|-----------|-----------|-|-----------------| 1 29* | ename |new_ename || meaning | 1 30* =|===========|===========|=|=================| 1 31* | blanks | blanks || illegal | 1 32* -|-----------|-----------|-|-----------------| 1 33* | blanks |not blanks|| initial | 1 34* | | || setting | 1 35* -|-----------|-----------|-|-----------------| 1 36* |not blanks| blanks || check enames's | 1 37* | | ||attribute values| 1 38* | | || and reset. | 1 39* -|-----------|-----------|-|-----------------| 1 40* |not blanks|not blanks|| delete ename's | 1 41* | | || values and put | 1 42* | | || on values for | 1 43* | | || new_ename's | 1 44* -|-----------|-----------|-|-----------------| 1 45***/ 1 46 dcl attr_name (0:7)char(4)static int options(constant)init( 1 47 /* 0 */ "mode" 1 48 , /* 1 */ "maxl" 1 49 , /* 2 */ "curl" 1 50 , /* 3 */ "busy" 1 51 , /* 4 */ "attr" 1 52 , /* 5 */ "null" 1 53 , /* 6 */ "noal" 1 54 , /* 7 */ "crdt" 1 55 ); 1 56 dcl 1 gtss_file_values aligned automatic 1 57 , 3 version fixed bin(17) /* Current version is 1. (OUT) */ 1 58 , 3 dname char(168)unal /* Directory name. (IN) */ 1 59 , 3 ename char(032)unal /* Entry name. (IN) */ 1 60 , 3 new_ename char(032)unal /* New entry name. (IN) */ 1 61 , 3 change_name bit(1) /* "1"b => Change segment name. (IN) */ 1 62 , 3 catalog bit(1) /* "1"b => File is a catalog (Multics directory). (OUT) */ 1 63 , 3 info_ptr ptr /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */ 1 64 , 3 set_switch /* "1"b => Set corresponding value. (IN) */ 1 65 , 4 mode_random bit(01)unal /* 0. Set the random/sequential(linked) field. */ 1 66 , 4 maxll bit(01)unal /* 1. Set max size value. */ 1 67 , 4 curll bit(01)unal /* 2. Set current size value. */ 1 68 , 4 busy bit(01)unal /* 3. Set file as busy. */ 1 69 , 4 attr bit(01)unal /* 4. Set user attributes value. */ 1 70 , 4 null_file bit(01)unal /* 5. Set null file value. */ 1 71 , 4 number_allocations bit(01)unal /* 6. Set or increment number of uses. */ 1 72 , 4 creation_date bit(01)unal /* 7. Set file creation date. */ 1 73 , 4 not_in_use bit(28)unal 1 74 /* The above set_ variables should be declared in an order 1 75* corresponding to the value in the attr_name array. */ 1 76 , 3 data_flags /* (OUT|IN) */ 1 77 , 4 mode_random bit(01)unal /* "1"b => random. */ 1 78 , 4 busy bit(01)unal /* "1"b => file is busy. */ 1 79 , 4 null_file bit(01)unal /* "1"b => file is null. */ 1 80 , 4 not_in_use2 bit(33)unal 1 81 , 3 data_fields /* (OUT|IN) */ 1 82 , 4 curll fixed bin(35) /* Current length in llinks (>=0). */ 1 83 , 4 maxll fixed bin(35) /* Maximum length in llinks (>=0). */ 1 84 , 4 number_allocations fixed bin(35) /* 0 => set | >0 => increment modulo 262144. */ 1 85 , 3 attributes /* (OUT|IN) */ 1 86 , 4 not_in_use3 bit(01)unal 1 87 , 4 attr bit(35)unal /* User specified file attribute value. */ 1 88 , 3 creation_date char(06) /* MMDDYY of creation. */ 1 89 ; 1 90 1 91 1 92 /* END INCLUDE FILE gtss_file_values.incl.pl1 */ 824 825 2 1 /* BEGIN INCLUDE FILE gtss_def_q_.incl.pl1 */ 2 2 /* 2 3* Created: (Dupuis Multics) 08/02/79 0559.5 mst Thu 2 4**/ 2 5 dcl 1 gtss_def_q_$FILE aligned static ext 2 6 , 3 select_sequence 2 7 , 4 OP1 /* Seek operation. */ 2 8 , 5 Device_Command bit(06)unal 2 9 , 5 zeroes_1 fixed bin(12)unsigned unal 2 10 , 5 IOC_Command bit(05)unal 2 11 , 5 zeroes_2 fixed bin(01)unsigned unal 2 12 , 5 Control fixed bin(06)unsigned unal 2 13 , 5 Count fixed bin(06)unsigned unal 2 14 2 15 , 4 ID1 2 16 , 5 fcb_loc bit(18)unal 2 17 , 5 DCW_list_loc bit(18)unal 2 18 2 19 , 4 OP2 /* Write opteration. */ 2 20 , 5 Device_Command bit(06)unal 2 21 , 5 zeroes_1 fixed bin(12)unsigned unal 2 22 , 5 IOC_Command bit(05)unal 2 23 , 5 zeroes_2 fixed bin(01)unsigned unal 2 24 , 5 Control fixed bin(06)unsigned unal 2 25 , 5 Count fixed bin(06)unsigned unal 2 26 2 27 , 4 ID2 2 28 , 5 fcb_loc bit(18)unal 2 29 , 5 DCW_list_loc bit(18)unal 2 30 2 31 , 4 RETURN_WORD 2 32 , 5 Status_loc bit(18)unal 2 33 , 5 Courtesy_Call_loc bit(18)unal 2 34 2 35 , 3 Seek_Word 2 36 , 4 Seek_loc bit(18)unal 2 37 , 4 Seek_count fixed bin(18)unsigned unal 2 38 , 3 Seek_Address fixed bin(35) 2 39 , 3 STATUS bit(72) unal 2 40 2 41 , 3 DCW 2 42 , 4 memory_loc bit(18)unal 2 43 , 4 zeroes_3 fixed bin(03)unsigned unal 2 44 , 4 action_code fixed bin(03)unsigned unal 2 45 , 4 word_count fixed bin(12)unsigned unal 2 46 2 47 , 3 RECORD 2 48 , 4 no_characters fixed bin(18)unsigned unal 2 49 , 4 zeroes_4 bit(18)unal 2 50 , 4 chars char(252) 2 51 , 3 DQ char (8) 2 52 ; 2 53 /* END INCLUDE FILE gtss_def_q_.incl.pl1 */ 826 827 3 1 /* BEGIN INCLUDE FILE gtss_deferred_queue.incl.pl1 */ 3 2 /* 3 3* Created: (Dupuis Multics) 06/26/79 0848.7 mst Tue 3 4* Changed: Ron Barstad 84-11-29 dq_catalog.dcelp changed to fixed bin 35 (was 36 unsigned) 3 5**/ 3 6 dcl 1 dq_header based, 3 7 2 dhcks fixed bin (36) unsigned unaligned, 3 8 2 dhnam fixed bin (36) unsigned unaligned, 3 9 2 dhdat bit (36) unaligned, 3 10 2 dhtim fixed bin (36) unsigned unaligned, 3 11 2 dhbsn, 3 12 3 no_of_cea fixed bin (18) unsigned unaligned, 3 13 3 tss_ssn fixed bin (18) unsigned unaligned, 3 14 2 dhseq, 3 15 3 no_of_ceiu fixed bin (18) unsigned unaligned, 3 16 3 no_of_dss fixed bin (18) unsigned unaligned, 3 17 2 dhtns, 3 18 3 no_of_srts fixed bin (18) unsigned unaligned, 3 19 3 no_of_dsi fixed bin (18) unsigned unaligned, 3 20 2 dhrns fixed bin (36) unsigned unaligned; 3 21 3 22 3 23 dcl 1 dq_catalog based, 3 24 2 dcjid, 3 25 3 bcd_job_id bit (30) unaligned, 3 26 3 job_status fixed bin (6) unsigned unaligned, 3 27 2 dcseq, 3 28 3 jsn fixed bin (18) unsigned unaligned, 3 29 3 reserved bit (1) unaligned, 3 30 3 init_seq fixed bin (17) unsigned unaligned, 3 31 2 dcuid bit (72) unaligned, 3 32 2 dcdsd bit (36) unaligned, 3 33 2 dcdst fixed bin (35) unaligned, 3 34 2 dcelp fixed bin (35) unaligned, 3 35 2 dcusr, 3 36 3 not_used bit (18) unaligned, 3 37 3 b18_35_lswth bit (18) unaligned; 3 38 3 39 dcl 1 dq_dib based, 3 40 2 dbdat bit (36) unaligned, 3 41 2 dbtim bit (36) unaligned, 3 42 2 dblin fixed bin (36) unaligned unsigned, 3 43 2 dberr, 3 44 3 dbalt_cc fixed bin (18) unaligned unsigned, 3 45 3 dbdsc_cc fixed bin (18) unaligned unsigned, 3 46 2 dbptr, 3 47 3 dbdsc_ro fixed bin (18) unaligned unsigned, 3 48 3 ofn_ro fixed bin (17) unaligned, 3 49 2 dbflg, 3 50 3 alloc_perm bit (9) unaligned, 3 51 3 del_char char (1) unaligned, 3 52 3 f_res bit (1) unaligned, 3 53 3 f_sub bit (1) unaligned, 3 54 3 f_arg bit (1) unaligned, 3 55 3 f_del bit (1) unaligned, 3 56 3 f_exc bit (1) unaligned, 3 57 3 f_inc bit (1) unaligned, 3 58 3 f_lni bit (1) unaligned, 3 59 3 f_alt bit (1) unaligned, 3 60 3 f_fnq bit (1) unaligned, 3 61 3 f_ucs bit (1) unaligned, 3 62 3 f_lcs bit (1) unaligned, 3 63 3 arg_char char (1) unaligned, 3 64 2 rest (58) bit (36) unaligned; 3 65 3 66 dcl 1 cout_sector based, 3 67 2 filler_1 (6) bit (36), 3 68 2 c_lcfio, 3 69 3 sector_out fixed bin (18) unaligned unsigned, 3 70 3 sector_in fixed bin (18) unaligned unsigned, 3 71 2 c_lcfst, 3 72 3 init_sect_out fixed bin (18) unaligned unsigned, 3 73 3 start_term fixed bin (18) unaligned unsigned, 3 74 2 filler_2 (40) bit (36), 3 75 2 label_table (8), 3 76 3 label_name bit (54), 3 77 3 label_pos fixed bin (18) unaligned unsigned; 3 78 3 79 /* END INCLUDE FILE gtss_deferred_queue.incl.pl1 */ 828 829 4 1 /* BEGIN INCLUDE FILE gtss_device_cmds.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 07/08/78 1503.0 mst Sat 4 4**/ 4 5 dcl read_cmd bit(6)static int options(constant)init("25"b3); 4 6 dcl seek_cmd bit(6)static int options(constant)init("34"b3); 4 7 dcl write_cmd bit(6)static int options(constant)init("31"b3); 4 8 /* END INCLUDE FILE gtss_device_cmds.incl.pl1 */ 830 831 5 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 5 2 /* 5 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 5 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 5 5**/ 5 6 5 7 /** gtss external entry variables. **/ 5 8 dcl com_err_ entry() options(variable); 5 9 dcl gtss_CFP_abort_ entry options(variable); 5 10 dcl gtss_CFP_break_ entry options(variable); 5 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 5 13 dcl gtss_abandon_CFP_ entry options(variable); 5 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 5 15 dcl gtss_abort_subsystem_ entry options (variable); 5 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 5 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 5 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 5 19 dcl gtss_abs_$abs_equiv entry options(variable); 5 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 5 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 5 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 5 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 5 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 5 25 dcl gtss_adjust_size_ entry (ptr); 5 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 5 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 5 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 5 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 5 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 5 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 5 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 5 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 5 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 5 35 dcl gtss_break_vector_ entry (); 5 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 5 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 5 38 dcl gtss_build_ entry options(variable); 5 39 dcl gtss_com_err_ entry options(variable); 5 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 5 41 dcl gtss_derail_processor_$set entry options(variable); 5 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 5 43 dcl gtss_dq_$create entry (bit(1)); 5 44 dcl gtss_dq_$dibp entry (char(5), ptr); 5 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 5 46 dcl gtss_dq_$hdrp entry (ptr); 5 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 5 48 dcl gtss_dq_$open_exc entry (bit(1)); 5 49 dcl gtss_dq_$open_gen entry (bit(1)); 5 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 5 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 5 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 5 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 5 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 5 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 5 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 5 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 5 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 5 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 5 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 5 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 5 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 5 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 5 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 5 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 5 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 5 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 5 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 5 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 5 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 5 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 5 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 5 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 5 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 5 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 5 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 5 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 5 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 5 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 5 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 5 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 5 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 5 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 5 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 5 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 5 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 5 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 5 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 5 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 5 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 5 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 5 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 5 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 5 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 5 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 5 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 5 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 5 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 5 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 5 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 5 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 5 102 dcl gtss_drun_ entry (bit(1)); 5 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 5 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 5 106 dcl gtss_mcfc_empty entry (char(*) var); 5 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 5 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 5 109 dcl gtss_fault_processor_ entry options(variable); 5 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 5 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 5 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 5 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 5 125 dcl gtss_mcfc_init_ entry (char(*) var); 5 126 dcl gtss_interp_prim_ entry options(variable); 5 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 5 128 dcl gtss_interp_prim_$sysret entry options(variable); 5 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 5 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 5 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 5 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 5 133 dcl gtss_ios_initialize_ entry options(variable); 5 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 5 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 5 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 5 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 5 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 5 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 5 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 5 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 5 143 dcl gtss_run_subsystem_$finish entry options(variable); 5 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 5 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 5 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 5 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 5 148 dcl gtss_update_safe_store_ entry (ptr); 5 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 5 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 5 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 5 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 832 833 6 1 /* BEGIN INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 6 2 /* 6 3* Created: (Wardd Multics) 06/09/78 1650.6 mst Fri 6 4**/ 6 5 6 6 dcl 1 gtss_dfd_ext_$disk_file_data (41) aligned ext, /* disk_file_data structure */ 6 7 6 8 3 gtss_disk, 6 9 4 dir_name char (168) unal, /* containing directory for file */ 6 10 4 entry_name char (32) unal, /* entry name for file */ 6 11 4 fcb_ptr ptr aligned, /* ptr to file control block */ 6 12 4 msf_array_ptr ptr, /* Pointer to an array of pointers for a msf. Each 6 13* component which has been accessed has a corresponding 6 14* initialized pointer. Currently 500 components 6 15* are supported. */ 6 16 4 single_segment_ptr ptr, /* Pointer to segment for single segment file */ 6 17 4 indicators aligned, /* one word of flags */ 6 18 6 19 5 msf bit (1) unaligned, /* 1=msf segment | 0= single segment */ 6 20 5 protected_file bit (1) unaligned, /* 1=file uses protections | 0= unprotected */ 6 21 5 fill bit (34) unal, 6 22 6 23 4 permissions aligned, 6 24 5 read bit (1) unaligned, /* 1=read permission */ 6 25 5 execute bit (1) unaligned, /* 1=execute permission */ 6 26 5 write bit (1) unaligned, /* 1=write permission */ 6 27 5 fill2 bit (33) unaligned, /* unused at this time */ 6 28 6 29 4 access_mode bit (6) aligned, /* contains the mode by which the file was accessed */ 6 30 4 component fixed bin, /* current component value (first component = 0) */ 6 31 4 offset fixed bin (24), /* current word offset in the component */ 6 32 4 file_position fixed bin (30), /* current file position in words */ 6 33 4 file_size fixed bin (30), /* size of file in words */ 6 34 4 no_components fixed bin (24), /* number of components for a msf */ 6 35 4 attributes_ptr ptr, /* Pointer to the attributes structure 6 36* for this file. (See gtss_file_attributes.incl.pl1) */ 6 37 6 38 4 pat_body, 6 39 6 40 5 word_0, 6 41 6 defective bit (1) unal, /* 1 = file has defective space */ 6 42 6 io_errors bit (1) unal, /* 1 = I/O errors encountered on file */ 6 43 6 reserved bit (2) unal, /* Reserved for GCOS */ 6 44 6 sct bit (12) unal, /* address of SCT for device on which 6 45* file begins or if cataloged, 6 46* for device with file catalog entry */ 6 47 6 reserved2 bit (2) unal, /* Reserved for GCOS */ 6 48 6 49 5 word_1, 6 50 6 io_time fixed bin (35), /* I/O time for this file */ 6 51 6 52 5 word_2, 6 53 6 protected bit (1) unal, /* 1 = file has protected allocation */ 6 54 6 hash_code bit (5) unal, /* hash code of user name under which 6 55* file is cataloged */ 6 56 6 not_cat bit (1) unal, /* 1 = file is not cataloged */ 6 57 6 last_desc bit (1) unal, /* 1 = last descriptor for file is not in memory */ 6 58 6 random bit (1) unal, /* 1 = access to file is random */ 6 59 6 perm bit (1) unal, /* 1 = file space is permanently assigned */ 6 60 6 first_desc bit (1) unal, /* 1 = first descriptor for file is not in memory */ 6 61 6 creator bit (1) unal, /* 1 = user is not creator of file */ 6 62 6 disposition bit (2) unal, /* Abort disposition code 6 63* 00 = Release 6 64* 01 = Dismount 6 65* 10 = Save 6 66* 11 = Continue */ 6 67 6 ids1 bit (1) unal, /* 1 = file is an I-D-S/I file */ 6 68 6 write_performed bit (1) unal, /* 1 = write was performed on file */ 6 69 6 unpermitted_access bit (1) unal, /* 1 = unpermitted access to file attempted or seek 6 70* attempted to part of file marked defective (only 6 71* for procted allocation) */ 6 72 6 purge bit (1) unal, /* 1 = file space to be purgedbefore deallocating file. */ 6 73 6 sector_number bit (18) unal, /* If cataloged file, sector number of file catalog 6 74* (on device with SCT referenced in word 0). If 6 75* cataloged file that is proctected (bit 0 ON in this 6 76* word), memory location of table in File Management 6 77* Supervisor Executive. If user temporary file, 6 78* largest size file has ever attained, in llinks. 6 79* If system value equals 777777 octal, it is system 6 80* file created by System Input. */ 6 81 6 82 5 word_3, 6 83 6 llink_size bit (14) unal, /* 0-13 ^= 0, Current total file size in llinks 6 84* 0-13 = 0, File size is greater than 16,383 llinks, 6 85* and if the file is cataloged, call to .MFS19,5 with 6 86* offset to PAT pointer in index 5 will cause bits 6 87* 14-35 of Q-register to be set to file size. (Unless 6 88* there is a Seek error on file catalog in which case 6 89* zero is returned. ) 6 90* */ 6 91 6 llink_position bit (22) unal, /* Relative llink position within the space descriptors 6 92* in memory. */ 6 93 6 94 5 word_4, 6 95 6 not_last_desc bit (1) unal, /* 1 = not last descriptor in memory */ 6 96 6 space_desc bit (1) unal, /* 0 = this is space descriptor */ 6 97 6 space_defective bit (1) unal, /* 1 = Space is defective */ 6 98 6 extent bit (15) unal, /* Number of llinks in this extent (area defined by this 6 99* descriptor) */ 6 100 6 origin bit (18) unal; /* device llinks number of origin of this extent */ 6 101 /* END INCLUDE FILE gtss_dfd_ext_.incl.pl1 */ 834 835 7 1 /* BEGIN INCLUDE FILE gtss_tfa_ext_.incl.pl1 */ 7 2 /* 7 3* Created: (Wardd Multics) 08/07/78 0911.6 mst Mon 7 4**/ 7 5 7 6 /* Structure to record file "attributes". 7 7* Note: gtss_dfd_ext_$disk_file_data(i).gtss_disk.attributes_ptr 7 8* locates gtss_tfa_ext_$file_attributes.temp_file(i). 7 9**/ 7 10 7 11 dcl 1 gtss_tfa_ext_$file_attributes aligned ext, 7 12 3 temp_file (20) like gtss_file_attributes; 7 13 8 1 /* BEGIN INCLUDE FILE gtss_file_attributes.incl.pl1 */ 8 2 /* 8 3* Created: (Kepner Multics) 06/02/78 1522.0 mst Fri 8 4**/ 8 5 8 6 /* Declaration of File Attributes Segement */ 8 7 8 8 8 9 dcl gtss_file_attributes_ptr ptr init(null()); 8 10 8 11 dcl 1 gtss_file_attributes based (gtss_file_attributes_ptr) aligned, 8 12 2 max_size fixed bin (24), /* maximum size the file can grow to 8 13* in 320 word blocks. if = 0 then the 8 14* file size is unlimited. */ 8 15 2 current_size fixed bin (24), /* current size of the file in 320 word blocks */ 8 16 2 user_attributes aligned, 8 17 3 non_null bit (1) unal, /* 0 = this file has never been written to */ 8 18 3 user_attr bit (35) unal, /* User defined attributes */ 8 19 2 descriptor aligned, 8 20 3 device_type bit (6) unaligned, /* currently ignored */ 8 21 3 words_block bit (12) unaligned, /* number of words per physical block */ 8 22 3 llink_flag bit (1) unaligned, /* if 0= size in links | 1= size in llinks */ 8 23 3 mode bit (1) unaligned, /* 0= linked file | 1= random file */ 8 24 3 perm bit (1) unaligned, /* 1=permanent file|0=not */ 8 25 3 fill bit (1) unaligned, 8 26 3 size bit (14) unaligned; 8 27 8 28 8 29 /* END INCLUDE FILE gtss_file_attributes.incl.pl1 */ 7 14 7 15 7 16 /* END INCLUDE FILE gtss_tfa_ext_.incl.pl1 */ 836 837 9 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 9 2 /* 9 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 9 4**/ 9 5 9 6 /* To provide a new debugging switch: 9 7* 9 8* 1) Locate the comment "Insert next entry above this comment". 9 9* 9 10* 2) Place a new declaration for a db_ variable just 9 11* above this comment, in the same manner as the 9 12* current declaration just above the comment, using 9 13* the next integer gtss_ext_$db index. 9 14* 9 15* 3) Execute the gtss|db_names ted macro (this updates 9 16* the sorted name table). 9 17* 9 18* 4) Example use: 9 19* 9 20* if db_drl_grow then do; 9 21* . 9 22* . 9 23* . 9 24* debug i/o statements using com_err_ or ioa_ 9 25* . 9 26* . 9 27* . 9 28* end; 9 29* 9 30**/ 9 31 9 32 dcl ( 9 33 db_ bit(1) defined(gtss_ext_$db(01)) 9 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 9 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 9 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 9 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 9 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 9 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 9 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 9 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 9 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 9 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 9 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 9 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 9 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 9 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 9 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 9 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 9 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 9 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 9 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 9 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 9 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 9 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 9 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 9 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 9 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 9 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 9 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 9 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 9 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 9 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 9 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 9 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 9 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 9 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 9 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 9 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 9 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 9 71 /* Insert next entry above this comment. */ 9 72 ); 9 73 9 74 /* Table of sorted names. */ 9 75 dcl 1 debug_bit_names (38) static int options(constant) 9 76 , 2 name char(18)var init( 9 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 9 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 9 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 9 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 9 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 9 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 9 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 9 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 9 85 ) 9 86 , 2 value fixed bin init( 9 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 9 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 9 89 ,31 ,22 9 90 ); 9 91 /* End of table. */ 9 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 838 839 10 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 10 2 /* 10 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 10 4* Modified: Ward 1981 add suspended_process dcl 10 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 10 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 10 7**/ 10 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 10 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 10 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 10 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 10 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 10 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 10 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 10 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 10 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 10 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 10 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 10 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 10 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 10 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 10 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 10 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 10 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 10 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 10 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 10 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 10 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 10 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 10 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 10 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 10 32 dcl gtss_ext_$suspended_process bit(1) ext static; 10 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 10 34 dcl gtss_ext_$user_id char (26)var ext; 10 35 dcl gtss_ext_$work_area_ptr ptr ext; 10 36 10 37 dcl 1 gtss_ext_$CFP_bits aligned static external 10 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 10 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 10 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 10 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 10 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 10 43 ; 10 44 10 45 dcl 1 gtss_ext_$com_reg aligned static ext, 10 46 3 tsdmx, 10 47 4 dst fixed bin (18) unsigned unaligned, 10 48 4 dit fixed bin (18) unsigned unaligned, 10 49 3 tsdpt fixed bin (36) unsigned unaligned, 10 50 3 tsddt fixed bin (36) unsigned unaligned, 10 51 3 tsdid bit (72) unaligned, 10 52 3 tsdsd bit (36) unaligned, 10 53 3 tsdst fixed bin (36) unsigned unaligned, 10 54 3 tsdjb fixed bin (35) unaligned, 10 55 3 tsdgt, 10 56 4 ust_loc fixed bin (18) unsigned unaligned, 10 57 4 gating_ctl fixed bin (18) unsigned unaligned, 10 58 3 tcdfr bit (36) unaligned; 10 59 10 60 dcl 1 gtss_ext_$flags aligned static ext 10 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 10 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 10 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 10 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 10 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 10 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 10 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 10 68 , 3 available bit (65) unal 10 69 ; 10 70 10 71 10 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 10 73 3 total_time (-10:71)fixed bin (71), 10 74 3 count (-10:71)fixed bin (17); 10 75 10 76 /* Declaration of Available File Table 10 77* */ 10 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 10 79 10 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 10 81 10 82 3 aft_entry (20), 10 83 4 altname char (8), /* altname name for attaching this file */ 10 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 10 85 4 previous_add fixed bin (24), /* Previously added entry. */ 10 86 4 next_add fixed bin (24), /* Entry added after this one. */ 10 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 10 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 10 89 10 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 10 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 10 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 10 93 10 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 10 95 /** Data structure to provide access to installed 10 96* subsystems fast library load. 10 97* **/ 10 98 dcl 1 gtss_ext_$fast_lib aligned ext 10 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 10 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 10 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 10 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 10 103 ; 10 104 10 105 /* Pointers to segments to regulate multipler 10 106* callers to files. Same segments are used to regulate 10 107* all simulator callers. 10 108**/ 10 109 dcl 1 gtss_ext_$mcfc aligned ext, 10 110 3 multics_lock_id bit(36), 10 111 3 wait_time fixed bin, 10 112 3 files_ptr ptr, 10 113 3 names_ptr ptr, 10 114 3 callers_ptr (0:3)ptr 10 115 ; 10 116 10 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 840 841 11 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 11 2 /* UST: User Status Table 11 3* definitions based on 11 4* System Tables, Order number DD14-01E, January 1981 11 5* Section 15, Time Sharing System 11 6* 11 7* Authors: Robert J. Grimes Created 11 8* - Albert N. Kepner 1978 11 9* - Robert M. May 11 10* - David B. Ward 11 11* Change: Dave Ward 02/23/79 Level 4 numbering. 11 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 11 13* Brought up to 4JS3 functionality 11 14**/ 11 15 /* octal word offsets of entries */ 11 16 dcl 1 gtss_ust_ext_$ust aligned ext, 11 17 3 gtss_ust, 11 18 /* 0-1 */ 4 lid bit (72), 11 19 /* 2 */ 4 lstp bit (36), 11 20 /* 3 */ 4 ltin bit (36), 11 21 /* 4 */ 4 lstio, 11 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 11 23 5 no_of_disk_io fixed bin (18) uns unal, 11 24 /* 5 */ 4 lsnub bit (36), 11 25 /* 6-7 */ 4 lchg bit (72), 11 26 /* 10 */ 4 lbuf, 11 27 5 address bit (18)unaligned, 11 28 5 tally bit (1)unaligned, 11 29 5 terminal_type bit (5)unaligned, 11 30 5 station_id bit (12)unaligned, 11 31 /* 11-12 */ 4 liost (0:1) bit (36), 11 32 /* 13 */ 4 lcc bit (36), 11 33 /* 14 */ 4 lback, 11 34 5 fill1 bit (18) unaligned, 11 35 5 gwake fixed bin (17) unaligned, 11 36 /* 15 */ 4 lflag, 11 37 5 mp_list bit (18) unaligned, 11 38 5 flags unaligned, 11 39 6 b18 bit (1) unaligned, 11 40 6 b19 bit (1) unaligned, 11 41 6 b20 bit (1) unaligned, 11 42 6 b21 bit (1) unaligned, 11 43 6 b22 bit (1) unaligned, 11 44 6 b23 bit (1) unaligned, 11 45 6 b24 bit (1) unaligned, 11 46 6 b25 bit (1) unaligned, 11 47 6 b26 bit (1) unaligned, 11 48 6 b27 bit (1) unaligned, 11 49 6 b28 bit (1) unaligned, 11 50 6 b29 bit (1) unaligned, 11 51 6 b30 bit (1) unaligned, 11 52 6 b31 bit (1) unaligned, 11 53 6 b32 bit (1) unaligned, 11 54 6 b33 bit (1) unaligned, 11 55 6 b34 bit (1) unaligned, 11 56 6 b35 bit (1) unaligned, 11 57 /* 16 */ 4 lkdss bit (36), 11 58 /* 17 */ 4 lfile, 11 59 5 program_stack fixed bin (17) unal, 11 60 5 file_list_ptr bit (18) unal, 11 61 /* 20 */ 4 lttys bit (36), 11 62 /* 21 */ 4 lswth, 11 63 5 b0 bit (1) unaligned, 11 64 5 b1 bit (1) unaligned, 11 65 5 b2 bit (1) unaligned, 11 66 5 b3 bit (1) unaligned, 11 67 5 b4 bit (1) unaligned, 11 68 5 b5 bit (1) unaligned, 11 69 5 b6 bit (1) unaligned, 11 70 5 b7 bit (1) unaligned, 11 71 5 b8 bit (1) unaligned, 11 72 5 b9 bit (1) unaligned, 11 73 5 b10 bit (1) unaligned, 11 74 5 b11 bit (1) unaligned, 11 75 5 b12 bit (1) unaligned, 11 76 5 b13 bit (1) unaligned, 11 77 5 b14 bit (1) unaligned, 11 78 5 b15 bit (1) unaligned, 11 79 5 b16 bit (1) unaligned, 11 80 5 b17 bit (1) unaligned, 11 81 5 b18 bit (1) unaligned, 11 82 5 b19 bit (1) unaligned, 11 83 5 b20 bit (1) unaligned, 11 84 5 b21 bit (1) unaligned, 11 85 5 b22 bit (1) unaligned, 11 86 5 b23 bit (1) unaligned, 11 87 5 b24 bit (1) unaligned, 11 88 5 b25 bit (1) unaligned, 11 89 5 b26 bit (1) unaligned, 11 90 5 b27 bit (1) unaligned, 11 91 5 b28 bit (1) unaligned, 11 92 5 b29 bit (1) unaligned, 11 93 5 b30 bit (1) unaligned, 11 94 5 b31 bit (1) unaligned, 11 95 5 b32 bit (1) unaligned, 11 96 5 b33 bit (1) unaligned, 11 97 5 b34 bit (1) unaligned, 11 98 5 b35 bit (1) unaligned, 11 99 /* 22 */ 4 lsize, 11 100 5 bar fixed bin (17) unaligned, 11 101 5 limit bit (18) unaligned, 11 102 /* 23... */ 4 lswap, 11 103 5 fill bit (18) unal, 11 104 5 size bit (18) unal, 11 105 /* ...24 */ 4 transfer_cell bit (36) unal, 11 106 /* 25 */ 4 lerrm bit (36), 11 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 11 108 /* 40 */ 4 lsybc, 11 109 5 b0_17 fixed bin (17) unaligned, 11 110 5 b18_35 fixed bin (17) unaligned, 11 111 /* 41-42 */ 4 lstem (0:1) bit (36), 11 112 /* 43 */ 4 lcals, 11 113 5 b0_17 fixed bin (17) unaligned, 11 114 5 b18_35 bit (18) unaligned, 11 115 /* 44-51 */ 4 subsystems (3), 11 116 5 content_lswap, 11 117 6 fill bit (18) unal, 11 118 6 size bit (18) unal, 11 119 5 tally_address fixed bin (17) unaligned, 11 120 5 ss_flags bit (18) unaligned, 11 121 /* 52 */ 4 ltalc, 11 122 5 tod fixed bin (17) unaligned, 11 123 5 startup fixed bin (17) unaligned, 11 124 /* 53 */ 4 lspts fixed bin (35), 11 125 /* 54 */ 4 lflg2, 11 126 5 b0 bit (1) unaligned, 11 127 5 b1 bit (1) unaligned, 11 128 5 b2 bit (1) unaligned, 11 129 5 b3 bit (1) unaligned, 11 130 5 b4 bit (1) unaligned, 11 131 5 b5 bit (1) unaligned, 11 132 5 b6 bit (1) unaligned, 11 133 5 b7 bit (1) unaligned, 11 134 5 b8 bit (1) unaligned, 11 135 5 b9 bit (1) unaligned, 11 136 5 b10 bit (1) unaligned, 11 137 5 b11 bit (1) unaligned, 11 138 5 b12 bit (1) unaligned, 11 139 5 b13 bit (1) unaligned, 11 140 5 b14 bit (1) unaligned, 11 141 5 b15 bit (1) unaligned, 11 142 5 b16 bit (1) unaligned, 11 143 5 b17 bit (1) unaligned, 11 144 5 b18 bit (1) unaligned, 11 145 5 b19 bit (1) unaligned, 11 146 5 b20 bit (1) unaligned, 11 147 5 b21 bit (1) unaligned, 11 148 5 b22 bit (1) unaligned, 11 149 5 b23 bit (1) unaligned, 11 150 5 b24 bit (1) unaligned, 11 151 5 b25 bit (1) unaligned, 11 152 5 b26 bit (1) unaligned, 11 153 5 b27 bit (1) unaligned, 11 154 5 b28 bit (1) unaligned, 11 155 5 b29 bit (1) unaligned, 11 156 5 b30 bit (1) unaligned, 11 157 5 b31 bit (1) unaligned, 11 158 5 b32 bit (1) unaligned, 11 159 5 b33 bit (1) unaligned, 11 160 5 b34 bit (1) unaligned, 11 161 5 b35 bit (1) unaligned, 11 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 11 163 /* 61 */ 4 lsprt fixed bin (35), 11 164 /* 62 */ 4 ltrm bit (36), 11 165 /* 63 */ 4 linno fixed bin (35), 11 166 /* 64 */ 4 lincr fixed bin (35), 11 167 /* 65 */ 4 ltdes bit (36), 11 168 /* 66 */ 4 lbptr bit (36), 11 169 /* 67 */ 4 lpptr, 11 170 5 last_file_pat_ptr bin (18) uns unal, 11 171 5 lpptr_reserved bin (18) uns unal, 11 172 /* 70 */ 4 lsclp bit (36), 11 173 /* 71 */ 4 limit fixed bin (35), 11 174 /* 72 */ 4 lacpt, 11 175 5 jout_pat_offset bit (18) unal, 11 176 5 permissions unal, 11 177 6 lodx bit (1) unal, 11 178 6 cardin bit (1) unal, 11 179 6 talk bit (1) unal, 11 180 6 lods bit (1) unal, 11 181 5 cardin_urgency bit (14) unal, 11 182 /* 73 */ 4 ldrl, 11 183 5 ilc bit (18) unaligned, 11 184 5 code fixed bin (17) unaligned, 11 185 /* 74 */ 4 ljsnb bit (36), 11 186 /* 75 */ 4 ltm0 bit (36), 11 187 /* 76 */ 4 ltm1 bit (36), 11 188 /* 77 */ 4 ltm2 bit (36), 11 189 /* 100 */ 4 ltm3 bit (36), 11 190 /* 101 */ 4 ltm4 bit (36), 11 191 /* 102 */ 4 ltm5 bit (36), 11 192 /* 103 */ 4 ltmwt bit (36), 11 193 /* 104 */ 4 ltmrs bit (36), 11 194 /* 105 */ 4 ltc0 bit (36), 11 195 /* 106 */ 4 ltc1 bit (36), 11 196 /* 107 */ 4 ltc2 bit (36), 11 197 /* 110 */ 4 lct3 bit (36), 11 198 /* 111 */ 4 ltc4 bit (36), 11 199 /* 112 */ 4 ltc5 bit (36), 11 200 /* 113 */ 4 ltcw bit (36), 11 201 /* 114 */ 4 lkst bit (36), 11 202 /* 115 */ 4 lkst2 bit (36), 11 203 /* 116 */ 4 lkcc bit (36), 11 204 /* 117 */ 4 lkms bit (36), 11 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 11 206 /* 122 */ 4 lkntp bit (36), 11 207 /* 123 */ 4 lkrdc bit (36), 11 208 /* 124 */ 4 lpqf bit (36), 11 209 /* 125 */ 4 lpqb bit (36), 11 210 /* 126 */ 4 lustl bit (36), 11 211 /* 127 */ 4 ltemp bit (36), 11 212 /* 130 */ 4 lrtll, 11 213 5 word_length fixed bin unaligned, 11 214 5 char_length fixed bin unaligned, 11 215 /* 131 */ 4 ltim bit (36), 11 216 /* 132 */ 4 lcfio, 11 217 5 sect_out fixed bin(18)unsigned unal, 11 218 5 sect_in fixed bin(18)unsigned unal, 11 219 /* 133 */ 4 lcfst, 11 220 5 initial_sect_out fixed bin(18)unsigned unal, 11 221 5 start_term fixed bin(18)unsigned unal, 11 222 /* 134 */ 4 lcmpt bit (36), 11 223 /* 135 */ 4 lcjid bit (36), 11 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 11 225 /* 140 */ 4 lrdta bit (36), 11 226 /* 141 */ 4 lrrsk bit (36), 11 227 /* 142 */ 4 lrskd bit (36), 11 228 /* 143 */ 4 lrcc bit (36), 11 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 11 230 /* 146 */ 4 lrtm bit (36), 11 231 /* 147 */ 4 lswt2, 11 232 5 b0 bit (1) unaligned, 11 233 5 b1 bit (1) unaligned, 11 234 5 b2 bit (1) unaligned, 11 235 5 b3 bit (1) unaligned, 11 236 5 b4 bit (1) unaligned, 11 237 5 b5 bit (1) unaligned, 11 238 5 b6 bit (1) unaligned, 11 239 5 b7 bit (1) unaligned, 11 240 5 b8 bit (1) unaligned, 11 241 5 b9 bit (1) unaligned, 11 242 5 b10 bit (1) unaligned, 11 243 5 b11 bit (1) unaligned, 11 244 5 b12 bit (1) unaligned, 11 245 5 b13 bit (1) unaligned, 11 246 5 b14 bit (1) unaligned, 11 247 5 b15 bit (1) unaligned, 11 248 5 b16 bit (1) unaligned, 11 249 5 b17 bit (1) unaligned, 11 250 5 b18 bit (1) unaligned, 11 251 5 b19 bit (1) unaligned, 11 252 5 b20 bit (1) unaligned, 11 253 5 b21 bit (1) unaligned, 11 254 5 b22 bit (1) unaligned, 11 255 5 b23 bit (1) unaligned, 11 256 5 b24 bit (1) unaligned, 11 257 5 b25 bit (1) unaligned, 11 258 5 b26 bit (1) unaligned, 11 259 5 b27 bit (1) unaligned, 11 260 5 b28 bit (1) unaligned, 11 261 5 b29 bit (1) unaligned, 11 262 5 b30 bit (1) unaligned, 11 263 5 b31 bit (1) unaligned, 11 264 5 b32 bit (1) unaligned, 11 265 5 b33 bit (1) unaligned, 11 266 5 b34 bit (1) unaligned, 11 267 5 b35 bit (1) unaligned, 11 268 /* 150 */ 4 llsnb bit (36), 11 269 /* 151 */ 4 lesq bit (36), 11 270 /* 152-153 */ 4 lumc (0:1) bit (36), 11 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 11 272 /* 156 */ 4 lopts bit (36), 11 273 /* 157 */ 4 licec, 11 274 5 b0_17 bit (18) unaligned, 11 275 5 b18_35 fixed bin (17) unaligned, 11 276 /* 160 */ 4 lflg3, 11 277 5 b0 bit (1) unaligned, 11 278 5 b1 bit (1) unaligned, 11 279 5 b2 bit (1) unaligned, 11 280 5 b3 bit (1) unaligned, 11 281 5 b4 bit (1) unaligned, 11 282 5 b5 bit (1) unaligned, 11 283 5 b6 bit (1) unaligned, 11 284 5 b7 bit (1) unaligned, 11 285 5 b8 bit (1) unaligned, 11 286 5 b9 bit (1) unaligned, 11 287 5 b10 bit (1) unaligned, 11 288 5 b11 bit (1) unaligned, 11 289 5 b12 bit (1) unaligned, 11 290 5 b13 bit (1) unaligned, 11 291 5 b14 bit (1) unaligned, 11 292 5 b15 bit (1) unaligned, 11 293 5 b16 bit (1) unaligned, 11 294 5 b17 bit (1) unaligned, 11 295 5 b18 bit (1) unaligned, 11 296 5 b19 bit (1) unaligned, 11 297 5 b20 bit (1) unaligned, 11 298 5 b21 bit (1) unaligned, 11 299 5 b22 bit (1) unaligned, 11 300 5 b23 bit (1) unaligned, 11 301 5 b24 bit (1) unaligned, 11 302 5 b25 bit (1) unaligned, 11 303 5 b26 bit (1) unaligned, 11 304 5 b27 bit (1) unaligned, 11 305 5 b28 bit (1) unaligned, 11 306 5 b29 bit (1) unaligned, 11 307 5 b30 bit (1) unaligned, 11 308 5 b31 bit (1) unaligned, 11 309 5 b32 bit (1) unaligned, 11 310 5 b33 bit (1) unaligned, 11 311 5 b34 bit (1) unaligned, 11 312 5 b35 bit (1) unaligned, 11 313 /* 161-163 */ 4 lpage (0:2) bit (36), 11 314 /* 164 */ 4 lsit1 bit (36), 11 315 /* 165 */ 4 lsit2 bit (36), 11 316 /* 166 */ 4 lsit3 bit (36), 11 317 /* 167 */ 4 lsit4 bit (36), 11 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 11 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 11 320 5 b0_17 fixed bin (17) unaligned, 11 321 5 b18_35 bit (18) unaligned, /* not used */ 11 322 /* 171-175 */ 4 lprgs (5), 11 323 5 b0_17 fixed bin (17) unaligned, 11 324 5 b18_35 fixed bin (17) unaligned, 11 325 /* 176 */ 4 fill bit (36), 11 326 /* 177 */ 4 remote_io_buffer aligned, 11 327 5 buffer_control_word, 11 328 6 current_line_pointer bit (18)unal, 11 329 6 buffer_threshold_address bit (18)unal, 11 330 5 number_words_transmitted fixed bin (17)unal, 11 331 5 FILL1 fixed bin (17)unal, 11 332 5 count_of_characters_transmitted fixed bin (17)unal, 11 333 5 FILL2 fixed bin (17)unal, 11 334 5 characters_transmitted (244) char (1) unal, 11 335 /* 277 */ 4 word_after_ust bit (36) aligned; 11 336 11 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 842 843 12 1 /* BEGIN INCLUDE FILE gtss_checksum.incl.pl1 */ 12 2 12 3 checksum: proc (p, n) returns (bit (36)aligned); 12 4 12 5 /* Calculate checksum of "n" words pointed to by "p". 12 6* 12 7* Author: Al Kepner 1978 12 8* Change: Al Dupuis 09/24/79 Added an extra add after do loop in case carry was generated. 12 9**/ 12 10 dcl p ptr parm; 12 11 dcl n fixed bin (18)parm; 12 12 12 13 /* Calculate the checksum for n words starting at p */ 12 14 12 15 a = 0; 12 16 do i = 1 to n; 12 17 b = fixed (array (i), 36) + fixed (sum, 36) + fixed (carry, 1); 12 18 a = b; 12 19 end; 12 20 b = fixed (sum, 36) + fixed (carry, 1); /* last add may have generated carry */ 12 21 a = b; 12 22 return (sum); 12 23 12 24 dcl a fixed bin(71); 12 25 dcl b fixed bin(71); 12 26 dcl i fixed bin(24); 12 27 dcl array (n) bit (36) based (p); 12 28 dcl 1 a_overlay aligned based (addr (a)), 12 29 2 fill bit (35) unal, 12 30 2 carry bit (1) unal, 12 31 2 sum bit (36); 12 32 12 33 end checksum; 12 34 12 35 /* END INCLUDE FILE gtss_checksum.incl.pl1 */ 844 845 end; /* gtss_dq */ SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1028.9 gtss_dq_.pl1 >spec>on>7105>gtss_dq_.pl1 824 1 09/09/83 1714.0 gtss_file_values.incl.pl1 >ldd>include>gtss_file_values.incl.pl1 826 2 09/09/83 1713.6 gtss_def_q_.incl.pl1 >ldd>include>gtss_def_q_.incl.pl1 828 3 12/10/84 1029.7 gtss_deferred_queue.incl.pl1 >spec>on>7105>gtss_deferred_queue.incl.pl1 830 4 09/09/83 1713.7 gtss_device_cmds.incl.pl1 >ldd>include>gtss_device_cmds.incl.pl1 832 5 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 834 6 09/09/83 1713.2 gtss_dfd_ext_.incl.pl1 >ldd>include>gtss_dfd_ext_.incl.pl1 836 7 09/09/83 1714.2 gtss_tfa_ext_.incl.pl1 >ldd>include>gtss_tfa_ext_.incl.pl1 7-14 8 09/09/83 1714.0 gtss_file_attributes.incl.pl1 >ldd>include>gtss_file_attributes.incl.pl1 838 9 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 840 10 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 842 11 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 844 12 09/09/83 1713.5 gtss_checksum.incl.pl1 >ldd>include>gtss_checksum.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. CR 000100 automatic char(1) initial unaligned dcl 740 set ref 740* DQ 112 000034 external static char(8) level 2 dcl 2-5 set ref 619 619 647 647 675 675 Device_Command 2 000034 external static bit(6) level 4 packed unaligned dcl 2-5 set ref 191* 216* 245* 255* 303* 352* 367* 377* 392* 618* 673* OP2 2 000034 external static structure level 3 dcl 2-5 RECORD 12 000034 external static structure level 2 dcl 2-5 Seek_Address 6 000034 external static fixed bin(35,0) level 2 dcl 2-5 set ref 190* 215* 244* 254* 302* 351* 365* 366* 376* 393* 674* a 000526 automatic fixed bin(71,0) dcl 12-24 set ref 12-15* 12-17 12-17 12-18* 12-20 12-20 12-21* 12-22 a_overlay based structure level 1 dcl 12-28 absin_fn 000101 automatic char(32) initial unaligned dcl 742 set ref 433* 452* 742* aid 1(09) based char(19) array level 2 packed unaligned dcl 815 set ref 295* 311* 321* array based bit(36) array unaligned dcl 12-27 ref 12-17 ascii_date 000304 automatic structure level 1 dcl 806 set ref 606 606 attr 100(04) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* attr 105(01) 000312 automatic bit(35) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 487* 550 attributes 105 000312 automatic structure level 2 dcl 1-56 b 000530 automatic fixed bin(71,0) dcl 12-25 set ref 12-17* 12-18 12-20* 12-21 bcd_jid 000111 automatic bit(30) unaligned dcl 743 set ref 211 211 240 240 348 348 708 bcd_job_id based bit(30) level 3 packed unaligned dcl 3-23 set ref 294 294 310 310 708 bit12 000310 automatic bit(12) level 2 packed unaligned dcl 819 set ref 102* 105 110 124* 128 164 165* 582 583* 726 727* busy 100(03) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* busy 101(01) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 480* caller 000112 automatic varying char(32) dcl 744 set ref 63* 78* 88* 102* 111* 124* 139* 150* 165* 183* 210* 239* 270* 272* 279* 340* 343* 418* 427* 447* 455* 493* 507* 513* 527* 538* 568* 583* 627* 642* 655* 683* 727* carry 0(35) based bit(1) level 2 packed unaligned dcl 12-28 ref 12-17 12-20 cat_e_parm parameter fixed bin(18,0) unsigned dcl 746 set ref 199 222* 226* cat_entries_avail 000124 automatic fixed bin(18,0) unsigned dcl 747 set ref 249* 254 665* cat_entry 000123 automatic fixed bin(18,0) unsigned dcl 745 set ref 226 254 693* 698* 698 700* 700 706* 707* change_name 73 000312 automatic bit(1) level 2 dcl 1-56 set ref 476* 520* char_string 000125 automatic varying char(252) dcl 748 set ref 442* 443 444 chars based char unaligned dcl 750 set ref 444* checksum_field based bit(36) unaligned dcl 749 set ref 388* clock_ 000014 constant entry external dcl 751 ref 593 593 code 000225 automatic fixed bin(35,0) dcl 752 set ref 93* 115* 155* 184* 185 212* 213 241* 242 407* 409 410* 416* 417 418* 424* 426 427* 433* 435 436* 445* 446 447* 452* 454 455* 491* 492 493* 503* 504 505* 506 512 513* 525* 526 527* 536* 537 538* 566* 567 573* 619* 627* 640* 641 647* 655* 675* 683* 720* 721 725* com_err_ 000036 constant entry external dcl 5-8 ref 46 88 102 111 124 150 165 272 343 410 418 427 436 447 455 493 507 513 527 538 568 583 627 642 655 683 727 creation_date 106 000312 automatic char(6) level 2 in structure "gtss_file_values" dcl 1-56 in procedure "gtss_dq_" set ref 489* creation_date 100(07) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* cs based char(1) array unaligned dcl 753 set ref 613 csl 000226 automatic fixed bin(24,0) dcl 754 set ref 443* 444 445 curll 100(02) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* curll 102 000312 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 1-56 in procedure "gtss_dq_" set ref 483* 548 559 curr_entry 000227 automatic fixed bin(18,0) unsigned dcl 755 set ref 286* 292 294 294 295 295 296* 296 308 310 310 311 311 312* 312 317 318 318 current_size 1 based fixed bin(24,0) level 2 dcl 8-11 set ref 548* d_buf 000232 automatic bit(2304) array unaligned dcl 759 set ref 375 383* 388 388 388 388 391 data_fields 102 000312 automatic structure level 2 dcl 1-56 data_flags 101 000312 automatic structure level 2 dcl 1-56 date builtin function dcl 758 ref 488 date_val 000306 automatic structure level 1 packed unaligned dcl 810 set ref 488* day_of_month 000230 automatic fixed bin(17,0) dcl 756 set ref 593* 605 day_of_week 000231 automatic fixed bin(17,0) dcl 757 set ref 593* db_dq defined bit(1) unaligned dcl 9-32 ref 102 111 124 318 dc_ptr 000232 automatic pointer initial dcl 760 set ref 227 290* 291 292 294 294 306* 307 308 310 310 358* 364 613* 614 615 616 707* 708 760* dcdsd 4 based bit(36) level 2 packed unaligned dcl 3-23 set ref 615* dcdst 5 based fixed bin(35,0) level 2 packed unaligned dcl 3-23 set ref 616* dcjid based structure level 2 packed unaligned dcl 3-23 dcp parameter pointer dcl 761 set ref 199 223* 227* dd 1 000306 automatic char(2) level 2 packed unaligned dcl 810 set ref 489 decode_clock_value_ 000016 constant entry external dcl 762 ref 593 descriptor 3 based structure level 2 dcl 8-11 device_type 3 based bit(6) level 3 packed unaligned dcl 8-11 set ref 551* dhbsn 4 based structure level 2 packed unaligned dcl 3-6 dhdat 2 based bit(36) level 2 packed unaligned dcl 3-6 set ref 606 606 615 dhrns 7 based fixed bin(36,0) level 2 packed unsigned unaligned dcl 3-6 set ref 611* dhtim 3 based fixed bin(36,0) level 2 packed unsigned unaligned dcl 3-6 set ref 610* dib_ptr 000234 automatic pointer initial dcl 763 set ref 763* dibp parameter pointer dcl 764 set ref 231 258* 259* did based char(5) array level 2 packed unaligned dcl 815 set ref 294 294 295* 310 310 311* 321* dname 1 000312 automatic char(168) level 2 packed unaligned dcl 1-56 set ref 93* 115* 155* 404* 407* 424* 433* 452* 523* 573* dq_catalog based structure level 1 packed unaligned dcl 3-23 set ref 614* dq_header based structure level 1 packed unaligned dcl 3-6 set ref 591* dqh_ptr 000236 automatic pointer initial dcl 765 set ref 218* 248* 249 278* 279 284 285 358* 383 391 590* 591 592 606 606 610 611 612 615 665 666 765* dqhp parameter pointer dcl 766 set ref 176 194* 195* drun_file_name 000240 automatic char(32) initial unaligned dcl 767 set ref 405 522 767* drun_file_size 000250 automatic fixed bin(24,0) initial dcl 768 set ref 254 416 483 484 592 768* drun_job_id parameter char(5) unaligned dcl 769 set ref 199 211 211 231 240 240 330 348 348 dy 1 000304 automatic picture(2) level 2 packed unaligned dcl 806 set ref 605* eip parameter pointer dcl 772 ref 262 271 292 294 294 295 295 308 310 310 311 311 321 321 321 ename 53 000312 automatic char(32) level 2 packed unaligned dcl 1-56 set ref 93* 115* 155* 477* 522* 573* entries_info based structure array level 1 unaligned dcl 815 error parameter bit(1) unaligned dcl 773 set ref 51 64* 69* 76 79* 82* 90* 133* 137 140* 144* 152* 168* 330 341* 345* 355* 361* 370* 380* 396* file_opened 000010 internal static bit(1) initial unaligned dcl 774 set ref 80 107* 130* 142 171* 589* 722* 733* fn 000251 automatic fixed bin(24,0) dcl 775 set ref 93* 115* 155* 184* 212* 241* 503* 505* 546 566* 573* 619* 640* 647* 675* 720* 725* gcos_status 000310 automatic structure level 1 dcl 819 set ref 93 93 115 115 155 155 573 573 725 725 gtss_abort_subsystem_ 000040 constant entry external dcl 5-15 ref 279 gtss_abs_$create_absin 000042 constant entry external dcl 5-21 ref 442 gtss_abs_$get_id 000044 constant entry external dcl 5-23 ref 295 311 gtss_aft_$add 000046 constant entry external dcl 5-26 ref 505 gtss_aft_$find 000050 constant entry external dcl 5-28 ref 184 212 241 503 566 640 720 gtss_ascii_bcd_ 000052 constant entry external dcl 5-30 ref 211 240 348 606 gtss_attributes_mgr_$get 000054 constant entry external dcl 5-31 ref 525 gtss_attributes_mgr_$set 000056 constant entry external dcl 5-32 ref 491 536 gtss_bcd_ascii_ 000060 constant entry external dcl 5-33 ref 294 310 gtss_def_q_$FILE 000034 external static structure level 1 dcl 2-5 gtss_dq_$hdrp 000062 constant entry external dcl 5-46 ref 278 gtss_ext_$db 000074 external static bit(1) array unaligned dcl 10-10 ref 102 102 111 111 124 124 318 318 gtss_file_attributes based structure level 1 dcl 8-11 gtss_file_attributes_ptr 000422 automatic pointer initial dcl 8-9 set ref 93* 115* 155* 8-9* 546* 547 548 549 550 551 552 554 556 557 558 559 573* gtss_file_values 000312 automatic structure level 1 dcl 1-56 set ref 525 525 536 536 gtss_ios_close_ 000064 constant entry external dcl 5-131 ref 725 gtss_ios_io_ 000066 constant entry external dcl 5-134 ref 619 647 675 gtss_ios_open_ 000070 constant entry external dcl 5-135 ref 93 115 155 573 gtss_tfa_ext_$file_attributes 000072 external static structure level 1 dcl 7-11 hcs_$make_seg 000020 constant entry external dcl 777 ref 407 433 hcs_$set_bc_seg 000022 constant entry external dcl 778 ref 416 445 hcs_$set_safety_sw 000024 constant entry external dcl 779 ref 424 452 i 000532 automatic fixed bin(24,0) dcl 12-26 in procedure "checksum" set ref 12-16* 12-17* i 000252 automatic fixed bin(18,0) unsigned dcl 780 in procedure "gtss_dq_" set ref 110* 124* 289* 290* 305* 306* 318* 321 321 321* 365 365 366 375* 376 383* 669* 672* 674* 691 698 698 ioa_ 000026 constant entry external dcl 781 ref 134 321 job_stat 6 based fixed bin(6,0) array level 2 in structure "entries_info" unsigned dcl 815 in procedure "gtss_dq_" set ref 292* 308* 321* job_stat parameter fixed bin(6,0) unsigned dcl 783 in procedure "gtss_dq_" set ref 330 342 343* 364 job_status 0(30) based fixed bin(6,0) level 3 packed unsigned unaligned dcl 3-23 set ref 291 292 307 308 364* llink_flag 3(18) based bit(1) level 3 packed unaligned dcl 8-11 set ref 556* local_error 000253 automatic bit(1) initial unaligned dcl 784 set ref 66 67 68 69 81 82 87 90 143 144 149 152 187* 189 194 214 218 220 221 243 247 252 253 258 354 355 360 361 369 370 379 380 395 396 412* 420* 429* 438* 449* 457* 495* 509* 515* 529* 540* 570* 586* 629* 644* 657* 685* 692* 730* 784* max_attempts 000254 automatic fixed bin(17,0) initial dcl 785 set ref 110 785* max_size based fixed bin(24,0) level 2 dcl 8-11 set ref 547* maxll 100(01) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* maxll 103 000312 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 1-56 in procedure "gtss_dq_" set ref 484* 547 milsec 000256 automatic fixed bin(71,0) dcl 787 set ref 608* 609 milsec64ths 000255 automatic fixed bin(35,0) dcl 786 set ref 609* 610 611 mm 0(18) 000306 automatic char(2) level 2 packed unaligned dcl 810 set ref 489 mo 0(18) 000304 automatic picture(2) level 2 packed unaligned dcl 806 set ref 604* mode 3(19) based bit(1) level 3 packed unaligned dcl 8-11 set ref 557* mode_random 100 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* mode_random 101 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 479* 552 557 month 000260 automatic fixed bin(17,0) dcl 788 set ref 593* 604 n parameter fixed bin(18,0) dcl 12-11 ref 12-3 12-16 new_ename 63 000312 automatic char(32) level 2 packed unaligned dcl 1-56 set ref 405* 407* 424* 521* no_characters 12 000034 external static fixed bin(18,0) level 3 packed unsigned unaligned dcl 2-5 set ref 195 218 248 259 358 590 704 no_of_cea 4 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 3-6 set ref 249 284 592* 665 666 no_of_e parameter fixed bin(18,0) unsigned dcl 789 ref 262 no_of_entries_found parameter fixed bin(18,0) unsigned dcl 790 set ref 262 274* 317* non_null 2 based bit(1) level 3 packed unaligned dcl 8-11 set ref 549* not_found 000261 automatic bit(1) unaligned dcl 791 set ref 671* 672 688* null_file 100(05) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* null_file 101(02) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 481* 549 number_allocations 104 000312 automatic fixed bin(35,0) level 3 in structure "gtss_file_values" dcl 1-56 in procedure "gtss_dq_" set ref 485* 535* number_allocations 100(06) 000312 automatic bit(1) level 3 in structure "gtss_file_values" packed unaligned dcl 1-56 in procedure "gtss_dq_" set ref 465* 534* p parameter pointer dcl 12-10 ref 12-3 12-17 perm 3(20) based bit(1) level 3 packed unaligned dcl 8-11 set ref 558* read_cmd constant bit(6) initial unaligned dcl 4-5 ref 191 216 245 255 303 352 377 673 read_limit 000262 automatic fixed bin(18,0) unsigned dcl 792 set ref 284* 301 666* 672 691 sec_no 000263 automatic fixed bin(18,0) unsigned dcl 793 set ref 301* 302* sector based bit(2304) unaligned dcl 794 set ref 383 391* 391 seg_ptr 000264 automatic pointer initial dcl 795 set ref 407* 416* 433* 444 445* 795* select_sequence 000034 external static structure level 2 dcl 2-5 set ref 619 619 619 619 647 647 647 647 675 675 675 675 set_switch 100 000312 automatic structure level 2 dcl 1-56 set ref 464* 533* size 3(22) based bit(14) level 3 packed unaligned dcl 8-11 set ref 559* sp 000266 automatic pointer initial dcl 796 set ref 612* 613 796* status 000270 automatic fixed bin(24,0) dcl 797 set ref 619* 626 627* 647* 654 655* 675* 682 683* sum 1 based bit(36) level 2 dcl 12-28 ref 12-17 12-20 12-22 temp_file 000072 external static structure array level 2 dcl 7-11 set ref 546 time_of_day 000272 automatic fixed bin(71,0) dcl 799 set ref 593* 608 time_zone 000274 automatic char(3) dcl 800 set ref 593* timer_manager_$sleep 000030 constant entry external dcl 798 ref 114 user_attr 2(01) based bit(35) level 3 packed unaligned dcl 8-11 set ref 550* user_attributes 2 based structure level 2 dcl 8-11 user_info_$homedir 000032 constant entry external dcl 801 ref 404 523 version 000312 automatic fixed bin(17,0) level 2 dcl 1-56 set ref 475* 491 491 519* wait_time 000276 automatic fixed bin(71,0) initial dcl 802 set ref 111* 114* 802* words based bit(288) array unaligned dcl 803 set ref 290 306 707 words_block 3(06) based bit(12) level 3 packed unaligned dcl 8-11 set ref 552* 554* wp 000300 automatic pointer initial dcl 804 set ref 285* 290 306 704* 707 804* write_cmd constant bit(6) initial unaligned dcl 4-7 ref 367 392 618 year 000302 automatic fixed bin(17,0) dcl 805 set ref 593* 603 yr 000304 automatic picture(2) level 2 packed unaligned dcl 806 set ref 603* yy 000306 automatic char(2) level 2 packed unaligned dcl 810 set ref 489 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. attr_name internal static char(4) initial array unaligned dcl 1-46 cout_sector based structure level 1 packed unaligned dcl 3-66 db_ defined bit(1) unaligned dcl 9-32 db_CFP_input defined bit(1) unaligned dcl 9-32 db_abs defined bit(1) unaligned dcl 9-32 db_attributes_mgr defined bit(1) unaligned dcl 9-32 db_drl_addmem defined bit(1) unaligned dcl 9-32 db_drl_callss defined bit(1) unaligned dcl 9-32 db_drl_defil defined bit(1) unaligned dcl 9-32 db_drl_dio defined bit(1) unaligned dcl 9-32 db_drl_filact defined bit(1) unaligned dcl 9-32 db_drl_filsp defined bit(1) unaligned dcl 9-32 db_drl_grow defined bit(1) unaligned dcl 9-32 db_drl_kin defined bit(1) unaligned dcl 9-32 db_drl_morlnk defined bit(1) unaligned dcl 9-32 db_drl_msub defined bit(1) unaligned dcl 9-32 db_drl_part defined bit(1) unaligned dcl 9-32 db_drl_retfil defined bit(1) unaligned dcl 9-32 db_drl_rew defined bit(1) unaligned dcl 9-32 db_drl_rstswh defined bit(1) unaligned dcl 9-32 db_drl_setswh defined bit(1) unaligned dcl 9-32 db_drl_switch defined bit(1) unaligned dcl 9-32 db_drl_t_cfio defined bit(1) unaligned dcl 9-32 db_expand_pathname defined bit(1) unaligned dcl 9-32 db_filact_funct02 defined bit(1) unaligned dcl 9-32 db_filact_funct03 defined bit(1) unaligned dcl 9-32 db_filact_funct04 defined bit(1) unaligned dcl 9-32 db_filact_funct05 defined bit(1) unaligned dcl 9-32 db_filact_funct10 defined bit(1) unaligned dcl 9-32 db_filact_funct11 defined bit(1) unaligned dcl 9-32 db_filact_funct14 defined bit(1) unaligned dcl 9-32 db_filact_funct18 defined bit(1) unaligned dcl 9-32 db_filact_funct19 defined bit(1) unaligned dcl 9-32 db_filact_funct21 defined bit(1) unaligned dcl 9-32 db_filact_funct22 defined bit(1) unaligned dcl 9-32 db_interp_prim defined bit(1) unaligned dcl 9-32 db_ios defined bit(1) unaligned dcl 9-32 db_mcfc defined bit(1) unaligned dcl 9-32 db_run_subsystem defined bit(1) unaligned dcl 9-32 debug_bit_names internal static structure array level 1 unaligned dcl 9-75 djid automatic char(5) unaligned dcl 770 dq_dib based structure level 1 packed unaligned dcl 3-39 eb automatic bit(1) unaligned dcl 771 gtss_CFP_abort_ 000000 constant entry external dcl 5-9 gtss_CFP_break_ 000000 constant entry external dcl 5-10 gtss_CFP_input_ 000000 constant entry external dcl 5-11 gtss_CFP_output_ 000000 constant entry external dcl 5-12 gtss_abandon_CFP_ 000000 constant entry external dcl 5-13 gtss_abort_dump_ 000000 constant entry external dcl 5-14 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 5-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 5-19 gtss_abs_$cpu_runout 000000 constant entry external dcl 5-20 gtss_abs_$dabt_check 000000 constant entry external dcl 5-22 gtss_abs_$get_drm 000000 constant entry external dcl 5-24 gtss_abs_login_banner_ 000000 constant entry external dcl 5-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 5-18 gtss_adjust_size_ 000000 constant entry external dcl 5-25 gtss_aft_$delete 000000 constant entry external dcl 5-27 gtss_aft_$initialize 000000 constant entry external dcl 5-29 gtss_bcd_ascii_$lc 000000 constant entry external dcl 5-34 gtss_break_vector_ 000000 constant entry external dcl 5-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 5-36 gtss_break_vector_$status 000000 constant entry external dcl 5-37 gtss_build_ 000000 constant entry external dcl 5-38 gtss_com_err_ 000000 constant entry external dcl 5-39 gtss_derail_processor_ 000000 constant entry external dcl 5-40 gtss_derail_processor_$set 000000 constant entry external dcl 5-41 gtss_dfd_ext_$disk_file_data external static structure array level 1 dcl 6-6 gtss_dq_$catp 000000 constant entry external dcl 5-42 gtss_dq_$create 000000 constant entry external dcl 5-43 gtss_dq_$dibp 000000 constant entry external dcl 5-44 gtss_dq_$entries_info 000000 constant entry external dcl 5-45 gtss_dq_$mod_js 000000 constant entry external dcl 5-47 gtss_dq_$open_exc 000000 constant entry external dcl 5-48 gtss_dq_$open_gen 000000 constant entry external dcl 5-49 gtss_drl_abort_ 000000 constant entry external dcl 5-50 gtss_drl_addmem_ 000000 constant entry external dcl 5-51 gtss_drl_callss_ 000000 constant entry external dcl 5-52 gtss_drl_corfil_ 000000 constant entry external dcl 5-53 gtss_drl_defil_ 000000 constant entry external dcl 5-54 gtss_drl_defil_$subr 000000 constant entry external dcl 5-55 gtss_drl_dio_ 000000 constant entry external dcl 5-56 gtss_drl_drlimt_ 000000 constant entry external dcl 5-57 gtss_drl_drlsav_ 000000 constant entry external dcl 5-58 gtss_drl_filact_ 000000 constant entry external dcl 5-59 gtss_drl_filsp_ 000000 constant entry external dcl 5-60 gtss_drl_grow_ 000000 constant entry external dcl 5-61 gtss_drl_gwake_ 000000 constant entry external dcl 5-62 gtss_drl_jsts_ 000000 constant entry external dcl 5-63 gtss_drl_kin_ 000000 constant entry external dcl 5-64 gtss_drl_kotnow_ 000000 constant entry external dcl 5-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 5-66 gtss_drl_koutn_ 000000 constant entry external dcl 5-67 gtss_drl_morlnk_ 000000 constant entry external dcl 5-68 gtss_drl_msub_ 000000 constant entry external dcl 5-69 gtss_drl_objtim_ 000000 constant entry external dcl 5-70 gtss_drl_part_ 000000 constant entry external dcl 5-71 gtss_drl_pasaft_ 000000 constant entry external dcl 5-72 gtss_drl_pasdes_ 000000 constant entry external dcl 5-73 gtss_drl_pasust_ 000000 constant entry external dcl 5-74 gtss_drl_pdio_ 000000 constant entry external dcl 5-75 gtss_drl_prgdes_ 000000 constant entry external dcl 5-76 gtss_drl_pseudo_ 000000 constant entry external dcl 5-77 gtss_drl_relmem_ 000000 constant entry external dcl 5-78 gtss_drl_restor_ 000000 constant entry external dcl 5-79 gtss_drl_retfil_ 000000 constant entry external dcl 5-80 gtss_drl_return_ 000000 constant entry external dcl 5-81 gtss_drl_rew_ 000000 constant entry external dcl 5-82 gtss_drl_rstswh_ 000000 constant entry external dcl 5-83 gtss_drl_setlno_ 000000 constant entry external dcl 5-84 gtss_drl_setswh_ 000000 constant entry external dcl 5-85 gtss_drl_snumb_ 000000 constant entry external dcl 5-86 gtss_drl_spawn_ 000000 constant entry external dcl 5-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 5-88 gtss_drl_stoppt_ 000000 constant entry external dcl 5-89 gtss_drl_switch_ 000000 constant entry external dcl 5-90 gtss_drl_sysret_ 000000 constant entry external dcl 5-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 5-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 5-93 gtss_drl_t_err_ 000000 constant entry external dcl 5-94 gtss_drl_t_goto_ 000000 constant entry external dcl 5-95 gtss_drl_t_linl_ 000000 constant entry external dcl 5-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 5-97 gtss_drl_tapein_ 000000 constant entry external dcl 5-98 gtss_drl_task_ 000000 constant entry external dcl 5-99 gtss_drl_termtp_ 000000 constant entry external dcl 5-100 gtss_drl_time_ 000000 constant entry external dcl 5-101 gtss_drun_ 000000 constant entry external dcl 5-102 gtss_dsd_lookup_ 000000 constant entry external dcl 5-103 gtss_dsd_process_ 000000 constant entry external dcl 5-104 gtss_edit_dsd_ 000000 constant entry external dcl 5-105 gtss_expand_pathname_ 000000 constant entry external dcl 5-107 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 5-108 gtss_ext_$CFP_bits external static structure level 1 dcl 10-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 10-33 gtss_ext_$aem external static fixed bin(17,0) dcl 10-8 gtss_ext_$aft external static structure level 1 dcl 10-78 gtss_ext_$bad_drl_rtrn external static label variable dcl 10-9 gtss_ext_$com_reg external static structure level 1 dcl 10-45 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 10-11 gtss_ext_$dispose_of_drl external static label variable dcl 10-12 gtss_ext_$drl_rtrn external static label variable array dcl 10-13 gtss_ext_$drm_path external static char(168) unaligned dcl 10-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 10-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 10-16 gtss_ext_$fast_lib external static structure level 1 dcl 10-98 gtss_ext_$finished external static label variable dcl 10-17 gtss_ext_$flags external static structure level 1 dcl 10-60 gtss_ext_$gdb_name external static char(8) unaligned dcl 10-18 gtss_ext_$get_line external static entry variable dcl 10-19 gtss_ext_$gtss_slave_area_seg external static pointer array dcl 10-20 gtss_ext_$hcs_work_area_ptr external static pointer dcl 10-21 gtss_ext_$homedir external static char(64) unaligned dcl 10-22 gtss_ext_$last_k_was_out external static bit(1) dcl 10-23 gtss_ext_$mcfc external static structure level 1 dcl 10-109 gtss_ext_$pdir external static varying char(168) dcl 10-24 gtss_ext_$popup_from_pi external static label variable dcl 10-25 gtss_ext_$ppt external static pointer dcl 10-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 10-26 gtss_ext_$put_chars external static entry variable dcl 10-27 gtss_ext_$restart_from_pi external static label variable dcl 10-28 gtss_ext_$restart_seg_ptr external static pointer dcl 10-29 gtss_ext_$sig_ptr external static pointer dcl 10-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 10-31 gtss_ext_$statistics external static structure level 1 dcl 10-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 10-32 gtss_ext_$user_id external static varying char(26) dcl 10-34 gtss_ext_$work_area_ptr external static pointer dcl 10-35 gtss_fail 000000 stack reference condition dcl 776 gtss_fault_processor_ 000000 constant entry external dcl 5-109 gtss_fault_processor_$timer_runout 000000 constant entry external dcl 5-111 gtss_filact_error_status_ 000000 constant entry external dcl 5-112 gtss_filact_funct02_ 000000 constant entry external dcl 5-113 gtss_filact_funct03_ 000000 constant entry external dcl 5-114 gtss_filact_funct04_ 000000 constant entry external dcl 5-115 gtss_filact_funct05_ 000000 constant entry external dcl 5-116 gtss_filact_funct08_ 000000 constant entry external dcl 5-117 gtss_filact_funct10_ 000000 constant entry external dcl 5-118 gtss_filact_funct11_ 000000 constant entry external dcl 5-119 gtss_filact_funct14_ 000000 constant entry external dcl 5-120 gtss_filact_funct18_ 000000 constant entry external dcl 5-121 gtss_filact_funct19_ 000000 constant entry external dcl 5-122 gtss_filact_funct21_ 000000 constant entry external dcl 5-123 gtss_filact_funct22_ 000000 constant entry external dcl 5-124 gtss_find_cond_frame_ 000000 constant entry external dcl 5-110 gtss_interp_prim_ 000000 constant entry external dcl 5-126 gtss_interp_prim_$callss 000000 constant entry external dcl 5-127 gtss_interp_prim_$sysret 000000 constant entry external dcl 5-128 gtss_interp_prim_$t_goto 000000 constant entry external dcl 5-129 gtss_ios_change_size_ 000000 constant entry external dcl 5-130 gtss_ios_exchange_names_ 000000 constant entry external dcl 5-132 gtss_ios_initialize_ 000000 constant entry external dcl 5-133 gtss_ios_position_ 000000 constant entry external dcl 5-136 gtss_mcfc_$close 000000 constant entry external dcl 5-139 gtss_mcfc_$delete 000000 constant entry external dcl 5-137 gtss_mcfc_$open 000000 constant entry external dcl 5-138 gtss_mcfc_empty 000000 constant entry external dcl 5-106 gtss_mcfc_init_ 000000 constant entry external dcl 5-125 gtss_read_starCFP_ 000000 constant entry external dcl 5-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 5-141 gtss_run_subsystem_ 000000 constant entry external dcl 5-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 5-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 5-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 5-145 gtss_set_slave_ 000000 constant entry external dcl 5-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 5-147 gtss_update_safe_store_ 000000 constant entry external dcl 5-148 gtss_ust_ext_$ust external static structure level 1 dcl 11-16 gtss_verify_access_ 000000 constant entry external dcl 5-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 5-150 gtss_write_starCFP_ 000000 constant entry external dcl 5-151 j automatic fixed bin(18,0) unsigned dcl 782 seek_cmd internal static bit(6) initial unaligned dcl 4-6 NAMES DECLARED BY EXPLICIT CONTEXT. access_dq 004003 constant entry internal dcl 501 ref 67 86 148 186 213 242 catp 001633 constant entry external dcl 199 checksum 005536 constant entry internal dcl 12-3 ref 388 close_file 005433 constant entry internal dcl 718 ref 80 142 633 create 000665 constant entry external dcl 51 create_file 003102 constant entry internal dcl 402 ref 65 dibp 001755 constant entry external dcl 231 entries_info 002123 constant entry external dcl 262 find_cat_entry 005371 constant entry internal dcl 702 ref 670 688 get_cat_entry 005210 constant entry internal dcl 663 ref 220 252 359 gtss_dq_ 000624 constant entry external dcl 9 hdrp 001540 constant entry external dcl 176 init_head_cat 004403 constant entry internal dcl 563 ref 68 mod_js 002604 constant entry external dcl 330 open_exc 000733 constant entry external dcl 76 open_gen 001340 constant entry external dcl 137 ref 187 read_sector 005047 constant entry internal dcl 637 ref 192 217 246 256 304 353 378 set_attr 003626 constant entry internal dcl 463 ref 66 write_sector 005045 constant entry internal dcl 637 ref 368 394 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 93 93 115 115 155 155 195 211 211 211 211 218 240 240 240 240 248 259 290 294 294 294 294 306 310 310 310 310 348 348 348 348 358 388 388 388 391 491 491 525 525 536 536 546 573 573 590 606 606 606 606 613 619 619 619 619 619 619 647 647 647 647 647 647 675 675 675 675 675 675 704 707 725 725 12-17 12-17 12-20 12-20 12-22 addrel builtin function ref 388 388 bit builtin function ref 559 divide builtin function ref 608 fixed builtin function ref 559 619 619 647 647 675 675 12-17 12-17 12-17 12-20 12-20 hbound builtin function ref 375 388 length builtin function ref 443 mod builtin function ref 603 null builtin function ref 194 223 258 271 279 279 279 760 763 765 795 796 804 8-9 rel builtin function ref 619 619 647 647 675 675 string builtin function ref 488 unspec builtin function set ref 591 614* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6246 6344 5657 6256 Length 7104 5657 76 524 366 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_dq_ 720 external procedure is an external procedure. create_file internal procedure shares stack frame of external procedure gtss_dq_. set_attr internal procedure shares stack frame of external procedure gtss_dq_. access_dq internal procedure shares stack frame of external procedure gtss_dq_. init_head_cat internal procedure shares stack frame of external procedure gtss_dq_. write_sector internal procedure shares stack frame of external procedure gtss_dq_. get_cat_entry internal procedure shares stack frame of external procedure gtss_dq_. find_cat_entry internal procedure shares stack frame of external procedure gtss_dq_. close_file internal procedure shares stack frame of external procedure gtss_dq_. checksum internal procedure shares stack frame of external procedure gtss_dq_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 file_opened gtss_dq_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_dq_ 000100 CR gtss_dq_ 000101 absin_fn gtss_dq_ 000111 bcd_jid gtss_dq_ 000112 caller gtss_dq_ 000123 cat_entry gtss_dq_ 000124 cat_entries_avail gtss_dq_ 000125 char_string gtss_dq_ 000225 code gtss_dq_ 000226 csl gtss_dq_ 000227 curr_entry gtss_dq_ 000230 day_of_month gtss_dq_ 000231 day_of_week gtss_dq_ 000232 d_buf gtss_dq_ 000232 dc_ptr gtss_dq_ 000234 dib_ptr gtss_dq_ 000236 dqh_ptr gtss_dq_ 000240 drun_file_name gtss_dq_ 000250 drun_file_size gtss_dq_ 000251 fn gtss_dq_ 000252 i gtss_dq_ 000253 local_error gtss_dq_ 000254 max_attempts gtss_dq_ 000255 milsec64ths gtss_dq_ 000256 milsec gtss_dq_ 000260 month gtss_dq_ 000261 not_found gtss_dq_ 000262 read_limit gtss_dq_ 000263 sec_no gtss_dq_ 000264 seg_ptr gtss_dq_ 000266 sp gtss_dq_ 000270 status gtss_dq_ 000272 time_of_day gtss_dq_ 000274 time_zone gtss_dq_ 000276 wait_time gtss_dq_ 000300 wp gtss_dq_ 000302 year gtss_dq_ 000304 ascii_date gtss_dq_ 000306 date_val gtss_dq_ 000310 gcos_status gtss_dq_ 000312 gtss_file_values gtss_dq_ 000422 gtss_file_attributes_ptr gtss_dq_ 000526 a checksum 000530 b checksum 000532 i checksum THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_in call_ext_out_desc call_ext_out return alloc_auto_adj mpfx2 mod_fx1 shorten_stack ext_entry trunc_fx2 real_to_real_tr divide_fx1 divide_fx3 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ com_err_ decode_clock_value_ gtss_abort_subsystem_ gtss_abs_$create_absin gtss_abs_$get_id gtss_aft_$add gtss_aft_$find gtss_ascii_bcd_ gtss_attributes_mgr_$get gtss_attributes_mgr_$set gtss_bcd_ascii_ gtss_dq_$hdrp gtss_ios_close_ gtss_ios_io_ gtss_ios_open_ hcs_$make_seg hcs_$set_bc_seg hcs_$set_safety_sw ioa_ pl1_date_ timer_manager_$sleep user_info_$homedir THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gtss_def_q_$FILE gtss_ext_$db gtss_tfa_ext_$file_attributes LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 740 000514 742 000516 759 000521 760 000575 763 000577 765 000600 767 000601 768 000604 784 000606 785 000607 795 000611 796 000613 802 000614 804 000616 8 9 000620 9 000623 46 000632 48 000661 51 000662 63 000676 64 000703 65 000707 66 000710 67 000714 68 000720 69 000724 70 000730 76 000731 78 000744 79 000751 80 000755 81 000761 82 000764 83 000770 86 000771 87 000772 88 000775 90 001022 91 001026 93 001027 102 001062 105 001116 107 001122 108 001125 110 001126 111 001141 114 001175 115 001210 124 001243 127 001303 128 001305 130 001311 131 001314 133 001315 134 001321 135 001335 137 001336 139 001351 140 001356 142 001362 143 001366 144 001371 145 001375 148 001376 149 001377 150 001402 152 001427 153 001433 155 001434 164 001467 165 001473 168 001524 169 001530 171 001531 173 001534 176 001535 183 001546 184 001553 185 001570 186 001572 187 001573 189 001601 190 001604 191 001607 192 001611 194 001612 195 001621 196 001626 199 001627 210 001641 211 001646 212 001670 213 001705 214 001710 215 001713 216 001716 217 001720 218 001721 220 001730 221 001733 222 001736 223 001740 224 001742 226 001743 227 001746 229 001750 231 001751 239 001763 240 001770 241 002012 242 002027 243 002032 244 002035 245 002040 246 002042 247 002043 248 002046 249 002052 252 002060 253 002064 254 002067 255 002077 256 002101 258 002102 259 002111 260 002116 262 002117 270 002131 271 002136 272 002143 274 002170 275 002172 278 002173 279 002202 284 002241 285 002255 286 002256 289 002260 290 002265 291 002271 292 002277 294 002310 295 002331 296 002354 298 002355 301 002357 302 002367 303 002372 304 002374 305 002375 306 002403 307 002407 308 002415 310 002426 311 002447 312 002472 314 002473 315 002475 317 002477 318 002503 321 002523 323 002575 326 002577 330 002600 340 002615 341 002622 342 002626 343 002632 345 002663 346 002667 348 002670 351 002711 352 002714 353 002716 354 002717 355 002722 356 002726 358 002727 359 002735 360 002736 361 002741 362 002745 364 002746 365 002756 366 002764 367 002770 368 002772 369 002773 370 002776 371 003002 375 003003 376 003011 377 003014 378 003016 379 003017 380 003022 381 003026 383 003027 384 003036 388 003040 391 003056 392 003063 393 003067 394 003070 395 003071 396 003074 397 003100 400 003101 402 003102 404 003103 405 003114 407 003117 409 003156 410 003160 412 003210 413 003212 416 003213 417 003235 418 003237 420 003263 421 003265 424 003266 426 003315 427 003317 429 003343 430 003345 433 003346 435 003405 436 003407 438 003437 439 003441 442 003442 443 003467 444 003472 445 003477 446 003514 447 003516 449 003542 450 003544 452 003545 454 003574 455 003576 457 003622 458 003624 461 003625 463 003626 464 003627 465 003651 475 003671 476 003673 477 003674 479 003677 480 003701 481 003703 483 003705 484 003707 485 003710 487 003711 488 003713 489 003722 491 003736 492 003751 493 003753 495 003777 496 004001 499 004002 501 004003 503 004004 504 004021 505 004023 506 004040 507 004043 509 004070 510 004072 512 004073 513 004075 515 004126 516 004130 519 004131 520 004133 521 004134 522 004137 523 004142 525 004153 526 004166 527 004170 529 004221 530 004223 533 004224 534 004246 535 004250 536 004252 537 004265 538 004267 540 004320 541 004322 546 004323 547 004331 548 004333 549 004335 550 004344 551 004350 552 004352 554 004360 556 004362 557 004364 558 004371 559 004373 560 004402 563 004403 566 004404 567 004421 568 004423 570 004450 571 004452 573 004453 582 004506 583 004512 586 004543 587 004545 589 004546 590 004551 591 004554 592 004557 593 004576 603 004627 604 004642 605 004651 606 004661 608 004703 609 004710 610 004714 611 004724 612 004733 613 004734 614 004737 615 004742 616 004745 618 004750 619 004754 626 005006 627 005010 629 005040 630 005042 633 005043 635 005044 637 005045 640 005050 641 005065 642 005067 644 005114 645 005116 647 005117 654 005152 655 005154 657 005204 658 005206 661 005207 663 005210 665 005211 666 005220 669 005226 670 005227 671 005234 672 005236 673 005247 674 005253 675 005254 682 005305 683 005307 685 005337 686 005341 688 005342 689 005350 691 005352 692 005354 693 005356 698 005357 700 005366 716 005370 702 005371 704 005373 706 005377 707 005405 708 005411 710 005423 712 005425 718 005433 720 005434 721 005451 722 005453 723 005455 725 005456 726 005473 727 005477 730 005530 731 005532 733 005533 735 005535 12 3 005536 12 15 005540 12 16 005542 12 17 005551 12 18 005574 12 19 005575 12 20 005577 12 21 005606 12 22 005607 ----------------------------------------------------------- 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