COMPILATION LISTING OF SEGMENT cobol_io_ Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 1009.0 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_io_.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 10/27/81 by FCH, [5.1-1], issue diag if long line found, phx11819(BUG517) */ 23 /* Modified on 10/21/80 by FCH, [4.4-1], entry cobol_msf_start added for report writer */ 24 /* Modified on 10/16/79 by MHD, [4.1-1], changed expand_path_ to expand_pathname_, change 01011 to 01010 in make_seg calls */ 25 /* Modified on 05/01/79 by FCH, [4.0-1], tab scanning added, debug statement */ 26 /* Modified since Version 4.0 */ 27 28 29 30 31 32 33 /* format: style3 */ 34 cobol_io_: 35 proc; 36 37 /*************************************/ 38 39 initialize: 40 entry; 41 42 /*[4.0-1]*/ 43 LINE72.nl = " 44 "; 45 46 /*[4.0-1]*/ 47 TAB = " "; /*[4.0-1]*/ 48 STATE, REC_NUM = 0; /*[4.0-1]*/ 49 return; 50 51 set_state: 52 entry (st_num); 53 54 /*[4.0-1]*/ 55 STATE = st_num; /*[4.0-1]*/ 56 REC_NUM = 0; /*[4.0-1]*/ 57 return; 58 59 cobol_cselfle: 60 cselfle: 61 entry (cist, cifp, cifn, cilt, cisr, cioc, cifm); 62 63 dcl cist bit (32); 64 dcl cifp ptr; 65 dcl cifn char (*); 66 dcl cilt fixed bin; 67 dcl cisr fixed bin; 68 dcl cioc char (1) aligned; 69 dcl cifm bit (8); 70 71 start_cselfle: 72 if cioc = "k" | cioc = "K" 73 then do; 74 75 if cisr = 1 76 then do; /* set bit count */ 77 78 bc = 9 * (fixed (substr (bptr, 37, 18), 18)) * 4 + fixed (substr (bptr, 55, 9), 9); 79 80 call hcs_$set_bc_seg (cifp, bc, mcode); 81 82 if mcode ^= 0 83 then go to ci_error; 84 85 end; 86 else if cisr = -1 87 then do; 88 89 call hcs_$truncate_seg (cifp, 0, mcode); 90 91 if mcode ^= 0 92 then go to ci_error; 93 94 end; 95 96 call hcs_$terminate_noname (cifp, mcode); 97 98 if mcode ^= 0 99 then go to ci_error; 100 101 cifp = null (); 102 103 end; 104 else do; 105 106 /*[4.1-1]*/ 107 call expand_pathname_ (cifn, dname, ename, mcode); 108 109 if mcode ^= 0 110 then go to ci_error; 111 112 if cioc ^= "h" 113 then do; 114 115 call hcs_$initiate (dname, ename, "", 0b, 00b, cifp, mcode); 116 117 if cifp = null () 118 then go to ci_error; 119 120 temp = index (cistr, nl); 121 122 if temp = 0 123 then do; 124 125 mcode = error_table_$improper_data_format; 126 127 go to ci_error; 128 129 end; 130 end; 131 else do; 132 133 /*[4.1-1]*/ 134 call hcs_$make_seg (dname, ename, "", 01010b, cifp, mcode); 135 136 if cifp = null () 137 then go to ci_error; 138 139 call hcs_$truncate_seg (cifp, 0, mcode); 140 141 if mcode ^= 0 142 then go to ci_error; 143 144 end; 145 end; 146 147 cist = ""b; 148 149 return; 150 151 cobol_get_rec: 152 get_rec: 153 entry (cst, cfp, csr, crp, crl); 154 155 dcl cst bit (32); 156 dcl cfp ptr; 157 dcl csr fixed bin; 158 dcl crp ptr; 159 dcl crl fixed bin; 160 161 start_get_rec: /*[5.1-1]*/ 162 go to GRS (STATE); 163 164 GRS (0): /*[5.1-1]*/ 165 if csr = 0 166 then do; 167 cst = eof; 168 return; 169 end; 170 171 crl = index (cstr, nl); 172 173 if crl = 0 174 then cst = eof; 175 else do; 176 177 /*[4.0-1]*/ 178 if substr (fixed_common.compile_mode, 3, 1) 179 /*[4.0-1]*/ 180 then call expand_line; /*[4.0-1]*/ 181 else crp = cfp; 182 183 cfp = addr (substr (cstr, crl + 1, 1)); 184 cst = ""b; 185 186 /*[5.1-1]*/ 187 csr = csr - crl; 188 189 end; 190 191 return; 192 193 /* called by cobol_res_words, after WORKING STORAGE */ 194 /*[4.0-1]*/ 195 196 GRS (1): /*[4.0-1]*/ 197 REC_NUM = REC_NUM + 1; /*[4.0-1]*/ 198 call cobol_db_phase$get_rec (crp, REC_NUM); 199 200 GR1: /*[4.0-1]*/ 201 if REC_NUM = 0 /*[4.0-1]*/ 202 then do; 203 STATE = 0; /*[5.1-1]*/ 204 go to GRS (0); /*[4.0-1]*/ 205 end; 206 207 /*[4.0-1]*/ 208 cst = ""b; /*[4.0-1]*/ 209 crl = 73; 210 211 /*[4.0-1]*/ 212 return; 213 214 /* called by cobol_res_words, after PROCEDURE DIVISION */ 215 GRS (2): /*[4.0-1]*/ 216 REC_NUM = REC_NUM + 1; 217 218 /*[4.0-1]*/ 219 call cobol_db_phase$get_tok (crp, REC_NUM); 220 221 /*[4.0-1]*/ 222 go to GR1; /* called by cobol_res_words, after end declaratives */ 223 GRS (3): /*[4.0-1]*/ 224 REC_NUM = REC_NUM + 1; 225 226 /*[4.0-1]*/ 227 call cobol_db_phase$get_perf (crp, REC_NUM); 228 229 /*[4.0-1]*/ 230 go to GR1; 231 232 cobol_put_rec: 233 put_rec: 234 entry (cst, cfp, csr, crp, crl); 235 236 start_put_rec: 237 if substr (incstr, crl, 1) ^= nl 238 then do; /* add new-line if necessary */ 239 240 substr (cstr, 1, crl + 1) = incstr || nl; 241 242 cfp = addr (substr (cstr, crl + 2, 1)); 243 244 end; 245 else do; 246 247 substr (cstr, 1, crl) = incstr; 248 cfp = addr (substr (cstr, crl + 1, 1)); 249 250 end; 251 252 cst = ""b; 253 254 return; 255 256 257 /*[4.0-1]*/ 258 259 expand_line: 260 proc; 261 262 /*[4.0-1]*/ 263 dcl (i, j, tab_loc) fixed bin; /*[4.0-1]*/ 264 dcl ch char (1); 265 266 /*[4.0-1]*/ 267 tab_loc = index (substr (cstr, 1, 72), TAB); 268 269 /*[4.0-1]*/ 270 if tab_loc <= 0 /*[4.0-1]*/ 271 then do; 272 LINE72.body = substr (cstr, 1, 72); /*[4.0-1]*/ 273 crl = 73; /*[4.0-1]*/ 274 crp = addr (LINE72); /*[4.0-1]*/ 275 return; /*[4.0-1]*/ 276 end; 277 278 /*[4.0-1]*/ 279 i, j = 1; 280 tab_loc = 11; 281 LINE72.body = " "; 282 283 /*[4.0-1]*/ 284 do while ("1"b); 285 286 /*[4.0-1]*/ 287 ch = substr (cstr, i, 1); 288 289 /*[4.0-1]*/ 290 if ch ^= TAB /*[4.0-1]*/ 291 then do; 292 substr (LINE72.body, j, 1) = ch; /*[4.0-1]*/ 293 i = i + 1; /*[4.0-1]*/ 294 j = j + 1; /*[4.0-1]*/ 295 if j = 73 296 then go to END; /*[4.0-1]*/ 297 end; /*[4.0-1]*/ 298 else do; 299 i = i + 1; 300 301 /*[4.0-1]*/ 302 if i = crl 303 then go to END; 304 305 /*[4.0-1]*/ 306 do while (tab_loc < j); /*[4.0-1]*/ 307 tab_loc = tab_loc + 11; /*[4.0-1]*/ 308 end; 309 310 /*[4.0-1]*/ 311 if tab_loc > 72 312 then go to END; 313 314 /*[4.0-1]*/ 315 j = tab_loc; /*[4.0-1]*/ 316 end; 317 end; 318 319 END: /*[4.0-1]*/ 320 crl = 73; /*[4.0-1]*/ 321 crp = addr (LINE72); 322 323 end; 324 325 /*************************************/ 326 cobol_swf: 327 cobol_vdwf: 328 swf: 329 vdwf: 330 entry (fp, fn); 331 332 dcl fp ptr; 333 dcl fn char (*); 334 dcl temp_ptr ptr; /* temporary ptr */ 335 dcl st bit (32); 336 dcl rp ptr; 337 dcl rl fixed bin; 338 dcl pm char (2) aligned; 339 dcl rk char (5) unaligned; 340 341 start_init: /*[4.1-1]*/ 342 call expand_pathname_ (fn, dname, ename, mcode); 343 344 if mcode ^= 0 345 then go to init_error; 346 347 /*[4.1-1]*/ 348 call hcs_$make_seg (dname, ename, "", 01010b, fp, mcode); 349 350 if fp = null () 351 then go to init_error; 352 353 call hcs_$truncate_seg (fp, 0, mcode); 354 355 if mcode ^= 0 356 then go to init_error; 357 358 return; 359 360 cobol_swf_open: 361 swf_open: 362 entry (fp, st, rp, rl, pm); 363 364 start_swf_open: 365 if pm = "in" 366 then do; 367 368 if shdr.code ^= 10 369 then go to soi_error; /* bad format */ 370 371 temp_ptr = shdr.prev_file; 372 373 do while (temp_ptr ^= null ()); 374 375 fp = temp_ptr; 376 temp_ptr = fp -> shdr.prev_file; 377 378 end; 379 end; 380 else do; /* output */ 381 382 call hcs_$truncate_seg (fp, 0, mcode); 383 384 if mcode ^= 0 385 then go to soo_error; 386 387 shdr.code = 10; 388 shdr.prev_file = null (); 389 shdr.next_file = null (); 390 391 call hcs_$fs_get_path_name (fp, dname, len, ename, mcode); 392 393 if mcode ^= 0 394 then call com_err_ (mcode, "cobol_io", "fail to get path name"); 395 396 if ename = "cobol_pdout_" 397 then fc = "pout"; 398 else if ename = "cobol_minpral-1_" 399 then fc = "min1"; 400 else if ename = "cobol_minpral-2_" 401 then fc = "min2"; 402 else if ename = "cobol_rmin2_" 403 then fc = "rmin"; 404 405 end; 406 407 shdr.next = 15; 408 st = ""b; 409 410 return; 411 412 cobol_swf_get: 413 swf_get: 414 entry (fp, st, rp, rl); 415 416 start_swf_get: 417 vp = pointer (fp, shdr.next); 418 rl = length (vstr); 419 420 if rl = 0 421 then call cobol_ms_handler$get (fp, vp, st, rp, rl); 422 423 else do; 424 425 rp = addrel (vp, 1); 426 shdr.next = shdr.next + divide (rl + 7, 4, 17, 0); 427 st = ""b; 428 429 end; 430 431 return; 432 433 cobol_msf_start: 434 entry (fp, rp); 435 436 /*[4.4-1]*/ 437 rseg = binary (baseno (rp)); /*[4.4-1]*/ 438 fseg = binary (baseno (fp)); 439 440 /*[4.4-1]*/ 441 do while (rseg ^= fseg); 442 443 /*[4.4-1]*/ 444 fp = shdr.next_file; 445 fseg = binary (baseno (fp)); 446 447 /*[4.4-1]*/ 448 end; 449 450 /*[4.4-1]*/ 451 shdr.next = binary (rel (rp)); 452 453 /*[4.4-1]*/ 454 return; 455 456 cobol_save_pos: 457 entry (fp, rp); 458 459 /*[4.4-1]*/ 460 rp = addrel (fp, shdr.next); 461 462 /*[4.4-1]*/ 463 return; 464 465 466 cobol_db_put: 467 entry (fp, st, rp, rl, rloc); 468 469 /*[4.0-1]*/ 470 if shdr.next > 260000 471 then call cobol_ms_handler$put (fp, vp, st); 472 473 /*[4.0-1]*/ 474 vp, rloc = pointer (fp, shdr.next); 475 476 /*[4.0-1]*/ 477 go to csput; 478 479 cobol_swf_put: 480 swf_put: 481 entry (fp, st, rp, rl); 482 483 start_swf_put: 484 if shdr.next > 260000 485 then call cobol_ms_handler$put (fp, vp, st); 486 487 vp = pointer (fp, shdr.next); 488 489 csput: 490 vstr = instr; 491 shdr.next = shdr.next + divide (rl + 7, 4, 17, 0); 492 st = ""b; 493 494 return; 495 496 cobol_swf_close: 497 swf_close: 498 entry (fp, st, rp, rl); 499 500 start_close: 501 if file_no = 0 502 then shdr.prev_file = null (); 503 504 temp_ptr = shdr.prev_file; 505 506 if rl = 1 507 then do; /* close and delete */ 508 509 call hcs_$truncate_seg (fp, 0, mcode); 510 511 if mcode ^= 0 512 then go to close_error; 513 514 call hcs_$terminate_seg (fp, 0b, mcode); 515 516 if mcode ^= 0 517 then go to close_error; 518 519 end; 520 else do; 521 522 bc = 36 * shdr.next; 523 524 call hcs_$set_bc_seg (fp, bc, mcode); 525 526 if mcode ^= 0 527 then go to close_error; 528 529 end; 530 531 st = ""b; 532 533 if temp_ptr ^= null () 534 then do; 535 536 fp = temp_ptr; 537 go to start_close; 538 539 end; 540 541 return; 542 543 cobol_vdwf_close: 544 entry (fp, st, rp, rl); 545 546 if rl = 1 547 then do; 548 549 call hcs_$truncate_seg (fp, 0, mcode); 550 551 if mcode ^= 0 552 then go to close_error; 553 554 call hcs_$terminate_seg (fp, 0b, mcode); 555 556 if mcode ^= 0 557 then go to close_error; 558 559 end; 560 else do; 561 562 bc = 36 * vhdr.next_put; 563 564 call hcs_$set_bc_seg (fp, bc, mcode); 565 566 if mcode ^= 0 567 then go to close_error; 568 569 end; 570 571 st = ""b; 572 573 return; 574 575 576 cobol_vdwf_open: 577 vdwf_open: 578 entry (fp, st); 579 580 start_vdwf_open: 581 if vhdr.code ^= 2 582 then do; 583 584 vhdr.next_put = 8; 585 vhdr.code = 2; 586 587 588 589 end; 590 591 vhdr.next_get = 8; 592 st = ""b; 593 594 return; 595 596 cobol_vdwf_sget: 597 vdwf_sget: 598 entry (fp, st, rp, rl, rk); 599 600 start_vdwf_sget: 601 vp = pointer (fp, vhdr.next_get); 602 rl = length (vstr); 603 604 if rl <= 0 605 then st = eof; 606 607 else do; 608 609 if fp = cobol_ext_$cobol_ntfp 610 then rp = vp; 611 else rp = addrel (vp, 1); 612 613 rkb = vhdr.next_get; 614 rk = rkt; 615 616 if fp = cobol_ext_$cobol_ntfp 617 then vhdr.next_get = vhdr.next_get + divide (rl + 11, 8, 17, 0) * 2; 618 else vhdr.next_get = vhdr.next_get + divide (rl + 11, 4, 17, 0); 619 620 st = ""b; 621 622 end; 623 624 return; 625 626 627 628 629 630 631 632 cobol_vdwf_sput: 633 vdwf_sput: 634 entry (fp, st, rp, rl, rk); 635 636 start_vdwf_sput: 637 vp = pointer (fp, vhdr.next_put); 638 639 if fp = cobol_ext_$cobol_ntfp 640 then nt_vstr = instr; 641 else vstr = instr; 642 643 rkb = vhdr.next_put; 644 rk = rkt; 645 646 if fp = cobol_ext_$cobol_ntfp 647 then vhdr.next_put = vhdr.next_put + divide (rl + 11, 8, 17, 0) * 2; 648 else vhdr.next_put = vhdr.next_put + divide (rl + 11, 4, 17, 0); 649 650 st = ""b; 651 652 return; 653 654 cobol_vdwf_dget: 655 vdwf_dget: 656 entry (fp, st, rp, rl, rk); 657 658 start_vdwf_dget: 659 rkt = rk; 660 vp = pointer (fp, rkb); 661 662 if fp = cobol_ext_$cobol_ntfp 663 then rp = vp; 664 else rp = addrel (vp, 1); 665 666 rl = length (vstr); 667 668 if fp = cobol_ext_$cobol_ntfp 669 then vhdr.next_get = rkb + divide (rl + 11, 8, 17, 0) * 2; 670 else vhdr.next_get = rkb + divide (rl + 11, 4, 17, 0); 671 672 st = ""b; 673 674 return; 675 676 cobol_vdwf_dput: 677 vdwf_dput: 678 entry (fp, st, rp, rl, rk); 679 680 start_vdwf_dput: 681 rkt = rk; 682 vp = pointer (fp, rkb); 683 684 if fp = cobol_ext_$cobol_ntfp 685 then do; 686 687 if fbb < rl 688 then go to vdp_error; 689 690 nt_vstr = instr; 691 692 end; 693 694 else do; 695 696 if length (vstr) < rl 697 then go to vdp_error; 698 699 vstr = instr; 700 701 end; 702 703 st = ""b; 704 705 return; 706 707 /*************************************/ 708 709 cobol_swf_: 710 cobol_vdwf_: 711 swf_: 712 vdwf_: 713 entry (fp, fn); 714 715 start_save_init: /*[4.1-1]*/ 716 call expand_pathname_ (fn, dname, ename, mcode); 717 718 if mcode ^= 0 719 then go to save_error; 720 721 call hcs_$initiate (dname, ename, "", 0b, 00b, fp, mcode); 722 723 if fp = null () 724 then go to save_error; 725 726 return; 727 728 729 /*************************************/ 730 /* ERROR PROCESSING */ 731 732 dcl 1 ioerror, 733 2 name char (32), 734 2 code fixed bin (35), 735 2 action fixed bin, 736 2 iocb_ptr ptr, 737 2 file_type fixed bin, 738 2 key char (5); 739 740 dcl 1 iocb, 741 2 version fixed bin, 742 2 name char (32), 743 2 actual_ptr ptr, 744 2 attach_descrip_ptr 745 ptr; 746 747 dcl attach_descrip char (200) varying; 748 dcl signal_ entry (char (*), ptr, ptr); 749 dcl error_table_$bad_file 750 fixed bin (35) ext; 751 dcl error_table_$no_operation 752 fixed bin (35) ext; 753 754 ci_error: 755 if substr (cifm, 1, 1) 756 then do; 757 758 cist = "00000000000000001111111111111111"b; 759 760 return; 761 762 end; 763 764 attach_descrip = "cfile_ " || cifn; 765 766 if cioc = "s" | cioc = "S" 767 then ioerror.file_type = 1; 768 else if cioc = "c" | cioc = "C" 769 then ioerror.file_type = 2; 770 else ioerror.file_type = 3; 771 772 go to i_error; 773 774 init_error: 775 attach_descrip = "cfile_ " || fn; 776 ioerror.file_type = 6; 777 778 i_error: 779 ioerror.code = mcode; 780 ioerror.action = 1; 781 ioerror.iocb_ptr = addr (iocb); 782 iocb.attach_descrip_ptr = addr (attach_descrip); 783 784 go to error; 785 786 vdp_error: 787 ioerror.key = rk; 788 ioerror.code = error_table_$no_operation; 789 ioerror.action = 4; 790 ioerror.file_type = 5; 791 792 go to wf_error; 793 794 close_error: 795 ioerror.code = mcode; 796 ioerror.action = 7; 797 ioerror.file_type = 0; 798 799 go to wf_error; 800 801 soi_error: 802 ioerror.code = error_table_$bad_file; 803 804 go to so_error; 805 806 soo_error: 807 ioerror.code = mcode; 808 809 so_error: 810 ioerror.action = 2; 811 ioerror.file_type = 4; 812 813 wf_error: 814 ioerror.iocb_ptr = fp; 815 816 error: 817 ioerror.name = "cobol_io_"; 818 819 call signal_ ("command_abort_", null (), addr (ioerror)); 820 821 return; 822 823 save_error: 824 call com_err_ (mcode, "mcobol_io", fn); 825 call signal_ ("command_abort_", null (), null ()); 826 827 dcl 1 shdr based (fp) aligned, /* header of working file */ 828 2 x1 char (12), 829 2 next fixed bin, /* offset of next token */ 830 2 code fixed bin, /* 10 for sequential file */ 831 2 x3 char (4), /* unused */ 832 2 next_file ptr, /* points to next working file */ 833 2 prev_file ptr, /* points to previous file */ 834 2 fc char (4), /* file code for each different kind of file */ 835 2 file_no fixed bin, /* file count for each working file */ 836 2 x2 char (12), /* unused */ 837 2 first fixed bin; /* first token */ 838 839 dcl 1 vhdr based (fp) aligned, 840 2 x1 char (8), 841 2 next_get fixed bin, 842 2 next_put fixed bin, 843 2 code fixed bin, 844 2 x2 char (8), 845 2 first fixed bin; 846 847 dcl error_table_$noentry 848 fixed bin (35) ext; 849 dcl fcb_ptr ptr; 850 dcl (vp, rloc) ptr; 851 852 dcl (null, addr, substr, index, pointer, rel, baseno, binary) 853 builtin; 854 855 /*[4.0-1]*/ 856 declare 1 LINE72 static int, /*[4.0-1]*/ 857 2 body char (72), 858 2 nl char (1); 859 860 /*[4.0-1]*/ 861 declare TAB char (1) static int; /*[4.0-1]*/ 862 declare (REC_NUM, STATE) fixed bin static int; 863 864 /*[4.4-1]*/ 865 declare (fseg, rseg) fixed bin; 866 867 dcl rkb fixed bin (35) based (addr (rkt)); 868 dcl rkt char (5) aligned; 869 dcl bc fixed bin (24); 870 dcl mcode fixed bin (35); 871 dcl (temp, st_num) fixed bin; 872 dcl len fixed bin; 873 dcl ename char (32); 874 dcl dname char (168); 875 876 dcl cistr char (256) based (cifp); 877 dcl cstr char (256) based (cfp); 878 dcl incstr char (crl) based (crp); 879 dcl instr char (rl) based (rp); 880 dcl str char (rl) varying based (fp); 881 dcl vstr char (rl) varying based (vp); 882 dcl fbb fixed bin based (vp); 883 dcl nt_vstr char (rl) based (vp); 884 885 dcl nl char (1) static init (" 886 "); 887 888 dcl eof bit (32) static init ("00000000000000000000000000100111"b); 889 dcl bptr bit (72) aligned based (addr (cifp)); 890 891 dcl cobol_db_phase$get_rec 892 entry (ptr, fixed bin); 893 dcl cobol_db_phase$get_tok 894 entry (ptr, fixed bin); 895 dcl cobol_db_phase$get_perf 896 entry (ptr, fixed bin); 897 dcl cobol_ms_handler$get 898 entry (ptr, ptr, bit (32), ptr, fixed bin) ext; 899 dcl cobol_ms_handler$put 900 entry (ptr, ptr, bit (32)) ext; 901 dcl msf_manager_$open entry (char (*), char (*), fixed bin (35)); 902 dcl msf_manager_$adjust entry (ptr, fixed bin, fixed bin (24), bit (3), fixed bin (35)); 903 dcl msf_manager_$get_ptr 904 entry (ptr, fixed bin, bit (1), ptr, fixed bin (24), fixed bin (35)); 905 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 906 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 907 dcl hcs_$truncate_seg entry (ptr, fixed bin, fixed bin (35)); 908 dcl hcs_$terminate_seg entry (ptr, fixed bin (1), fixed bin (35)); 909 dcl hcs_$terminate_noname 910 entry (ptr, fixed bin (35)); 911 dcl hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 912 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 913 dcl com_err_ entry options (variable); 914 dcl error_table_$improper_data_format 915 fixed bin (35) ext; 916 917 dcl hcs_$fs_get_path_name 918 entry options (variable) ext; 919 dcl ioa_ entry options (variable); 920 dcl db entry; 921 922 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 3 /* Last modified on 06/17/76 by ORN */ 1 4 /* Last modified on 12/28/76 by FCH */ 1 5 /* Last modified on 12/01/80 by FCH */ 1 6 1 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 1 8 1 9 1 10 dcl cobol_ext_$cobol_afp ptr ext; 1 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 1 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 1 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 1 14 dcl cobol_ext_$report_first_token ptr ext; 1 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 1 16 dcl cobol_ext_$report_last_token ptr ext; 1 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 1 18 dcl cobol_ext_$cobol_eltp ptr ext; 1 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 1 20 dcl cobol_ext_$cobol_cmfp ptr ext; 1 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 1 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 1 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 1 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 1 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 1 26 dcl cobol_ext_$cobol_dfp ptr ext; 1 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 1 28 dcl cobol_ext_$cobol_hfp ptr ext; 1 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 1 30 dcl cobol_ext_$cobol_m1fp ptr ext; 1 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 1 32 dcl cobol_ext_$cobol_m2fp ptr ext; 1 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 1 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 1 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 1 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 1 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 1 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 1 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 1 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 1 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 1 42 dcl cobol_ext_$cobol_ntfp ptr ext; 1 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 1 44 dcl cobol_ext_$cobol_pdofp ptr ext; 1 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 1 46 dcl cobol_ext_$cobol_pfp ptr ext; 1 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 1 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 1 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 1 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 1 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 1 52 dcl cobol_ext_$cobol_curr_in ptr ext; 1 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 1 54 dcl cobol_ext_$cobol_curr_out ptr ext; 1 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 1 56 dcl cobol_ext_$cobol_sfp ptr ext; 1 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 1 58 dcl cobol_ext_$cobol_w1p ptr ext; 1 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 1 60 dcl cobol_ext_$cobol_w2p ptr ext; 1 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 1 62 dcl cobol_ext_$cobol_w3p ptr ext; 1 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 1 64 dcl cobol_ext_$cobol_w5p ptr ext; 1 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 1 66 dcl cobol_ext_$cobol_w6p ptr ext; 1 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 1 68 dcl cobol_ext_$cobol_w7p ptr ext; 1 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 1 70 dcl cobol_ext_$cobol_x3fp ptr ext; 1 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 1 72 dcl cobol_ext_$cobol_rwdd ptr ext; 1 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 1 74 dcl cobol_ext_$cobol_rwpd ptr ext; 1 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 1 76 1 77 1 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 1 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 1 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 1 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 1 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 1 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 1 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 1 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 1 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 1 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 1 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 1 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 1 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 1 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 1 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 1 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 1 94 1 95 dcl cobol_ext_$cobol_lpr char (5) ext; 1 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 1 97 dcl cobol_ext_$cobol_options char (120) ext; 1 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 1 99 1 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 1 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 1 102 dcl cobol_ext_$report_exists bit (1) ext; 1 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 1 104 1 105 1 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 1 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 108 923 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 2 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 2 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 2 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 2 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 2 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 2 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 2 9 /* Modified by BC on 06/20/77, descriptor added. */ 2 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 2 11 /* Modified by BC on 1/21/77, options.profile added. */ 2 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 2 13 /* Modified by FCH on 5/20/77, comp_level added */ 2 14 2 15 2 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 2 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 2 18* 2 19* HARDWARE | SIZE (BYTES) 2 20* --------------------------------- 2 21* 645/6180 | 464 2 22* P7 | 396 2 23* --------------------------------- 2 24* */ 2 25 2 26 dcl 1 fixed_common based ( cobol_com_ptr), 2 27 2 prog_name char (30), 2 28 2 compiler_rev_no char (25), 2 29 2 phase_name char (6), 2 30 2 currency char (1), 2 31 2 fatal_no fixed bin, 2 32 2 warn_no fixed bin, 2 33 2 proc_counter fixed bin, 2 34 2 spec_tag_counter fixed bin, 2 35 2 file_count fixed bin, 2 36 2 filedescr_offsets (20) char (5), 2 37 2 perf_alter_info char (5), 2 38 2 another_perform_info char (5), 2 39 2 sort_in_info char (5), 2 40 2 odo_info char (5), 2 41 2 size_seg fixed bin, 2 42 2 size_offset fixed bin(24), 2 43 2 size_perform_info char (5), 2 44 2 rename_info char (5), 2 45 2 report_names char (5), 2 46 2 rw_buf_seg fixed bin, 2 47 2 rw_buf_offset fixed bin(24), 2 48 2 rw_buf_length fixed bin(24), 2 49 2 file_keys char (5), 2 50 2 search_keys char (5), 2 51 2 dd_seg_size fixed bin(24), 2 52 2 pd_seg_size fixed bin(24), 2 53 2 seg_limit fixed bin , 2 54 2 number_of_dd_segs fixed bin, 2 55 2 seg_info char (5), 2 56 2 number_of_ls_pointers fixed bin, 2 57 2 link_sec_seg fixed bin, 2 58 2 link_sec_offset fixed bin(24), 2 59 2 sra_clauses fixed bin, 2 60 2 fix_up_info char (5), 2 61 2 linage_info char (5), 2 62 2 first_dd_item char (5), 2 63 2 sort_out_info char (5), 2 64 2 db_info char (5), 2 65 2 realm_info char (5), 2 66 2 rc_realm_info char (5), 2 67 2 last_file_key char (5), 2 68 2 prog_coll_seq fixed bin, 2 69 2 init_cd_seg fixed bin, 2 70 2 init_cd_offset fixed bin(24), 2 71 2 input_error_exit fixed bin, 2 72 2 output_error_exit fixed bin, 2 73 2 i_o_error_exit fixed bin, 2 74 2 extend_error_exit fixed bin, 2 75 2 dummy15 fixed bin, 2 76 2 options, 2 77 3 cu bit (1), 2 78 3 st bit (1), 2 79 3 wn bit (1), 2 80 3 obs bit (1), 2 81 3 dm bit (1), 2 82 3 xrl bit (1), 2 83 3 xrn bit (1), 2 84 3 src bit (1), 2 85 3 obj bit (1), 2 86 3 exs bit (1), 2 87 3 sck bit (1), 2 88 3 rno bit (1), 2 89 3 u_l bit (1), 2 90 3 cnv bit (1), 2 91 3 cos bit (1), 2 92 3 fmt bit (1), 2 93 3 profile bit(1), 2 94 3 nw bit (1), 2 95 3 exp bit (1), /* [4.0-0] */ 2 96 3 card bit (1), /*[4.1-1]*/ 2 97 3 fil2 bit (5), 2 98 3 m_map bit (1), 2 99 3 m_bf bit (1), 2 100 3 m_fat bit (1), 2 101 3 m_wn bit (1), 2 102 3 m_obs bit(1), 2 103 3 pd bit(1), 2 104 3 oc bit(1), 2 105 2 supervisor bit (1), 2 106 2 dec_comma bit (1), 2 107 2 init_cd bit (1), 2 108 2 corr bit (1), 2 109 2 initl bit (1), 2 110 2 debug bit (1), 2 111 2 report bit (1), 2 112 2 sync_in_prog bit (1), 2 113 2 pd_section bit (1), 2 114 2 list_switch bit (1), 2 115 2 alpha_cond bit (1), 2 116 2 num_cond bit (1), 2 117 2 spec_sysin bit (1), 2 118 2 spec_sysout bit (1), 2 119 2 cpl_files bit (1), 2 120 2 obj_dec_comma bit (1), 2 121 2 default_sign_type bit (3), 2 122 2 use_debug bit(1), 2 123 2 syntax_trace bit(1), 2 124 2 comp_defaults, 2 125 3 comp bit(1), 2 126 3 comp_1 bit(1), 2 127 3 comp_2 bit(1), 2 128 3 comp_3 bit(1), 2 129 3 comp_4 bit(1), 2 130 3 comp_5 bit(1), 2 131 3 comp_6 bit(1), 2 132 3 comp_7 bit(1), 2 133 3 comp_8 bit(1), 2 134 2 disp_defaults, 2 135 3 disp bit(1), 2 136 3 disp_1 bit(1), 2 137 3 disp_2 bit(1), 2 138 3 disp_3 bit(1), 2 139 3 disp_4 bit(1), 2 140 3 disp_5 bit(1), 2 141 3 disp_6 bit(1), 2 142 3 disp_7 bit(1), 2 143 2 descriptor bit(2), 2 144 2 levsv bit(3), /*[4.0-1]*/ 2 145 2 use_reporting bit(1), /*[4.3-1]*/ 2 146 2 cd bit(1), /*[4.4-1]*/ 2 147 2 dummy17 bit(3), 2 148 2 lvl_rstr bit(32), 2 149 2 inst_rstr bit(32), 2 150 2 comp_level char(1), 2 151 2 dummy18 char(30), 2 152 2 object_sign char (1), 2 153 2 last_print_rec char (5), 2 154 2 coll_seq_info char (5), 2 155 2 sys_status_seg fixed bin, 2 156 2 sys_status_offset fixed bin(24), 2 157 2 compiler_id fixed bin, 2 158 2 date_comp_ln fixed bin, 2 159 2 compile_mode bit(36), 2 160 2 default_temp fixed bin, 2 161 2 accept_device fixed bin, 2 162 2 display_device fixed bin, 2 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 2 164 2 alphabet_offset fixed bin; 2 165 2 166 2 167 2 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 2 169 924 925 end cobol_io_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0835.0 cobol_io_.pl1 >spec>install>MR12.3-1048>cobol_io_.pl1 923 1 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 924 2 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.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. LINE72 000010 internal static structure level 1 packed packed unaligned dcl 856 set ref 274 321 REC_NUM 000034 internal static fixed bin(17,0) dcl 862 set ref 48* 56* 196* 196 198* 200 215* 215 219* 223* 223 227* STATE 000035 internal static fixed bin(17,0) dcl 862 set ref 48* 55* 161 203* TAB 000033 internal static char(1) packed unaligned dcl 861 set ref 47* 267 290 action 11 000102 automatic fixed bin(17,0) level 2 dcl 732 set ref 780* 789* 796* 809* addr builtin function dcl 852 ref 78 78 183 242 248 274 321 613 643 660 668 670 682 781 782 819 819 attach_descrip 000140 automatic varying char(200) dcl 747 set ref 764* 774* 782 attach_descrip_ptr 14 000122 automatic pointer level 2 dcl 740 set ref 782* baseno builtin function dcl 852 ref 437 438 445 bc 000232 automatic fixed bin(24,0) dcl 869 set ref 78* 80* 522* 524* 562* 564* binary builtin function dcl 852 ref 437 438 445 451 body 000010 internal static char(72) level 2 packed packed unaligned dcl 856 set ref 272* 281* 292* bptr based bit(72) dcl 889 ref 78 78 cfp parameter pointer dcl 156 set ref 151 151 171 181 183* 183 232 232 240 242* 242 247 248* 248 267 272 287 ch 000333 automatic char(1) packed unaligned dcl 264 set ref 287* 290 292 cifm parameter bit(8) packed unaligned dcl 69 ref 59 59 754 cifn parameter char packed unaligned dcl 65 set ref 59 59 107* 764 cifp parameter pointer dcl 64 set ref 59 59 78 78 80* 89* 96* 101* 115* 117 120 134* 136 139* cilt parameter fixed bin(17,0) dcl 66 ref 59 59 cioc parameter char(1) dcl 68 ref 59 59 71 71 112 766 766 768 768 cisr parameter fixed bin(17,0) dcl 67 ref 59 59 75 86 cist parameter bit(32) packed unaligned dcl 63 set ref 59 59 147* 758* cistr based char(256) packed unaligned dcl 876 ref 120 cobol_com_ptr defined pointer dcl 1-25 ref 178 cobol_db_phase$get_perf 000050 constant entry external dcl 895 ref 227 cobol_db_phase$get_rec 000044 constant entry external dcl 891 ref 198 cobol_db_phase$get_tok 000046 constant entry external dcl 893 ref 219 cobol_ext_$cobol_com_ptr 000102 external static pointer dcl 1-24 ref 178 178 cobol_ext_$cobol_ntfp 000104 external static pointer dcl 1-42 ref 609 616 639 646 662 668 684 cobol_ms_handler$get 000052 constant entry external dcl 897 ref 420 cobol_ms_handler$put 000054 constant entry external dcl 899 ref 470 483 code 4 based fixed bin(17,0) level 2 in structure "shdr" dcl 827 in procedure "cobol_io_" set ref 368 387* code 4 based fixed bin(17,0) level 2 in structure "vhdr" dcl 839 in procedure "cobol_io_" set ref 580 585* code 10 000102 automatic fixed bin(35,0) level 2 in structure "ioerror" dcl 732 in procedure "cobol_io_" set ref 778* 788* 794* 801* 806* com_err_ 000074 constant entry external dcl 913 ref 393 823 compile_mode 156 based bit(36) level 2 packed packed unaligned dcl 2-26 ref 178 crl parameter fixed bin(17,0) dcl 159 set ref 151 151 171* 173 183 187 209* 232 232 236 236 240 240 242 247 247 248 273* 302 319* crp parameter pointer dcl 158 set ref 151 151 181* 198* 219* 227* 232 232 236 240 247 274* 321* csr parameter fixed bin(17,0) dcl 157 set ref 151 151 164 187* 187 232 232 cst parameter bit(32) packed unaligned dcl 155 set ref 151 151 167* 173* 184* 208* 232 232 252* cstr based char(256) packed unaligned dcl 877 set ref 171 183 240* 242 247* 248 267 272 287 dname 000246 automatic char(168) packed unaligned dcl 874 set ref 107* 115* 134* 341* 348* 391* 715* 721* ename 000236 automatic char(32) packed unaligned dcl 873 set ref 107* 115* 134* 341* 348* 391* 396 398 400 402 715* 721* eof 003565 constant bit(32) initial packed unaligned dcl 888 ref 167 173 604 error_table_$bad_file 000040 external static fixed bin(35,0) dcl 749 ref 801 error_table_$improper_data_format 000076 external static fixed bin(35,0) dcl 914 ref 125 error_table_$no_operation 000042 external static fixed bin(35,0) dcl 751 ref 788 expand_pathname_ 000072 constant entry external dcl 912 ref 107 341 715 fbb based fixed bin(17,0) dcl 882 ref 687 fc 12 based char(4) level 2 dcl 827 set ref 396* 398* 400* 402* file_no 13 based fixed bin(17,0) level 2 dcl 827 ref 500 file_type 14 000102 automatic fixed bin(17,0) level 2 dcl 732 set ref 766* 768* 770* 776* 790* 797* 811* fixed_common based structure level 1 unaligned dcl 2-26 fn parameter char packed unaligned dcl 333 set ref 326 326 326 326 341* 709 709 709 709 715* 774 823* fp parameter pointer dcl 332 set ref 326 326 326 326 348* 350 353* 360 360 368 371 375* 376 382* 387 388 389 391* 396 398 400 402 407 412 412 416 416 420* 426 426 433 438 444* 444 445 451 456 460 460 466 470 470* 474 474 479 479 483 483* 487 487 491 491 496 496 500 500 504 509* 514* 522 524* 536* 543 549* 554* 562 564* 576 576 580 584 585 591 596 596 600 600 609 613 616 616 616 618 618 632 632 636 636 639 643 646 646 646 648 648 654 654 660 662 668 668 670 676 676 682 684 709 709 709 709 721* 723 813 fseg 000226 automatic fixed bin(17,0) dcl 865 set ref 438* 441 445* hcs_$fs_get_path_name 000100 constant entry external dcl 917 ref 391 hcs_$initiate 000060 constant entry external dcl 906 ref 115 721 hcs_$make_seg 000056 constant entry external dcl 905 ref 134 348 hcs_$set_bc_seg 000070 constant entry external dcl 911 ref 80 524 564 hcs_$terminate_noname 000066 constant entry external dcl 909 ref 96 hcs_$terminate_seg 000064 constant entry external dcl 908 ref 514 554 hcs_$truncate_seg 000062 constant entry external dcl 907 ref 89 139 353 382 509 549 i 000330 automatic fixed bin(17,0) dcl 263 set ref 279* 287 293* 293 299* 299 302 incstr based char packed unaligned dcl 878 ref 236 240 247 index builtin function dcl 852 ref 120 171 267 instr based char packed unaligned dcl 879 ref 489 639 641 690 699 iocb 000122 automatic structure level 1 unaligned dcl 740 set ref 781 iocb_ptr 12 000102 automatic pointer level 2 dcl 732 set ref 781* 813* ioerror 000102 automatic structure level 1 unaligned dcl 732 set ref 819 819 j 000331 automatic fixed bin(17,0) dcl 263 set ref 279* 292 294* 294 295 306 315* key 15 000102 automatic char(5) level 2 packed packed unaligned dcl 732 set ref 786* len 000235 automatic fixed bin(17,0) dcl 872 set ref 391* mcode 000233 automatic fixed bin(35,0) dcl 870 set ref 80* 82 89* 91 96* 98 107* 109 115* 125* 134* 139* 141 341* 344 348* 353* 355 382* 384 391* 393 393* 509* 511 514* 516 524* 526 549* 551 554* 556 564* 566 715* 718 721* 778 794 806 823* name 000102 automatic char(32) level 2 packed packed unaligned dcl 732 set ref 816* next 3 based fixed bin(17,0) level 2 dcl 827 set ref 407* 416 426* 426 451* 460 470 474 483 487 491* 491 522 next_file 6 based pointer level 2 dcl 827 set ref 389* 444 next_get 2 based fixed bin(17,0) level 2 dcl 839 set ref 591* 600 613 616* 616 618* 618 668* 670* next_put 3 based fixed bin(17,0) level 2 dcl 839 set ref 562 584* 636 643 646* 646 648* 648 nl 003566 constant char(1) initial packed unaligned dcl 885 in procedure "cobol_io_" ref 120 171 236 240 nl 22 000010 internal static char(1) level 2 in structure "LINE72" packed packed unaligned dcl 856 in procedure "cobol_io_" set ref 43* nt_vstr based char packed unaligned dcl 883 set ref 639* 690* null builtin function dcl 852 ref 101 117 136 350 373 388 389 500 533 723 819 819 825 825 825 825 pm parameter char(2) dcl 338 ref 360 360 364 pointer builtin function dcl 852 ref 416 474 487 600 636 660 682 prev_file 10 based pointer level 2 dcl 827 set ref 371 376 388* 500* 504 rel builtin function dcl 852 ref 451 rk parameter char(5) packed unaligned dcl 339 set ref 596 596 614* 632 632 644* 654 654 658 676 676 680 786 rkb based fixed bin(35,0) dcl 867 set ref 613* 643* 660 668 670 682 rkt 000230 automatic char(5) dcl 868 set ref 613 614 643 644 658* 660 668 670 680* 682 rl parameter fixed bin(17,0) dcl 337 set ref 360 360 412 412 418* 420 420* 426 466 479 479 489 489 491 496 496 506 543 546 596 596 602* 604 616 618 632 632 639 639 641 641 646 648 654 654 666* 668 670 676 676 687 690 690 696 699 699 rloc parameter pointer dcl 850 set ref 466 474* rp parameter pointer dcl 336 set ref 360 360 412 412 420* 425* 433 437 451 456 460* 466 479 479 489 496 496 543 596 596 609* 611* 632 632 639 641 654 654 662* 664* 676 676 690 699 rseg 000227 automatic fixed bin(17,0) dcl 865 set ref 437* 441 shdr based structure level 1 dcl 827 signal_ 000036 constant entry external dcl 748 ref 819 825 st parameter bit(32) packed unaligned dcl 335 set ref 360 360 408* 412 412 420* 427* 466 470* 479 479 483* 492* 496 496 531* 543 571* 576 576 592* 596 596 604* 620* 632 632 650* 654 654 672* 676 676 703* st_num parameter fixed bin(17,0) dcl 871 ref 51 55 substr builtin function dcl 852 set ref 78 78 178 183 236 240* 242 247* 248 267 272 287 292* 754 tab_loc 000332 automatic fixed bin(17,0) dcl 263 set ref 267* 270 280* 306 307* 307 311 315 temp 000234 automatic fixed bin(17,0) dcl 871 set ref 120* 122 temp_ptr 000100 automatic pointer dcl 334 set ref 371* 373 375 376* 504* 533 536 vhdr based structure level 1 dcl 839 vp 000224 automatic pointer dcl 850 set ref 416* 418 420* 425 470* 474* 483* 487* 489 600* 602 609 611 636* 639 641 660* 662 664 666 682* 687 690 696 699 vstr based varying char dcl 881 set ref 418 489* 602 641* 666 696 699* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cobol_afp defined pointer dcl 1-11 cobol_analin_fileno defined pointer dcl 1-13 cobol_cmfp defined pointer dcl 1-21 cobol_com_fileno defined pointer dcl 1-23 cobol_curr_in defined pointer dcl 1-53 cobol_curr_out defined pointer dcl 1-55 cobol_dfp defined pointer dcl 1-27 cobol_eltp defined pointer dcl 1-19 cobol_ext_$cobol_afp external static pointer dcl 1-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 1-12 cobol_ext_$cobol_cmfp external static pointer dcl 1-20 cobol_ext_$cobol_com_fileno external static pointer dcl 1-22 cobol_ext_$cobol_curr_in external static pointer dcl 1-52 cobol_ext_$cobol_curr_out external static pointer dcl 1-54 cobol_ext_$cobol_dfp external static pointer dcl 1-26 cobol_ext_$cobol_eltp external static pointer dcl 1-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 1-78 cobol_ext_$cobol_hfp external static pointer dcl 1-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 1-95 cobol_ext_$cobol_m1fp external static pointer dcl 1-30 cobol_ext_$cobol_m2fp external static pointer dcl 1-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 1-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 1-36 cobol_ext_$cobol_name_fileno external static pointer dcl 1-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 1-40 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 1-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 1-80 cobol_ext_$cobol_pdofp external static pointer dcl 1-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 1-82 cobol_ext_$cobol_pfp external static pointer dcl 1-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 1-84 cobol_ext_$cobol_rm2fp external static pointer dcl 1-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 1-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 1-50 cobol_ext_$cobol_rwdd external static pointer dcl 1-72 cobol_ext_$cobol_rwpd external static pointer dcl 1-74 cobol_ext_$cobol_sfp external static pointer dcl 1-56 cobol_ext_$cobol_w1p external static pointer dcl 1-58 cobol_ext_$cobol_w2p external static pointer dcl 1-60 cobol_ext_$cobol_w3p external static pointer dcl 1-62 cobol_ext_$cobol_w5p external static pointer dcl 1-64 cobol_ext_$cobol_w6p external static pointer dcl 1-66 cobol_ext_$cobol_w7p external static pointer dcl 1-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 1-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 1-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 1-92 cobol_ext_$cobol_x3fp external static pointer dcl 1-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 1-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 1-102 cobol_ext_$report_first_token external static pointer dcl 1-14 cobol_ext_$report_last_token external static pointer dcl 1-16 cobol_fileno1 defined fixed bin(24,0) dcl 1-79 cobol_hfp defined pointer dcl 1-29 cobol_lpr defined char(5) packed unaligned dcl 1-96 cobol_m1fp defined pointer dcl 1-31 cobol_m2fp defined pointer dcl 1-33 cobol_min1_fileno defined pointer dcl 1-35 cobol_min2_fileno_ptr defined pointer dcl 1-37 cobol_name_fileno defined pointer dcl 1-39 cobol_name_fileno_ptr defined pointer dcl 1-41 cobol_ntfp defined pointer dcl 1-43 cobol_options defined char(120) packed unaligned dcl 1-98 cobol_options_len defined fixed bin(24,0) dcl 1-81 cobol_pdofp defined pointer dcl 1-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 1-83 cobol_pfp defined pointer dcl 1-47 cobol_print_fileno defined fixed bin(24,0) dcl 1-85 cobol_rm2fp defined pointer dcl 1-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 1-87 cobol_rmin2fp defined pointer dcl 1-51 cobol_rwdd defined pointer dcl 1-73 cobol_rwpd defined pointer dcl 1-75 cobol_sfp defined pointer dcl 1-57 cobol_w1p defined pointer dcl 1-59 cobol_w2p defined pointer dcl 1-61 cobol_w3p defined pointer dcl 1-63 cobol_w5p defined pointer dcl 1-65 cobol_w6p defined pointer dcl 1-67 cobol_w7p defined pointer dcl 1-69 cobol_x1_fileno defined fixed bin(24,0) dcl 1-89 cobol_x2_fileno defined fixed bin(24,0) dcl 1-91 cobol_x3_fileno defined fixed bin(24,0) dcl 1-93 cobol_x3fp defined pointer dcl 1-71 cobol_xlast8 defined bit(1) packed unaligned dcl 1-101 db 000000 constant entry external dcl 920 error_table_$noentry external static fixed bin(35,0) dcl 847 fcb_ptr automatic pointer dcl 849 ioa_ 000000 constant entry external dcl 919 msf_manager_$adjust 000000 constant entry external dcl 902 msf_manager_$get_ptr 000000 constant entry external dcl 903 msf_manager_$open 000000 constant entry external dcl 901 report_exists defined bit(1) packed unaligned dcl 1-103 report_first_token defined pointer dcl 1-15 report_last_token defined pointer dcl 1-17 str based varying char dcl 880 NAMES DECLARED BY EXPLICIT CONTEXT. END 003556 constant label dcl 319 ref 295 302 311 GR1 000641 constant label dcl 200 ref 222 230 GRS 000000 constant label array(0:3) dcl 164 ref 161 204 ci_error 003161 constant label dcl 754 ref 82 91 98 109 117 127 136 141 close_error 003315 constant label dcl 794 ref 511 516 526 551 556 566 cobol_cselfle 000166 constant entry external dcl 59 cobol_db_put 001670 constant entry external dcl 466 cobol_get_rec 000540 constant entry external dcl 151 cobol_io_ 000101 constant entry external dcl 34 cobol_msf_start 001566 constant entry external dcl 433 cobol_put_rec 000716 constant entry external dcl 232 cobol_save_pos 001644 constant entry external dcl 456 cobol_swf 001056 constant entry external dcl 326 cobol_swf_ 003043 constant entry external dcl 709 cobol_swf_close 002045 constant entry external dcl 496 cobol_swf_get 001504 constant entry external dcl 412 cobol_swf_open 001226 constant entry external dcl 360 cobol_swf_put 001747 constant entry external dcl 479 cobol_vdwf 001040 constant entry external dcl 326 cobol_vdwf_ 003025 constant entry external dcl 709 cobol_vdwf_close 002170 constant entry external dcl 543 cobol_vdwf_dget 002575 constant entry external dcl 654 cobol_vdwf_dput 002706 constant entry external dcl 676 cobol_vdwf_open 002306 constant entry external dcl 576 cobol_vdwf_sget 002354 constant entry external dcl 596 cobol_vdwf_sput 002465 constant entry external dcl 632 cselfle 000150 constant entry external dcl 59 csput 002006 constant label dcl 489 ref 477 error 003337 constant label dcl 816 ref 784 expand_line 003452 constant entry internal dcl 259 ref 178 get_rec 000530 constant entry external dcl 151 i_error 003271 constant label dcl 778 ref 772 init_error 003243 constant label dcl 774 ref 344 350 355 initialize 000110 constant entry external dcl 39 put_rec 000706 constant entry external dcl 232 save_error 003373 constant label dcl 823 ref 718 723 set_state 000127 constant entry external dcl 51 so_error 003327 constant label dcl 809 ref 804 soi_error 003322 constant label dcl 801 ref 368 soo_error 003326 constant label dcl 806 ref 384 start_close 002055 constant label dcl 500 ref 537 start_cselfle 000201 constant label dcl 71 start_get_rec 000545 constant label dcl 161 start_init 001071 constant label dcl 341 start_put_rec 000723 constant label dcl 236 start_save_init 003056 constant label dcl 715 start_swf_get 001514 constant label dcl 416 start_swf_open 001236 constant label dcl 364 start_swf_put 001757 constant label dcl 483 start_vdwf_dget 002605 constant label dcl 658 start_vdwf_dput 002716 constant label dcl 680 start_vdwf_open 002313 constant label dcl 580 start_vdwf_sget 002364 constant label dcl 600 start_vdwf_sput 002475 constant label dcl 636 swf 001022 constant entry external dcl 326 swf_ 003007 constant entry external dcl 709 swf_close 002032 constant entry external dcl 496 swf_get 001471 constant entry external dcl 412 swf_open 001213 constant entry external dcl 360 swf_put 001734 constant entry external dcl 479 vdp_error 003302 constant label dcl 786 ref 687 696 vdwf 001004 constant entry external dcl 326 vdwf_ 002771 constant entry external dcl 709 vdwf_dget 002562 constant entry external dcl 654 vdwf_dput 002673 constant entry external dcl 676 vdwf_open 002276 constant entry external dcl 576 vdwf_sget 002341 constant entry external dcl 596 vdwf_sput 002452 constant entry external dcl 632 wf_error 003333 constant label dcl 813 ref 792 799 NAMES DECLARED BY CONTEXT OR IMPLICATION. addrel builtin function ref 425 460 611 664 divide builtin function ref 426 491 616 618 646 648 668 670 fixed builtin function ref 78 78 length builtin function ref 418 602 666 696 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4406 4514 3570 4416 Length 5074 3570 106 344 615 26 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_io_ 286 external procedure is an external procedure. expand_line internal procedure shares stack frame of external procedure cobol_io_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 LINE72 cobol_io_ 000033 TAB cobol_io_ 000034 REC_NUM cobol_io_ 000035 STATE cobol_io_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_io_ 000100 temp_ptr cobol_io_ 000102 ioerror cobol_io_ 000122 iocb cobol_io_ 000140 attach_descrip cobol_io_ 000224 vp cobol_io_ 000226 fseg cobol_io_ 000227 rseg cobol_io_ 000230 rkt cobol_io_ 000232 bc cobol_io_ 000233 mcode cobol_io_ 000234 temp cobol_io_ 000235 len cobol_io_ 000236 ename cobol_io_ 000246 dname cobol_io_ 000330 i expand_line 000331 j expand_line 000332 tab_loc expand_line 000333 ch expand_line THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_db_phase$get_perf cobol_db_phase$get_rec cobol_db_phase$get_tok cobol_ms_handler$get cobol_ms_handler$put com_err_ expand_pathname_ hcs_$fs_get_path_name hcs_$initiate hcs_$make_seg hcs_$set_bc_seg hcs_$terminate_noname hcs_$terminate_seg hcs_$truncate_seg signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_ext_$cobol_com_ptr cobol_ext_$cobol_ntfp error_table_$bad_file error_table_$improper_data_format error_table_$no_operation LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 34 000100 39 000106 43 000115 47 000117 48 000121 49 000123 51 000124 55 000134 56 000140 57 000141 59 000142 71 000201 75 000211 78 000214 80 000227 82 000242 85 000244 86 000245 89 000247 91 000263 96 000265 98 000277 101 000301 103 000304 107 000305 109 000333 112 000335 115 000342 117 000405 120 000412 122 000425 125 000426 127 000431 130 000432 134 000433 136 000472 139 000477 141 000513 147 000515 149 000522 151 000523 161 000545 164 000550 167 000553 168 000557 171 000560 173 000573 178 000601 181 000611 183 000612 184 000620 187 000624 191 000626 196 000627 198 000630 200 000641 203 000644 204 000645 208 000646 209 000653 212 000655 215 000656 219 000657 222 000670 223 000671 227 000672 230 000703 232 000704 236 000723 240 000733 242 000754 244 000762 247 000763 248 000770 252 000773 254 000777 326 001000 341 001071 344 001120 348 001122 350 001162 353 001167 355 001203 358 001205 360 001206 364 001236 368 001243 371 001250 373 001252 375 001256 376 001261 378 001265 379 001266 382 001267 384 001303 387 001305 388 001312 389 001314 391 001317 393 001350 396 001403 398 001415 400 001427 402 001441 407 001452 408 001457 410 001463 412 001464 416 001514 418 001522 420 001524 425 001545 426 001550 427 001555 431 001561 433 001562 437 001576 438 001604 441 001613 444 001617 445 001624 448 001630 451 001631 454 001641 456 001642 460 001654 463 001662 466 001663 470 001700 474 001721 477 001731 479 001732 483 001757 487 002000 489 002006 491 002016 492 002023 494 002027 496 002030 500 002055 504 002064 506 002070 509 002073 511 002107 514 002111 516 002126 519 002130 522 002131 524 002134 526 002147 531 002151 533 002156 536 002162 537 002164 541 002165 543 002166 546 002200 549 002204 551 002220 554 002222 556 002237 559 002241 562 002242 564 002247 566 002262 571 002264 573 002271 576 002272 580 002313 584 002321 585 002323 591 002325 592 002327 594 002333 596 002334 600 002364 602 002373 604 002375 609 002403 611 002412 613 002415 614 002421 616 002425 618 002437 620 002443 624 002447 632 002450 636 002475 639 002504 641 002520 643 002527 644 002531 646 002535 648 002547 650 002553 652 002557 654 002560 658 002605 660 002613 662 002620 664 002627 666 002632 668 002634 670 002653 672 002664 674 002670 676 002671 680 002716 682 002724 684 002731 687 002736 690 002741 692 002747 696 002750 699 002753 703 002762 705 002766 709 002767 715 003056 718 003105 721 003107 723 003153 726 003160 754 003161 758 003167 760 003173 764 003174 766 003216 768 003231 770 003240 772 003242 774 003243 776 003266 778 003271 780 003273 781 003275 782 003277 784 003301 786 003302 788 003306 789 003310 790 003312 792 003314 794 003315 796 003316 797 003320 799 003321 801 003322 804 003325 806 003326 809 003327 811 003331 813 003333 816 003337 819 003342 821 003372 823 003373 825 003422 925 003451 259 003452 267 003453 270 003470 272 003471 273 003474 274 003476 275 003500 279 003501 280 003504 281 003506 284 003511 287 003512 290 003522 292 003526 293 003532 294 003533 295 003534 297 003537 299 003540 302 003541 306 003544 307 003547 308 003551 311 003552 315 003554 317 003555 319 003556 321 003561 323 003564 ----------------------------------------------------------- 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