1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 dcl OPEN_FLAGS_BOUND bit (6) static options (constant)
21 init ("100000"b);
22 dcl OPEN_FLAGS_RELOCATABLE bit (6) static options (constant)
23 init ("010000"b);
24 dcl OPEN_FLAGS_PROCEDURE bit (6) static options (constant)
25 init ("001000"b);
26 dcl OPEN_FLAGS_SEPARATE_STATIC
27 bit (6) static options (constant)
28 init ("000100"b);
29 dcl OPEN_FLAGS_PERPROCESS_STATIC
30 bit (6) static options (constant)
31 init ("000010"b);
32 dcl OPEN_FLAGS_NO_HASHTABLE bit (6) static options (constant)
33 init ("000001"b);
34
35
36
37 dcl DEFINITION_FLAGS_IGNORE bit (4) static options (constant) init ("1000"b);
38 dcl DEFINITION_FLAGS_ENTRY bit (4) static options (constant) init ("0100"b);
39 dcl DEFINITION_FLAGS_RETAIN bit (4) static options (constant) init ("0010"b);
40 dcl DEFINITION_FLAGS_INDIRECT
41 bit (4) static options (constant) init ("0001"b);
42
43
44
45 dcl word_arrayp ptr;
46 dcl word_arrayl fixed bin (18) unsigned;
47
48 dcl word_array(word_arrayl) bit (36) based (word_arrayp);
49
50 dcl reloc_strp ptr;
51 dcl reloc_strl fixed bin (21);
52
53 dcl reloc_str char (reloc_strl) based (reloc_strp);
54
55 dcl component_listp ptr;
56 dcl component_count fixed bin (15) unsigned;
57
58 dcl component_list (1:component_count)
59 ptr based (component_listp);
60
61 dcl 01 gen_info aligned based,
62 02 gen_created fixed bin (71),
63 02 generator char (8),
64 02 gen_number fixed bin,
65 02 gen_version char (512) varying;
66
67
68
69 dcl ocu_$open
70 entry (char(*),
71 char(*),
72 bit(*),
73 ptr,
74 fixed bin(35));
75
76 dcl ocu_$close
77 entry (ptr,
78 fixed bin(35));
79
80 dcl ocu_$release
81 entry (ptr);
82
83 dcl ocu_$emit_text
84 entry (ptr,
85 ptr,
86 ptr,
87 fixed bin (18) uns)
88 returns(fixed bin (18) uns);
89
90 dcl ocu_$emit_definition
91 entry (ptr,
92 char(*) var,
93 fixed bin (3),
94 fixed bin (18) uns,
95 bit(*))
96 returns(fixed bin (18) uns);
97
98 dcl ocu_$emit_segname
99 entry (ptr,
100 char(*) var,
101 bit(*))
102 returns(fixed bin (18) uns);
103
104 dcl ocu_$emit_msf_map
105 entry (ptr,
106 fixed bin (15) uns,
107 fixed bin (15) uns);
108
109 dcl ocu_$emit_static
110 entry (ptr,
111 ptr,
112 fixed bin (18) uns)
113 returns(fixed bin (18) uns);
114
115 dcl ocu_$emit_link
116 entry (ptr,
117 fixed bin (3),
118 fixed bin (3),
119 char(*) var,
120 char(*) var,
121 fixed bin,
122 bit(6),
123 ptr)
124 returns(fixed bin (18) uns);
125
126 dcl ocu_$emit_partial_link
127 entry (ptr,
128 fixed bin (15) uns,
129 fixed bin (3),
130 fixed bin (18) uns,
131 bit(6))
132 returns(fixed bin (18) uns);
133
134 dcl ocu_$emit_firstref_trap
135 entry (ptr,
136 fixed bin (18) uns,
137 fixed bin (18) uns);
138
139 dcl ocu_$emit_symbol
140 entry (ptr,
141 ptr,
142 ptr,
143 fixed bin (18) uns)
144 returns(fixed bin (18) uns);
145
146 dcl ocu_$backpatch
147 entry (ptr,
148 char(*),
149 fixed bin (18) uns,
150 char(*),
151 fixed bin (35));
152
153 dcl ocu_$create_msf
154 entry (ptr,
155 fixed bin (15) uns,
156 ptr,
157 fixed bin(35));
158
159