1 
  2 /* STATIC DATA */
  3 
  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 pr1_struct static,
 25      2 pr1 fixed bin init(1),
 26      2 pointer_no bit(3),
 27      2 lock fixed bin init(1),
 28      2 switch fixed bin init(0),
 29      2 segno fixed bin,
 30      2 offset fixed bin,
 31      2 reset fixed bin;
 32 dcl 1 x1_struct static,
 33      2 x1 fixed bin init(11),
 34      2 reg_no bit(4),
 35      2 lock fixed bin init(0),
 36      2 already_there fixed bin,
 37      2 contains fixed bin init(0),
 38      2 null_ptr ptr init(null()),
 39      2 fill bit(18) unaligned init((18)"0"b),
 40      2 literal bit(18) unaligned;
 41 dcl 1 aq_struct static,
 42      2 aq fixed bin init(3),
 43      2 reg_no bit(4),
 44      2 lock fixed bin init(0),
 45      2 already_there fixed bin,
 46      2 contains fixed bin init(0),
 47      2 null_ptr ptr init(null()),
 48      2 fill bit(18) unaligned init((18)"0"b),
 49      2 literal bit(18) unaligned;
 50 
 51 dcl 1 control_desc static,
 52      2 iocb_ptr_desc bit(36) init(      "100110100000000000000000000000000000"b),
 53      2 char9_desc bit(36) init(         "101010100000000000000000000000001001"b),
 54      2 info_ptr_desc bit(36) init(      "100110100000000000000000000000000000"b),
 55      2 status_desc bit(36) init(        "100000100000000000000000000000100011"b);
 56 dcl 1 iocb_basic_struct static,
 57      2 type fixed bin init(1),
 58      2 operand_no fixed bin init(0),
 59      2 lock fixed bin init(0),
 60      2 seg fixed bin,
 61      2 off fixed bin,
 62      2 send_receive fixed bin init(0);
 63 
 64 dcl 1 mpout static,
 65      2 n fixed bin init(4),
 66      2 pt1 ptr,
 67      2 pt2 ptr,
 68      2 pt3 ptr,
 69      2 pt4 ptr;
 70 dcl 1 num_type9 static,
 71      2 header (4) fixed bin init(112,0,0,9),
 72      2 repl_ptr (2) ptr init((2)null()),
 73      2 fill1  bit(108) init(""b),
 74      2 file_key_info,
 75           3 fb1 (3) fixed bin init(0,0,0),
 76           3 size fixed bin init(0),
 77           3 places_left fixed bin,
 78           3 places_right fixed bin init(0),
 79           3 flags1 bit(36) init("010000100100000001000000000100000000"b),
 80           3 flags2 bit(36) init(""b),
 81           3 seg fixed bin init(0),
 82           3 off fixed bin,
 83      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 84 dcl 1 alpha_type9 static,
 85      2 header (4) fixed bin init(112,0,0,9),
 86      2 repl_ptr (2) ptr init((2)null()),
 87      2 fill1  bit(108) init(""b),
 88      2 file_key_info,
 89           3 fb1 (3) fixed bin init(0,0,0),
 90           3 size fixed bin init(0),
 91           3 fb2 (2) fixed bin init(0,0),
 92           3 flags1 bit(36) init("010000100100000000010000000100000000"b),
 93           3 flags2 bit(36) init(""b),
 94           3 seg fixed bin init(0),
 95           3 off fixed bin,
 96      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 97 dcl 1 fkey_type9 static,
 98      2 header (4) fixed bin init(112,0,0,9),
 99      2 repl_ptr (2) ptr init((2)null()),
100      2 fill1  bit(108) init(""b),
101      2 file_key_info,
102           3 fb1 (3) fixed bin init(0,0,0),
103           3 size fixed bin init(0),
104           3 fb2 (2) fixed bin init(0,0),
105           3 flags1 bit(36) init(""b),
106           3 flags2 bit(36) init(""b),
107           3 seg fixed bin,
108           3 off fixed bin,
109      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
110 dcl 1 type19 static,
111      2 size fixed bin init(38),
112      2 line fixed bin init(0),
113      2 column fixed bin init(0),
114      2 type fixed bin init(19),
115      2 verb fixed bin init(18),                   /* verb number */
116      2 e fixed bin init(1),
117      2 h fixed bin init(0),
118      2 i fixed bin init(0),
119      2 j fixed bin init(0),
120      2 a bit(3) init(""b),
121      2 b bit(1) init(""b),
122      2 c bit(1) init(""b),
123      2 d bit(2) init(""b),
124      2 f bit(2) init(""b),
125      2 g bit(2) init(""b),
126      2 k bit(5) init(""b);
127 
128 dcl 1 ioerror static,
129 
130      2 cobol_code fixed bin,
131      2 retry_tag fixed bin,
132      2 is_tag fixed bin,
133      2 ns_tag fixed bin,
134      2 type1_ptr ptr,
135      2 mode fixed bin;
136 dcl 1 seek_special static,
137      2 n fixed bin init(1),
138      2 link1 aligned,
139           3 name char(32) init("no_record"),
140           3 status2 char(4) init("6623"),
141           3 status1 char(2) init("23");
142 dcl 1 control_special static,
143      2 n fixed bin init(1),
144      2 link1 aligned,
145           3 name char(32) init("no_record"),
146           3 status2 char(4) init("6723"),
147           3 status1 char(2) init("23");
148 dcl 1 unopen_error static,
149      2 n fixed bin init(1),
150      2 link1 aligned,
151           3 name char(32) init(""),
152           3 status2 char(4) init("6031"),
153           3 status1 char(2) init("30");
154 dcl 1 output_error static,
155      2 n fixed bin init(1),
156      2 link1 aligned,
157           3 name char(32) init(""),
158           3 status2 char(4) init("6032"),
159           3 status1 char(2) init("30");
160 dcl 1 seek_error static,
161      2 n fixed bin init(2),
162      2 link1 aligned,
163           3 name char(32) init("no_operation"),
164           3 status2 char(4) init("6632"),
165           3 status1 char(2) init("30"),
166      2 link2 aligned,
167           3 name char(32) init(""),
168           3 status2 char(4) init("6630"),
169           3 status1 char(2) init("30");
170 dcl 1 control_error static,
171      2 n fixed bin init(2),
172      2 link1 aligned,
173           3 name char(32) init("no_operation"),
174           3 status2 char(4) init("6732"),
175           3 status1 char(2) init("30"),
176      2 link2 aligned,
177           3 name char(32) init(""),
178           3 status2 char(4) init("6730"),
179           3 status1 char(2) init("30");
180 
181 dcl mcode_off fixed bin static init(40);
182 dcl fsb_keylen_sw fixed bin static init(24);      /* offset 6 */
183 dcl fsb_key fixed bin static init(28);            /* offset 7 */
184 dcl fsb_key_wdoff fixed bin static init(7);
185 dcl seek_errno fixed bin static init(37);         /* Unable to seek key for start */
186 dcl output_errno fixed bin static init(36);       /* Attempt to start an output file */
187 dcl control_errno fixed bin static init(38);      /* Unable to start file with specified key relation */
188 
189 
190 /* EXTERNAL ENTRY NAMES */
191 
192 dcl cobol_ioop_util$ldaldx5 entry(fixed bin, fixed bin);
193 dcl cobol_ioop_util$set_icode entry;
194 dcl cobol_alloc$stack entry(fixed bin,fixed bin,fixed bin);
195 dcl cobol_read_ft entry(fixed bin,ptr);
196 dcl cobol_read_rand entry(fixed bin,char(5),ptr);
197 dcl cobol_pointer_register$call entry;
198 dcl cobol_pointer_register$get entry(ptr);
199 dcl cobol_register$load entry(ptr);
200 dcl cobol_define_tag entry(fixed bin);
201 
202 /* sub-generators */
203 dcl cobol_move_gen entry(ptr);
204 dcl cobol_call_op entry(fixed bin, fixed bin);
205 dcl cobol_gen_ioerror entry(ptr, ptr);
206 dcl cobol_gen_ioerror$finish_up entry(ptr, ptr);
207 dcl cobol_reg_manager$after_op entry(fixed bin);
208 dcl cobol_set_fsbptr entry(ptr);
209 dcl cobol_io_util$key_loc entry(fixed bin,fixed bin);
210 dcl cobol_io_util$file_desc entry(fixed bin(24));
211 dcl cobol_io_util$move_direct entry(bit(3) aligned,fixed bin,fixed bin,fixed bin,bit(18) aligned);
212 dcl cobol_io_util$move_lit entry(bit(3) aligned,fixed bin,fixed bin,char(*));
213 dcl cobol_io_util$bypass_error entry(fixed bin,fixed bin);
214 dcl cobol_io_util$bypass_mode_error entry(fixed bin,bit(2) aligned);
215 dcl cobol_io_util$key_num entry(fixed bin);
216 dcl cobol_open_util$check_open entry(ptr,fixed bin,ptr);
217 
218 /* BUILTIN FUNCTIONS */
219 
220           dcl (substr,addr) builtin;
221 
222 
223 
224 
225 %include cobol_file_table;
226 %include cobol_file_key;
227 %include cobol_type1;
228 %include cobol_type9;
229 %include cobol_type12;
230 %include cobol_type19;
231 %include cobol_;
232