1 
  2 
  3                     /* STATIC DECLARATIONS */
  4 
  5 dcl 1 basic_arg static,
  6      2 pt ptr init(null()),   /* initialized to address of basic structure */
  7      2 zeros bit(144) init(""b);
  8 dcl 1 name_arg static,
  9      2 pt ptr init(null()),   /* set each time to pt to varying char string containing name of program to be called */
 10      2 type fixed bin init(6),
 11      2 zeros bit(108) init(""b);
 12 dcl 1 temp_arg static,
 13      2 pt ptr init(null()),   /* always null */
 14      2 type fixed bin init(3),
 15      2 zeros bit(108) init(""b);
 16 dcl 1 value_arg static,
 17      2 pt ptr init(null()),   /* always null */
 18      2 type fixed bin init(1),
 19      2 zeros bit(108) init(""b);
 20 dcl 1 upper_value_arg static,
 21      2 pt ptr init(null()),   /* always null */
 22      2 type fixed bin init(2),
 23      2 zeros bit(108) init(""b);
 24 dcl 1 status_arg static,
 25      2 pt ptr init(null()),   /* always null */
 26      2 type fixed bin init(3),
 27      2 off1 fixed bin init(40),
 28      2 zeros bit(72) init(""b);
 29 
 30 dcl 1 pr1_struct static,
 31      2 pr1 fixed bin init(1),
 32      2 pointer_no bit(3),
 33      2 lock fixed bin init(0),
 34      2 switch fixed bin init(0),
 35      2 segno fixed bin,
 36      2 offset fixed bin,
 37      2 reset fixed bin;
 38 dcl 1 x5_struct static,
 39      2 x5 fixed bin init(15),
 40      2 reg_no bit(4),
 41      2 lock fixed bin init(0),
 42      2 already_there fixed bin,
 43      2 contains fixed bin init(0),
 44      2 null_ptr ptr init(null()),
 45      2 fill bit(18) unaligned init((18)"0"b),
 46      2 literal bit(18) unaligned;
 47 dcl 1 aq_struct static,
 48      2 aq fixed bin init(3),
 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 
 57 dcl 1 basic_struct static,
 58      2 type fixed bin init(1),
 59      2 operand_no fixed bin init(0),
 60      2 lock fixed bin init(0),
 61      2 seg fixed bin,
 62      2 offset fixed bin,
 63      2 send_receive fixed bin init(0);
 64 dcl 1 atd_type9 static,
 65      2 header (4) fixed bin init(112,0,0,9),
 66      2 repl_ptr (2) ptr init((2)null()),
 67      2 fill1  bit(108) init(""b),
 68      2 file_key_info,
 69           3 fb (6) fixed bin init(0,0,0,200,0,0),
 70           3 flags1 bit(36) init("000000100100000000010000000100000000"b),
 71           3 flags2 bit(36) init(""b),
 72           3 seg fixed bin init(1000),
 73           3 off fixed bin,
 74      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 75 dcl 1 catid_type9 static,
 76      2 header (4) fixed bin init(112,0,0,9),
 77      2 repl_ptr (2) ptr init((2)null()),
 78      2 fill1  bit(108) init(""b),
 79      2 file_key_info,
 80           3 fb (6) fixed bin init(0,0,0,0,0,0),
 81           3 flags1 bit(36) init(""b),
 82           3 flags2 bit(36) init(""b),
 83           3 seg fixed bin,
 84           3 off fixed bin,
 85      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
 86 dcl 1 comp6_type9 static,
 87      2 header (4) fixed bin init(112,0,0,9),
 88      2 repl_ptr (2) ptr init((2)null()),
 89      2 fill1  bit(108) init(""b),
 90      2 file_key_info,
 91           3 fb1 (3) fixed bin init(0,0,0),
 92           3 size fixed bin init(0),
 93           3 places_left fixed bin,
 94           3 places_right fixed bin init(0),
 95           3 flags1 bit(36) init("010000100100001001000000000000000000"b),
 96           3 flags2 bit(36) init(""b),
 97           3 seg fixed bin init(0),
 98           3 off fixed bin,
 99      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
100 dcl 1 fkey_type9 static,
101      2 header (4) fixed bin init(112,0,0,9),
102      2 repl_ptr (2) ptr init((2)null()),
103      2 fill1  bit(108) init(""b),
104      2 file_key_info,
105           3 fb1 (3) fixed bin init(0,0,0),
106           3 size fixed bin init(0),
107           3 fb2 (2) fixed bin init(0,0),
108           3 flags1 bit(36) init(""b),
109           3 flags2 bit(36) init(""b),
110           3 seg fixed bin,
111           3 off fixed bin,
112      2 fill2 (7) fixed bin init(0,0,0,0,0,0,0);
113 dcl 1 type19 static,
114      2 wd0 fixed bin init(38),
115      2 wd1 fixed bin init(0),
116      2 wd2 fixed bin init(0),
117      2 wd3 fixed bin init(19),
118      2 wd4 fixed bin init(18),          /* verb number */
119      2 e fixed bin init(1),             /* one operand after TO */
120      2 h fixed bin,
121      2 j fixed bin,
122      2 a bit(3),
123      2 b bit(1),
124      2 c bit(1),
125      2 d bit(2),
126      2 f bit(2),
127      2 g bit(2),
128      2 k bit(5);
129 
130 dcl 1 ioerror static,
131           2 cobol_code fixed bin,
132           2 retry_tag fixed bin,
133           2 is_tag fixed bin,
134           2 ns_tag fixed bin,
135           2 type1_ptr ptr,
136           2 mode fixed bin;
137 
138 dcl unique_bits_vstring char(12) varying static init("unique_bits_");
139 dcl unique_chars_vstring char(13) varying static init("unique_chars_");
140 dcl get_pdir_vstring char(9) varying static init("get_pdir_");
141 
142 
143 /* EXTERNAL ENTRY NAMES */
144 
145 dcl cobol_ioop_util$set_stz entry;
146 dcl cobol_make_tagref entry(fixed bin, fixed bin, ptr);
147 dcl cobol_ioop_util$disp entry(fixed bin);
148 dcl cobol_ioop_util$lda entry(fixed bin);
149 dcl cobol_ioop_util$tra entry(fixed bin);
150 dcl cobol_ioop_util$open_clean_up entry(ptr, fixed bin, fixed bin);
151 dcl cobol_ioop_util$ldaldx5 entry(fixed bin, fixed bin);
152 dcl cobol_ioop_util$set_fsb entry(fixed bin(31), fixed bin);
153 dcl cobol_gen_ioerror entry(ptr, ptr);
154 dcl cobol_gen_ioerror$finish_up entry(ptr, ptr);
155 dcl cobol_call_op entry(fixed bin,  fixed bin);
156 dcl cobol_reg_manager$after_op entry(fixed bin);
157 dcl cobol_set_fsbptr entry(ptr);
158 dcl cobol_alloc$stack entry(fixed bin,fixed bin,fixed bin);
159 dcl cobol_read_ft entry(fixed bin,ptr);
160 dcl cobol_read_rand entry(fixed bin,char(5),ptr);
161 dcl cobol_define_tag entry(fixed bin);
162 dcl cobol_iomode entry(ptr,ptr,fixed bin,fixed bin,bit(1) aligned);
163 
164 /* sub-generators */
165 dcl cobol_move_gen entry(ptr);
166 dcl cobol_file_util$open entry(ptr, fixed bin);
167 dcl cobol_io_util$move_lit entry(bit(3) aligned,fixed bin,fixed bin,char(*));
168 dcl cobol_iocall entry(ptr,ptr);
169 dcl cobol_io_util$move entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin,fixed bin);
170 dcl cobol_io_util$file_desc entry(fixed bin(24));
171 dcl cobol_open_util$make_pdir_path entry(fixed bin,fixed bin,fixed bin,fixed bin);
172 
173 /* BUILTIN FUNCTIONS */
174 
175           /*****    Declaration for builtin function        *****/
176 
177 dcl       (substr,mod,binary,fixed,addr,addrel,rel,length,
178           string,unspec,null,index)               builtin;
179 
180 
181 
182 
183 
184 %include cobol_file_table;
185 %include cobol_file_key;
186 %include cobol_linage_rec;
187 %include cobol_type1;
188 %include cobol_type9;
189 %include cobol_type12;
190 %include cobol_type19;
191 %include cobol_fixed_common;
192 %include cobol_ext_;
193 %include cobol_;
194