1 
  2                     /* STATIC DECLARATIONS */
  3 
  4 dcl pr5_struct_ptr ptr static;
  5 
  6 dcl 1 pr5_struct static,
  7      2 pr5 fixed bin init(5),
  8      2 pointer_no bit(3),
  9      2 lock fixed bin init(0),
 10      2 switch fixed bin init(0),
 11      2 segno fixed bin init(0),
 12      2 offset fixed bin init(0),
 13      2 reset fixed bin;
 14 dcl 1 iocb_arg static,
 15      2 pt ptr init(null()),   /* initialized to address of basic structure */
 16      2 zeros bit(144) init(""b);
 17 dcl 1 temp_arg static,
 18      2 pt ptr init(null()),   /* always null */
 19      2 type fixed bin init(3),
 20      2 zeros bit(108) init(""b);
 21 dcl 1 status_arg static,
 22      2 pt ptr init(null()),   /* always null */
 23      2 type fixed bin init(3),
 24      2 off1 fixed bin init(40),
 25      2 zeros bit(72) init(""b);
 26 dcl 1 buff_arg static,
 27      2 pt ptr init(null()),   /* setto pt to type 9 token for buffer */
 28      2 type fixed bin init(5),
 29      2 off1 fixed bin init(0),  /* not meaningful */
 30      2 off2 fixed bin init(42),  /* allocate ptr at sp|42 */
 31      2 bits bit(36) init("0000000000000000001000"b);  /* indirect */
 32 dcl 1 fsb_arg static,
 33      2 pt ptr init(null()),   /* always null */
 34      2 type fixed bin init(3),
 35      2 off1 fixed bin,        /* set each time to wd offset in fsb */
 36      2 off2 fixed bin init(0),  /* not used */
 37      2 bits bit(36) init("0000000000000000000001001"b);     /* pr1 */
 38 
 39 dcl 1 pr1_struct static,
 40      2 pr1 fixed bin init(1),
 41      2 pointer_no bit(3),
 42      2 lock fixed bin init(1),
 43      2 switch fixed bin init(0),
 44      2 segno fixed bin,
 45      2 offset fixed bin,
 46      2 reset fixed bin;
 47 dcl 1 x1_struct static,
 48      2 x1 fixed bin init(11),
 49      2 reg_no bit(4),
 50      2 lock fixed bin init(0),
 51      2 already_there fixed bin,
 52      2 contains fixed bin init(0),
 53      2 null_ptr ptr init(null()),
 54      2 fill bit(18) unaligned init((18)"0"b),
 55      2 literal bit(18) unaligned;
 56 dcl 1 aq_struct static,
 57      2 aq fixed bin init(3),
 58      2 reg_no bit(4),
 59      2 lock fixed bin init(0),
 60      2 already_there fixed bin,
 61      2 contains fixed bin init(0),
 62      2 null_ptr ptr init(null()),
 63      2 fill bit(18) unaligned init((18)"0"b),
 64      2 literal bit(18) unaligned;
 65 
 66 dcl 1 iocb_struct static,
 67      2 type fixed bin init(1),
 68      2 operand_no fixed bin init(0),
 69      2 lock fixed bin init(0),
 70      2 seg fixed bin,
 71      2 offset fixed bin,
 72      2 send_receive fixed bin init(0);
 73 
 74 dcl 1 mpout static,
 75      2 n fixed bin init(4),
 76      2 pt1 ptr,
 77      2 pt2 ptr,
 78      2 pt3 ptr,
 79      2 pt4 ptr;
 80 
 81 dcl 1 alpha_type9 static,
 82      2 header (4) fixed bin init(112,0,0,9),
 83      2 repl_ptr (2) ptr init((2)null()),
 84      2 fill1  bit(108) init(""b),
 85      2 file_key_info,
 86           3 fb1 (3) fixed bin init(0,0,0),
 87           3 size fixed bin init(0),
 88           3 fb2 (2) fixed bin init(0,0),
 89           3 flags1 bit(36) init("010000100100000000010000000100000000"b),
 90           3 flags2 bit(36) init(""b),
 91           3 seg fixed bin init(0),
 92           3 off fixed bin,
 93      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 94 dcl 1 trans_type9 static,
 95      2 header (4) fixed bin init(112,0,0,9),
 96      2 repl_ptr (2) ptr init((2)null()),
 97      2 fill1  bit(108) init(""b),
 98      2 file_key_info,
 99           3 fb1 (3) fixed bin init(0,0,0),
100           3 size fixed bin init(0),
101           3 fb2 (2) fixed bin init(0,0),
102           3 flags1 bit(36) init("010000100100000000010000000100000000"b),
103           3 flags2 bit(36) init(""b),
104           3 seg fixed bin init(0),
105           3 off fixed bin,
106      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
107 dcl 1 num_type9 static,
108      2 header (4) fixed bin init(112,0,0,9),
109      2 repl_ptr (2) ptr init((2)null()),
110      2 fill1  bit(108) init(""b),
111      2 file_key_info,
112           3 fb1 (3) fixed bin init(0,0,0),
113           3 size fixed bin init(0),
114           3 places_left fixed bin,
115           3 places_right fixed bin init(0),
116           3 flags1 bit(36) init("010000100100000001000000000100000000"b),
117           3 flags2 bit(36) init(""b),
118           3 seg fixed bin init(0),
119           3 off fixed bin,
120      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
121 dcl 1 comp6_type9 static,
122      2 header (4) fixed bin init(112,0,0,9),
123      2 repl_ptr (2) ptr init((2)null()),
124      2 fill1  bit(108) init(""b),
125      2 file_key_info,
126           3 fb1 (3) fixed bin init(0,0,0),
127           3 size fixed bin init(0),
128           3 places_left fixed bin,
129           3 places_right fixed bin init(0),
130           3 flags1 bit(36) init("010000100100001001000000000000000000"b),
131           3 flags2 bit(36) init(""b),
132           3 seg fixed bin init(0),
133           3 off fixed bin,
134      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
135 dcl 1 fkey_type9 static,
136      2 header (4) fixed bin init(112,0,0,9),
137      2 repl_ptr (2) ptr init((2)null()),
138      2 fill1  bit(108) init(""b),
139      2 file_key_info,
140           3 fb1 (3) fixed bin init(0,0,0),
141           3 size fixed bin init(0),
142           3 fb2 (2) fixed bin init(0,0),
143           3 flags1 bit(36) init(""b),
144           3 flags2 bit(36) init(""b),
145           3 seg fixed bin,
146           3 off fixed bin,
147      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
148 dcl 1 type19 static,
149      2 size fixed bin init(38),
150      2 line fixed bin init(0),
151      2 column fixed bin init(0),
152      2 type fixed bin init(19),
153      2 verb fixed bin init(18),                   /* verb number */
154      2 e fixed bin init(1),
155      2 h fixed bin init(0),
156      2 i fixed bin init(0),
157      2 j fixed bin init(0),
158      2 a bit(3) init(""b),
159      2 b bit(1) init(""b),
160      2 c bit(1) init(""b),
161      2 d bit(2) init(""b),
162      2 f bit(2) init(""b),
163      2 g bit(2) init(""b),
164      2 k bit(5) init(""b);
165 
166 dcl 1 ioerror static,
167           2 cobol_code fixed bin,
168           2 retry_tag fixed bin,
169           2 is_tag fixed bin,
170           2 ns_tag fixed bin,
171           2 type1_ptr ptr,
172           2 mode fixed bin;
173 
174 dcl mcode_off fixed bin static init(40);
175 dcl fsb_relkey fixed bin static init(20);         /* offset 5 */
176 dcl fsb_keylen_sw fixed bin static init(24);      /* offset 6 */
177 dcl fsb_key fixed bin static init(28);            /* offset 7 */
178 dcl fsb_key_wd fixed bin static init(7);
179 dcl write_errno fixed bin static init(21);        /* Unable to write record */
180 dcl seek_errno fixed bin init(22);                /* Unable to seek key for output - possible duplication */
181 dcl iomode_errno fixed bin static init(41);  /* Attempt to perform write on sequential accessed file opened as i-o */
182 
183 
184 /* EXTERNAL ENTRY NAMES */
185 
186 dcl cobol_trans_alphabet$io entry(ptr, ptr, fixed bin, fixed bin);
187 dcl cobol_make_tagref entry(fixed bin, fixed bin, ptr);
188 dcl cobol_ioop_util$set_icode entry;
189 dcl cobol_ioop_util$bypass_reset entry(fixed bin);
190 dcl cobol_ioop_util$disp entry(fixed bin);
191 dcl cobol_ioop_util$lda entry(fixed bin);
192 dcl cobol_ioop_util$set_fsb entry(fixed bin(31), fixed bin);
193 dcl cobol_reg_manager$after_op entry(fixed bin);
194 dcl cobol_gen_ioerror$finish_up entry(ptr, ptr);
195 dcl cobol_gen_ioerror entry(ptr, ptr);
196 dcl cobol_call_op entry(fixed bin, fixed bin);
197 dcl cobol_alloc$stack entry(fixed bin,fixed bin,fixed bin);
198 dcl cobol_read_ft entry(fixed bin,ptr);
199 dcl cobol_read_rand entry(fixed bin,char(5),ptr);
200 dcl cobol_define_tag entry(fixed bin);
201 
202 /* sub-generators */
203 dcl cobol_move_gen entry(ptr);
204 dcl cobol_set_fsbptr entry(ptr);
205 dcl cobol_get_size entry(ptr,fixed bin,fixed bin);
206 dcl cobol_linage entry(ptr,ptr,fixed bin,fixed bin,ptr);
207 dcl cobol_io_util$file_desc entry(fixed bin(24));
208 dcl cobol_io_util$t9dec_to_bin entry(bit(3) aligned,fixed bin,ptr);
209 dcl cobol_io_util$fixed_add entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin);
210 dcl cobol_io_util$bin_to_dec entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin,fixed bin);
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$bypass_mode_error entry(fixed bin,bit(2) aligned);
213 dcl cobol_set_pr entry(ptr, ptr);
214 
215 /* BUILTIN FUNCTIONS */
216 
217 dcl       (substr,mod,binary,fixed,addr,addrel,rel,length,
218           string,unspec,null,index)               builtin;
219 
220 
221 
222 
223 %include cobol_file_table;
224 %include cobol_file_key;
225 %include cobol_linage_rec;
226 %include cobol_type1;
227 %include cobol_type9;
228 %include cobol_type19;
229 %include cobol_;
230