1 
  2 
  3 /* STATIC DATA */
  4 
  5 dcl 1 iocb_arg static,
  6      2 pt ptr init(null()),   /* initialized to address of basic structure */
  7      2 zeros bit(144) init(""b);
  8 dcl 1 temp_arg static,
  9      2 pt ptr init(null()),   /* always null */
 10      2 type fixed bin init(3),
 11      2 zeros bit(108) init(""b);
 12 dcl 1 status_arg static,
 13      2 pt ptr init(null()),   /* always null */
 14      2 type fixed bin init(3),
 15      2 off1 fixed bin init(40),
 16      2 zeros bit(72) init(""b);
 17 dcl 1 fsb_arg static,
 18      2 pt ptr init(null()),   /* always null */
 19      2 type fixed bin init(3),
 20      2 off1 fixed bin,        /* set each time to wd offset in fsb */
 21      2 off2 fixed bin init(0),  /* not used */
 22      2 bits bit(36) init("0000000000000000000001001"b);     /* pr1 */
 23 
 24 dcl 1 mpout static,
 25      2 n fixed bin init(4),
 26      2 pt1 ptr,
 27      2 pt2 ptr,
 28      2 pt3 ptr,
 29      2 pt4 ptr;
 30 dcl file_key_desc char(40) based;
 31 dcl 1 num_type9 static,
 32      2 header (4) fixed bin init(112,0,0,9),
 33      2 repl_ptr (2) ptr init((2)null()),
 34      2 fill1  bit(108) init(""b),
 35      2 file_key_info,
 36           3 fb1 (3) fixed bin init(0,0,0),
 37           3 size fixed bin init(0),
 38           3 places_left fixed bin,
 39           3 places_right fixed bin init(0),
 40           3 flags1 bit(36) init("010000100100000001000000000100000000"b),
 41           3 flags2 bit(36) init(""b),
 42           3 seg fixed bin init(0),
 43           3 off fixed bin,
 44      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 45 dcl 1 alpha_type9 static,
 46      2 header (4) fixed bin init(112,0,0,9),
 47      2 repl_ptr (2) ptr init((2)null()),
 48      2 fill1  bit(108) init(""b),
 49      2 file_key_info,
 50           3 fb1 (3) fixed bin init(0,0,0),
 51           3 size fixed bin init(0),
 52           3 fb2 (2) fixed bin init(0,0),
 53           3 flags1 bit(36) init("010000100100000000010000000100000000"b),
 54           3 flags2 bit(36) init(""b),
 55           3 seg fixed bin init(0),
 56           3 off fixed bin,
 57      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 58 dcl 1 fkey_type9 static,
 59      2 header (4) fixed bin init(112,0,0,9),
 60      2 repl_ptr (2) ptr init((2)null()),
 61      2 fill1  bit(108) init(""b),
 62      2 file_key_info,
 63           3 fb1 (3) fixed bin init(0,0,0),
 64           3 size fixed bin init(0),
 65           3 fb2 (2) fixed bin init(0,0),
 66           3 flags1 bit(36) init(""b),
 67           3 flags2 bit(36) init(""b),
 68           3 seg fixed bin,
 69           3 off fixed bin,
 70      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 71 dcl 1 type19 static,
 72      2 size fixed bin init(38),
 73      2 line fixed bin init(0),
 74      2 column fixed bin init(0),
 75      2 type fixed bin init(19),
 76      2 verb fixed bin init(18),                   /* verb number */
 77      2 e fixed bin init(1),
 78      2 h fixed bin init(0),
 79      2 i fixed bin init(0),
 80      2 j fixed bin init(0),
 81      2 a bit(3) init(""b),
 82      2 b bit(1) init(""b),
 83      2 c bit(1) init(""b),
 84      2 d bit(2) init(""b),
 85      2 f bit(2) init(""b),
 86      2 g bit(2) init(""b),
 87      2 k bit(5) init(""b);
 88 
 89 dcl 1 ioerror static,
 90      2 cobol_code fixed bin,
 91      2 retry_tag fixed bin,
 92      2 is_tag fixed bin,
 93      2 ns_tag fixed bin,
 94      2 type1_ptr ptr,
 95      2 mode fixed bin;
 96 
 97 dcl mcode_off fixed bin static init(40);
 98 
 99 dcl fsb_keylen_sw fixed bin static init(24);      /* offset 6 */
100 dcl fsb_key fixed bin static init(28);            /* offset 7 */
101 dcl fsb_key_wdoff fixed bin static init(7);
102 dcl delete_errno fixed bin static init(30);       /* Unable to delete record */
103 dcl seek_errno fixed bin static init(29);         /* Unable to seek key for delete */
104 dcl delete_seq_errno fixed bin static init(28);  /* Invalid delete attempted - previous I/O operation was not read */
105 dcl output_errno fixed bin static init(42); /* Invalid I/O operation. Attempt to delete in a file not opened as i-o */
106 
107 
108 /* EXTERNAL ENTRY NAMES */
109 
110 dcl cobol_ioop_util$set_icode entry;
111 dcl cobol_gen_ioerror$finish_up entry(ptr, ptr);
112 dcl cobol_reg_manager$after_op entry(fixed bin);
113 dcl cobol_gen_ioerror entry(ptr, ptr);
114 dcl cobol_call_op entry(fixed bin, fixed bin);
115 dcl cobol_set_fsbptr entry(ptr);
116 dcl cobol_ioop_util$lda_du entry(fixed bin);
117 dcl cobol_ioop_util$set_x5 entry(fixed bin);
118 dcl cobol_alloc$stack entry(fixed bin,fixed bin,fixed bin);
119 dcl cobol_read_ft entry(fixed bin,ptr);
120 dcl cobol_read_rand entry(fixed bin,char(5),ptr);
121 dcl cobol_define_tag entry(fixed bin);
122 
123 /* sub-generators */
124 dcl cobol_move_gen entry(ptr);
125 dcl cobol_io_util$file_desc entry(fixed bin(24));
126 dcl cobol_io_util$move_direct entry(bit(3) aligned,fixed bin,fixed bin,fixed bin,bit(18) aligned);
127 dcl cobol_io_util$bypass_error entry(fixed bin,fixed bin);
128 dcl cobol_io_util$bypass_mode_error entry(fixed bin,bit(2) aligned);
129 dcl cobol_io_util$bypass_seqerror entry(fixed bin);
130 dcl cobol_io_util$compare_key entry(fixed bin, ptr);
131 dcl cobol_io_util$fsb_key_loc entry(fixed bin);
132 
133 /* BUILTIN FUNCTIONS */
134 
135 dcl       (substr,mod,binary,fixed,addr,addrel,rel,length,
136           string,unspec,null,index)               builtin;
137 
138 
139 %include cobol_file_table;
140 %include cobol_file_key;
141 %include cobol_type1;
142 %include cobol_type12;
143 %include cobol_type19;
144 %include cobol_;
145