Avoid redundant YAZ includes.
[yaz4j-moved-to-github.git] / dependencies / yaz-2.1.28 / include / yaz / ill-core.h
1 /** \file ill-core.h
2     \brief ASN.1 Module ISO-10161-ILL-1
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #ifndef ill_core_H
8 #define ill_core_H
9
10 #include <yaz/odr.h>
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15
16
17 typedef struct ILL_APDU ILL_APDU;
18 YAZ_EXPORT int ill_APDU (ODR o, ILL_APDU **p, int opt, const char *name);
19
20 typedef struct ILL_Request ILL_Request;
21 YAZ_EXPORT int ill_Request (ODR o, ILL_Request **p, int opt, const char *name);
22
23 typedef struct ILL_Forward_Notification ILL_Forward_Notification;
24 YAZ_EXPORT int ill_Forward_Notification (ODR o, ILL_Forward_Notification **p, int opt, const char *name);
25
26 typedef struct ILL_Shipped ILL_Shipped;
27 YAZ_EXPORT int ill_Shipped (ODR o, ILL_Shipped **p, int opt, const char *name);
28
29 typedef struct ILL_Answer ILL_Answer;
30 YAZ_EXPORT int ill_Answer (ODR o, ILL_Answer **p, int opt, const char *name);
31
32 typedef struct ILL_Conditional_Reply ILL_Conditional_Reply;
33 YAZ_EXPORT int ill_Conditional_Reply (ODR o, ILL_Conditional_Reply **p, int opt, const char *name);
34
35 typedef struct ILL_Cancel ILL_Cancel;
36 YAZ_EXPORT int ill_Cancel (ODR o, ILL_Cancel **p, int opt, const char *name);
37
38 typedef struct ILL_Cancel_Reply ILL_Cancel_Reply;
39 YAZ_EXPORT int ill_Cancel_Reply (ODR o, ILL_Cancel_Reply **p, int opt, const char *name);
40
41 typedef struct ILL_Received ILL_Received;
42 YAZ_EXPORT int ill_Received (ODR o, ILL_Received **p, int opt, const char *name);
43
44 typedef struct ILL_Recall ILL_Recall;
45 YAZ_EXPORT int ill_Recall (ODR o, ILL_Recall **p, int opt, const char *name);
46
47 typedef struct ILL_Returned ILL_Returned;
48 YAZ_EXPORT int ill_Returned (ODR o, ILL_Returned **p, int opt, const char *name);
49
50 typedef struct ILL_Checked_In ILL_Checked_In;
51 YAZ_EXPORT int ill_Checked_In (ODR o, ILL_Checked_In **p, int opt, const char *name);
52
53 typedef struct ILL_Overdue_ExtensionS ILL_Overdue_ExtensionS;
54 YAZ_EXPORT int ill_Overdue_ExtensionS (ODR o, ILL_Overdue_ExtensionS **p, int opt, const char *name);
55
56 typedef struct ILL_Overdue ILL_Overdue;
57 YAZ_EXPORT int ill_Overdue (ODR o, ILL_Overdue **p, int opt, const char *name);
58
59 typedef struct ILL_Renew ILL_Renew;
60 YAZ_EXPORT int ill_Renew (ODR o, ILL_Renew **p, int opt, const char *name);
61
62 typedef struct ILL_Renew_Answer ILL_Renew_Answer;
63 YAZ_EXPORT int ill_Renew_Answer (ODR o, ILL_Renew_Answer **p, int opt, const char *name);
64
65 typedef struct ILL_Lost ILL_Lost;
66 YAZ_EXPORT int ill_Lost (ODR o, ILL_Lost **p, int opt, const char *name);
67
68 typedef struct ILL_Damaged ILL_Damaged;
69 YAZ_EXPORT int ill_Damaged (ODR o, ILL_Damaged **p, int opt, const char *name);
70
71 typedef struct ILL_Message ILL_Message;
72 YAZ_EXPORT int ill_Message (ODR o, ILL_Message **p, int opt, const char *name);
73
74 typedef struct ILL_Status_Query ILL_Status_Query;
75 YAZ_EXPORT int ill_Status_Query (ODR o, ILL_Status_Query **p, int opt, const char *name);
76
77 typedef struct ILL_Status_Or_Error_Report ILL_Status_Or_Error_Report;
78 YAZ_EXPORT int ill_Status_Or_Error_Report (ODR o, ILL_Status_Or_Error_Report **p, int opt, const char *name);
79
80 typedef struct ILL_Expired ILL_Expired;
81 YAZ_EXPORT int ill_Expired (ODR o, ILL_Expired **p, int opt, const char *name);
82
83 typedef struct ILL_Already_Forwarded ILL_Already_Forwarded;
84 YAZ_EXPORT int ill_Already_Forwarded (ODR o, ILL_Already_Forwarded **p, int opt, const char *name);
85
86 typedef struct ILL_Already_Tried_List_Type ILL_Already_Tried_List_Type;
87 YAZ_EXPORT int ill_Already_Tried_List_Type (ODR o, ILL_Already_Tried_List_Type **p, int opt, const char *name);
88
89 typedef struct ILL_Amount ILL_Amount;
90 YAZ_EXPORT int ill_Amount (ODR o, ILL_Amount **p, int opt, const char *name);
91
92 typedef char  ILL_AmountString;
93 YAZ_EXPORT int ill_AmountString (ODR o, ILL_AmountString **p, int opt, const char *name);
94
95 typedef struct ILL_Client_Id ILL_Client_Id;
96 YAZ_EXPORT int ill_Client_Id (ODR o, ILL_Client_Id **p, int opt, const char *name);
97
98 typedef struct ILL_Conditional_Results ILL_Conditional_Results;
99 YAZ_EXPORT int ill_Conditional_Results (ODR o, ILL_Conditional_Results **p, int opt, const char *name);
100
101 typedef struct ILL_Cost_Info_Type ILL_Cost_Info_Type;
102 YAZ_EXPORT int ill_Cost_Info_Type (ODR o, ILL_Cost_Info_Type **p, int opt, const char *name);
103
104 typedef int  ILL_Current_State;
105 YAZ_EXPORT int ill_Current_State (ODR o, ILL_Current_State **p, int opt, const char *name);
106
107 typedef struct ILL_Damaged_DetailsSpecific_units ILL_Damaged_DetailsSpecific_units;
108 YAZ_EXPORT int ill_Damaged_DetailsSpecific_units (ODR o, ILL_Damaged_DetailsSpecific_units **p, int opt, const char *name);
109
110 typedef struct ILL_Damaged_Details ILL_Damaged_Details;
111 YAZ_EXPORT int ill_Damaged_Details (ODR o, ILL_Damaged_Details **p, int opt, const char *name);
112
113 typedef struct ILL_Date_Due ILL_Date_Due;
114 YAZ_EXPORT int ill_Date_Due (ODR o, ILL_Date_Due **p, int opt, const char *name);
115
116 typedef struct ILL_Delivery_Address ILL_Delivery_Address;
117 YAZ_EXPORT int ill_Delivery_Address (ODR o, ILL_Delivery_Address **p, int opt, const char *name);
118
119 typedef struct ILL_Delivery_ServiceElectronic_delivery ILL_Delivery_ServiceElectronic_delivery;
120 YAZ_EXPORT int ill_Delivery_ServiceElectronic_delivery (ODR o, ILL_Delivery_ServiceElectronic_delivery **p, int opt, const char *name);
121
122 typedef struct ILL_Delivery_Service ILL_Delivery_Service;
123 YAZ_EXPORT int ill_Delivery_Service (ODR o, ILL_Delivery_Service **p, int opt, const char *name);
124
125 typedef struct ILL_Electronic_Delivery_Service_0 ILL_Electronic_Delivery_Service_0;
126 YAZ_EXPORT int ill_Electronic_Delivery_Service_0 (ODR o, ILL_Electronic_Delivery_Service_0 **p, int opt, const char *name);
127
128 typedef struct ILL_Electronic_Delivery_Service_1 ILL_Electronic_Delivery_Service_1;
129 YAZ_EXPORT int ill_Electronic_Delivery_Service_1 (ODR o, ILL_Electronic_Delivery_Service_1 **p, int opt, const char *name);
130
131 typedef struct ILL_Electronic_Delivery_Service ILL_Electronic_Delivery_Service;
132 YAZ_EXPORT int ill_Electronic_Delivery_Service (ODR o, ILL_Electronic_Delivery_Service **p, int opt, const char *name);
133
134 typedef struct ILL_Error_Report ILL_Error_Report;
135 YAZ_EXPORT int ill_Error_Report (ODR o, ILL_Error_Report **p, int opt, const char *name);
136
137 typedef struct ILL_Estimate_Results ILL_Estimate_Results;
138 YAZ_EXPORT int ill_Estimate_Results (ODR o, ILL_Estimate_Results **p, int opt, const char *name);
139
140 typedef struct ILL_Extension ILL_Extension;
141 YAZ_EXPORT int ill_Extension (ODR o, ILL_Extension **p, int opt, const char *name);
142
143 typedef int  ILL_General_Problem;
144 YAZ_EXPORT int ill_General_Problem (ODR o, ILL_General_Problem **p, int opt, const char *name);
145
146 typedef struct ILL_History_Report ILL_History_Report;
147 YAZ_EXPORT int ill_History_Report (ODR o, ILL_History_Report **p, int opt, const char *name);
148
149 typedef struct ILL_Hold_Placed_Results ILL_Hold_Placed_Results;
150 YAZ_EXPORT int ill_Hold_Placed_Results (ODR o, ILL_Hold_Placed_Results **p, int opt, const char *name);
151
152 typedef int  ILL_APDU_Type;
153 YAZ_EXPORT int ill_APDU_Type (ODR o, ILL_APDU_Type **p, int opt, const char *name);
154
155 typedef int  ILL_Service_Type;
156 YAZ_EXPORT int ill_Service_Type (ODR o, ILL_Service_Type **p, int opt, const char *name);
157
158 typedef struct ILL_String ILL_String;
159 YAZ_EXPORT int ill_String (ODR o, ILL_String **p, int opt, const char *name);
160
161 typedef ILL_String  ILL_Account_Number;
162 YAZ_EXPORT int ill_Account_Number (ODR o, ILL_Account_Number **p, int opt, const char *name);
163
164 typedef int  ILL_Intermediary_Problem;
165 YAZ_EXPORT int ill_Intermediary_Problem (ODR o, ILL_Intermediary_Problem **p, int opt, const char *name);
166
167 typedef char  ILL_ISO_Date;
168 YAZ_EXPORT int ill_ISO_Date (ODR o, ILL_ISO_Date **p, int opt, const char *name);
169
170 typedef char  ILL_ISO_Time;
171 YAZ_EXPORT int ill_ISO_Time (ODR o, ILL_ISO_Time **p, int opt, const char *name);
172
173 typedef struct ILL_Item_Id ILL_Item_Id;
174 YAZ_EXPORT int ill_Item_Id (ODR o, ILL_Item_Id **p, int opt, const char *name);
175
176 typedef struct ILL_Location_Info ILL_Location_Info;
177 YAZ_EXPORT int ill_Location_Info (ODR o, ILL_Location_Info **p, int opt, const char *name);
178
179 typedef struct ILL_Locations_Results ILL_Locations_Results;
180 YAZ_EXPORT int ill_Locations_Results (ODR o, ILL_Locations_Results **p, int opt, const char *name);
181
182 typedef int  ILL_Medium_Type;
183 YAZ_EXPORT int ill_Medium_Type (ODR o, ILL_Medium_Type **p, int opt, const char *name);
184
185 typedef struct ILL_Name_Of_Person_Or_Institution ILL_Name_Of_Person_Or_Institution;
186 YAZ_EXPORT int ill_Name_Of_Person_Or_Institution (ODR o, ILL_Name_Of_Person_Or_Institution **p, int opt, const char *name);
187
188 typedef struct ILL_Person_Or_Institution_Symbol ILL_Person_Or_Institution_Symbol;
189 YAZ_EXPORT int ill_Person_Or_Institution_Symbol (ODR o, ILL_Person_Or_Institution_Symbol **p, int opt, const char *name);
190
191 typedef int  ILL_Place_On_Hold_Type;
192 YAZ_EXPORT int ill_Place_On_Hold_Type (ODR o, ILL_Place_On_Hold_Type **p, int opt, const char *name);
193
194 typedef struct ILL_Postal_Address ILL_Postal_Address;
195 YAZ_EXPORT int ill_Postal_Address (ODR o, ILL_Postal_Address **p, int opt, const char *name);
196
197 typedef struct ILL_Provider_Error_Report ILL_Provider_Error_Report;
198 YAZ_EXPORT int ill_Provider_Error_Report (ODR o, ILL_Provider_Error_Report **p, int opt, const char *name);
199
200 typedef int  ILL_Reason_Locs_Provided;
201 YAZ_EXPORT int ill_Reason_Locs_Provided (ODR o, ILL_Reason_Locs_Provided **p, int opt, const char *name);
202
203 typedef int  ILL_Reason_No_Report;
204 YAZ_EXPORT int ill_Reason_No_Report (ODR o, ILL_Reason_No_Report **p, int opt, const char *name);
205
206 typedef int  ILL_Reason_Unfilled;
207 YAZ_EXPORT int ill_Reason_Unfilled (ODR o, ILL_Reason_Unfilled **p, int opt, const char *name);
208
209 typedef int  ILL_Report_Source;
210 YAZ_EXPORT int ill_Report_Source (ODR o, ILL_Report_Source **p, int opt, const char *name);
211
212 typedef struct ILL_Requester_Optional_Messages_Type ILL_Requester_Optional_Messages_Type;
213 YAZ_EXPORT int ill_Requester_Optional_Messages_Type (ODR o, ILL_Requester_Optional_Messages_Type **p, int opt, const char *name);
214
215 typedef struct ILL_Responder_Optional_Messages_Type ILL_Responder_Optional_Messages_Type;
216 YAZ_EXPORT int ill_Responder_Optional_Messages_Type (ODR o, ILL_Responder_Optional_Messages_Type **p, int opt, const char *name);
217
218 typedef struct ILL_Retry_Results ILL_Retry_Results;
219 YAZ_EXPORT int ill_Retry_Results (ODR o, ILL_Retry_Results **p, int opt, const char *name);
220
221 typedef struct ILL_Search_Type ILL_Search_Type;
222 YAZ_EXPORT int ill_Search_Type (ODR o, ILL_Search_Type **p, int opt, const char *name);
223
224 typedef ILL_String  ILL_Security_Problem;
225 YAZ_EXPORT int ill_Security_Problem (ODR o, ILL_Security_Problem **p, int opt, const char *name);
226
227 typedef struct ILL_Send_To_List_Type_s ILL_Send_To_List_Type_s;
228 YAZ_EXPORT int ill_Send_To_List_Type_s (ODR o, ILL_Send_To_List_Type_s **p, int opt, const char *name);
229
230 typedef struct ILL_Send_To_List_Type ILL_Send_To_List_Type;
231 YAZ_EXPORT int ill_Send_To_List_Type (ODR o, ILL_Send_To_List_Type **p, int opt, const char *name);
232
233 typedef struct ILL_Service_Date_this ILL_Service_Date_this;
234 YAZ_EXPORT int ill_Service_Date_this (ODR o, ILL_Service_Date_this **p, int opt, const char *name);
235
236 typedef struct ILL_Service_Date_original ILL_Service_Date_original;
237 YAZ_EXPORT int ill_Service_Date_original (ODR o, ILL_Service_Date_original **p, int opt, const char *name);
238
239 typedef struct ILL_Service_Date_Time ILL_Service_Date_Time;
240 YAZ_EXPORT int ill_Service_Date_Time (ODR o, ILL_Service_Date_Time **p, int opt, const char *name);
241
242 typedef ILL_Service_Type  ILL_Shipped_Service_Type;
243 YAZ_EXPORT int ill_Shipped_Service_Type (ODR o, ILL_Shipped_Service_Type **p, int opt, const char *name);
244
245 typedef struct ILL_State_Transition_Prohibited ILL_State_Transition_Prohibited;
246 YAZ_EXPORT int ill_State_Transition_Prohibited (ODR o, ILL_State_Transition_Prohibited **p, int opt, const char *name);
247
248 typedef struct ILL_Status_Report ILL_Status_Report;
249 YAZ_EXPORT int ill_Status_Report (ODR o, ILL_Status_Report **p, int opt, const char *name);
250
251 typedef struct ILL_Supplemental_Item_Description ILL_Supplemental_Item_Description;
252 YAZ_EXPORT int ill_Supplemental_Item_Description (ODR o, ILL_Supplemental_Item_Description **p, int opt, const char *name);
253
254 typedef struct ILL_Supply_Details ILL_Supply_Details;
255 YAZ_EXPORT int ill_Supply_Details (ODR o, ILL_Supply_Details **p, int opt, const char *name);
256
257 typedef struct ILL_Supply_Medium_Info_Type ILL_Supply_Medium_Info_Type;
258 YAZ_EXPORT int ill_Supply_Medium_Info_Type (ODR o, ILL_Supply_Medium_Info_Type **p, int opt, const char *name);
259
260 typedef int  ILL_Supply_Medium_Type;
261 YAZ_EXPORT int ill_Supply_Medium_Type (ODR o, ILL_Supply_Medium_Type **p, int opt, const char *name);
262
263 typedef struct ILL_System_Address ILL_System_Address;
264 YAZ_EXPORT int ill_System_Address (ODR o, ILL_System_Address **p, int opt, const char *name);
265
266 typedef struct ILL_System_Id ILL_System_Id;
267 YAZ_EXPORT int ill_System_Id (ODR o, ILL_System_Id **p, int opt, const char *name);
268
269 typedef struct ILL_Third_Party_Info_Type ILL_Third_Party_Info_Type;
270 YAZ_EXPORT int ill_Third_Party_Info_Type (ODR o, ILL_Third_Party_Info_Type **p, int opt, const char *name);
271
272 typedef struct ILL_Transaction_Id ILL_Transaction_Id;
273 YAZ_EXPORT int ill_Transaction_Id (ODR o, ILL_Transaction_Id **p, int opt, const char *name);
274
275 typedef int  ILL_Transaction_Id_Problem;
276 YAZ_EXPORT int ill_Transaction_Id_Problem (ODR o, ILL_Transaction_Id_Problem **p, int opt, const char *name);
277
278 typedef int  ILL_Transaction_Results;
279 YAZ_EXPORT int ill_Transaction_Results (ODR o, ILL_Transaction_Results **p, int opt, const char *name);
280
281 typedef int  ILL_Transaction_Type;
282 YAZ_EXPORT int ill_Transaction_Type (ODR o, ILL_Transaction_Type **p, int opt, const char *name);
283
284 typedef ILL_String  ILL_Transportation_Mode;
285 YAZ_EXPORT int ill_Transportation_Mode (ODR o, ILL_Transportation_Mode **p, int opt, const char *name);
286
287 typedef int  ILL_Unable_To_Perform;
288 YAZ_EXPORT int ill_Unable_To_Perform (ODR o, ILL_Unable_To_Perform **p, int opt, const char *name);
289
290 typedef struct ILL_Unfilled_Results ILL_Unfilled_Results;
291 YAZ_EXPORT int ill_Unfilled_Results (ODR o, ILL_Unfilled_Results **p, int opt, const char *name);
292
293 typedef struct ILL_Units_Per_Medium_Type ILL_Units_Per_Medium_Type;
294 YAZ_EXPORT int ill_Units_Per_Medium_Type (ODR o, ILL_Units_Per_Medium_Type **p, int opt, const char *name);
295
296 typedef struct ILL_User_Error_Report ILL_User_Error_Report;
297 YAZ_EXPORT int ill_User_Error_Report (ODR o, ILL_User_Error_Report **p, int opt, const char *name);
298
299 typedef struct ILL_Will_Supply_Results ILL_Will_Supply_Results;
300 YAZ_EXPORT int ill_Will_Supply_Results (ODR o, ILL_Will_Supply_Results **p, int opt, const char *name);
301
302 typedef char  ILL_EDIFACTString;
303 YAZ_EXPORT int ill_EDIFACTString (ODR o, ILL_EDIFACTString **p, int opt, const char *name);
304 #ifdef __cplusplus
305 }
306 #endif
307 #ifdef __cplusplus
308 extern "C" {
309 #endif
310 struct ILL_APDU {
311         int which;
312         union {
313                 ILL_Request *illRequest;
314                 ILL_Forward_Notification *Forward_Notification;
315                 ILL_Shipped *Shipped;
316                 ILL_Answer *illAnswer;
317                 ILL_Conditional_Reply *Conditional_Reply;
318                 ILL_Cancel *Cancel;
319                 ILL_Cancel_Reply *Cancel_Reply;
320                 ILL_Received *Received;
321                 ILL_Recall *Recall;
322                 ILL_Returned *Returned;
323                 ILL_Checked_In *Checked_In;
324                 ILL_Overdue *Overdue;
325                 ILL_Renew *Renew;
326                 ILL_Renew_Answer *Renew_Answer;
327                 ILL_Lost *Lost;
328                 ILL_Damaged *Damaged;
329                 ILL_Message *Message;
330                 ILL_Status_Query *Status_Query;
331                 ILL_Status_Or_Error_Report *Status_Or_Error_Report;
332                 ILL_Expired *Expired;
333 #define ILL_APDU_ILL_Request 1
334 #define ILL_APDU_Forward_Notification 2
335 #define ILL_APDU_Shipped 3
336 #define ILL_APDU_ILL_Answer 4
337 #define ILL_APDU_Conditional_Reply 5
338 #define ILL_APDU_Cancel 6
339 #define ILL_APDU_Cancel_Reply 7
340 #define ILL_APDU_Received 8
341 #define ILL_APDU_Recall 9
342 #define ILL_APDU_Returned 10
343 #define ILL_APDU_Checked_In 11
344 #define ILL_APDU_Overdue 12
345 #define ILL_APDU_Renew 13
346 #define ILL_APDU_Renew_Answer 14
347 #define ILL_APDU_Lost 15
348 #define ILL_APDU_Damaged 16
349 #define ILL_APDU_Message 17
350 #define ILL_APDU_Status_Query 18
351 #define ILL_APDU_Status_Or_Error_Report 19
352 #define ILL_APDU_Expired 20
353         } u;
354 };
355
356 struct ILL_Request {
357 #define ILL_Request_version_1 1
358 #define ILL_Request_version_2 2
359         int *protocol_version_num;
360         ILL_Transaction_Id *transaction_id;
361         ILL_Service_Date_Time *service_date_time;
362         ILL_System_Id *requester_id; /* OPT */
363         ILL_System_Id *responder_id; /* OPT */
364         ILL_Transaction_Type *transaction_type;
365         ILL_Delivery_Address *delivery_address; /* OPT */
366         ILL_Delivery_Service *delivery_service; /* OPT */
367         ILL_Delivery_Address *billing_address; /* OPT */
368         int num_iLL_service_type;
369         ILL_Service_Type **iLL_service_type;
370         Odr_external *responder_specific_service; /* OPT */
371         ILL_Requester_Optional_Messages_Type *requester_optional_messages;
372         ILL_Search_Type *search_type; /* OPT */
373         int num_supply_medium_info_type;
374         ILL_Supply_Medium_Info_Type **supply_medium_info_type; /* OPT */
375         ILL_Place_On_Hold_Type *place_on_hold;
376         ILL_Client_Id *client_id; /* OPT */
377         ILL_Item_Id *item_id;
378         ILL_Supplemental_Item_Description *supplemental_item_description; /* OPT */
379         ILL_Cost_Info_Type *cost_info_type; /* OPT */
380         ILL_String *copyright_compliance; /* OPT */
381         ILL_Third_Party_Info_Type *third_party_info_type; /* OPT */
382         bool_t *retry_flag;
383         bool_t *forward_flag;
384         ILL_String *requester_note; /* OPT */
385         ILL_String *forward_note; /* OPT */
386         int num_iLL_request_extensions;
387         ILL_Extension **iLL_request_extensions; /* OPT */
388 };
389
390 struct ILL_Forward_Notification {
391 #define ILL_Forward_Notification_version_1 1
392 #define ILL_Forward_Notification_version_2 2
393         int *protocol_version_num;
394         ILL_Transaction_Id *transaction_id;
395         ILL_Service_Date_Time *service_date_time;
396         ILL_System_Id *requester_id; /* OPT */
397         ILL_System_Id *responder_id;
398         ILL_System_Address *responder_address; /* OPT */
399         ILL_System_Id *intermediary_id;
400         ILL_String *notification_note; /* OPT */
401         int num_forward_notification_extensions;
402         ILL_Extension **forward_notification_extensions; /* OPT */
403 };
404
405 struct ILL_Shipped {
406 #define ILL_Shipped_version_1 1
407 #define ILL_Shipped_version_2 2
408         int *protocol_version_num;
409         ILL_Transaction_Id *transaction_id;
410         ILL_Service_Date_Time *service_date_time;
411         ILL_System_Id *requester_id; /* OPT */
412         ILL_System_Id *responder_id; /* OPT */
413         ILL_System_Address *responder_address; /* OPT */
414         ILL_System_Id *intermediary_id; /* OPT */
415         ILL_System_Id *supplier_id; /* OPT */
416         ILL_Client_Id *client_id; /* OPT */
417         ILL_Transaction_Type *transaction_type;
418         ILL_Supplemental_Item_Description *supplemental_item_description; /* OPT */
419         ILL_Shipped_Service_Type *shipped_service_type;
420         ILL_Responder_Optional_Messages_Type *responder_optional_messages; /* OPT */
421         ILL_Supply_Details *supply_details;
422         ILL_Postal_Address *return_to_address; /* OPT */
423         ILL_String *responder_note; /* OPT */
424         int num_shipped_extensions;
425         ILL_Extension **shipped_extensions; /* OPT */
426 };
427
428 struct ILL_Answer {
429 #define ILL_Answer_version_1 1
430 #define ILL_Answer_version_2 2
431         int *protocol_version_num;
432         ILL_Transaction_Id *transaction_id;
433         ILL_Service_Date_Time *service_date_time;
434         ILL_System_Id *requester_id; /* OPT */
435         ILL_System_Id *responder_id; /* OPT */
436         ILL_Transaction_Results *transaction_results;
437         int which;
438         union {
439                 ILL_Conditional_Results *conditional_results;
440                 ILL_Retry_Results *retry_results;
441                 ILL_Unfilled_Results *unfilled_results;
442                 ILL_Locations_Results *locations_results;
443                 ILL_Will_Supply_Results *will_supply_results;
444                 ILL_Hold_Placed_Results *hold_placed_results;
445                 ILL_Estimate_Results *estimate_results;
446 #define ILL_Answer_conditional_results 1
447 #define ILL_Answer_retry_results 2
448 #define ILL_Answer_unfilled_results 3
449 #define ILL_Answer_locations_results 4
450 #define ILL_Answer_will_supply_results 5
451 #define ILL_Answer_hold_placed_results 6
452 #define ILL_Answer_estimate_results 7
453         } u; /* OPT */
454         Odr_external *responder_specific_results; /* OPT */
455         ILL_Supplemental_Item_Description *supplemental_item_description; /* OPT */
456         ILL_Send_To_List_Type *send_to_list; /* OPT */
457         ILL_Already_Tried_List_Type *already_tried_list; /* OPT */
458         ILL_Responder_Optional_Messages_Type *responder_optional_messages; /* OPT */
459         ILL_String *responder_note; /* OPT */
460         int num_ill_answer_extensions;
461         ILL_Extension **ill_answer_extensions; /* OPT */
462 };
463
464 struct ILL_Conditional_Reply {
465 #define ILL_Conditional_Reply_version_1 1
466 #define ILL_Conditional_Reply_version_2 2
467         int *protocol_version_num;
468         ILL_Transaction_Id *transaction_id;
469         ILL_Service_Date_Time *service_date_time;
470         ILL_System_Id *requester_id; /* OPT */
471         ILL_System_Id *responder_id; /* OPT */
472         bool_t *answer;
473         ILL_String *requester_note; /* OPT */
474         int num_conditional_reply_extensions;
475         ILL_Extension **conditional_reply_extensions; /* OPT */
476 };
477
478 struct ILL_Cancel {
479 #define ILL_Cancel_version_1 1
480 #define ILL_Cancel_version_2 2
481         int *protocol_version_num;
482         ILL_Transaction_Id *transaction_id;
483         ILL_Service_Date_Time *service_date_time;
484         ILL_System_Id *requester_id; /* OPT */
485         ILL_System_Id *responder_id; /* OPT */
486         ILL_String *requester_note; /* OPT */
487         int num_cancel_extensions;
488         ILL_Extension **cancel_extensions; /* OPT */
489 };
490
491 struct ILL_Cancel_Reply {
492 #define ILL_Cancel_Reply_version_1 1
493 #define ILL_Cancel_Reply_version_2 2
494         int *protocol_version_num;
495         ILL_Transaction_Id *transaction_id;
496         ILL_Service_Date_Time *service_date_time;
497         ILL_System_Id *requester_id; /* OPT */
498         ILL_System_Id *responder_id; /* OPT */
499         bool_t *answer;
500         ILL_String *responder_note; /* OPT */
501         int num_cancel_reply_extensions;
502         ILL_Extension **cancel_reply_extensions; /* OPT */
503 };
504
505 struct ILL_Received {
506 #define ILL_Received_version_1 1
507 #define ILL_Received_version_2 2
508         int *protocol_version_num;
509         ILL_Transaction_Id *transaction_id;
510         ILL_Service_Date_Time *service_date_time;
511         ILL_System_Id *requester_id; /* OPT */
512         ILL_System_Id *responder_id; /* OPT */
513         ILL_System_Id *supplier_id; /* OPT */
514         ILL_Supplemental_Item_Description *supplemental_item_description; /* OPT */
515         ILL_ISO_Date *date_received;
516         ILL_Shipped_Service_Type *shipped_service_type;
517         ILL_String *requester_note; /* OPT */
518         int num_received_extensions;
519         ILL_Extension **received_extensions; /* OPT */
520 };
521
522 struct ILL_Recall {
523 #define ILL_Recall_version_1 1
524 #define ILL_Recall_version_2 2
525         int *protocol_version_num;
526         ILL_Transaction_Id *transaction_id;
527         ILL_Service_Date_Time *service_date_time;
528         ILL_System_Id *requester_id; /* OPT */
529         ILL_System_Id *responder_id; /* OPT */
530         ILL_String *responder_note; /* OPT */
531         int num_recall_extensions;
532         ILL_Extension **recall_extensions; /* OPT */
533 };
534
535 struct ILL_Returned {
536 #define ILL_Returned_version_1 1
537 #define ILL_Returned_version_2 2
538         int *protocol_version_num;
539         ILL_Transaction_Id *transaction_id;
540         ILL_Service_Date_Time *service_date_time;
541         ILL_System_Id *requester_id; /* OPT */
542         ILL_System_Id *responder_id; /* OPT */
543         ILL_Supplemental_Item_Description *supplemental_item_description; /* OPT */
544         ILL_ISO_Date *date_returned;
545         ILL_Transportation_Mode *returned_via; /* OPT */
546         ILL_Amount *insured_for; /* OPT */
547         ILL_String *requester_note; /* OPT */
548         int num_returned_extensions;
549         ILL_Extension **returned_extensions; /* OPT */
550 };
551
552 struct ILL_Checked_In {
553 #define ILL_Checked_In_version_1 1
554 #define ILL_Checked_In_version_2 2
555         int *protocol_version_num;
556         ILL_Transaction_Id *transaction_id;
557         ILL_Service_Date_Time *service_date_time;
558         ILL_System_Id *requester_id; /* OPT */
559         ILL_System_Id *responder_id; /* OPT */
560         ILL_ISO_Date *date_checked_in;
561         ILL_String *responder_note; /* OPT */
562         int num_checked_in_extensions;
563         ILL_Extension **checked_in_extensions; /* OPT */
564 };
565
566 struct ILL_Overdue_ExtensionS {
567         int num;
568         ILL_Extension **elements;
569 };
570
571 struct ILL_Overdue {
572 #define ILL_Overdue_version_1 1
573 #define ILL_Overdue_version_2 2
574         int *protocol_version_num;
575         ILL_Transaction_Id *transaction_id;
576         ILL_Service_Date_Time *service_date_time;
577         ILL_System_Id *requester_id; /* OPT */
578         ILL_System_Id *responder_id; /* OPT */
579         ILL_Date_Due *date_due;
580         ILL_String *responder_note; /* OPT */
581         ILL_Overdue_ExtensionS *overdue_extensions; /* OPT */
582 };
583
584 struct ILL_Renew {
585 #define ILL_Renew_version_1 1
586 #define ILL_Renew_version_2 2
587         int *protocol_version_num;
588         ILL_Transaction_Id *transaction_id;
589         ILL_Service_Date_Time *service_date_time;
590         ILL_System_Id *requester_id; /* OPT */
591         ILL_System_Id *responder_id; /* OPT */
592         ILL_ISO_Date *desired_due_date; /* OPT */
593         ILL_String *requester_note; /* OPT */
594         int num_renew_extensions;
595         ILL_Extension **renew_extensions; /* OPT */
596 };
597
598 struct ILL_Renew_Answer {
599 #define ILL_Renew_Answer_version_1 1
600 #define ILL_Renew_Answer_version_2 2
601         int *protocol_version_num;
602         ILL_Transaction_Id *transaction_id;
603         ILL_Service_Date_Time *service_date_time;
604         ILL_System_Id *requester_id; /* OPT */
605         ILL_System_Id *responder_id; /* OPT */
606         bool_t *answer;
607         ILL_Date_Due *date_due; /* OPT */
608         ILL_String *responder_note; /* OPT */
609         int num_renew_answer_extensions;
610         ILL_Extension **renew_answer_extensions; /* OPT */
611 };
612
613 struct ILL_Lost {
614 #define ILL_Lost_version_1 1
615 #define ILL_Lost_version_2 2
616         int *protocol_version_num;
617         ILL_Transaction_Id *transaction_id;
618         ILL_Service_Date_Time *service_date_time;
619         ILL_System_Id *requester_id; /* OPT */
620         ILL_System_Id *responder_id; /* OPT */
621         ILL_String *note; /* OPT */
622         int num_lost_extensions;
623         ILL_Extension **lost_extensions; /* OPT */
624 };
625
626 struct ILL_Damaged {
627 #define ILL_Damaged_version_1 1
628 #define ILL_Damaged_version_2 2
629         int *protocol_version_num;
630         ILL_Transaction_Id *transaction_id;
631         ILL_Service_Date_Time *service_date_time;
632         ILL_System_Id *requester_id; /* OPT */
633         ILL_System_Id *responder_id; /* OPT */
634         ILL_Damaged_Details *damaged_details; /* OPT */
635         ILL_String *note; /* OPT */
636         int num_damaged_extensions;
637         ILL_Extension **damaged_extensions; /* OPT */
638 };
639
640 struct ILL_Message {
641 #define ILL_Message_version_1 1
642 #define ILL_Message_version_2 2
643         int *protocol_version_num;
644         ILL_Transaction_Id *transaction_id;
645         ILL_Service_Date_Time *service_date_time;
646         ILL_System_Id *requester_id; /* OPT */
647         ILL_System_Id *responder_id; /* OPT */
648         ILL_String *note;
649         int num_message_extensions;
650         ILL_Extension **message_extensions; /* OPT */
651 };
652
653 struct ILL_Status_Query {
654 #define ILL_Status_Query_version_1 1
655 #define ILL_Status_Query_version_2 2
656         int *protocol_version_num;
657         ILL_Transaction_Id *transaction_id;
658         ILL_Service_Date_Time *service_date_time;
659         ILL_System_Id *requester_id; /* OPT */
660         ILL_System_Id *responder_id; /* OPT */
661         ILL_String *note; /* OPT */
662         int num_status_query_extensions;
663         ILL_Extension **status_query_extensions; /* OPT */
664 };
665
666 struct ILL_Status_Or_Error_Report {
667 #define ILL_Status_Or_Error_Report_version_1 1
668 #define ILL_Status_Or_Error_Report_version_2 2
669         int *protocol_version_num;
670         ILL_Transaction_Id *transaction_id;
671         ILL_Service_Date_Time *service_date_time;
672         ILL_System_Id *requester_id; /* OPT */
673         ILL_System_Id *responder_id; /* OPT */
674         ILL_Reason_No_Report *reason_no_report; /* OPT */
675         ILL_Status_Report *status_report; /* OPT */
676         ILL_Error_Report *error_report; /* OPT */
677         ILL_String *note; /* OPT */
678         int num_status_or_error_report_extensions;
679         ILL_Extension **status_or_error_report_extensions; /* OPT */
680 };
681
682 struct ILL_Expired {
683 #define ILL_Expired_version_1 1
684 #define ILL_Expired_version_2 2
685         int *protocol_version_num;
686         ILL_Transaction_Id *transaction_id;
687         ILL_Service_Date_Time *service_date_time;
688         ILL_System_Id *requester_id; /* OPT */
689         ILL_System_Id *responder_id; /* OPT */
690         int num_expired_extensions;
691         ILL_Extension **expired_extensions; /* OPT */
692 };
693
694
695
696 struct ILL_Already_Forwarded {
697         ILL_System_Id *responder_id;
698         ILL_System_Address *responder_address; /* OPT */
699 };
700
701 struct ILL_Already_Tried_List_Type {
702         int num;
703         ILL_System_Id **elements;
704 };
705
706 struct ILL_Amount {
707         char *currency_code; /* OPT */
708         ILL_AmountString *monetary_value;
709 };
710
711
712
713 struct ILL_Client_Id {
714         ILL_String *client_name; /* OPT */
715         ILL_String *client_status; /* OPT */
716         ILL_String *client_identifier; /* OPT */
717 };
718
719 struct ILL_Conditional_Results {
720 #define ILL_Conditional_Results_cost_exceeds_limit 13
721 #define ILL_Conditional_Results_charges 14
722 #define ILL_Conditional_Results_prepayment_required 15
723 #define ILL_Conditional_Results_lacks_copyright_compliance 16
724 #define ILL_Conditional_Results_library_use_only 22
725 #define ILL_Conditional_Results_no_reproduction 23
726 #define ILL_Conditional_Results_client_signature_required 24
727 #define ILL_Conditional_Results_special_collections_supervision_required 25
728 #define ILL_Conditional_Results_other 27
729 #define ILL_Conditional_Results_responder_specific 28
730 #define ILL_Conditional_Results_proposed_delivery_service 30
731         int *conditions;
732         ILL_ISO_Date *date_for_reply; /* OPT */
733         int num_locations;
734         ILL_Location_Info **locations; /* OPT */
735         ILL_Delivery_Service *proposed_delivery_service; /* OPT */
736 };
737
738 struct ILL_Cost_Info_Type {
739         ILL_Account_Number *account_number; /* OPT */
740         ILL_Amount *maximum_cost; /* OPT */
741         bool_t *reciprocal_agreement;
742         bool_t *will_pay_fee;
743         bool_t *payment_provided;
744 };
745
746 #define ILL_Current_State_nOT_SUPPLIED 1
747 #define ILL_Current_State_pENDING 2
748 #define ILL_Current_State_iN_PROCESS 3
749 #define ILL_Current_State_fORWARD 4
750 #define ILL_Current_State_cONDITIONAL 5
751 #define ILL_Current_State_cANCEL_PENDING 6
752 #define ILL_Current_State_cANCELLED 7
753 #define ILL_Current_State_sHIPPED 8
754 #define ILL_Current_State_rECEIVED 9
755 #define ILL_Current_State_rENEW_PENDING 10
756 #define ILL_Current_State_nOT_RECEIVED_OVERDUE 11
757 #define ILL_Current_State_rENEW_OVERDUE 12
758 #define ILL_Current_State_oVERDUE 13
759 #define ILL_Current_State_rETURNED 14
760 #define ILL_Current_State_cHECKED_IN 15
761 #define ILL_Current_State_rECALL 16
762 #define ILL_Current_State_lOST 17
763 #define ILL_Current_State_uNKNOWN 18
764
765 struct ILL_Damaged_DetailsSpecific_units {
766         int num;
767         int **elements;
768 };
769
770 struct ILL_Damaged_Details {
771         Odr_oid *document_type_id; /* OPT */
772         int which;
773         union {
774                 Odr_null *complete_document;
775                 ILL_Damaged_DetailsSpecific_units *specific_units;
776 #define ILL_Damaged_Details_complete_document 1
777 #define ILL_Damaged_Details_specific_units 2
778         } u;
779 };
780
781 struct ILL_Date_Due {
782         ILL_ISO_Date *date_due_field;
783         bool_t *renewable;
784 };
785
786 struct ILL_Delivery_Address {
787         ILL_Postal_Address *postal_address; /* OPT */
788         ILL_System_Address *electronic_address; /* OPT */
789 };
790
791 struct ILL_Delivery_ServiceElectronic_delivery {
792         int num;
793         ILL_Electronic_Delivery_Service **elements;
794 };
795
796 struct ILL_Delivery_Service {
797         int which;
798         union {
799                 ILL_Transportation_Mode *physical_delivery;
800                 ILL_Delivery_ServiceElectronic_delivery *electronic_delivery;
801 #define ILL_Delivery_Service_physical_delivery 1
802 #define ILL_Delivery_Service_electronic_delivery 2
803         } u;
804 };
805
806 struct ILL_Electronic_Delivery_Service_0 {
807         Odr_oid *e_delivery_mode;
808         Odr_any *e_delivery_parameters;
809 };
810
811 struct ILL_Electronic_Delivery_Service_1 {
812         Odr_oid *document_type_id;
813         Odr_any *document_type_parameters;
814 };
815
816 struct ILL_Electronic_Delivery_Service {
817         ILL_Electronic_Delivery_Service_0 *e_delivery_service; /* OPT */
818         ILL_Electronic_Delivery_Service_1 *document_type; /* OPT */
819         ILL_String *e_delivery_description; /* OPT */
820         int which;
821         union {
822                 ILL_System_Address *e_delivery_address;
823                 ILL_System_Id *e_delivery_id;
824 #define ILL_Electronic_Delivery_Service_e_delivery_address 1
825 #define ILL_Electronic_Delivery_Service_e_delivery_id 2
826         } u;
827         ILL_String *name_or_code; /* OPT */
828         ILL_ISO_Time *delivery_time; /* OPT */
829 };
830
831 struct ILL_Error_Report {
832         ILL_String *correlation_information;
833         ILL_Report_Source *report_source;
834         ILL_User_Error_Report *user_error_report; /* OPT */
835         ILL_Provider_Error_Report *provider_error_report; /* OPT */
836 };
837
838 struct ILL_Estimate_Results {
839         ILL_String *cost_estimate;
840         int num_locations;
841         ILL_Location_Info **locations; /* OPT */
842 };
843
844 struct ILL_Extension {
845         int *identifier;
846         bool_t *critical;
847         Odr_any *item;
848 };
849
850 #define ILL_General_Problem_unrecognized_APDU 1
851 #define ILL_General_Problem_mistyped_APDU 2
852 #define ILL_General_Problem_badly_structured_APDU 3
853 #define ILL_General_Problem_protocol_version_not_supported 4
854 #define ILL_General_Problem_other 5
855
856 struct ILL_History_Report {
857         ILL_ISO_Date *date_requested; /* OPT */
858         ILL_String *author; /* OPT */
859         ILL_String *title; /* OPT */
860         ILL_String *author_of_article; /* OPT */
861         ILL_String *title_of_article; /* OPT */
862         ILL_ISO_Date *date_of_last_transition;
863 #define ILL_History_Report_iLL_REQUEST 1
864 #define ILL_History_Report_fORWARD 21
865 #define ILL_History_Report_fORWARD_NOTIFICATION 2
866 #define ILL_History_Report_sHIPPED 3
867 #define ILL_History_Report_iLL_ANSWER 4
868 #define ILL_History_Report_cONDITIONAL_REPLY 5
869 #define ILL_History_Report_cANCEL 6
870 #define ILL_History_Report_cANCEL_REPLY 7
871 #define ILL_History_Report_rECEIVED 8
872 #define ILL_History_Report_rECALL 9
873 #define ILL_History_Report_rETURNED 10
874 #define ILL_History_Report_cHECKED_IN 11
875 #define ILL_History_Report_rENEW_ANSWER 14
876 #define ILL_History_Report_lOST 15
877 #define ILL_History_Report_dAMAGED 16
878 #define ILL_History_Report_mESSAGE 17
879 #define ILL_History_Report_sTATUS_QUERY 18
880 #define ILL_History_Report_sTATUS_OR_ERROR_REPORT 19
881 #define ILL_History_Report_eXPIRED 20
882         int *most_recent_service;
883         ILL_ISO_Date *date_of_most_recent_service;
884         ILL_System_Id *initiator_of_most_recent_service;
885         ILL_Shipped_Service_Type *shipped_service_type; /* OPT */
886         ILL_Transaction_Results *transaction_results; /* OPT */
887         ILL_String *most_recent_service_note; /* OPT */
888 };
889
890 struct ILL_Hold_Placed_Results {
891         ILL_ISO_Date *estimated_date_available;
892         ILL_Medium_Type *hold_placed_medium_type; /* OPT */
893         int num_locations;
894         ILL_Location_Info **locations; /* OPT */
895 };
896
897 #define ILL_APDU_Type_iLL_REQUEST 1
898 #define ILL_APDU_Type_fORWARD_NOTIFICATION 2
899 #define ILL_APDU_Type_sHIPPED 3
900 #define ILL_APDU_Type_iLL_ANSWER 4
901 #define ILL_APDU_Type_cONDITIONAL_REPLY 5
902 #define ILL_APDU_Type_cANCEL 6
903 #define ILL_APDU_Type_cANCEL_REPLY 7
904 #define ILL_APDU_Type_rECEIVED 8
905 #define ILL_APDU_Type_rECALL 9
906 #define ILL_APDU_Type_rETURNED 10
907 #define ILL_APDU_Type_cHECKED_IN 11
908 #define ILL_APDU_Type_oVERDUE 12
909 #define ILL_APDU_Type_rENEW 13
910 #define ILL_APDU_Type_rENEW_ANSWER 14
911 #define ILL_APDU_Type_lOST 15
912 #define ILL_APDU_Type_dAMAGED 16
913 #define ILL_APDU_Type_mESSAGE 17
914 #define ILL_APDU_Type_sTATUS_QUERY 18
915 #define ILL_APDU_Type_sTATUS_OR_ERROR_REPORT 19
916 #define ILL_APDU_Type_eXPIRED 20
917
918 #define ILL_Service_Type_loan 1
919 #define ILL_Service_Type_copy_non_returnable 2
920 #define ILL_Service_Type_locations 3
921 #define ILL_Service_Type_estimate 4
922 #define ILL_Service_Type_responder_specific 5
923
924 struct ILL_String {
925         int which;
926         union {
927                 char *GeneralString;
928                 ILL_EDIFACTString *EDIFACTString;
929 #define ILL_String_GeneralString 1
930 #define ILL_String_EDIFACTString 2
931         } u;
932 };
933
934 #define ILL_Intermediary_Problem_cannot_send_onward 1
935
936
937
938
939
940 struct ILL_Item_Id {
941 #define ILL_Item_Id_monograph 1
942 #define ILL_Item_Id_serial 2
943 #define ILL_Item_Id_other 3
944         int *item_type; /* OPT */
945         ILL_Medium_Type *held_medium_type; /* OPT */
946         ILL_String *call_number; /* OPT */
947         ILL_String *author; /* OPT */
948         ILL_String *title; /* OPT */
949         ILL_String *sub_title; /* OPT */
950         ILL_String *sponsoring_body; /* OPT */
951         ILL_String *place_of_publication; /* OPT */
952         ILL_String *publisher; /* OPT */
953         ILL_String *series_title_number; /* OPT */
954         ILL_String *volume_issue; /* OPT */
955         ILL_String *edition; /* OPT */
956         ILL_String *publication_date; /* OPT */
957         ILL_String *publication_date_of_component; /* OPT */
958         ILL_String *author_of_article; /* OPT */
959         ILL_String *title_of_article; /* OPT */
960         ILL_String *pagination; /* OPT */
961         Odr_external *national_bibliography_no; /* OPT */
962         ILL_String *iSBN; /* OPT */
963         ILL_String *iSSN; /* OPT */
964         Odr_external *system_no; /* OPT */
965         ILL_String *additional_no_letters; /* OPT */
966         ILL_String *verification_reference_source; /* OPT */
967 };
968
969 struct ILL_Location_Info {
970         ILL_System_Id *location_id;
971         ILL_System_Address *location_address; /* OPT */
972         ILL_String *location_note; /* OPT */
973 };
974
975 struct ILL_Locations_Results {
976         ILL_Reason_Locs_Provided *reason_locs_provided; /* OPT */
977         int num_locations;
978         ILL_Location_Info **locations;
979 };
980
981 #define ILL_Medium_Type_printed 1
982 #define ILL_Medium_Type_microform 3
983 #define ILL_Medium_Type_film_or_video_recording 4
984 #define ILL_Medium_Type_audio_recording 5
985 #define ILL_Medium_Type_machine_readable 6
986 #define ILL_Medium_Type_other 7
987
988 struct ILL_Name_Of_Person_Or_Institution {
989         int which;
990         union {
991                 ILL_String *name_of_person;
992                 ILL_String *name_of_institution;
993 #define ILL_Name_Of_Person_Or_Institution_name_of_person 1
994 #define ILL_Name_Of_Person_Or_Institution_name_of_institution 2
995         } u;
996 };
997
998 struct ILL_Person_Or_Institution_Symbol {
999         int which;
1000         union {
1001                 ILL_String *person_symbol;
1002                 ILL_String *institution_symbol;
1003 #define ILL_Person_Or_Institution_Symbol_person_symbol 1
1004 #define ILL_Person_Or_Institution_Symbol_institution_symbol 2
1005         } u;
1006 };
1007
1008 #define ILL_Place_On_Hold_Type_yes 1
1009 #define ILL_Place_On_Hold_Type_no 2
1010 #define ILL_Place_On_Hold_Type_according_to_responder_policy 3
1011
1012 struct ILL_Postal_Address {
1013         ILL_Name_Of_Person_Or_Institution *name_of_person_or_institution; /* OPT */
1014         ILL_String *extended_postal_delivery_address; /* OPT */
1015         ILL_String *street_and_number; /* OPT */
1016         ILL_String *post_office_box; /* OPT */
1017         ILL_String *city; /* OPT */
1018         ILL_String *region; /* OPT */
1019         ILL_String *country; /* OPT */
1020         ILL_String *postal_code; /* OPT */
1021 };
1022
1023 struct ILL_Provider_Error_Report {
1024         int which;
1025         union {
1026                 ILL_General_Problem *general_problem;
1027                 ILL_Transaction_Id_Problem *transaction_id_problem;
1028                 ILL_State_Transition_Prohibited *state_transition_prohibited;
1029 #define ILL_Provider_Error_Report_general_problem 1
1030 #define ILL_Provider_Error_Report_transaction_id_problem 2
1031 #define ILL_Provider_Error_Report_state_transition_prohibited 3
1032         } u;
1033 };
1034
1035 #define ILL_Reason_Locs_Provided_in_use_on_loan 1
1036 #define ILL_Reason_Locs_Provided_in_process 2
1037 #define ILL_Reason_Locs_Provided_lost 3
1038 #define ILL_Reason_Locs_Provided_non_circulating 4
1039 #define ILL_Reason_Locs_Provided_not_owned 5
1040 #define ILL_Reason_Locs_Provided_on_order 6
1041 #define ILL_Reason_Locs_Provided_volume_issue_not_yet_available 7
1042 #define ILL_Reason_Locs_Provided_at_bindery 8
1043 #define ILL_Reason_Locs_Provided_lacking 9
1044 #define ILL_Reason_Locs_Provided_not_on_shelf 10
1045 #define ILL_Reason_Locs_Provided_on_reserve 11
1046 #define ILL_Reason_Locs_Provided_poor_condition 12
1047 #define ILL_Reason_Locs_Provided_cost_exceeds_limit 13
1048 #define ILL_Reason_Locs_Provided_on_hold 19
1049 #define ILL_Reason_Locs_Provided_other 27
1050 #define ILL_Reason_Locs_Provided_responder_specific 28
1051
1052 #define ILL_Reason_No_Report_temporary 1
1053 #define ILL_Reason_No_Report_permanent 2
1054
1055 #define ILL_Reason_Unfilled_in_use_on_loan 1
1056 #define ILL_Reason_Unfilled_in_process 2
1057 #define ILL_Reason_Unfilled_lost 3
1058 #define ILL_Reason_Unfilled_non_circulating 4
1059 #define ILL_Reason_Unfilled_not_owned 5
1060 #define ILL_Reason_Unfilled_on_order 6
1061 #define ILL_Reason_Unfilled_volume_issue_not_yet_available 7
1062 #define ILL_Reason_Unfilled_at_bindery 8
1063 #define ILL_Reason_Unfilled_lacking 9
1064 #define ILL_Reason_Unfilled_not_on_shelf 10
1065 #define ILL_Reason_Unfilled_on_reserve 11
1066 #define ILL_Reason_Unfilled_poor_condition 12
1067 #define ILL_Reason_Unfilled_cost_exceeds_limit 13
1068 #define ILL_Reason_Unfilled_charges 14
1069 #define ILL_Reason_Unfilled_prepayment_required 15
1070 #define ILL_Reason_Unfilled_lacks_copyright_compliance 16
1071 #define ILL_Reason_Unfilled_not_found_as_cited 17
1072 #define ILL_Reason_Unfilled_locations_not_found 18
1073 #define ILL_Reason_Unfilled_on_hold 19
1074 #define ILL_Reason_Unfilled_policy_problem 20
1075 #define ILL_Reason_Unfilled_mandatory_messaging_not_supported 21
1076 #define ILL_Reason_Unfilled_expiry_not_supported 22
1077 #define ILL_Reason_Unfilled_requested_delivery_services_not_supported 23
1078 #define ILL_Reason_Unfilled_preferred_delivery_time_not_possible 24
1079 #define ILL_Reason_Unfilled_other 27
1080 #define ILL_Reason_Unfilled_responder_specific 28
1081
1082 #define ILL_Report_Source_user 1
1083 #define ILL_Report_Source_provider 2
1084
1085 struct ILL_Requester_Optional_Messages_Type {
1086         bool_t *can_send_RECEIVED;
1087         bool_t *can_send_RETURNED;
1088 #define ILL_Requester_Optional_Messages_Type_requires 1
1089 #define ILL_Requester_Optional_Messages_Type_desires 2
1090 #define ILL_Requester_Optional_Messages_Type_neither 3
1091         int *requester_SHIPPED;
1092 #define ILL_Requester_Optional_Messages_Type_requires 1
1093 #define ILL_Requester_Optional_Messages_Type_desires 2
1094 #define ILL_Requester_Optional_Messages_Type_neither 3
1095         int *requester_CHECKED_IN;
1096 };
1097
1098 struct ILL_Responder_Optional_Messages_Type {
1099         bool_t *can_send_SHIPPED;
1100         bool_t *can_send_CHECKED_IN;
1101 #define ILL_Responder_Optional_Messages_Type_requires 1
1102 #define ILL_Responder_Optional_Messages_Type_desires 2
1103 #define ILL_Responder_Optional_Messages_Type_neither 3
1104         int *responder_RECEIVED;
1105 #define ILL_Responder_Optional_Messages_Type_requires 1
1106 #define ILL_Responder_Optional_Messages_Type_desires 2
1107 #define ILL_Responder_Optional_Messages_Type_neither 3
1108         int *responder_RETURNED;
1109 };
1110
1111 struct ILL_Retry_Results {
1112 #define ILL_Retry_Results_in_use_on_loan 1
1113 #define ILL_Retry_Results_in_process 2
1114 #define ILL_Retry_Results_on_order 6
1115 #define ILL_Retry_Results_volume_issue_not_yet_available 7
1116 #define ILL_Retry_Results_at_bindery 8
1117 #define ILL_Retry_Results_cost_exceeds_limit 13
1118 #define ILL_Retry_Results_charges 14
1119 #define ILL_Retry_Results_prepayment_required 15
1120 #define ILL_Retry_Results_lacks_copyright_compliance 16
1121 #define ILL_Retry_Results_not_found_as_cited 17
1122 #define ILL_Retry_Results_on_hold 19
1123 #define ILL_Retry_Results_other 27
1124 #define ILL_Retry_Results_responder_specific 28
1125         int *reason_not_available; /* OPT */
1126         ILL_ISO_Date *retry_date; /* OPT */
1127         int num_locations;
1128         ILL_Location_Info **locations; /* OPT */
1129 };
1130
1131 struct ILL_Search_Type {
1132         ILL_String *level_of_service; /* OPT */
1133         ILL_ISO_Date *need_before_date; /* OPT */
1134 #define ILL_Search_Type_need_Before_Date 1
1135 #define ILL_Search_Type_other_Date 2
1136 #define ILL_Search_Type_no_Expiry 3
1137         int *expiry_flag;
1138         ILL_ISO_Date *expiry_date; /* OPT */
1139 };
1140
1141
1142
1143 struct ILL_Send_To_List_Type_s {
1144         ILL_System_Id *system_id;
1145         ILL_Account_Number *account_number; /* OPT */
1146         ILL_System_Address *system_address; /* OPT */
1147 };
1148
1149 struct ILL_Send_To_List_Type {
1150         int num;
1151         ILL_Send_To_List_Type_s **elements;
1152 };
1153
1154 struct ILL_Service_Date_this {
1155         ILL_ISO_Date *date;
1156         ILL_ISO_Time *time; /* OPT */
1157 };
1158
1159 struct ILL_Service_Date_original {
1160         ILL_ISO_Date *date;
1161         ILL_ISO_Time *time; /* OPT */
1162 };
1163
1164 struct ILL_Service_Date_Time {
1165         ILL_Service_Date_this *date_time_of_this_service;
1166         ILL_Service_Date_original *date_time_of_original_service; /* OPT */
1167 };
1168
1169
1170
1171 struct ILL_State_Transition_Prohibited {
1172         ILL_APDU_Type *aPDU_type;
1173         ILL_Current_State *current_state;
1174 };
1175
1176 struct ILL_Status_Report {
1177         ILL_History_Report *user_status_report;
1178         ILL_Current_State *provider_status_report;
1179 };
1180
1181 struct ILL_Supplemental_Item_Description {
1182         int num;
1183         Odr_external **elements;
1184 };
1185
1186 struct ILL_Supply_Details {
1187         ILL_ISO_Date *date_shipped; /* OPT */
1188         ILL_Date_Due *date_due; /* OPT */
1189         int *chargeable_units; /* OPT */
1190         ILL_Amount *cost; /* OPT */
1191 #define ILL_Supply_Details_library_use_only 22
1192 #define ILL_Supply_Details_no_reproduction 23
1193 #define ILL_Supply_Details_client_signature_required 24
1194 #define ILL_Supply_Details_special_collections_supervision_required 25
1195 #define ILL_Supply_Details_other 27
1196         int *shipped_conditions; /* OPT */
1197         int which;
1198         union {
1199                 ILL_Transportation_Mode *physical_delivery;
1200                 ILL_Electronic_Delivery_Service *electronic_delivery;
1201 #define ILL_Supply_Details_physical_delivery 1
1202 #define ILL_Supply_Details_electronic_delivery 2
1203         } u; /* OPT */
1204         ILL_Amount *insured_for; /* OPT */
1205         ILL_Amount *return_insurance_require; /* OPT */
1206         int num_no_of_units_per_medium;
1207         ILL_Units_Per_Medium_Type **no_of_units_per_medium; /* OPT */
1208 };
1209
1210 struct ILL_Supply_Medium_Info_Type {
1211         ILL_Supply_Medium_Type *supply_medium_type;
1212         ILL_String *medium_characteristics; /* OPT */
1213 };
1214
1215 #define ILL_Supply_Medium_Type_printed 1
1216 #define ILL_Supply_Medium_Type_photocopy 2
1217 #define ILL_Supply_Medium_Type_microform 3
1218 #define ILL_Supply_Medium_Type_film_or_video_recording 4
1219 #define ILL_Supply_Medium_Type_audio_recording 5
1220 #define ILL_Supply_Medium_Type_machine_readable 6
1221 #define ILL_Supply_Medium_Type_other 7
1222
1223 struct ILL_System_Address {
1224         ILL_String *telecom_service_identifier; /* OPT */
1225         ILL_String *telecom_service_address; /* OPT */
1226 };
1227
1228 struct ILL_System_Id {
1229         ILL_Person_Or_Institution_Symbol *person_or_institution_symbol; /* OPT */
1230         ILL_Name_Of_Person_Or_Institution *name_of_person_or_institution; /* OPT */
1231 };
1232
1233 struct ILL_Third_Party_Info_Type {
1234         bool_t *permission_to_forward;
1235         bool_t *permission_to_chain;
1236         bool_t *permission_to_partition;
1237         bool_t *permission_to_change_send_to_list;
1238         ILL_System_Address *initial_requester_address; /* OPT */
1239 #define ILL_Third_Party_Info_Type_ordered 1
1240 #define ILL_Third_Party_Info_Type_unordered 2
1241         int *preference;
1242         ILL_Send_To_List_Type *send_to_list; /* OPT */
1243         ILL_Already_Tried_List_Type *already_tried_list; /* OPT */
1244 };
1245
1246 struct ILL_Transaction_Id {
1247         ILL_System_Id *initial_requester_id; /* OPT */
1248         ILL_String *transaction_group_qualifier;
1249         ILL_String *transaction_qualifier;
1250         ILL_String *sub_transaction_qualifier; /* OPT */
1251 };
1252
1253 #define ILL_Transaction_Id_Problem_duplicate_transaction_id 1
1254 #define ILL_Transaction_Id_Problem_invalid_transaction_id 2
1255 #define ILL_Transaction_Id_Problem_unknown_transaction_id 3
1256
1257 #define ILL_Transaction_Results_conditional 1
1258 #define ILL_Transaction_Results_retry 2
1259 #define ILL_Transaction_Results_unfilled 3
1260 #define ILL_Transaction_Results_locations_provided 4
1261 #define ILL_Transaction_Results_will_supply 5
1262 #define ILL_Transaction_Results_hold_placed 6
1263 #define ILL_Transaction_Results_estimate 7
1264
1265 #define ILL_Transaction_Type_simple 1
1266 #define ILL_Transaction_Type_chained 2
1267 #define ILL_Transaction_Type_partitioned 3
1268
1269
1270
1271 #define ILL_Unable_To_Perform_not_available 1
1272 #define ILL_Unable_To_Perform_resource_limitation 2
1273 #define ILL_Unable_To_Perform_other 3
1274
1275 struct ILL_Unfilled_Results {
1276         ILL_Reason_Unfilled *reason_unfilled;
1277         int num_locations;
1278         ILL_Location_Info **locations; /* OPT */
1279 };
1280
1281 struct ILL_Units_Per_Medium_Type {
1282         ILL_Supply_Medium_Type *medium;
1283         int *no_of_units;
1284 };
1285
1286 struct ILL_User_Error_Report {
1287         int which;
1288         union {
1289                 ILL_Already_Forwarded *already_forwarded;
1290                 ILL_Intermediary_Problem *intermediary_problem;
1291                 ILL_Security_Problem *security_problem;
1292                 ILL_Unable_To_Perform *unable_to_perform;
1293 #define ILL_User_Error_Report_already_forwarded 1
1294 #define ILL_User_Error_Report_intermediary_problem 2
1295 #define ILL_User_Error_Report_security_problem 3
1296 #define ILL_User_Error_Report_unable_to_perform 4
1297         } u;
1298 };
1299
1300 struct ILL_Will_Supply_Results {
1301 #define ILL_Will_Supply_Results_in_use_on_loan 1
1302 #define ILL_Will_Supply_Results_in_process 2
1303 #define ILL_Will_Supply_Results_on_order 6
1304 #define ILL_Will_Supply_Results_at_bindery 8
1305 #define ILL_Will_Supply_Results_on_hold 19
1306 #define ILL_Will_Supply_Results_being_processed_for_supply 26
1307 #define ILL_Will_Supply_Results_other 27
1308 #define ILL_Will_Supply_Results_responder_specific 28
1309 #define ILL_Will_Supply_Results_electronic_delivery 30
1310         int *reason_will_supply;
1311         ILL_ISO_Date *supply_date; /* OPT */
1312         ILL_Postal_Address *return_to_address; /* OPT */
1313         int num_locations;
1314         ILL_Location_Info **locations; /* OPT */
1315         ILL_Electronic_Delivery_Service *electronic_delivery_service; /* OPT */
1316 };
1317
1318
1319
1320 #ifdef __cplusplus
1321 }
1322 #endif
1323
1324 #ifdef __cplusplus
1325 extern "C" {
1326 #endif
1327
1328 #ifdef __cplusplus
1329 }
1330 #endif
1331
1332 #endif