source: trunk/gsdl/packages/yaz/ill/ill-core.c@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 67.3 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-C: ISO-10161-ILL-1 */
3
4#include <yaz/ill-core.h>
5
6int ill_APDU (ODR o, ILL_APDU **p, int opt, const char *name)
7{
8 static Odr_arm arm[] = {
9 {-1, -1, -1, ILL_APDU_ILL_Request,
10 (Odr_fun) ill_Request, "ILL_Request"},
11 {-1, -1, -1, ILL_APDU_Forward_Notification,
12 (Odr_fun) ill_Forward_Notification, "Forward_Notification"},
13 {-1, -1, -1, ILL_APDU_Shipped,
14 (Odr_fun) ill_Shipped, "Shipped"},
15 {-1, -1, -1, ILL_APDU_ILL_Answer,
16 (Odr_fun) ill_Answer, "ILL_Answer"},
17 {-1, -1, -1, ILL_APDU_Conditional_Reply,
18 (Odr_fun) ill_Conditional_Reply, "Conditional_Reply"},
19 {-1, -1, -1, ILL_APDU_Cancel,
20 (Odr_fun) ill_Cancel, "Cancel"},
21 {-1, -1, -1, ILL_APDU_Cancel_Reply,
22 (Odr_fun) ill_Cancel_Reply, "Cancel_Reply"},
23 {-1, -1, -1, ILL_APDU_Received,
24 (Odr_fun) ill_Received, "Received"},
25 {-1, -1, -1, ILL_APDU_Recall,
26 (Odr_fun) ill_Recall, "Recall"},
27 {-1, -1, -1, ILL_APDU_Returned,
28 (Odr_fun) ill_Returned, "Returned"},
29 {-1, -1, -1, ILL_APDU_Checked_In,
30 (Odr_fun) ill_Checked_In, "Checked_In"},
31 {-1, -1, -1, ILL_APDU_Overdue,
32 (Odr_fun) ill_Overdue, "Overdue"},
33 {-1, -1, -1, ILL_APDU_Renew,
34 (Odr_fun) ill_Renew, "Renew"},
35 {-1, -1, -1, ILL_APDU_Renew_Answer,
36 (Odr_fun) ill_Renew_Answer, "Renew_Answer"},
37 {-1, -1, -1, ILL_APDU_Lost,
38 (Odr_fun) ill_Lost, "Lost"},
39 {-1, -1, -1, ILL_APDU_Damaged,
40 (Odr_fun) ill_Damaged, "Damaged"},
41 {-1, -1, -1, ILL_APDU_Message,
42 (Odr_fun) ill_Message, "Message"},
43 {-1, -1, -1, ILL_APDU_Status_Query,
44 (Odr_fun) ill_Status_Query, "Status_Query"},
45 {-1, -1, -1, ILL_APDU_Status_Or_Error_Report,
46 (Odr_fun) ill_Status_Or_Error_Report, "Status_Or_Error_Report"},
47 {-1, -1, -1, ILL_APDU_Expired,
48 (Odr_fun) ill_Expired, "Expired"},
49 {-1, -1, -1, -1, (Odr_fun) 0, 0}
50 };
51 if (!odr_initmember(o, p, sizeof(**p)))
52 return opt && odr_ok(o);
53 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
54 return 1;
55 *p = 0;
56 return opt && odr_ok(o);
57}
58
59int ill_Request (ODR o, ILL_Request **p, int opt, const char *name)
60{
61 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 1, name))
62 return opt && odr_ok(o);
63 if (o->direction == ODR_DECODE)
64 *p = odr_malloc (o, sizeof(**p));
65 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
66 {
67 *p = 0;
68 return 0;
69 }
70 return
71 odr_implicit_tag (o, odr_integer,
72 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
73 odr_implicit_tag (o, ill_Transaction_Id,
74 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
75 odr_implicit_tag (o, ill_Service_Date_Time,
76 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
77 odr_implicit_tag (o, ill_System_Id,
78 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
79 odr_implicit_tag (o, ill_System_Id,
80 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
81 odr_implicit_tag (o, ill_Transaction_Type,
82 &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") &&
83 odr_implicit_tag (o, ill_Delivery_Address,
84 &(*p)->delivery_address, ODR_CONTEXT, 6, 1, "delivery_address") &&
85 ill_Delivery_Service(o, &(*p)->delivery_service, 1, "delivery_service") &&
86 odr_implicit_tag (o, ill_Delivery_Address,
87 &(*p)->billing_address, ODR_CONTEXT, 8, 1, "billing_address") &&
88 odr_implicit_settag (o, ODR_CONTEXT, 9) &&
89 odr_sequence_of(o, (Odr_fun) ill_Service_Type, &(*p)->iLL_service_type,
90 &(*p)->num_iLL_service_type, "iLL_service_type") &&
91 odr_explicit_tag (o, odr_external,
92 &(*p)->responder_specific_service, ODR_CONTEXT, 10, 1, "responder_specific_service") &&
93 odr_implicit_tag (o, ill_Requester_Optional_Messages_Type,
94 &(*p)->requester_optional_messages, ODR_CONTEXT, 11, 0, "requester_optional_messages") &&
95 odr_implicit_tag (o, ill_Search_Type,
96 &(*p)->search_type, ODR_CONTEXT, 12, 1, "search_type") &&
97 odr_implicit_settag (o, ODR_CONTEXT, 13) &&
98 (odr_sequence_of(o, (Odr_fun) ill_Supply_Medium_Info_Type, &(*p)->supply_medium_info_type,
99 &(*p)->num_supply_medium_info_type, "supply_medium_info_type") || odr_ok(o)) &&
100 odr_implicit_tag (o, ill_Place_On_Hold_Type,
101 &(*p)->place_on_hold, ODR_CONTEXT, 14, 0, "place_on_hold") &&
102 odr_implicit_tag (o, ill_Client_Id,
103 &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") &&
104 odr_implicit_tag (o, ill_Item_Id,
105 &(*p)->item_id, ODR_CONTEXT, 16, 0, "item_id") &&
106 odr_implicit_tag (o, ill_Supplemental_Item_Description,
107 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
108 odr_implicit_tag (o, ill_Cost_Info_Type,
109 &(*p)->cost_info_type, ODR_CONTEXT, 18, 1, "cost_info_type") &&
110 odr_explicit_tag (o, ill_String,
111 &(*p)->copyright_compliance, ODR_CONTEXT, 19, 1, "copyright_compliance") &&
112 odr_implicit_tag (o, ill_Third_Party_Info_Type,
113 &(*p)->third_party_info_type, ODR_CONTEXT, 20, 1, "third_party_info_type") &&
114 odr_implicit_tag (o, odr_bool,
115 &(*p)->retry_flag, ODR_CONTEXT, 21, 0, "retry_flag") &&
116 odr_implicit_tag (o, odr_bool,
117 &(*p)->forward_flag, ODR_CONTEXT, 22, 0, "forward_flag") &&
118 odr_explicit_tag (o, ill_String,
119 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
120 odr_explicit_tag (o, ill_String,
121 &(*p)->forward_note, ODR_CONTEXT, 47, 1, "forward_note") &&
122 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
123 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->iLL_request_extensions,
124 &(*p)->num_iLL_request_extensions, "iLL_request_extensions") || odr_ok(o)) &&
125 odr_sequence_end (o) &&
126 odr_constructed_end (o);
127}
128
129int ill_Forward_Notification (ODR o, ILL_Forward_Notification **p, int opt, const char *name)
130{
131 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 2, name))
132 return opt && odr_ok(o);
133 if (o->direction == ODR_DECODE)
134 *p = odr_malloc (o, sizeof(**p));
135 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
136 {
137 *p = 0;
138 return 0;
139 }
140 return
141 odr_implicit_tag (o, odr_integer,
142 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
143 odr_implicit_tag (o, ill_Transaction_Id,
144 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
145 odr_implicit_tag (o, ill_Service_Date_Time,
146 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
147 odr_implicit_tag (o, ill_System_Id,
148 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
149 odr_implicit_tag (o, ill_System_Id,
150 &(*p)->responder_id, ODR_CONTEXT, 4, 0, "responder_id") &&
151 odr_implicit_tag (o, ill_System_Address,
152 &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") &&
153 odr_implicit_tag (o, ill_System_Id,
154 &(*p)->intermediary_id, ODR_CONTEXT, 25, 0, "intermediary_id") &&
155 odr_explicit_tag (o, ill_String,
156 &(*p)->notification_note, ODR_CONTEXT, 48, 1, "notification_note") &&
157 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
158 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->forward_notification_extensions,
159 &(*p)->num_forward_notification_extensions, "forward_notification_extensions") || odr_ok(o)) &&
160 odr_sequence_end (o) &&
161 odr_constructed_end (o);
162}
163
164int ill_Shipped (ODR o, ILL_Shipped **p, int opt, const char *name)
165{
166 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 3, name))
167 return opt && odr_ok(o);
168 if (o->direction == ODR_DECODE)
169 *p = odr_malloc (o, sizeof(**p));
170 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
171 {
172 *p = 0;
173 return 0;
174 }
175 return
176 odr_implicit_tag (o, odr_integer,
177 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
178 odr_implicit_tag (o, ill_Transaction_Id,
179 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
180 odr_implicit_tag (o, ill_Service_Date_Time,
181 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
182 odr_implicit_tag (o, ill_System_Id,
183 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
184 odr_implicit_tag (o, ill_System_Id,
185 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
186 odr_implicit_tag (o, ill_System_Address,
187 &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") &&
188 odr_implicit_tag (o, ill_System_Id,
189 &(*p)->intermediary_id, ODR_CONTEXT, 25, 1, "intermediary_id") &&
190 odr_implicit_tag (o, ill_System_Id,
191 &(*p)->supplier_id, ODR_CONTEXT, 26, 1, "supplier_id") &&
192 odr_implicit_tag (o, ill_Client_Id,
193 &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") &&
194 odr_implicit_tag (o, ill_Transaction_Type,
195 &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") &&
196 odr_implicit_tag (o, ill_Supplemental_Item_Description,
197 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
198 odr_implicit_tag (o, ill_Shipped_Service_Type,
199 &(*p)->shipped_service_type, ODR_CONTEXT, 27, 0, "shipped_service_type") &&
200 odr_implicit_tag (o, ill_Responder_Optional_Messages_Type,
201 &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") &&
202 odr_implicit_tag (o, ill_Supply_Details,
203 &(*p)->supply_details, ODR_CONTEXT, 29, 0, "supply_details") &&
204 odr_implicit_tag (o, ill_Postal_Address,
205 &(*p)->return_to_address, ODR_CONTEXT, 30, 1, "return_to_address") &&
206 odr_explicit_tag (o, ill_String,
207 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
208 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
209 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->shipped_extensions,
210 &(*p)->num_shipped_extensions, "shipped_extensions") || odr_ok(o)) &&
211 odr_sequence_end (o) &&
212 odr_constructed_end (o);
213}
214
215int ill_Answer (ODR o, ILL_Answer **p, int opt, const char *name)
216{
217 static Odr_arm arm[] = {
218 {ODR_EXPLICIT, ODR_CONTEXT, 1, ILL_Answer_conditional_results,
219 (Odr_fun) ill_Conditional_Results, "conditional_results"},
220 {ODR_EXPLICIT, ODR_CONTEXT, 2, ILL_Answer_retry_results,
221 (Odr_fun) ill_Retry_Results, "retry_results"},
222 {ODR_EXPLICIT, ODR_CONTEXT, 3, ILL_Answer_unfilled_results,
223 (Odr_fun) ill_Unfilled_Results, "unfilled_results"},
224 {ODR_EXPLICIT, ODR_CONTEXT, 4, ILL_Answer_locations_results,
225 (Odr_fun) ill_Locations_Results, "locations_results"},
226 {ODR_EXPLICIT, ODR_CONTEXT, 5, ILL_Answer_will_supply_results,
227 (Odr_fun) ill_Will_Supply_Results, "will_supply_results"},
228 {ODR_EXPLICIT, ODR_CONTEXT, 6, ILL_Answer_hold_placed_results,
229 (Odr_fun) ill_Hold_Placed_Results, "hold_placed_results"},
230 {ODR_EXPLICIT, ODR_CONTEXT, 7, ILL_Answer_estimate_results,
231 (Odr_fun) ill_Estimate_Results, "estimate_results"},
232 {-1, -1, -1, -1, (Odr_fun) 0, 0}
233 };
234 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 4, name))
235 return opt && odr_ok(o);
236 if (o->direction == ODR_DECODE)
237 *p = odr_malloc (o, sizeof(**p));
238 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
239 {
240 *p = 0;
241 return 0;
242 }
243 return
244 odr_implicit_tag (o, odr_integer,
245 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
246 odr_implicit_tag (o, ill_Transaction_Id,
247 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
248 odr_implicit_tag (o, ill_Service_Date_Time,
249 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
250 odr_implicit_tag (o, ill_System_Id,
251 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
252 odr_implicit_tag (o, ill_System_Id,
253 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
254 odr_implicit_tag (o, ill_Transaction_Results,
255 &(*p)->transaction_results, ODR_CONTEXT, 31, 0, "transaction_results") &&
256 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 32, "results_explanation") &&
257 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
258 odr_constructed_end (o)) || odr_ok(o)) &&
259 odr_explicit_tag (o, odr_external,
260 &(*p)->responder_specific_results, ODR_CONTEXT, 33, 1, "responder_specific_results") &&
261 odr_implicit_tag (o, ill_Supplemental_Item_Description,
262 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
263 odr_implicit_tag (o, ill_Send_To_List_Type,
264 &(*p)->send_to_list, ODR_CONTEXT, 23, 1, "send_to_list") &&
265 odr_implicit_tag (o, ill_Already_Tried_List_Type,
266 &(*p)->already_tried_list, ODR_CONTEXT, 34, 1, "already_tried_list") &&
267 odr_implicit_tag (o, ill_Responder_Optional_Messages_Type,
268 &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") &&
269 odr_explicit_tag (o, ill_String,
270 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
271 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
272 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->ill_answer_extensions,
273 &(*p)->num_ill_answer_extensions, "ill_answer_extensions") || odr_ok(o)) &&
274 odr_sequence_end (o) &&
275 odr_constructed_end (o);
276}
277
278int ill_Conditional_Reply (ODR o, ILL_Conditional_Reply **p, int opt, const char *name)
279{
280 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 5, name))
281 return opt && odr_ok(o);
282 if (o->direction == ODR_DECODE)
283 *p = odr_malloc (o, sizeof(**p));
284 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
285 {
286 *p = 0;
287 return 0;
288 }
289 return
290 odr_implicit_tag (o, odr_integer,
291 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
292 odr_implicit_tag (o, ill_Transaction_Id,
293 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
294 odr_implicit_tag (o, ill_Service_Date_Time,
295 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
296 odr_implicit_tag (o, ill_System_Id,
297 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
298 odr_implicit_tag (o, ill_System_Id,
299 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
300 odr_implicit_tag (o, odr_bool,
301 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") &&
302 odr_explicit_tag (o, ill_String,
303 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
304 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
305 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->conditional_reply_extensions,
306 &(*p)->num_conditional_reply_extensions, "conditional_reply_extensions") || odr_ok(o)) &&
307 odr_sequence_end (o) &&
308 odr_constructed_end (o);
309}
310
311int ill_Cancel (ODR o, ILL_Cancel **p, int opt, const char *name)
312{
313 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 6, name))
314 return opt && odr_ok(o);
315 if (o->direction == ODR_DECODE)
316 *p = odr_malloc (o, sizeof(**p));
317 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
318 {
319 *p = 0;
320 return 0;
321 }
322 return
323 odr_implicit_tag (o, odr_integer,
324 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
325 odr_implicit_tag (o, ill_Transaction_Id,
326 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
327 odr_implicit_tag (o, ill_Service_Date_Time,
328 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
329 odr_implicit_tag (o, ill_System_Id,
330 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
331 odr_implicit_tag (o, ill_System_Id,
332 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
333 odr_explicit_tag (o, ill_String,
334 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
335 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
336 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->cancel_extensions,
337 &(*p)->num_cancel_extensions, "cancel_extensions") || odr_ok(o)) &&
338 odr_sequence_end (o) &&
339 odr_constructed_end (o);
340}
341
342int ill_Cancel_Reply (ODR o, ILL_Cancel_Reply **p, int opt, const char *name)
343{
344 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 7, name))
345 return opt && odr_ok(o);
346 if (o->direction == ODR_DECODE)
347 *p = odr_malloc (o, sizeof(**p));
348 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
349 {
350 *p = 0;
351 return 0;
352 }
353 return
354 odr_implicit_tag (o, odr_integer,
355 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
356 odr_implicit_tag (o, ill_Transaction_Id,
357 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
358 odr_implicit_tag (o, ill_Service_Date_Time,
359 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
360 odr_implicit_tag (o, ill_System_Id,
361 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
362 odr_implicit_tag (o, ill_System_Id,
363 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
364 odr_implicit_tag (o, odr_bool,
365 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") &&
366 odr_explicit_tag (o, ill_String,
367 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
368 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
369 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->cancel_reply_extensions,
370 &(*p)->num_cancel_reply_extensions, "cancel_reply_extensions") || odr_ok(o)) &&
371 odr_sequence_end (o) &&
372 odr_constructed_end (o);
373}
374
375int ill_Received (ODR o, ILL_Received **p, int opt, const char *name)
376{
377 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 8, name))
378 return opt && odr_ok(o);
379 if (o->direction == ODR_DECODE)
380 *p = odr_malloc (o, sizeof(**p));
381 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
382 {
383 *p = 0;
384 return 0;
385 }
386 return
387 odr_implicit_tag (o, odr_integer,
388 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
389 odr_implicit_tag (o, ill_Transaction_Id,
390 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
391 odr_implicit_tag (o, ill_Service_Date_Time,
392 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
393 odr_implicit_tag (o, ill_System_Id,
394 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
395 odr_implicit_tag (o, ill_System_Id,
396 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
397 odr_implicit_tag (o, ill_System_Id,
398 &(*p)->supplier_id, ODR_CONTEXT, 26, 1, "supplier_id") &&
399 odr_implicit_tag (o, ill_Supplemental_Item_Description,
400 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
401 odr_implicit_tag (o, ill_ISO_Date,
402 &(*p)->date_received, ODR_CONTEXT, 36, 0, "date_received") &&
403 odr_implicit_tag (o, ill_Shipped_Service_Type,
404 &(*p)->shipped_service_type, ODR_CONTEXT, 27, 0, "shipped_service_type") &&
405 odr_explicit_tag (o, ill_String,
406 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
407 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
408 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->received_extensions,
409 &(*p)->num_received_extensions, "received_extensions") || odr_ok(o)) &&
410 odr_sequence_end (o) &&
411 odr_constructed_end (o);
412}
413
414int ill_Recall (ODR o, ILL_Recall **p, int opt, const char *name)
415{
416 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 9, name))
417 return opt && odr_ok(o);
418 if (o->direction == ODR_DECODE)
419 *p = odr_malloc (o, sizeof(**p));
420 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
421 {
422 *p = 0;
423 return 0;
424 }
425 return
426 odr_implicit_tag (o, odr_integer,
427 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
428 odr_implicit_tag (o, ill_Transaction_Id,
429 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
430 odr_implicit_tag (o, ill_Service_Date_Time,
431 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
432 odr_implicit_tag (o, ill_System_Id,
433 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
434 odr_implicit_tag (o, ill_System_Id,
435 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
436 odr_explicit_tag (o, ill_String,
437 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
438 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
439 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->recall_extensions,
440 &(*p)->num_recall_extensions, "recall_extensions") || odr_ok(o)) &&
441 odr_sequence_end (o) &&
442 odr_constructed_end (o);
443}
444
445int ill_Returned (ODR o, ILL_Returned **p, int opt, const char *name)
446{
447 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 10, name))
448 return opt && odr_ok(o);
449 if (o->direction == ODR_DECODE)
450 *p = odr_malloc (o, sizeof(**p));
451 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
452 {
453 *p = 0;
454 return 0;
455 }
456 return
457 odr_implicit_tag (o, odr_integer,
458 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
459 odr_implicit_tag (o, ill_Transaction_Id,
460 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
461 odr_implicit_tag (o, ill_Service_Date_Time,
462 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
463 odr_implicit_tag (o, ill_System_Id,
464 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
465 odr_implicit_tag (o, ill_System_Id,
466 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
467 odr_implicit_tag (o, ill_Supplemental_Item_Description,
468 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
469 odr_implicit_tag (o, ill_ISO_Date,
470 &(*p)->date_returned, ODR_CONTEXT, 37, 0, "date_returned") &&
471 odr_explicit_tag (o, ill_Transportation_Mode,
472 &(*p)->returned_via, ODR_CONTEXT, 38, 1, "returned_via") &&
473 odr_implicit_tag (o, ill_Amount,
474 &(*p)->insured_for, ODR_CONTEXT, 39, 1, "insured_for") &&
475 odr_explicit_tag (o, ill_String,
476 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
477 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
478 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->returned_extensions,
479 &(*p)->num_returned_extensions, "returned_extensions") || odr_ok(o)) &&
480 odr_sequence_end (o) &&
481 odr_constructed_end (o);
482}
483
484int ill_Checked_In (ODR o, ILL_Checked_In **p, int opt, const char *name)
485{
486 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 11, name))
487 return opt && odr_ok(o);
488 if (o->direction == ODR_DECODE)
489 *p = odr_malloc (o, sizeof(**p));
490 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
491 {
492 *p = 0;
493 return 0;
494 }
495 return
496 odr_implicit_tag (o, odr_integer,
497 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
498 odr_implicit_tag (o, ill_Transaction_Id,
499 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
500 odr_implicit_tag (o, ill_Service_Date_Time,
501 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
502 odr_implicit_tag (o, ill_System_Id,
503 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
504 odr_implicit_tag (o, ill_System_Id,
505 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
506 odr_implicit_tag (o, ill_ISO_Date,
507 &(*p)->date_checked_in, ODR_CONTEXT, 40, 0, "date_checked_in") &&
508 odr_explicit_tag (o, ill_String,
509 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
510 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
511 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->checked_in_extensions,
512 &(*p)->num_checked_in_extensions, "checked_in_extensions") || odr_ok(o)) &&
513 odr_sequence_end (o) &&
514 odr_constructed_end (o);
515}
516
517int ill_Overdue_Extension (ODR o, ILL_Overdue_Extension **p, int opt, const char *name)
518{
519 if (!odr_initmember (o, p, sizeof(**p)))
520 return opt && odr_ok(o);
521 if (odr_sequence_of (o, (Odr_fun) ill_Extension, &(*p)->elements,
522 &(*p)->num, name))
523 return 1;
524 *p = 0;
525 return opt && odr_ok(o);
526}
527
528int ill_Overdue (ODR o, ILL_Overdue **p, int opt, const char *name)
529{
530 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 12, name))
531 return opt && odr_ok(o);
532 if (o->direction == ODR_DECODE)
533 *p = odr_malloc (o, sizeof(**p));
534 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
535 {
536 *p = 0;
537 return 0;
538 }
539 return
540 odr_implicit_tag (o, odr_integer,
541 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
542 odr_implicit_tag (o, ill_Transaction_Id,
543 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
544 odr_implicit_tag (o, ill_Service_Date_Time,
545 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
546 odr_implicit_tag (o, ill_System_Id,
547 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
548 odr_implicit_tag (o, ill_System_Id,
549 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
550 odr_implicit_tag (o, ill_Date_Due,
551 &(*p)->date_due, ODR_CONTEXT, 41, 0, "date_due") &&
552 odr_explicit_tag (o, ill_String,
553 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
554 odr_explicit_tag (o, ill_Overdue_Extension,
555 &(*p)->overdue_extensions, ODR_CONTEXT, 49, 1, "overdue_extensions") &&
556 odr_sequence_end (o) &&
557 odr_constructed_end (o);
558}
559
560int ill_Renew (ODR o, ILL_Renew **p, int opt, const char *name)
561{
562 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 13, name))
563 return opt && odr_ok(o);
564 if (o->direction == ODR_DECODE)
565 *p = odr_malloc (o, sizeof(**p));
566 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
567 {
568 *p = 0;
569 return 0;
570 }
571 return
572 odr_implicit_tag (o, odr_integer,
573 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
574 odr_implicit_tag (o, ill_Transaction_Id,
575 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
576 odr_implicit_tag (o, ill_Service_Date_Time,
577 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
578 odr_implicit_tag (o, ill_System_Id,
579 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
580 odr_implicit_tag (o, ill_System_Id,
581 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
582 odr_implicit_tag (o, ill_ISO_Date,
583 &(*p)->desired_due_date, ODR_CONTEXT, 42, 1, "desired_due_date") &&
584 odr_explicit_tag (o, ill_String,
585 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
586 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
587 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->renew_extensions,
588 &(*p)->num_renew_extensions, "renew_extensions") || odr_ok(o)) &&
589 odr_sequence_end (o) &&
590 odr_constructed_end (o);
591}
592
593int ill_Renew_Answer (ODR o, ILL_Renew_Answer **p, int opt, const char *name)
594{
595 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 14, name))
596 return opt && odr_ok(o);
597 if (o->direction == ODR_DECODE)
598 *p = odr_malloc (o, sizeof(**p));
599 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
600 {
601 *p = 0;
602 return 0;
603 }
604 return
605 odr_implicit_tag (o, odr_integer,
606 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
607 odr_implicit_tag (o, ill_Transaction_Id,
608 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
609 odr_implicit_tag (o, ill_Service_Date_Time,
610 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
611 odr_implicit_tag (o, ill_System_Id,
612 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
613 odr_implicit_tag (o, ill_System_Id,
614 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
615 odr_implicit_tag (o, odr_bool,
616 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") &&
617 odr_implicit_tag (o, ill_Date_Due,
618 &(*p)->date_due, ODR_CONTEXT, 41, 1, "date_due") &&
619 odr_explicit_tag (o, ill_String,
620 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") &&
621 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
622 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->renew_answer_extensions,
623 &(*p)->num_renew_answer_extensions, "renew_answer_extensions") || odr_ok(o)) &&
624 odr_sequence_end (o) &&
625 odr_constructed_end (o);
626}
627
628int ill_Lost (ODR o, ILL_Lost **p, int opt, const char *name)
629{
630 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 15, name))
631 return opt && odr_ok(o);
632 if (o->direction == ODR_DECODE)
633 *p = odr_malloc (o, sizeof(**p));
634 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
635 {
636 *p = 0;
637 return 0;
638 }
639 return
640 odr_implicit_tag (o, odr_integer,
641 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
642 odr_implicit_tag (o, ill_Transaction_Id,
643 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
644 odr_implicit_tag (o, ill_Service_Date_Time,
645 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
646 odr_implicit_tag (o, ill_System_Id,
647 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
648 odr_implicit_tag (o, ill_System_Id,
649 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
650 odr_explicit_tag (o, ill_String,
651 &(*p)->note, ODR_CONTEXT, 46, 1, "note") &&
652 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
653 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->lost_extensions,
654 &(*p)->num_lost_extensions, "lost_extensions") || odr_ok(o)) &&
655 odr_sequence_end (o) &&
656 odr_constructed_end (o);
657}
658
659int ill_Damaged (ODR o, ILL_Damaged **p, int opt, const char *name)
660{
661 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 16, name))
662 return opt && odr_ok(o);
663 if (o->direction == ODR_DECODE)
664 *p = odr_malloc (o, sizeof(**p));
665 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
666 {
667 *p = 0;
668 return 0;
669 }
670 return
671 odr_implicit_tag (o, odr_integer,
672 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
673 odr_implicit_tag (o, ill_Transaction_Id,
674 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
675 odr_implicit_tag (o, ill_Service_Date_Time,
676 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
677 odr_implicit_tag (o, ill_System_Id,
678 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
679 odr_implicit_tag (o, ill_System_Id,
680 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
681 odr_implicit_tag (o, ill_Damaged_Details,
682 &(*p)->damaged_details, ODR_CONTEXT, 5, 1, "damaged_details") &&
683 odr_explicit_tag (o, ill_String,
684 &(*p)->note, ODR_CONTEXT, 46, 1, "note") &&
685 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
686 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->damaged_extensions,
687 &(*p)->num_damaged_extensions, "damaged_extensions") || odr_ok(o)) &&
688 odr_sequence_end (o) &&
689 odr_constructed_end (o);
690}
691
692int ill_Message (ODR o, ILL_Message **p, int opt, const char *name)
693{
694 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 17, name))
695 return opt && odr_ok(o);
696 if (o->direction == ODR_DECODE)
697 *p = odr_malloc (o, sizeof(**p));
698 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
699 {
700 *p = 0;
701 return 0;
702 }
703 return
704 odr_implicit_tag (o, odr_integer,
705 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
706 odr_implicit_tag (o, ill_Transaction_Id,
707 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
708 odr_implicit_tag (o, ill_Service_Date_Time,
709 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
710 odr_implicit_tag (o, ill_System_Id,
711 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
712 odr_implicit_tag (o, ill_System_Id,
713 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
714 odr_explicit_tag (o, ill_String,
715 &(*p)->note, ODR_CONTEXT, 46, 0, "note") &&
716 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
717 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->message_extensions,
718 &(*p)->num_message_extensions, "message_extensions") || odr_ok(o)) &&
719 odr_sequence_end (o) &&
720 odr_constructed_end (o);
721}
722
723int ill_Status_Query (ODR o, ILL_Status_Query **p, int opt, const char *name)
724{
725 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 18, name))
726 return opt && odr_ok(o);
727 if (o->direction == ODR_DECODE)
728 *p = odr_malloc (o, sizeof(**p));
729 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
730 {
731 *p = 0;
732 return 0;
733 }
734 return
735 odr_implicit_tag (o, odr_integer,
736 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
737 odr_implicit_tag (o, ill_Transaction_Id,
738 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
739 odr_implicit_tag (o, ill_Service_Date_Time,
740 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
741 odr_implicit_tag (o, ill_System_Id,
742 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
743 odr_implicit_tag (o, ill_System_Id,
744 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
745 odr_explicit_tag (o, ill_String,
746 &(*p)->note, ODR_CONTEXT, 46, 1, "note") &&
747 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
748 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->status_query_extensions,
749 &(*p)->num_status_query_extensions, "status_query_extensions") || odr_ok(o)) &&
750 odr_sequence_end (o) &&
751 odr_constructed_end (o);
752}
753
754int ill_Status_Or_Error_Report (ODR o, ILL_Status_Or_Error_Report **p, int opt, const char *name)
755{
756 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 19, name))
757 return opt && odr_ok(o);
758 if (o->direction == ODR_DECODE)
759 *p = odr_malloc (o, sizeof(**p));
760 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
761 {
762 *p = 0;
763 return 0;
764 }
765 return
766 odr_implicit_tag (o, odr_integer,
767 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
768 odr_implicit_tag (o, ill_Transaction_Id,
769 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
770 odr_implicit_tag (o, ill_Service_Date_Time,
771 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
772 odr_implicit_tag (o, ill_System_Id,
773 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
774 odr_implicit_tag (o, ill_System_Id,
775 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
776 odr_implicit_tag (o, ill_Reason_No_Report,
777 &(*p)->reason_no_report, ODR_CONTEXT, 43, 1, "reason_no_report") &&
778 odr_implicit_tag (o, ill_Status_Report,
779 &(*p)->status_report, ODR_CONTEXT, 44, 1, "status_report") &&
780 odr_implicit_tag (o, ill_Error_Report,
781 &(*p)->error_report, ODR_CONTEXT, 45, 1, "error_report") &&
782 odr_explicit_tag (o, ill_String,
783 &(*p)->note, ODR_CONTEXT, 46, 1, "note") &&
784 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
785 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->status_or_error_report_extensions,
786 &(*p)->num_status_or_error_report_extensions, "status_or_error_report_extensions") || odr_ok(o)) &&
787 odr_sequence_end (o) &&
788 odr_constructed_end (o);
789}
790
791int ill_Expired (ODR o, ILL_Expired **p, int opt, const char *name)
792{
793 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 20, name))
794 return opt && odr_ok(o);
795 if (o->direction == ODR_DECODE)
796 *p = odr_malloc (o, sizeof(**p));
797 if (!odr_sequence_begin (o, p, sizeof(**p), 0))
798 {
799 *p = 0;
800 return 0;
801 }
802 return
803 odr_implicit_tag (o, odr_integer,
804 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
805 odr_implicit_tag (o, ill_Transaction_Id,
806 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") &&
807 odr_implicit_tag (o, ill_Service_Date_Time,
808 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") &&
809 odr_implicit_tag (o, ill_System_Id,
810 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
811 odr_implicit_tag (o, ill_System_Id,
812 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
813 odr_implicit_settag (o, ODR_CONTEXT, 49) &&
814 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->expired_extensions,
815 &(*p)->num_expired_extensions, "expired_extensions") || odr_ok(o)) &&
816 odr_sequence_end (o) &&
817 odr_constructed_end (o);
818}
819
820int ill_Account_Number (ODR o, ILL_Account_Number **p, int opt, const char *name)
821{
822 return ill_String (o, p, opt, name);
823}
824
825int ill_Already_Forwarded (ODR o, ILL_Already_Forwarded **p, int opt, const char *name)
826{
827 if (!odr_sequence_begin (o, p, sizeof(**p), name))
828 return opt && odr_ok (o);
829 return
830 odr_implicit_tag (o, ill_System_Id,
831 &(*p)->responder_id, ODR_CONTEXT, 0, 0, "responder_id") &&
832 odr_implicit_tag (o, ill_System_Address,
833 &(*p)->responder_address, ODR_CONTEXT, 1, 1, "responder_address") &&
834 odr_sequence_end (o);
835}
836
837int ill_Already_Tried_List_Type (ODR o, ILL_Already_Tried_List_Type **p, int opt, const char *name)
838{
839 if (!odr_initmember (o, p, sizeof(**p)))
840 return opt && odr_ok(o);
841 if (odr_sequence_of (o, (Odr_fun) ill_System_Id, &(*p)->elements,
842 &(*p)->num, name))
843 return 1;
844 *p = 0;
845 return opt && odr_ok(o);
846}
847
848int ill_Amount (ODR o, ILL_Amount **p, int opt, const char *name)
849{
850 if (!odr_sequence_begin (o, p, sizeof(**p), name))
851 return opt && odr_ok (o);
852 return
853 odr_implicit_tag (o, odr_visiblestring,
854 &(*p)->currency_code, ODR_CONTEXT, 0, 1, "currency_code") &&
855 odr_implicit_tag (o, ill_AmountString,
856 &(*p)->monetary_value, ODR_CONTEXT, 1, 0, "monetary_value") &&
857 odr_sequence_end (o);
858}
859
860int ill_AmountString (ODR o, ILL_AmountString **p, int opt, const char *name)
861{
862 return odr_visiblestring (o, p, opt, name);
863}
864
865int ill_Client_Id (ODR o, ILL_Client_Id **p, int opt, const char *name)
866{
867 if (!odr_sequence_begin (o, p, sizeof(**p), name))
868 return opt && odr_ok (o);
869 return
870 odr_explicit_tag (o, ill_String,
871 &(*p)->client_name, ODR_CONTEXT, 0, 1, "client_name") &&
872 odr_explicit_tag (o, ill_String,
873 &(*p)->client_status, ODR_CONTEXT, 1, 1, "client_status") &&
874 odr_explicit_tag (o, ill_String,
875 &(*p)->client_identifier, ODR_CONTEXT, 2, 1, "client_identifier") &&
876 odr_sequence_end (o);
877}
878
879int ill_Conditional_Results (ODR o, ILL_Conditional_Results **p, int opt, const char *name)
880{
881 if (!odr_sequence_begin (o, p, sizeof(**p), name))
882 return opt && odr_ok (o);
883 return
884 odr_implicit_tag (o, odr_enum,
885 &(*p)->conditions, ODR_CONTEXT, 0, 0, "conditions") &&
886 odr_implicit_tag (o, ill_ISO_Date,
887 &(*p)->date_for_reply, ODR_CONTEXT, 1, 1, "date_for_reply") &&
888 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
889 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
890 &(*p)->num_locations, "locations") || odr_ok(o)) &&
891 ill_Delivery_Service(o, &(*p)->proposed_delivery_service, 1, "proposed_delivery_service") &&
892 odr_sequence_end (o);
893}
894
895int ill_Cost_Info_Type (ODR o, ILL_Cost_Info_Type **p, int opt, const char *name)
896{
897 if (!odr_sequence_begin (o, p, sizeof(**p), name))
898 return opt && odr_ok (o);
899 return
900 odr_explicit_tag (o, ill_Account_Number,
901 &(*p)->account_number, ODR_CONTEXT, 0, 1, "account_number") &&
902 odr_implicit_tag (o, ill_Amount,
903 &(*p)->maximum_cost, ODR_CONTEXT, 1, 1, "maximum_cost") &&
904 odr_implicit_tag (o, odr_bool,
905 &(*p)->reciprocal_agreement, ODR_CONTEXT, 2, 0, "reciprocal_agreement") &&
906 odr_implicit_tag (o, odr_bool,
907 &(*p)->will_pay_fee, ODR_CONTEXT, 3, 0, "will_pay_fee") &&
908 odr_implicit_tag (o, odr_bool,
909 &(*p)->payment_provided, ODR_CONTEXT, 4, 0, "payment_provided") &&
910 odr_sequence_end (o);
911}
912
913int ill_Current_State (ODR o, ILL_Current_State **p, int opt, const char *name)
914{
915 return odr_enum (o, p, opt, name);
916}
917
918int ill_Damaged_DetailsSpecific_units (ODR o, ILL_Damaged_DetailsSpecific_units **p, int opt, const char *name)
919{
920 if (!odr_initmember (o, p, sizeof(**p)))
921 return opt && odr_ok(o);
922 if (odr_sequence_of (o, (Odr_fun) odr_integer, &(*p)->elements,
923 &(*p)->num, name))
924 return 1;
925 *p = 0;
926 return opt && odr_ok(o);
927}
928
929int ill_Damaged_Details (ODR o, ILL_Damaged_Details **p, int opt, const char *name)
930{
931 static Odr_arm arm[] = {
932 {ODR_IMPLICIT, ODR_CONTEXT, 1, ILL_Damaged_Details_complete_document,
933 (Odr_fun) odr_null, "complete_document"},
934 {ODR_IMPLICIT, ODR_CONTEXT, 2, ILL_Damaged_Details_specific_units,
935 (Odr_fun) ill_Damaged_DetailsSpecific_units, "specific_units"},
936 {-1, -1, -1, -1, (Odr_fun) 0, 0}
937 };
938 if (!odr_sequence_begin (o, p, sizeof(**p), name))
939 return opt && odr_ok (o);
940 return
941 odr_implicit_tag (o, odr_oid,
942 &(*p)->document_type_id, ODR_CONTEXT, 0, 1, "document_type_id") &&
943 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
944 odr_sequence_end (o);
945}
946
947int ill_Date_Due (ODR o, ILL_Date_Due **p, int opt, const char *name)
948{
949 if (!odr_sequence_begin (o, p, sizeof(**p), name))
950 return opt && odr_ok (o);
951 return
952 odr_implicit_tag (o, ill_ISO_Date,
953 &(*p)->date_due_field, ODR_CONTEXT, 0, 0, "date_due_field") &&
954 odr_implicit_tag (o, odr_bool,
955 &(*p)->renewable, ODR_CONTEXT, 1, 0, "renewable") &&
956 odr_sequence_end (o);
957}
958
959int ill_Delivery_Address (ODR o, ILL_Delivery_Address **p, int opt, const char *name)
960{
961 if (!odr_sequence_begin (o, p, sizeof(**p), name))
962 return opt && odr_ok (o);
963 return
964 odr_implicit_tag (o, ill_Postal_Address,
965 &(*p)->postal_address, ODR_CONTEXT, 0, 1, "postal_address") &&
966 odr_implicit_tag (o, ill_System_Address,
967 &(*p)->electronic_address, ODR_CONTEXT, 1, 1, "electronic_address") &&
968 odr_sequence_end (o);
969}
970
971int ill_Delivery_ServiceElectronic_delivery (ODR o, ILL_Delivery_ServiceElectronic_delivery **p, int opt, const char *name)
972{
973 if (!odr_initmember (o, p, sizeof(**p)))
974 return opt && odr_ok(o);
975 if (odr_sequence_of (o, (Odr_fun) ill_Electronic_Delivery_Service, &(*p)->elements,
976 &(*p)->num, name))
977 return 1;
978 *p = 0;
979 return opt && odr_ok(o);
980}
981
982int ill_Delivery_Service (ODR o, ILL_Delivery_Service **p, int opt, const char *name)
983{
984 static Odr_arm arm[] = {
985 {ODR_EXPLICIT, ODR_CONTEXT, 7, ILL_Delivery_Service_physical_delivery,
986 (Odr_fun) ill_Transportation_Mode, "physical_delivery"},
987 {ODR_IMPLICIT, ODR_CONTEXT, 50, ILL_Delivery_Service_electronic_delivery,
988 (Odr_fun) ill_Delivery_ServiceElectronic_delivery, "electronic_delivery"},
989 {-1, -1, -1, -1, (Odr_fun) 0, 0}
990 };
991 if (!odr_initmember(o, p, sizeof(**p)))
992 return opt && odr_ok(o);
993 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
994 return 1;
995 *p = 0;
996 return opt && odr_ok(o);
997}
998
999int ill_Electronic_Delivery_Service_0 (ODR o, ILL_Electronic_Delivery_Service_0 **p, int opt, const char *name)
1000{
1001 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1002 return opt && odr_ok (o);
1003 return
1004 odr_implicit_tag (o, odr_oid,
1005 &(*p)->e_delivery_mode, ODR_CONTEXT, 0, 0, "e_delivery_mode") &&
1006 odr_explicit_tag (o, odr_any,
1007 &(*p)->e_delivery_parameters, ODR_CONTEXT, 1, 0, "e_delivery_parameters") &&
1008 odr_sequence_end (o);
1009}
1010
1011int ill_Electronic_Delivery_Service_1 (ODR o, ILL_Electronic_Delivery_Service_1 **p, int opt, const char *name)
1012{
1013 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1014 return opt && odr_ok (o);
1015 return
1016 odr_implicit_tag (o, odr_oid,
1017 &(*p)->document_type_id, ODR_CONTEXT, 2, 0, "document_type_id") &&
1018 odr_explicit_tag (o, odr_any,
1019 &(*p)->document_type_parameters, ODR_CONTEXT, 3, 0, "document_type_parameters") &&
1020 odr_sequence_end (o);
1021}
1022
1023int ill_Electronic_Delivery_Service (ODR o, ILL_Electronic_Delivery_Service **p, int opt, const char *name)
1024{
1025 static Odr_arm arm[] = {
1026 {ODR_IMPLICIT, ODR_CONTEXT, 0, ILL_Electronic_Delivery_Service_e_delivery_address,
1027 (Odr_fun) ill_System_Address, "e_delivery_address"},
1028 {ODR_IMPLICIT, ODR_CONTEXT, 1, ILL_Electronic_Delivery_Service_e_delivery_id,
1029 (Odr_fun) ill_System_Id, "e_delivery_id"},
1030 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1031 };
1032 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1033 return opt && odr_ok (o);
1034 return
1035 odr_implicit_tag (o, ill_Electronic_Delivery_Service_0,
1036 &(*p)->e_delivery_service, ODR_CONTEXT, 0, 1, "e_delivery_service") &&
1037 odr_implicit_tag (o, ill_Electronic_Delivery_Service_1,
1038 &(*p)->document_type, ODR_CONTEXT, 1, 1, "document_type") &&
1039 odr_explicit_tag (o, ill_String,
1040 &(*p)->e_delivery_description, ODR_CONTEXT, 4, 1, "e_delivery_description") &&
1041 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 5, "e_delivery_details") &&
1042 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
1043 odr_constructed_end (o) &&
1044 odr_explicit_tag (o, ill_String,
1045 &(*p)->name_or_code, ODR_CONTEXT, 6, 1, "name_or_code") &&
1046 odr_implicit_tag (o, ill_ISO_Time,
1047 &(*p)->delivery_time, ODR_CONTEXT, 7, 1, "delivery_time") &&
1048 odr_sequence_end (o);
1049}
1050
1051int ill_Error_Report (ODR o, ILL_Error_Report **p, int opt, const char *name)
1052{
1053 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1054 return opt && odr_ok (o);
1055 return
1056 odr_explicit_tag (o, ill_String,
1057 &(*p)->correlation_information, ODR_CONTEXT, 0, 0, "correlation_information") &&
1058 odr_implicit_tag (o, ill_Report_Source,
1059 &(*p)->report_source, ODR_CONTEXT, 1, 0, "report_source") &&
1060 odr_explicit_tag (o, ill_User_Error_Report,
1061 &(*p)->user_error_report, ODR_CONTEXT, 2, 1, "user_error_report") &&
1062 odr_explicit_tag (o, ill_Provider_Error_Report,
1063 &(*p)->provider_error_report, ODR_CONTEXT, 3, 1, "provider_error_report") &&
1064 odr_sequence_end (o);
1065}
1066
1067int ill_Estimate_Results (ODR o, ILL_Estimate_Results **p, int opt, const char *name)
1068{
1069 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1070 return opt && odr_ok (o);
1071 return
1072 odr_explicit_tag (o, ill_String,
1073 &(*p)->cost_estimate, ODR_CONTEXT, 0, 0, "cost_estimate") &&
1074 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1075 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1076 &(*p)->num_locations, "locations") || odr_ok(o)) &&
1077 odr_sequence_end (o);
1078}
1079
1080int ill_Extension (ODR o, ILL_Extension **p, int opt, const char *name)
1081{
1082 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1083 return opt && odr_ok (o);
1084 return
1085 odr_implicit_tag (o, odr_integer,
1086 &(*p)->identifier, ODR_CONTEXT, 0, 0, "identifier") &&
1087 odr_implicit_tag (o, odr_bool,
1088 &(*p)->critical, ODR_CONTEXT, 1, 0, "critical") &&
1089 odr_explicit_tag (o, odr_any,
1090 &(*p)->item, ODR_CONTEXT, 2, 0, "item") &&
1091 odr_sequence_end (o);
1092}
1093
1094int ill_General_Problem (ODR o, ILL_General_Problem **p, int opt, const char *name)
1095{
1096 return odr_enum (o, p, opt, name);
1097}
1098
1099int ill_History_Report (ODR o, ILL_History_Report **p, int opt, const char *name)
1100{
1101 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1102 return opt && odr_ok (o);
1103 return
1104 odr_implicit_tag (o, ill_ISO_Date,
1105 &(*p)->date_requested, ODR_CONTEXT, 0, 1, "date_requested") &&
1106 odr_explicit_tag (o, ill_String,
1107 &(*p)->author, ODR_CONTEXT, 1, 1, "author") &&
1108 odr_explicit_tag (o, ill_String,
1109 &(*p)->title, ODR_CONTEXT, 2, 1, "title") &&
1110 odr_explicit_tag (o, ill_String,
1111 &(*p)->author_of_article, ODR_CONTEXT, 3, 1, "author_of_article") &&
1112 odr_explicit_tag (o, ill_String,
1113 &(*p)->title_of_article, ODR_CONTEXT, 4, 1, "title_of_article") &&
1114 odr_implicit_tag (o, ill_ISO_Date,
1115 &(*p)->date_of_last_transition, ODR_CONTEXT, 5, 0, "date_of_last_transition") &&
1116 odr_implicit_tag (o, odr_enum,
1117 &(*p)->most_recent_service, ODR_CONTEXT, 6, 0, "most_recent_service") &&
1118 odr_implicit_tag (o, ill_ISO_Date,
1119 &(*p)->date_of_most_recent_service, ODR_CONTEXT, 7, 0, "date_of_most_recent_service") &&
1120 odr_implicit_tag (o, ill_System_Id,
1121 &(*p)->initiator_of_most_recent_service, ODR_CONTEXT, 8, 0, "initiator_of_most_recent_service") &&
1122 odr_implicit_tag (o, ill_Shipped_Service_Type,
1123 &(*p)->shipped_service_type, ODR_CONTEXT, 9, 1, "shipped_service_type") &&
1124 odr_implicit_tag (o, ill_Transaction_Results,
1125 &(*p)->transaction_results, ODR_CONTEXT, 10, 1, "transaction_results") &&
1126 odr_explicit_tag (o, ill_String,
1127 &(*p)->most_recent_service_note, ODR_CONTEXT, 11, 1, "most_recent_service_note") &&
1128 odr_sequence_end (o);
1129}
1130
1131int ill_Hold_Placed_Results (ODR o, ILL_Hold_Placed_Results **p, int opt, const char *name)
1132{
1133 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1134 return opt && odr_ok (o);
1135 return
1136 odr_implicit_tag (o, ill_ISO_Date,
1137 &(*p)->estimated_date_available, ODR_CONTEXT, 0, 0, "estimated_date_available") &&
1138 odr_implicit_tag (o, ill_Medium_Type,
1139 &(*p)->hold_placed_medium_type, ODR_CONTEXT, 1, 1, "hold_placed_medium_type") &&
1140 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
1141 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1142 &(*p)->num_locations, "locations") || odr_ok(o)) &&
1143 odr_sequence_end (o);
1144}
1145
1146int ill_APDU_Type (ODR o, ILL_APDU_Type **p, int opt, const char *name)
1147{
1148 return odr_enum (o, p, opt, name);
1149}
1150
1151int ill_Service_Type (ODR o, ILL_Service_Type **p, int opt, const char *name)
1152{
1153 return odr_enum (o, p, opt, name);
1154}
1155
1156int ill_String (ODR o, ILL_String **p, int opt, const char *name)
1157{
1158 static Odr_arm arm[] = {
1159 {-1, -1, -1, ILL_String_GeneralString,
1160 (Odr_fun) odr_generalstring, "GeneralString"},
1161 {-1, -1, -1, ILL_String_EDIFACTString,
1162 (Odr_fun) ill_EDIFACTString, "EDIFACTString"},
1163 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1164 };
1165 if (!odr_initmember(o, p, sizeof(**p)))
1166 return opt && odr_ok(o);
1167 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1168 return 1;
1169 *p = 0;
1170 return opt && odr_ok(o);
1171}
1172
1173int ill_Intermediary_Problem (ODR o, ILL_Intermediary_Problem **p, int opt, const char *name)
1174{
1175 return odr_enum (o, p, opt, name);
1176}
1177
1178int ill_ISO_Date (ODR o, ILL_ISO_Date **p, int opt, const char *name)
1179{
1180 return odr_visiblestring (o, p, opt, name);
1181}
1182
1183int ill_ISO_Time (ODR o, ILL_ISO_Time **p, int opt, const char *name)
1184{
1185 return odr_visiblestring (o, p, opt, name);
1186}
1187
1188int ill_Item_Id (ODR o, ILL_Item_Id **p, int opt, const char *name)
1189{
1190 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1191 return opt && odr_ok (o);
1192 return
1193 odr_implicit_tag (o, odr_enum,
1194 &(*p)->item_type, ODR_CONTEXT, 0, 1, "item_type") &&
1195 odr_implicit_tag (o, ill_Medium_Type,
1196 &(*p)->held_medium_type, ODR_CONTEXT, 1, 1, "held_medium_type") &&
1197 odr_explicit_tag (o, ill_String,
1198 &(*p)->call_number, ODR_CONTEXT, 2, 1, "call_number") &&
1199 odr_explicit_tag (o, ill_String,
1200 &(*p)->author, ODR_CONTEXT, 3, 1, "author") &&
1201 odr_explicit_tag (o, ill_String,
1202 &(*p)->title, ODR_CONTEXT, 4, 1, "title") &&
1203 odr_explicit_tag (o, ill_String,
1204 &(*p)->sub_title, ODR_CONTEXT, 5, 1, "sub_title") &&
1205 odr_explicit_tag (o, ill_String,
1206 &(*p)->sponsoring_body, ODR_CONTEXT, 6, 1, "sponsoring_body") &&
1207 odr_explicit_tag (o, ill_String,
1208 &(*p)->place_of_publication, ODR_CONTEXT, 7, 1, "place_of_publication") &&
1209 odr_explicit_tag (o, ill_String,
1210 &(*p)->publisher, ODR_CONTEXT, 8, 1, "publisher") &&
1211 odr_explicit_tag (o, ill_String,
1212 &(*p)->series_title_number, ODR_CONTEXT, 9, 1, "series_title_number") &&
1213 odr_explicit_tag (o, ill_String,
1214 &(*p)->volume_issue, ODR_CONTEXT, 10, 1, "volume_issue") &&
1215 odr_explicit_tag (o, ill_String,
1216 &(*p)->edition, ODR_CONTEXT, 11, 1, "edition") &&
1217 odr_explicit_tag (o, ill_String,
1218 &(*p)->publication_date, ODR_CONTEXT, 12, 1, "publication_date") &&
1219 odr_explicit_tag (o, ill_String,
1220 &(*p)->publication_date_of_component, ODR_CONTEXT, 13, 1, "publication_date_of_component") &&
1221 odr_explicit_tag (o, ill_String,
1222 &(*p)->author_of_article, ODR_CONTEXT, 14, 1, "author_of_article") &&
1223 odr_explicit_tag (o, ill_String,
1224 &(*p)->title_of_article, ODR_CONTEXT, 15, 1, "title_of_article") &&
1225 odr_explicit_tag (o, ill_String,
1226 &(*p)->pagination, ODR_CONTEXT, 16, 1, "pagination") &&
1227 odr_explicit_tag (o, odr_external,
1228 &(*p)->national_bibliography_no, ODR_CONTEXT, 17, 1, "national_bibliography_no") &&
1229 odr_explicit_tag (o, ill_String,
1230 &(*p)->iSBN, ODR_CONTEXT, 18, 1, "iSBN") &&
1231 odr_explicit_tag (o, ill_String,
1232 &(*p)->iSSN, ODR_CONTEXT, 19, 1, "iSSN") &&
1233 odr_explicit_tag (o, odr_external,
1234 &(*p)->system_no, ODR_CONTEXT, 20, 1, "system_no") &&
1235 odr_explicit_tag (o, ill_String,
1236 &(*p)->additional_no_letters, ODR_CONTEXT, 21, 1, "additional_no_letters") &&
1237 odr_explicit_tag (o, ill_String,
1238 &(*p)->verification_reference_source, ODR_CONTEXT, 22, 1, "verification_reference_source") &&
1239 odr_sequence_end (o);
1240}
1241
1242int ill_Location_Info (ODR o, ILL_Location_Info **p, int opt, const char *name)
1243{
1244 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1245 return opt && odr_ok (o);
1246 return
1247 odr_implicit_tag (o, ill_System_Id,
1248 &(*p)->location_id, ODR_CONTEXT, 0, 0, "location_id") &&
1249 odr_implicit_tag (o, ill_System_Address,
1250 &(*p)->location_address, ODR_CONTEXT, 1, 1, "location_address") &&
1251 odr_explicit_tag (o, ill_String,
1252 &(*p)->location_note, ODR_CONTEXT, 2, 1, "location_note") &&
1253 odr_sequence_end (o);
1254}
1255
1256int ill_Locations_Results (ODR o, ILL_Locations_Results **p, int opt, const char *name)
1257{
1258 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1259 return opt && odr_ok (o);
1260 return
1261 odr_implicit_tag (o, ill_Reason_Locs_Provided,
1262 &(*p)->reason_locs_provided, ODR_CONTEXT, 0, 1, "reason_locs_provided") &&
1263 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1264 odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1265 &(*p)->num_locations, "locations") &&
1266 odr_sequence_end (o);
1267}
1268
1269int ill_Medium_Type (ODR o, ILL_Medium_Type **p, int opt, const char *name)
1270{
1271 return odr_enum (o, p, opt, name);
1272}
1273
1274int ill_Name_Of_Person_Or_Institution (ODR o, ILL_Name_Of_Person_Or_Institution **p, int opt, const char *name)
1275{
1276 static Odr_arm arm[] = {
1277 {ODR_EXPLICIT, ODR_CONTEXT, 0, ILL_Name_Of_Person_Or_Institution_name_of_person,
1278 (Odr_fun) ill_String, "name_of_person"},
1279 {ODR_EXPLICIT, ODR_CONTEXT, 1, ILL_Name_Of_Person_Or_Institution_name_of_institution,
1280 (Odr_fun) ill_String, "name_of_institution"},
1281 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1282 };
1283 if (!odr_initmember(o, p, sizeof(**p)))
1284 return opt && odr_ok(o);
1285 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1286 return 1;
1287 *p = 0;
1288 return opt && odr_ok(o);
1289}
1290
1291int ill_Person_Or_Institution_Symbol (ODR o, ILL_Person_Or_Institution_Symbol **p, int opt, const char *name)
1292{
1293 static Odr_arm arm[] = {
1294 {ODR_EXPLICIT, ODR_CONTEXT, 0, ILL_Person_Or_Institution_Symbol_person_symbol,
1295 (Odr_fun) ill_String, "person_symbol"},
1296 {ODR_EXPLICIT, ODR_CONTEXT, 1, ILL_Person_Or_Institution_Symbol_institution_symbol,
1297 (Odr_fun) ill_String, "institution_symbol"},
1298 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1299 };
1300 if (!odr_initmember(o, p, sizeof(**p)))
1301 return opt && odr_ok(o);
1302 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1303 return 1;
1304 *p = 0;
1305 return opt && odr_ok(o);
1306}
1307
1308int ill_Place_On_Hold_Type (ODR o, ILL_Place_On_Hold_Type **p, int opt, const char *name)
1309{
1310 return odr_enum (o, p, opt, name);
1311}
1312
1313int ill_Postal_Address (ODR o, ILL_Postal_Address **p, int opt, const char *name)
1314{
1315 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1316 return opt && odr_ok (o);
1317 return
1318 odr_explicit_tag (o, ill_Name_Of_Person_Or_Institution,
1319 &(*p)->name_of_person_or_institution, ODR_CONTEXT, 0, 1, "name_of_person_or_institution") &&
1320 odr_explicit_tag (o, ill_String,
1321 &(*p)->extended_postal_delivery_address, ODR_CONTEXT, 1, 1, "extended_postal_delivery_address") &&
1322 odr_explicit_tag (o, ill_String,
1323 &(*p)->street_and_number, ODR_CONTEXT, 2, 1, "street_and_number") &&
1324 odr_explicit_tag (o, ill_String,
1325 &(*p)->post_office_box, ODR_CONTEXT, 3, 1, "post_office_box") &&
1326 odr_explicit_tag (o, ill_String,
1327 &(*p)->city, ODR_CONTEXT, 4, 1, "city") &&
1328 odr_explicit_tag (o, ill_String,
1329 &(*p)->region, ODR_CONTEXT, 5, 1, "region") &&
1330 odr_explicit_tag (o, ill_String,
1331 &(*p)->country, ODR_CONTEXT, 6, 1, "country") &&
1332 odr_explicit_tag (o, ill_String,
1333 &(*p)->postal_code, ODR_CONTEXT, 7, 1, "postal_code") &&
1334 odr_sequence_end (o);
1335}
1336
1337int ill_Provider_Error_Report (ODR o, ILL_Provider_Error_Report **p, int opt, const char *name)
1338{
1339 static Odr_arm arm[] = {
1340 {ODR_IMPLICIT, ODR_CONTEXT, 0, ILL_Provider_Error_Report_general_problem,
1341 (Odr_fun) ill_General_Problem, "general_problem"},
1342 {ODR_IMPLICIT, ODR_CONTEXT, 1, ILL_Provider_Error_Report_transaction_id_problem,
1343 (Odr_fun) ill_Transaction_Id_Problem, "transaction_id_problem"},
1344 {ODR_IMPLICIT, ODR_CONTEXT, 2, ILL_Provider_Error_Report_state_transition_prohibited,
1345 (Odr_fun) ill_State_Transition_Prohibited, "state_transition_prohibited"},
1346 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1347 };
1348 if (!odr_initmember(o, p, sizeof(**p)))
1349 return opt && odr_ok(o);
1350 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1351 return 1;
1352 *p = 0;
1353 return opt && odr_ok(o);
1354}
1355
1356int ill_Reason_Locs_Provided (ODR o, ILL_Reason_Locs_Provided **p, int opt, const char *name)
1357{
1358 return odr_enum (o, p, opt, name);
1359}
1360
1361int ill_Reason_No_Report (ODR o, ILL_Reason_No_Report **p, int opt, const char *name)
1362{
1363 return odr_enum (o, p, opt, name);
1364}
1365
1366int ill_Reason_Unfilled (ODR o, ILL_Reason_Unfilled **p, int opt, const char *name)
1367{
1368 return odr_enum (o, p, opt, name);
1369}
1370
1371int ill_Report_Source (ODR o, ILL_Report_Source **p, int opt, const char *name)
1372{
1373 return odr_enum (o, p, opt, name);
1374}
1375
1376int ill_Requester_Optional_Messages_Type (ODR o, ILL_Requester_Optional_Messages_Type **p, int opt, const char *name)
1377{
1378 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1379 return opt && odr_ok (o);
1380 return
1381 odr_implicit_tag (o, odr_bool,
1382 &(*p)->can_send_RECEIVED, ODR_CONTEXT, 0, 0, "can_send_RECEIVED") &&
1383 odr_implicit_tag (o, odr_bool,
1384 &(*p)->can_send_RETURNED, ODR_CONTEXT, 1, 0, "can_send_RETURNED") &&
1385 odr_implicit_tag (o, odr_enum,
1386 &(*p)->requester_SHIPPED, ODR_CONTEXT, 2, 0, "requester_SHIPPED") &&
1387 odr_implicit_tag (o, odr_enum,
1388 &(*p)->requester_CHECKED_IN, ODR_CONTEXT, 3, 0, "requester_CHECKED_IN") &&
1389 odr_sequence_end (o);
1390}
1391
1392int ill_Responder_Optional_Messages_Type (ODR o, ILL_Responder_Optional_Messages_Type **p, int opt, const char *name)
1393{
1394 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1395 return opt && odr_ok (o);
1396 return
1397 odr_implicit_tag (o, odr_bool,
1398 &(*p)->can_send_SHIPPED, ODR_CONTEXT, 0, 0, "can_send_SHIPPED") &&
1399 odr_implicit_tag (o, odr_bool,
1400 &(*p)->can_send_CHECKED_IN, ODR_CONTEXT, 1, 0, "can_send_CHECKED_IN") &&
1401 odr_implicit_tag (o, odr_enum,
1402 &(*p)->responder_RECEIVED, ODR_CONTEXT, 2, 0, "responder_RECEIVED") &&
1403 odr_implicit_tag (o, odr_enum,
1404 &(*p)->responder_RETURNED, ODR_CONTEXT, 3, 0, "responder_RETURNED") &&
1405 odr_sequence_end (o);
1406}
1407
1408int ill_Retry_Results (ODR o, ILL_Retry_Results **p, int opt, const char *name)
1409{
1410 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1411 return opt && odr_ok (o);
1412 return
1413 odr_implicit_tag (o, odr_enum,
1414 &(*p)->reason_not_available, ODR_CONTEXT, 0, 1, "reason_not_available") &&
1415 odr_implicit_tag (o, ill_ISO_Date,
1416 &(*p)->retry_date, ODR_CONTEXT, 1, 1, "retry_date") &&
1417 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
1418 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1419 &(*p)->num_locations, "locations") || odr_ok(o)) &&
1420 odr_sequence_end (o);
1421}
1422
1423int ill_Search_Type (ODR o, ILL_Search_Type **p, int opt, const char *name)
1424{
1425 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1426 return opt && odr_ok (o);
1427 return
1428 odr_explicit_tag (o, ill_String,
1429 &(*p)->level_of_service, ODR_CONTEXT, 0, 1, "level_of_service") &&
1430 odr_implicit_tag (o, ill_ISO_Date,
1431 &(*p)->need_before_date, ODR_CONTEXT, 1, 1, "need_before_date") &&
1432 odr_implicit_tag (o, odr_enum,
1433 &(*p)->expiry_flag, ODR_CONTEXT, 2, 0, "expiry_flag") &&
1434 odr_implicit_tag (o, ill_ISO_Date,
1435 &(*p)->expiry_date, ODR_CONTEXT, 3, 1, "expiry_date") &&
1436 odr_sequence_end (o);
1437}
1438
1439int ill_Security_Problem (ODR o, ILL_Security_Problem **p, int opt, const char *name)
1440{
1441 return ill_String (o, p, opt, name);
1442}
1443
1444int ill_Send_To_List_Type_s (ODR o, ILL_Send_To_List_Type_s **p, int opt, const char *name)
1445{
1446 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1447 return opt && odr_ok (o);
1448 return
1449 odr_implicit_tag (o, ill_System_Id,
1450 &(*p)->system_id, ODR_CONTEXT, 0, 0, "system_id") &&
1451 odr_explicit_tag (o, ill_Account_Number,
1452 &(*p)->account_number, ODR_CONTEXT, 1, 1, "account_number") &&
1453 odr_implicit_tag (o, ill_System_Address,
1454 &(*p)->system_address, ODR_CONTEXT, 2, 1, "system_address") &&
1455 odr_sequence_end (o);
1456}
1457
1458int ill_Send_To_List_Type (ODR o, ILL_Send_To_List_Type **p, int opt, const char *name)
1459{
1460 if (!odr_initmember (o, p, sizeof(**p)))
1461 return opt && odr_ok(o);
1462 if (odr_sequence_of (o, (Odr_fun) ill_Send_To_List_Type_s, &(*p)->elements,
1463 &(*p)->num, name))
1464 return 1;
1465 *p = 0;
1466 return opt && odr_ok(o);
1467}
1468
1469int ill_Service_Date_this (ODR o, ILL_Service_Date_this **p, int opt, const char *name)
1470{
1471 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1472 return opt && odr_ok (o);
1473 return
1474 odr_implicit_tag (o, ill_ISO_Date,
1475 &(*p)->date, ODR_CONTEXT, 0, 0, "date") &&
1476 odr_implicit_tag (o, ill_ISO_Time,
1477 &(*p)->time, ODR_CONTEXT, 1, 1, "time") &&
1478 odr_sequence_end (o);
1479}
1480
1481int ill_Service_Date_original (ODR o, ILL_Service_Date_original **p, int opt, const char *name)
1482{
1483 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1484 return opt && odr_ok (o);
1485 return
1486 odr_implicit_tag (o, ill_ISO_Date,
1487 &(*p)->date, ODR_CONTEXT, 0, 0, "date") &&
1488 odr_implicit_tag (o, ill_ISO_Time,
1489 &(*p)->time, ODR_CONTEXT, 1, 1, "time") &&
1490 odr_sequence_end (o);
1491}
1492
1493int ill_Service_Date_Time (ODR o, ILL_Service_Date_Time **p, int opt, const char *name)
1494{
1495 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1496 return opt && odr_ok (o);
1497 return
1498 odr_implicit_tag (o, ill_Service_Date_this,
1499 &(*p)->date_time_of_this_service, ODR_CONTEXT, 0, 0, "date_time_of_this_service") &&
1500 odr_implicit_tag (o, ill_Service_Date_original,
1501 &(*p)->date_time_of_original_service, ODR_CONTEXT, 1, 1, "date_time_of_original_service") &&
1502 odr_sequence_end (o);
1503}
1504
1505int ill_Shipped_Service_Type (ODR o, ILL_Shipped_Service_Type **p, int opt, const char *name)
1506{
1507 return ill_Service_Type (o, p, opt, name);
1508}
1509
1510int ill_State_Transition_Prohibited (ODR o, ILL_State_Transition_Prohibited **p, int opt, const char *name)
1511{
1512 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1513 return opt && odr_ok (o);
1514 return
1515 odr_implicit_tag (o, ill_APDU_Type,
1516 &(*p)->aPDU_type, ODR_CONTEXT, 0, 0, "aPDU_type") &&
1517 odr_implicit_tag (o, ill_Current_State,
1518 &(*p)->current_state, ODR_CONTEXT, 1, 0, "current_state") &&
1519 odr_sequence_end (o);
1520}
1521
1522int ill_Status_Report (ODR o, ILL_Status_Report **p, int opt, const char *name)
1523{
1524 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1525 return opt && odr_ok (o);
1526 return
1527 odr_implicit_tag (o, ill_History_Report,
1528 &(*p)->user_status_report, ODR_CONTEXT, 0, 0, "user_status_report") &&
1529 odr_implicit_tag (o, ill_Current_State,
1530 &(*p)->provider_status_report, ODR_CONTEXT, 1, 0, "provider_status_report") &&
1531 odr_sequence_end (o);
1532}
1533
1534int ill_Supplemental_Item_Description (ODR o, ILL_Supplemental_Item_Description **p, int opt, const char *name)
1535{
1536 if (!odr_initmember (o, p, sizeof(**p)))
1537 return opt && odr_ok(o);
1538 if (odr_sequence_of (o, (Odr_fun) odr_external, &(*p)->elements,
1539 &(*p)->num, name))
1540 return 1;
1541 *p = 0;
1542 return opt && odr_ok(o);
1543}
1544
1545int ill_Supply_Details (ODR o, ILL_Supply_Details **p, int opt, const char *name)
1546{
1547 static Odr_arm arm[] = {
1548 {ODR_EXPLICIT, ODR_CONTEXT, 5, ILL_Supply_Details_physical_delivery,
1549 (Odr_fun) ill_Transportation_Mode, "physical_delivery"},
1550 {ODR_IMPLICIT, ODR_CONTEXT, 50, ILL_Supply_Details_electronic_delivery,
1551 (Odr_fun) ill_Electronic_Delivery_Service, "electronic_delivery"},
1552 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1553 };
1554 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1555 return opt && odr_ok (o);
1556 return
1557 odr_implicit_tag (o, ill_ISO_Date,
1558 &(*p)->date_shipped, ODR_CONTEXT, 0, 1, "date_shipped") &&
1559 odr_implicit_tag (o, ill_Date_Due,
1560 &(*p)->date_due, ODR_CONTEXT, 1, 1, "date_due") &&
1561 odr_implicit_tag (o, odr_integer,
1562 &(*p)->chargeable_units, ODR_CONTEXT, 2, 1, "chargeable_units") &&
1563 odr_implicit_tag (o, ill_Amount,
1564 &(*p)->cost, ODR_CONTEXT, 3, 1, "cost") &&
1565 odr_implicit_tag (o, odr_enum,
1566 &(*p)->shipped_conditions, ODR_CONTEXT, 4, 1, "shipped_conditions") &&
1567 (odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) || odr_ok(o)) &&
1568 odr_implicit_tag (o, ill_Amount,
1569 &(*p)->insured_for, ODR_CONTEXT, 6, 1, "insured_for") &&
1570 odr_implicit_tag (o, ill_Amount,
1571 &(*p)->return_insurance_require, ODR_CONTEXT, 7, 1, "return_insurance_require") &&
1572 odr_implicit_settag (o, ODR_CONTEXT, 8) &&
1573 (odr_sequence_of(o, (Odr_fun) ill_Units_Per_Medium_Type, &(*p)->no_of_units_per_medium,
1574 &(*p)->num_no_of_units_per_medium, "no_of_units_per_medium") || odr_ok(o)) &&
1575 odr_sequence_end (o);
1576}
1577
1578int ill_Supply_Medium_Info_Type (ODR o, ILL_Supply_Medium_Info_Type **p, int opt, const char *name)
1579{
1580 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1581 return opt && odr_ok (o);
1582 return
1583 odr_implicit_tag (o, ill_Supply_Medium_Type,
1584 &(*p)->supply_medium_type, ODR_CONTEXT, 0, 0, "supply_medium_type") &&
1585 odr_explicit_tag (o, ill_String,
1586 &(*p)->medium_characteristics, ODR_CONTEXT, 1, 1, "medium_characteristics") &&
1587 odr_sequence_end (o);
1588}
1589
1590int ill_Supply_Medium_Type (ODR o, ILL_Supply_Medium_Type **p, int opt, const char *name)
1591{
1592 return odr_enum (o, p, opt, name);
1593}
1594
1595int ill_System_Address (ODR o, ILL_System_Address **p, int opt, const char *name)
1596{
1597 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1598 return opt && odr_ok (o);
1599 return
1600 odr_explicit_tag (o, ill_String,
1601 &(*p)->telecom_service_identifier, ODR_CONTEXT, 0, 1, "telecom_service_identifier") &&
1602 odr_explicit_tag (o, ill_String,
1603 &(*p)->telecom_service_address, ODR_CONTEXT, 1, 1, "telecom_service_address") &&
1604 odr_sequence_end (o);
1605}
1606
1607int ill_System_Id (ODR o, ILL_System_Id **p, int opt, const char *name)
1608{
1609 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1610 return opt && odr_ok (o);
1611 return
1612 odr_explicit_tag (o, ill_Person_Or_Institution_Symbol,
1613 &(*p)->person_or_institution_symbol, ODR_CONTEXT, 0, 1, "person_or_institution_symbol") &&
1614 odr_explicit_tag (o, ill_Name_Of_Person_Or_Institution,
1615 &(*p)->name_of_person_or_institution, ODR_CONTEXT, 1, 1, "name_of_person_or_institution") &&
1616 odr_sequence_end (o);
1617}
1618
1619int ill_Third_Party_Info_Type (ODR o, ILL_Third_Party_Info_Type **p, int opt, const char *name)
1620{
1621 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1622 return opt && odr_ok (o);
1623 return
1624 odr_implicit_tag (o, odr_bool,
1625 &(*p)->permission_to_forward, ODR_CONTEXT, 0, 0, "permission_to_forward") &&
1626 odr_implicit_tag (o, odr_bool,
1627 &(*p)->permission_to_chain, ODR_CONTEXT, 1, 0, "permission_to_chain") &&
1628 odr_implicit_tag (o, odr_bool,
1629 &(*p)->permission_to_partition, ODR_CONTEXT, 2, 0, "permission_to_partition") &&
1630 odr_implicit_tag (o, odr_bool,
1631 &(*p)->permission_to_change_send_to_list, ODR_CONTEXT, 3, 0, "permission_to_change_send_to_list") &&
1632 odr_implicit_tag (o, ill_System_Address,
1633 &(*p)->initial_requester_address, ODR_CONTEXT, 4, 1, "initial_requester_address") &&
1634 odr_implicit_tag (o, odr_enum,
1635 &(*p)->preference, ODR_CONTEXT, 5, 0, "preference") &&
1636 odr_implicit_tag (o, ill_Send_To_List_Type,
1637 &(*p)->send_to_list, ODR_CONTEXT, 6, 1, "send_to_list") &&
1638 odr_implicit_tag (o, ill_Already_Tried_List_Type,
1639 &(*p)->already_tried_list, ODR_CONTEXT, 7, 1, "already_tried_list") &&
1640 odr_sequence_end (o);
1641}
1642
1643int ill_Transaction_Id (ODR o, ILL_Transaction_Id **p, int opt, const char *name)
1644{
1645 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1646 return opt && odr_ok (o);
1647 return
1648 odr_implicit_tag (o, ill_System_Id,
1649 &(*p)->initial_requester_id, ODR_CONTEXT, 0, 1, "initial_requester_id") &&
1650 odr_explicit_tag (o, ill_String,
1651 &(*p)->transaction_group_qualifier, ODR_CONTEXT, 1, 0, "transaction_group_qualifier") &&
1652 odr_explicit_tag (o, ill_String,
1653 &(*p)->transaction_qualifier, ODR_CONTEXT, 2, 0, "transaction_qualifier") &&
1654 odr_explicit_tag (o, ill_String,
1655 &(*p)->sub_transaction_qualifier, ODR_CONTEXT, 3, 1, "sub_transaction_qualifier") &&
1656 odr_sequence_end (o);
1657}
1658
1659int ill_Transaction_Id_Problem (ODR o, ILL_Transaction_Id_Problem **p, int opt, const char *name)
1660{
1661 return odr_enum (o, p, opt, name);
1662}
1663
1664int ill_Transaction_Results (ODR o, ILL_Transaction_Results **p, int opt, const char *name)
1665{
1666 return odr_enum (o, p, opt, name);
1667}
1668
1669int ill_Transaction_Type (ODR o, ILL_Transaction_Type **p, int opt, const char *name)
1670{
1671 return odr_enum (o, p, opt, name);
1672}
1673
1674int ill_Transportation_Mode (ODR o, ILL_Transportation_Mode **p, int opt, const char *name)
1675{
1676 return ill_String (o, p, opt, name);
1677}
1678
1679int ill_Unable_To_Perform (ODR o, ILL_Unable_To_Perform **p, int opt, const char *name)
1680{
1681 return odr_enum (o, p, opt, name);
1682}
1683
1684int ill_Unfilled_Results (ODR o, ILL_Unfilled_Results **p, int opt, const char *name)
1685{
1686 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1687 return opt && odr_ok (o);
1688 return
1689 odr_implicit_tag (o, ill_Reason_Unfilled,
1690 &(*p)->reason_unfilled, ODR_CONTEXT, 0, 0, "reason_unfilled") &&
1691 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1692 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1693 &(*p)->num_locations, "locations") || odr_ok(o)) &&
1694 odr_sequence_end (o);
1695}
1696
1697int ill_Units_Per_Medium_Type (ODR o, ILL_Units_Per_Medium_Type **p, int opt, const char *name)
1698{
1699 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1700 return opt && odr_ok (o);
1701 return
1702 odr_explicit_tag (o, ill_Supply_Medium_Type,
1703 &(*p)->medium, ODR_CONTEXT, 0, 0, "medium") &&
1704 odr_explicit_tag (o, odr_integer,
1705 &(*p)->no_of_units, ODR_CONTEXT, 1, 0, "no_of_units") &&
1706 odr_sequence_end (o);
1707}
1708
1709int ill_User_Error_Report (ODR o, ILL_User_Error_Report **p, int opt, const char *name)
1710{
1711 static Odr_arm arm[] = {
1712 {ODR_IMPLICIT, ODR_CONTEXT, 0, ILL_User_Error_Report_already_forwarded,
1713 (Odr_fun) ill_Already_Forwarded, "already_forwarded"},
1714 {ODR_IMPLICIT, ODR_CONTEXT, 1, ILL_User_Error_Report_intermediary_problem,
1715 (Odr_fun) ill_Intermediary_Problem, "intermediary_problem"},
1716 {ODR_EXPLICIT, ODR_CONTEXT, 2, ILL_User_Error_Report_security_problem,
1717 (Odr_fun) ill_Security_Problem, "security_problem"},
1718 {ODR_IMPLICIT, ODR_CONTEXT, 3, ILL_User_Error_Report_unable_to_perform,
1719 (Odr_fun) ill_Unable_To_Perform, "unable_to_perform"},
1720 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1721 };
1722 if (!odr_initmember(o, p, sizeof(**p)))
1723 return opt && odr_ok(o);
1724 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1725 return 1;
1726 *p = 0;
1727 return opt && odr_ok(o);
1728}
1729
1730int ill_Will_Supply_Results (ODR o, ILL_Will_Supply_Results **p, int opt, const char *name)
1731{
1732 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1733 return opt && odr_ok (o);
1734 return
1735 odr_explicit_tag (o, odr_enum,
1736 &(*p)->reason_will_supply, ODR_CONTEXT, 0, 0, "reason_will_supply") &&
1737 odr_explicit_tag (o, ill_ISO_Date,
1738 &(*p)->supply_date, ODR_CONTEXT, 1, 1, "supply_date") &&
1739 odr_explicit_tag (o, ill_Postal_Address,
1740 &(*p)->return_to_address, ODR_CONTEXT, 2, 1, "return_to_address") &&
1741 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
1742 (odr_sequence_of(o, (Odr_fun) ill_Location_Info, &(*p)->locations,
1743 &(*p)->num_locations, "locations") || odr_ok(o)) &&
1744 odr_explicit_tag (o, ill_Electronic_Delivery_Service,
1745 &(*p)->electronic_delivery_service, ODR_CONTEXT, 4, 1, "electronic_delivery_service") &&
1746 odr_sequence_end (o);
1747}
1748
1749int ill_EDIFACTString (ODR o, ILL_EDIFACTString **p, int opt, const char *name)
1750{
1751 return odr_visiblestring (o, p, opt, name);
1752}
1753
1754
Note: See TracBrowser for help on using the repository browser.