1 /** \file z-core.h
2     \brief ASN.1 Module Z39-50-APDU-1995
3 
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6 
7 #ifndef z_core_H
8 #define z_core_H
9 
10 #include <yaz/odr.h>
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef struct Z_External Z_External;
16 YAZ_EXPORT int z_External(ODR o, Z_External **p, int opt, const char *name);
17 
18 
19 typedef struct Z_APDU Z_APDU;
20 YAZ_EXPORT int z_APDU(ODR o, Z_APDU **p, int opt, const char *name);
21 
22 typedef struct Z_InitRequest Z_InitRequest;
23 YAZ_EXPORT int z_InitRequest(ODR o, Z_InitRequest **p, int opt, const char *name);
24 
25 typedef struct Z_IdPass Z_IdPass;
26 YAZ_EXPORT int z_IdPass(ODR o, Z_IdPass **p, int opt, const char *name);
27 
28 typedef struct Z_IdAuthentication Z_IdAuthentication;
29 YAZ_EXPORT int z_IdAuthentication(ODR o, Z_IdAuthentication **p, int opt, const char *name);
30 
31 typedef struct Z_InitResponse Z_InitResponse;
32 YAZ_EXPORT int z_InitResponse(ODR o, Z_InitResponse **p, int opt, const char *name);
33 
34 typedef Odr_bitmask  Z_ProtocolVersion;
35 YAZ_EXPORT int z_ProtocolVersion(ODR o, Z_ProtocolVersion **p, int opt, const char *name);
36 
37 typedef Odr_bitmask  Z_Options;
38 YAZ_EXPORT int z_Options(ODR o, Z_Options **p, int opt, const char *name);
39 
40 typedef struct Z_SearchRequest Z_SearchRequest;
41 YAZ_EXPORT int z_SearchRequest(ODR o, Z_SearchRequest **p, int opt, const char *name);
42 
43 typedef struct Z_Query Z_Query;
44 YAZ_EXPORT int z_Query(ODR o, Z_Query **p, int opt, const char *name);
45 
46 typedef struct Z_RPNQuery Z_RPNQuery;
47 YAZ_EXPORT int z_RPNQuery(ODR o, Z_RPNQuery **p, int opt, const char *name);
48 
49 typedef struct Z_Complex Z_Complex;
50 YAZ_EXPORT int z_Complex(ODR o, Z_Complex **p, int opt, const char *name);
51 
52 typedef struct Z_RPNStructure Z_RPNStructure;
53 YAZ_EXPORT int z_RPNStructure(ODR o, Z_RPNStructure **p, int opt, const char *name);
54 
55 typedef struct Z_Operand Z_Operand;
56 YAZ_EXPORT int z_Operand(ODR o, Z_Operand **p, int opt, const char *name);
57 
58 typedef struct Z_AttributesPlusTerm Z_AttributesPlusTerm;
59 YAZ_EXPORT int z_AttributesPlusTerm(ODR o, Z_AttributesPlusTerm **p, int opt, const char *name);
60 
61 typedef struct Z_ResultSetPlusAttributes Z_ResultSetPlusAttributes;
62 YAZ_EXPORT int z_ResultSetPlusAttributes(ODR o, Z_ResultSetPlusAttributes **p, int opt, const char *name);
63 
64 typedef struct Z_AttributeList Z_AttributeList;
65 YAZ_EXPORT int z_AttributeList(ODR o, Z_AttributeList **p, int opt, const char *name);
66 
67 typedef struct Z_Term Z_Term;
68 YAZ_EXPORT int z_Term(ODR o, Z_Term **p, int opt, const char *name);
69 
70 typedef struct Z_Operator Z_Operator;
71 YAZ_EXPORT int z_Operator(ODR o, Z_Operator **p, int opt, const char *name);
72 
73 typedef struct Z_ComplexAttribute Z_ComplexAttribute;
74 YAZ_EXPORT int z_ComplexAttribute(ODR o, Z_ComplexAttribute **p, int opt, const char *name);
75 
76 typedef struct Z_AttributeElement Z_AttributeElement;
77 YAZ_EXPORT int z_AttributeElement(ODR o, Z_AttributeElement **p, int opt, const char *name);
78 
79 typedef struct Z_ProximityOperator Z_ProximityOperator;
80 YAZ_EXPORT int z_ProximityOperator(ODR o, Z_ProximityOperator **p, int opt, const char *name);
81 
82 typedef Odr_int  Z_ProxUnit;
83 YAZ_EXPORT int z_ProxUnit(ODR o, Z_ProxUnit **p, int opt, const char *name);
84 
85 typedef struct Z_SearchResponse Z_SearchResponse;
86 YAZ_EXPORT int z_SearchResponse(ODR o, Z_SearchResponse **p, int opt, const char *name);
87 
88 typedef struct Z_RecordComposition Z_RecordComposition;
89 YAZ_EXPORT int z_RecordComposition(ODR o, Z_RecordComposition **p, int opt, const char *name);
90 
91 typedef struct Z_PresentRequest Z_PresentRequest;
92 YAZ_EXPORT int z_PresentRequest(ODR o, Z_PresentRequest **p, int opt, const char *name);
93 
94 typedef struct Z_Segment Z_Segment;
95 YAZ_EXPORT int z_Segment(ODR o, Z_Segment **p, int opt, const char *name);
96 
97 typedef struct Z_PresentResponse Z_PresentResponse;
98 YAZ_EXPORT int z_PresentResponse(ODR o, Z_PresentResponse **p, int opt, const char *name);
99 
100 typedef struct Z_NamePlusRecordList Z_NamePlusRecordList;
101 YAZ_EXPORT int z_NamePlusRecordList(ODR o, Z_NamePlusRecordList **p, int opt, const char *name);
102 
103 typedef struct Z_DiagRecs Z_DiagRecs;
104 YAZ_EXPORT int z_DiagRecs(ODR o, Z_DiagRecs **p, int opt, const char *name);
105 
106 typedef struct Z_Records Z_Records;
107 YAZ_EXPORT int z_Records(ODR o, Z_Records **p, int opt, const char *name);
108 
109 typedef struct Z_NamePlusRecord Z_NamePlusRecord;
110 YAZ_EXPORT int z_NamePlusRecord(ODR o, Z_NamePlusRecord **p, int opt, const char *name);
111 
112 typedef struct Z_FragmentSyntax Z_FragmentSyntax;
113 YAZ_EXPORT int z_FragmentSyntax(ODR o, Z_FragmentSyntax **p, int opt, const char *name);
114 
115 typedef struct Z_DiagRec Z_DiagRec;
116 YAZ_EXPORT int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name);
117 
118 typedef struct Z_DefaultDiagFormat Z_DefaultDiagFormat;
119 YAZ_EXPORT int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt, const char *name);
120 
121 typedef struct Z_Range Z_Range;
122 YAZ_EXPORT int z_Range(ODR o, Z_Range **p, int opt, const char *name);
123 
124 typedef struct Z_DatabaseSpecificUnit Z_DatabaseSpecificUnit;
125 YAZ_EXPORT int z_DatabaseSpecificUnit(ODR o, Z_DatabaseSpecificUnit **p, int opt, const char *name);
126 
127 typedef struct Z_DatabaseSpecific Z_DatabaseSpecific;
128 YAZ_EXPORT int z_DatabaseSpecific(ODR o, Z_DatabaseSpecific **p, int opt, const char *name);
129 
130 typedef struct Z_ElementSetNames Z_ElementSetNames;
131 YAZ_EXPORT int z_ElementSetNames(ODR o, Z_ElementSetNames **p, int opt, const char *name);
132 
133 typedef Odr_int  Z_PresentStatus;
134 YAZ_EXPORT int z_PresentStatus(ODR o, Z_PresentStatus **p, int opt, const char *name);
135 
136 typedef struct Z_DbSpecific Z_DbSpecific;
137 YAZ_EXPORT int z_DbSpecific(ODR o, Z_DbSpecific **p, int opt, const char *name);
138 
139 typedef struct Z_CompSpec Z_CompSpec;
140 YAZ_EXPORT int z_CompSpec(ODR o, Z_CompSpec **p, int opt, const char *name);
141 
142 typedef struct Z_ElementSpec Z_ElementSpec;
143 YAZ_EXPORT int z_ElementSpec(ODR o, Z_ElementSpec **p, int opt, const char *name);
144 
145 typedef struct Z_Specification Z_Specification;
146 YAZ_EXPORT int z_Specification(ODR o, Z_Specification **p, int opt, const char *name);
147 
148 typedef struct Z_DeleteResultSetRequest Z_DeleteResultSetRequest;
149 YAZ_EXPORT int z_DeleteResultSetRequest(ODR o, Z_DeleteResultSetRequest **p, int opt, const char *name);
150 
151 typedef struct Z_DeleteResultSetResponse Z_DeleteResultSetResponse;
152 YAZ_EXPORT int z_DeleteResultSetResponse(ODR o, Z_DeleteResultSetResponse **p, int opt, const char *name);
153 
154 typedef struct Z_ListStatus Z_ListStatus;
155 YAZ_EXPORT int z_ListStatus(ODR o, Z_ListStatus **p, int opt, const char *name);
156 
157 typedef struct Z_ListStatuses Z_ListStatuses;
158 YAZ_EXPORT int z_ListStatuses(ODR o, Z_ListStatuses **p, int opt, const char *name);
159 
160 typedef Odr_int  Z_DeleteStatus;
161 YAZ_EXPORT int z_DeleteStatus(ODR o, Z_DeleteStatus **p, int opt, const char *name);
162 
163 typedef struct Z_AccessControlRequest Z_AccessControlRequest;
164 YAZ_EXPORT int z_AccessControlRequest(ODR o, Z_AccessControlRequest **p, int opt, const char *name);
165 
166 typedef struct Z_AccessControlResponse Z_AccessControlResponse;
167 YAZ_EXPORT int z_AccessControlResponse(ODR o, Z_AccessControlResponse **p, int opt, const char *name);
168 
169 typedef struct Z_ResourceControlRequest Z_ResourceControlRequest;
170 YAZ_EXPORT int z_ResourceControlRequest(ODR o, Z_ResourceControlRequest **p, int opt, const char *name);
171 
172 typedef struct Z_ResourceControlResponse Z_ResourceControlResponse;
173 YAZ_EXPORT int z_ResourceControlResponse(ODR o, Z_ResourceControlResponse **p, int opt, const char *name);
174 
175 typedef struct Z_TriggerResourceControlRequest Z_TriggerResourceControlRequest;
176 YAZ_EXPORT int z_TriggerResourceControlRequest(ODR o, Z_TriggerResourceControlRequest **p, int opt, const char *name);
177 
178 typedef struct Z_ResourceReportRequest Z_ResourceReportRequest;
179 YAZ_EXPORT int z_ResourceReportRequest(ODR o, Z_ResourceReportRequest **p, int opt, const char *name);
180 
181 typedef struct Z_ResourceReportResponse Z_ResourceReportResponse;
182 YAZ_EXPORT int z_ResourceReportResponse(ODR o, Z_ResourceReportResponse **p, int opt, const char *name);
183 
184 typedef Z_External  Z_ResourceReport;
185 YAZ_EXPORT int z_ResourceReport(ODR o, Z_ResourceReport **p, int opt, const char *name);
186 
187 typedef Odr_oid  Z_ResourceReportId;
188 YAZ_EXPORT int z_ResourceReportId(ODR o, Z_ResourceReportId **p, int opt, const char *name);
189 
190 typedef struct Z_ScanRequest Z_ScanRequest;
191 YAZ_EXPORT int z_ScanRequest(ODR o, Z_ScanRequest **p, int opt, const char *name);
192 
193 typedef struct Z_ScanResponse Z_ScanResponse;
194 YAZ_EXPORT int z_ScanResponse(ODR o, Z_ScanResponse **p, int opt, const char *name);
195 
196 typedef struct Z_ListEntries Z_ListEntries;
197 YAZ_EXPORT int z_ListEntries(ODR o, Z_ListEntries **p, int opt, const char *name);
198 
199 typedef struct Z_Entry Z_Entry;
200 YAZ_EXPORT int z_Entry(ODR o, Z_Entry **p, int opt, const char *name);
201 
202 typedef struct Z_TermInfo Z_TermInfo;
203 YAZ_EXPORT int z_TermInfo(ODR o, Z_TermInfo **p, int opt, const char *name);
204 
205 typedef struct Z_byDatabaseList_s Z_byDatabaseList_s;
206 YAZ_EXPORT int z_byDatabaseList_s(ODR o, Z_byDatabaseList_s **p, int opt, const char *name);
207 
208 typedef struct Z_byDatabaseList Z_byDatabaseList;
209 YAZ_EXPORT int z_byDatabaseList(ODR o, Z_byDatabaseList **p, int opt, const char *name);
210 
211 typedef struct Z_OccurrenceByAttributesElem Z_OccurrenceByAttributesElem;
212 YAZ_EXPORT int z_OccurrenceByAttributesElem(ODR o, Z_OccurrenceByAttributesElem **p, int opt, const char *name);
213 
214 typedef struct Z_OccurrenceByAttributes Z_OccurrenceByAttributes;
215 YAZ_EXPORT int z_OccurrenceByAttributes(ODR o, Z_OccurrenceByAttributes **p, int opt, const char *name);
216 
217 typedef struct Z_SortKeySpecList Z_SortKeySpecList;
218 YAZ_EXPORT int z_SortKeySpecList(ODR o, Z_SortKeySpecList **p, int opt, const char *name);
219 
220 typedef struct Z_SortRequest Z_SortRequest;
221 YAZ_EXPORT int z_SortRequest(ODR o, Z_SortRequest **p, int opt, const char *name);
222 
223 typedef struct Z_SortResponse Z_SortResponse;
224 YAZ_EXPORT int z_SortResponse(ODR o, Z_SortResponse **p, int opt, const char *name);
225 
226 typedef struct Z_SortKeySpec Z_SortKeySpec;
227 YAZ_EXPORT int z_SortKeySpec(ODR o, Z_SortKeySpec **p, int opt, const char *name);
228 
229 typedef struct Z_SortDbSpecificList_s Z_SortDbSpecificList_s;
230 YAZ_EXPORT int z_SortDbSpecificList_s(ODR o, Z_SortDbSpecificList_s **p, int opt, const char *name);
231 
232 typedef struct Z_SortDbSpecificList Z_SortDbSpecificList;
233 YAZ_EXPORT int z_SortDbSpecificList(ODR o, Z_SortDbSpecificList **p, int opt, const char *name);
234 
235 typedef struct Z_SortElement Z_SortElement;
236 YAZ_EXPORT int z_SortElement(ODR o, Z_SortElement **p, int opt, const char *name);
237 
238 typedef struct Z_SortAttributes Z_SortAttributes;
239 YAZ_EXPORT int z_SortAttributes(ODR o, Z_SortAttributes **p, int opt, const char *name);
240 
241 typedef struct Z_SortKey Z_SortKey;
242 YAZ_EXPORT int z_SortKey(ODR o, Z_SortKey **p, int opt, const char *name);
243 
244 typedef struct Z_ExtendedServicesRequest Z_ExtendedServicesRequest;
245 YAZ_EXPORT int z_ExtendedServicesRequest(ODR o, Z_ExtendedServicesRequest **p, int opt, const char *name);
246 
247 typedef struct Z_ExtendedServicesResponse Z_ExtendedServicesResponse;
248 YAZ_EXPORT int z_ExtendedServicesResponse(ODR o, Z_ExtendedServicesResponse **p, int opt, const char *name);
249 
250 typedef struct Z_Permissions_s Z_Permissions_s;
251 YAZ_EXPORT int z_Permissions_s(ODR o, Z_Permissions_s **p, int opt, const char *name);
252 
253 typedef struct Z_Permissions Z_Permissions;
254 YAZ_EXPORT int z_Permissions(ODR o, Z_Permissions **p, int opt, const char *name);
255 
256 typedef struct Z_Close Z_Close;
257 YAZ_EXPORT int z_Close(ODR o, Z_Close **p, int opt, const char *name);
258 
259 typedef Odr_int  Z_CloseReason;
260 YAZ_EXPORT int z_CloseReason(ODR o, Z_CloseReason **p, int opt, const char *name);
261 
262 typedef struct Z_DuplicateDetectionRequest Z_DuplicateDetectionRequest;
263 YAZ_EXPORT int z_DuplicateDetectionRequest(ODR o, Z_DuplicateDetectionRequest **p, int opt, const char *name);
264 
265 typedef struct Z_DuplicateDetectionCriterion Z_DuplicateDetectionCriterion;
266 YAZ_EXPORT int z_DuplicateDetectionCriterion(ODR o, Z_DuplicateDetectionCriterion **p, int opt, const char *name);
267 
268 typedef struct Z_RetentionCriterion Z_RetentionCriterion;
269 YAZ_EXPORT int z_RetentionCriterion(ODR o, Z_RetentionCriterion **p, int opt, const char *name);
270 
271 typedef struct Z_SortCriterionPreferredDatabases Z_SortCriterionPreferredDatabases;
272 YAZ_EXPORT int z_SortCriterionPreferredDatabases(ODR o, Z_SortCriterionPreferredDatabases **p, int opt, const char *name);
273 
274 typedef struct Z_SortCriterion Z_SortCriterion;
275 YAZ_EXPORT int z_SortCriterion(ODR o, Z_SortCriterion **p, int opt, const char *name);
276 
277 typedef struct Z_DuplicateDetectionResponse Z_DuplicateDetectionResponse;
278 YAZ_EXPORT int z_DuplicateDetectionResponse(ODR o, Z_DuplicateDetectionResponse **p, int opt, const char *name);
279 
280 typedef Odr_oct  Z_ReferenceId;
281 YAZ_EXPORT int z_ReferenceId(ODR o, Z_ReferenceId **p, int opt, const char *name);
282 
283 typedef Odr_oid  Z_AttributeSetId;
284 YAZ_EXPORT int z_AttributeSetId(ODR o, Z_AttributeSetId **p, int opt, const char *name);
285 
286 typedef struct Z_OtherInformationUnit Z_OtherInformationUnit;
287 YAZ_EXPORT int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, int opt, const char *name);
288 
289 typedef struct Z_OtherInformation Z_OtherInformation;
290 YAZ_EXPORT int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, const char *name);
291 
292 typedef struct Z_InfoCategory Z_InfoCategory;
293 YAZ_EXPORT int z_InfoCategory(ODR o, Z_InfoCategory **p, int opt, const char *name);
294 
295 typedef struct Z_IntUnit Z_IntUnit;
296 YAZ_EXPORT int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name);
297 
298 typedef struct Z_Unit Z_Unit;
299 YAZ_EXPORT int z_Unit(ODR o, Z_Unit **p, int opt, const char *name);
300 
301 typedef char  Z_InternationalString;
302 YAZ_EXPORT int z_InternationalString(ODR o, Z_InternationalString **p, int opt, const char *name);
303 
304 typedef Z_InternationalString  Z_ResultSetId;
305 YAZ_EXPORT int z_ResultSetId(ODR o, Z_ResultSetId **p, int opt, const char *name);
306 
307 typedef Z_InternationalString  Z_ElementSetName;
308 YAZ_EXPORT int z_ElementSetName(ODR o, Z_ElementSetName **p, int opt, const char *name);
309 
310 typedef Z_InternationalString  Z_DatabaseName;
311 YAZ_EXPORT int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, const char *name);
312 
313 typedef struct Z_StringOrNumeric Z_StringOrNumeric;
314 YAZ_EXPORT int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, const char *name);
315 #ifdef __cplusplus
316 }
317 #endif
318 #ifdef __cplusplus
319 extern "C" {
320 #endif
321 struct Z_APDU {
322 	int which;
323 	union {
324 		Z_InitRequest *initRequest;
325 		Z_InitResponse *initResponse;
326 		Z_SearchRequest *searchRequest;
327 		Z_SearchResponse *searchResponse;
328 		Z_PresentRequest *presentRequest;
329 		Z_PresentResponse *presentResponse;
330 		Z_DeleteResultSetRequest *deleteResultSetRequest;
331 		Z_DeleteResultSetResponse *deleteResultSetResponse;
332 		Z_AccessControlRequest *accessControlRequest;
333 		Z_AccessControlResponse *accessControlResponse;
334 		Z_ResourceControlRequest *resourceControlRequest;
335 		Z_ResourceControlResponse *resourceControlResponse;
336 		Z_TriggerResourceControlRequest *triggerResourceControlRequest;
337 		Z_ResourceReportRequest *resourceReportRequest;
338 		Z_ResourceReportResponse *resourceReportResponse;
339 		Z_ScanRequest *scanRequest;
340 		Z_ScanResponse *scanResponse;
341 		Z_SortRequest *sortRequest;
342 		Z_SortResponse *sortResponse;
343 		Z_Segment *segmentRequest;
344 		Z_ExtendedServicesRequest *extendedServicesRequest;
345 		Z_ExtendedServicesResponse *extendedServicesResponse;
346 		Z_Close *close;
347 		Z_DuplicateDetectionRequest *duplicateDetectionRequest;
348 		Z_DuplicateDetectionResponse *duplicateDetectionResponse;
349 #define Z_APDU_initRequest 1
350 #define Z_APDU_initResponse 2
351 #define Z_APDU_searchRequest 3
352 #define Z_APDU_searchResponse 4
353 #define Z_APDU_presentRequest 5
354 #define Z_APDU_presentResponse 6
355 #define Z_APDU_deleteResultSetRequest 7
356 #define Z_APDU_deleteResultSetResponse 8
357 #define Z_APDU_accessControlRequest 9
358 #define Z_APDU_accessControlResponse 10
359 #define Z_APDU_resourceControlRequest 11
360 #define Z_APDU_resourceControlResponse 12
361 #define Z_APDU_triggerResourceControlRequest 13
362 #define Z_APDU_resourceReportRequest 14
363 #define Z_APDU_resourceReportResponse 15
364 #define Z_APDU_scanRequest 16
365 #define Z_APDU_scanResponse 17
366 #define Z_APDU_sortRequest 18
367 #define Z_APDU_sortResponse 19
368 #define Z_APDU_segmentRequest 20
369 #define Z_APDU_extendedServicesRequest 21
370 #define Z_APDU_extendedServicesResponse 22
371 #define Z_APDU_close 23
372 #define Z_APDU_duplicateDetectionRequest 24
373 #define Z_APDU_duplicateDetectionResponse 25
374 	} u;
375 };
376 
377 struct Z_InitRequest {
378 	Z_ReferenceId *referenceId; /* OPT */
379 	Z_ProtocolVersion *protocolVersion;
380 	Z_Options *options;
381 	Odr_int *preferredMessageSize;
382 	Odr_int *maximumRecordSize;
383 	Z_IdAuthentication *idAuthentication; /* OPT */
384 	Z_InternationalString *implementationId; /* OPT */
385 	Z_InternationalString *implementationName; /* OPT */
386 	Z_InternationalString *implementationVersion; /* OPT */
387 	Z_External *userInformationField; /* OPT */
388 	Z_OtherInformation *otherInfo; /* OPT */
389 };
390 
391 struct Z_IdPass {
392 	Z_InternationalString *groupId; /* OPT */
393 	Z_InternationalString *userId; /* OPT */
394 	Z_InternationalString *password; /* OPT */
395 };
396 
397 struct Z_IdAuthentication {
398 	int which;
399 	union {
400 		char *open;
401 		Z_IdPass *idPass;
402 		Odr_null *anonymous;
403 		Z_External *other;
404 #define Z_IdAuthentication_open 1
405 #define Z_IdAuthentication_idPass 2
406 #define Z_IdAuthentication_anonymous 3
407 #define Z_IdAuthentication_other 4
408 	} u;
409 };
410 
411 struct Z_InitResponse {
412 	Z_ReferenceId *referenceId; /* OPT */
413 	Z_ProtocolVersion *protocolVersion;
414 	Z_Options *options;
415 	Odr_int *preferredMessageSize;
416 	Odr_int *maximumRecordSize;
417 	Odr_bool *result;
418 	Z_InternationalString *implementationId; /* OPT */
419 	Z_InternationalString *implementationName; /* OPT */
420 	Z_InternationalString *implementationVersion; /* OPT */
421 	Z_External *userInformationField; /* OPT */
422 	Z_OtherInformation *otherInfo; /* OPT */
423 };
424 
425 #define Z_ProtocolVersion_1 0
426 #define Z_ProtocolVersion_2 1
427 #define Z_ProtocolVersion_3 2
428 
429 #define Z_Options_search 0
430 #define Z_Options_present 1
431 #define Z_Options_delSet 2
432 #define Z_Options_resourceReport 3
433 #define Z_Options_triggerResourceCtrl 4
434 #define Z_Options_resourceCtrl 5
435 #define Z_Options_accessCtrl 6
436 #define Z_Options_scan 7
437 #define Z_Options_sort 8
438 #define Z_Options_extendedServices 10
439 #define Z_Options_level_1Segmentation 11
440 #define Z_Options_level_2Segmentation 12
441 #define Z_Options_concurrentOperations 13
442 #define Z_Options_namedResultSets 14
443 #define Z_Options_encapsulation 15
444 #define Z_Options_resultCount 16
445 #define Z_Options_negotiationModel 17
446 #define Z_Options_duplicateDetection 18
447 #define Z_Options_queryType104 19
448 #define Z_Options_pQESCorrection 20
449 #define Z_Options_stringSchema 21
450 
451 struct Z_SearchRequest {
452 	Z_ReferenceId *referenceId; /* OPT */
453 	Odr_int *smallSetUpperBound;
454 	Odr_int *largeSetLowerBound;
455 	Odr_int *mediumSetPresentNumber;
456 	Odr_bool *replaceIndicator;
457 	Z_InternationalString *resultSetName;
458 	int num_databaseNames;
459 	Z_DatabaseName **databaseNames;
460 	Z_ElementSetNames *smallSetElementSetNames; /* OPT */
461 	Z_ElementSetNames *mediumSetElementSetNames; /* OPT */
462 	Odr_oid *preferredRecordSyntax; /* OPT */
463 	Z_Query *query;
464 	Z_OtherInformation *additionalSearchInfo; /* OPT */
465 	Z_OtherInformation *otherInfo; /* OPT */
466 };
467 
468 struct Z_Query {
469 	int which;
470 	union {
471 		void *type_0;
472 		Z_RPNQuery *type_1;
473 		Odr_oct *type_2;
474 		Odr_oct *type_100;
475 		Z_RPNQuery *type_101;
476 		Odr_oct *type_102;
477 		Z_External *type_104;
478 #define Z_Query_type_0 1
479 #define Z_Query_type_1 2
480 #define Z_Query_type_2 3
481 #define Z_Query_type_100 4
482 #define Z_Query_type_101 5
483 #define Z_Query_type_102 6
484 #define Z_Query_type_104 7
485 	} u;
486 };
487 
488 struct Z_RPNQuery {
489 	Z_AttributeSetId *attributeSetId;
490 	Z_RPNStructure *RPNStructure;
491 };
492 
493 struct Z_Complex {
494 	Z_RPNStructure *s1;
495 	Z_RPNStructure *s2;
496 	Z_Operator *roperator;
497 };
498 
499 struct Z_RPNStructure {
500 	int which;
501 	union {
502 		Z_Operand *simple;
503 		Z_Complex *complex;
504 #define Z_RPNStructure_simple 1
505 #define Z_RPNStructure_complex 2
506 	} u;
507 };
508 
509 struct Z_Operand {
510 	int which;
511 	union {
512 		Z_AttributesPlusTerm *attributesPlusTerm;
513 		Z_ResultSetId *resultSetId;
514 		Z_ResultSetPlusAttributes *resultAttr;
515 #define Z_Operand_APT 1
516 #define Z_Operand_resultSetId 2
517 #define Z_Operand_resultAttr 3
518 	} u;
519 };
520 
521 struct Z_AttributesPlusTerm {
522 	Z_AttributeList *attributes;
523 	Z_Term *term;
524 };
525 
526 struct Z_ResultSetPlusAttributes {
527 	Z_ResultSetId *resultSet;
528 	Z_AttributeList *attributes;
529 };
530 
531 struct Z_AttributeList {
532 	int num_attributes;
533 	Z_AttributeElement **attributes;
534 };
535 
536 struct Z_Term {
537 	int which;
538 	union {
539 		Odr_oct *general;
540 		Odr_int *numeric;
541 		Z_InternationalString *characterString;
542 		Odr_oid *oid;
543 		char *dateTime;
544 		Z_External *external;
545 		Z_IntUnit *integerAndUnit;
546 		Odr_null *null;
547 #define Z_Term_general 1
548 #define Z_Term_numeric 2
549 #define Z_Term_characterString 3
550 #define Z_Term_oid 4
551 #define Z_Term_dateTime 5
552 #define Z_Term_external 6
553 #define Z_Term_integerAndUnit 7
554 #define Z_Term_null 8
555 	} u;
556 };
557 
558 struct Z_Operator {
559 	int which;
560 	union {
561 		Odr_null *op_and;
562 		Odr_null *op_or;
563 		Odr_null *and_not;
564 		Z_ProximityOperator *prox;
565 #define Z_Operator_and 1
566 #define Z_Operator_or 2
567 #define Z_Operator_and_not 3
568 #define Z_Operator_prox 4
569 	} u;
570 };
571 
572 struct Z_ComplexAttribute {
573 	int num_list;
574 	Z_StringOrNumeric **list;
575 	int num_semanticAction;
576 	Odr_int **semanticAction; /* OPT */
577 };
578 
579 struct Z_AttributeElement {
580 	Z_AttributeSetId *attributeSet; /* OPT */
581 	Odr_int *attributeType;
582 	int which;
583 	union {
584 		Odr_int *numeric;
585 		Z_ComplexAttribute *complex;
586 #define Z_AttributeValue_numeric 1
587 #define Z_AttributeValue_complex 2
588 	} value;
589 };
590 
591 struct Z_ProximityOperator {
592 	Odr_bool *exclusion; /* OPT */
593 	Odr_int *distance;
594 	Odr_bool *ordered;
595 #define Z_ProximityOperator_Prox_lessThan 1
596 #define Z_ProximityOperator_Prox_lessThanOrEqual 2
597 #define Z_ProximityOperator_Prox_equal 3
598 #define Z_ProximityOperator_Prox_greaterThanOrEqual 4
599 #define Z_ProximityOperator_Prox_greaterThan 5
600 #define Z_ProximityOperator_Prox_notEqual 6
601 	Odr_int *relationType;
602 	int which;
603 	union {
604 		Z_ProxUnit *known;
605 		Odr_int *zprivate;
606 #define Z_ProximityOperator_known 1
607 #define Z_ProximityOperator_private 2
608 	} u;
609 };
610 
611 #define Z_ProxUnit_character 1
612 #define Z_ProxUnit_word 2
613 #define Z_ProxUnit_sentence 3
614 #define Z_ProxUnit_paragraph 4
615 #define Z_ProxUnit_section 5
616 #define Z_ProxUnit_chapter 6
617 #define Z_ProxUnit_document 7
618 #define Z_ProxUnit_element 8
619 #define Z_ProxUnit_subelement 9
620 #define Z_ProxUnit_elementType 10
621 #define Z_ProxUnit_byte 11
622 
623 struct Z_SearchResponse {
624 	Z_ReferenceId *referenceId; /* OPT */
625 	Odr_int *resultCount;
626 	Odr_int *numberOfRecordsReturned;
627 	Odr_int *nextResultSetPosition;
628 	Odr_bool *searchStatus;
629 #define Z_SearchResponse_subset 1
630 #define Z_SearchResponse_interim 2
631 #define Z_SearchResponse_none 3
632 #define Z_SearchResponse_estimate 4
633 	Odr_int *resultSetStatus; /* OPT */
634 	Z_PresentStatus *presentStatus; /* OPT */
635 	Z_Records *records; /* OPT */
636 	Z_OtherInformation *additionalSearchInfo; /* OPT */
637 	Z_OtherInformation *otherInfo; /* OPT */
638 };
639 
640 struct Z_RecordComposition {
641 	int which;
642 	union {
643 		Z_ElementSetNames *simple;
644 		Z_CompSpec *complex;
645 #define Z_RecordComp_simple 1
646 #define Z_RecordComp_complex 2
647 	} u;
648 };
649 
650 struct Z_PresentRequest {
651 	Z_ReferenceId *referenceId; /* OPT */
652 	Z_ResultSetId *resultSetId;
653 	Odr_int *resultSetStartPoint;
654 	Odr_int *numberOfRecordsRequested;
655 	int num_ranges;
656 	Z_Range **additionalRanges; /* OPT */
657 	Z_RecordComposition *recordComposition; /* OPT */
658 	Odr_oid *preferredRecordSyntax; /* OPT */
659 	Odr_int *maxSegmentCount; /* OPT */
660 	Odr_int *maxRecordSize; /* OPT */
661 	Odr_int *maxSegmentSize; /* OPT */
662 	Z_OtherInformation *otherInfo; /* OPT */
663 };
664 
665 struct Z_Segment {
666 	Z_ReferenceId *referenceId; /* OPT */
667 	Odr_int *numberOfRecordsReturned;
668 	int num_segmentRecords;
669 	Z_NamePlusRecord **segmentRecords;
670 	Z_OtherInformation *otherInfo; /* OPT */
671 };
672 
673 struct Z_PresentResponse {
674 	Z_ReferenceId *referenceId; /* OPT */
675 	Odr_int *numberOfRecordsReturned;
676 	Odr_int *nextResultSetPosition;
677 	Z_PresentStatus *presentStatus;
678 	Z_Records *records; /* OPT */
679 	Z_OtherInformation *otherInfo; /* OPT */
680 };
681 
682 struct Z_NamePlusRecordList {
683 	int num_records;
684 	Z_NamePlusRecord **records;
685 };
686 
687 struct Z_DiagRecs {
688 	int num_diagRecs;
689 	Z_DiagRec **diagRecs;
690 };
691 
692 struct Z_Records {
693 	int which;
694 	union {
695 		Z_NamePlusRecordList *databaseOrSurDiagnostics;
696 		Z_DefaultDiagFormat *nonSurrogateDiagnostic;
697 		Z_DiagRecs *multipleNonSurDiagnostics;
698 #define Z_Records_DBOSD 1
699 #define Z_Records_NSD 2
700 #define Z_Records_multipleNSD 3
701 	} u;
702 };
703 
704 struct Z_NamePlusRecord {
705 	Z_DatabaseName *databaseName; /* OPT */
706 	int which;
707 	union {
708 		Z_External *databaseRecord;
709 		Z_DiagRec *surrogateDiagnostic;
710 		Z_FragmentSyntax *startingFragment;
711 		Z_FragmentSyntax *intermediateFragment;
712 		Z_FragmentSyntax *finalFragment;
713 #define Z_NamePlusRecord_databaseRecord 1
714 #define Z_NamePlusRecord_surrogateDiagnostic 2
715 #define Z_NamePlusRecord_startingFragment 3
716 #define Z_NamePlusRecord_intermediateFragment 4
717 #define Z_NamePlusRecord_finalFragment 5
718 	} u;
719 };
720 
721 struct Z_FragmentSyntax {
722 	int which;
723 	union {
724 		Z_External *externallyTagged;
725 		Odr_oct *notExternallyTagged;
726 #define Z_FragmentSyntax_externallyTagged 1
727 #define Z_FragmentSyntax_notExternallyTagged 2
728 	} u;
729 };
730 
731 struct Z_DiagRec {
732 	int which;
733 	union {
734 		Z_DefaultDiagFormat *defaultFormat;
735 		Z_External *externallyDefined;
736 #define Z_DiagRec_defaultFormat 1
737 #define Z_DiagRec_externallyDefined 2
738 	} u;
739 };
740 
741 struct Z_DefaultDiagFormat {
742 	Odr_oid *diagnosticSetId;
743 	Odr_int *condition;
744 	int which;
745 	union {
746 		char *v2Addinfo;
747 		Z_InternationalString *v3Addinfo;
748 #define Z_DefaultDiagFormat_v2Addinfo 1
749 #define Z_DefaultDiagFormat_v3Addinfo 2
750 	} u;
751 };
752 
753 struct Z_Range {
754 	Odr_int *startingPosition;
755 	Odr_int *numberOfRecords;
756 };
757 
758 struct Z_DatabaseSpecificUnit {
759 	Z_DatabaseName *dbName;
760 	Z_ElementSetName *esn;
761 };
762 
763 struct Z_DatabaseSpecific {
764 	int num;
765 	Z_DatabaseSpecificUnit **elements;
766 };
767 
768 struct Z_ElementSetNames {
769 	int which;
770 	union {
771 		Z_InternationalString *generic;
772 		Z_DatabaseSpecific *databaseSpecific;
773 #define Z_ElementSetNames_generic 1
774 #define Z_ElementSetNames_databaseSpecific 2
775 	} u;
776 };
777 
778 #define Z_PresentStatus_success 0
779 #define Z_PresentStatus_partial_1 1
780 #define Z_PresentStatus_partial_2 2
781 #define Z_PresentStatus_partial_3 3
782 #define Z_PresentStatus_partial_4 4
783 #define Z_PresentStatus_failure 5
784 
785 struct Z_DbSpecific {
786 	Z_DatabaseName *db;
787 	Z_Specification *spec;
788 };
789 
790 struct Z_CompSpec {
791 	Odr_bool *selectAlternativeSyntax;
792 	Z_Specification *generic; /* OPT */
793 	int num_dbSpecific;
794 	Z_DbSpecific **dbSpecific; /* OPT */
795 	int num_recordSyntax;
796 	Odr_oid **recordSyntax; /* OPT */
797 };
798 
799 struct Z_ElementSpec {
800 	int which;
801 	union {
802 		Z_InternationalString *elementSetName;
803 		Z_External *externalSpec;
804 #define Z_ElementSpec_elementSetName 1
805 #define Z_ElementSpec_externalSpec 2
806 	} u;
807 };
808 
809 struct Z_Specification {
810 	int which;
811 	union {
812 		Odr_oid *oid;
813 		Z_InternationalString *uri;
814 #define Z_Schema_oid 1
815 #define Z_Schema_uri 2
816 	} schema; /* OPT */
817 	Z_ElementSpec *elementSpec; /* OPT */
818 };
819 
820 struct Z_DeleteResultSetRequest {
821 	Z_ReferenceId *referenceId; /* OPT */
822 #define Z_DeleteResultSetRequest_list 0
823 #define Z_DeleteResultSetRequest_all 1
824 	Odr_int *deleteFunction;
825 	int num_resultSetList;
826 	Z_ResultSetId **resultSetList; /* OPT */
827 	Z_OtherInformation *otherInfo; /* OPT */
828 };
829 
830 struct Z_DeleteResultSetResponse {
831 	Z_ReferenceId *referenceId; /* OPT */
832 	Z_DeleteStatus *deleteOperationStatus;
833 	Z_ListStatuses *deleteListStatuses; /* OPT */
834 	Odr_int *numberNotDeleted; /* OPT */
835 	Z_ListStatuses *bulkStatuses; /* OPT */
836 	Z_InternationalString *deleteMessage; /* OPT */
837 	Z_OtherInformation *otherInfo; /* OPT */
838 };
839 
840 struct Z_ListStatus {
841 	Z_ResultSetId *id;
842 	Z_DeleteStatus *status;
843 };
844 
845 struct Z_ListStatuses {
846 	int num;
847 	Z_ListStatus **elements;
848 };
849 
850 #define Z_DeleteStatus_success 0
851 #define Z_DeleteStatus_resultSetDidNotExist 1
852 #define Z_DeleteStatus_previouslyDeletedByTarget 2
853 #define Z_DeleteStatus_systemProblemAtTarget 3
854 #define Z_DeleteStatus_accessNotAllowed 4
855 #define Z_DeleteStatus_resourceControlAtOrigin 5
856 #define Z_DeleteStatus_resourceControlAtTarget 6
857 #define Z_DeleteStatus_bulkDeleteNotSupported 7
858 #define Z_DeleteStatus_notAllRsltSetsDeletedOnBulkDlte 8
859 #define Z_DeleteStatus_notAllRequestedResultSetsDeleted 9
860 #define Z_DeleteStatus_resultSetInUse 10
861 
862 struct Z_AccessControlRequest {
863 	Z_ReferenceId *referenceId; /* OPT */
864 	int which;
865 	union {
866 		Odr_oct *simpleForm;
867 		Z_External *externallyDefined;
868 #define Z_AccessControlRequest_simpleForm 1
869 #define Z_AccessControlRequest_externallyDefined 2
870 	} u;
871 	Z_OtherInformation *otherInfo; /* OPT */
872 };
873 
874 struct Z_AccessControlResponse {
875 	Z_ReferenceId *referenceId; /* OPT */
876 	int which;
877 	union {
878 		Odr_oct *simpleForm;
879 		Z_External *externallyDefined;
880 #define Z_AccessControlResponse_simpleForm 1
881 #define Z_AccessControlResponse_externallyDefined 2
882 	} u; /* OPT */
883 	Z_DiagRec *diagnostic; /* OPT */
884 	Z_OtherInformation *otherInfo; /* OPT */
885 };
886 
887 struct Z_ResourceControlRequest {
888 	Z_ReferenceId *referenceId; /* OPT */
889 	Odr_bool *suspendedFlag; /* OPT */
890 	Z_ResourceReport *resourceReport; /* OPT */
891 #define Z_ResourceControlRequest_subset 1
892 #define Z_ResourceControlRequest_interim 2
893 #define Z_ResourceControlRequest_none 3
894 	Odr_int *partialResultsAvailable; /* OPT */
895 	Odr_bool *responseRequired;
896 	Odr_bool *triggeredRequestFlag; /* OPT */
897 	Z_OtherInformation *otherInfo; /* OPT */
898 };
899 
900 struct Z_ResourceControlResponse {
901 	Z_ReferenceId *referenceId; /* OPT */
902 	Odr_bool *continueFlag;
903 	Odr_bool *resultSetWanted; /* OPT */
904 	Z_OtherInformation *otherInfo; /* OPT */
905 };
906 
907 struct Z_TriggerResourceControlRequest {
908 	Z_ReferenceId *referenceId; /* OPT */
909 #define Z_TriggerResourceControlRequest_resourceReport 1
910 #define Z_TriggerResourceControlRequest_resourceControl 2
911 #define Z_TriggerResourceControlRequest_cancel 3
912 	Odr_int *requestedAction;
913 	Z_ResourceReportId *prefResourceReportFormat; /* OPT */
914 	Odr_bool *resultSetWanted; /* OPT */
915 	Z_OtherInformation *otherInfo; /* OPT */
916 };
917 
918 struct Z_ResourceReportRequest {
919 	Z_ReferenceId *referenceId; /* OPT */
920 	Z_ReferenceId *opId; /* OPT */
921 	Z_ResourceReportId *prefResourceReportFormat; /* OPT */
922 	Z_OtherInformation *otherInfo; /* OPT */
923 };
924 
925 struct Z_ResourceReportResponse {
926 	Z_ReferenceId *referenceId; /* OPT */
927 #define Z_ResourceReportResponse_success 0
928 #define Z_ResourceReportResponse_partial 1
929 #define Z_ResourceReportResponse_failure_1 2
930 #define Z_ResourceReportResponse_failure_2 3
931 #define Z_ResourceReportResponse_failure_3 4
932 #define Z_ResourceReportResponse_failure_4 5
933 #define Z_ResourceReportResponse_failure_5 6
934 #define Z_ResourceReportResponse_failure_6 7
935 	Odr_int *resourceReportStatus;
936 	Z_ResourceReport *resourceReport; /* OPT */
937 	Z_OtherInformation *otherInfo; /* OPT */
938 };
939 
940 
941 
942 
943 
944 struct Z_ScanRequest {
945 	Z_ReferenceId *referenceId; /* OPT */
946 	int num_databaseNames;
947 	Z_DatabaseName **databaseNames;
948 	Z_AttributeSetId *attributeSet; /* OPT */
949 	Z_AttributesPlusTerm *termListAndStartPoint;
950 	Odr_int *stepSize; /* OPT */
951 	Odr_int *numberOfTermsRequested;
952 	Odr_int *preferredPositionInResponse; /* OPT */
953 	Z_OtherInformation *otherInfo; /* OPT */
954 };
955 
956 struct Z_ScanResponse {
957 	Z_ReferenceId *referenceId; /* OPT */
958 	Odr_int *stepSize; /* OPT */
959 #define Z_Scan_success 0
960 #define Z_Scan_partial_1 1
961 #define Z_Scan_partial_2 2
962 #define Z_Scan_partial_3 3
963 #define Z_Scan_partial_4 4
964 #define Z_Scan_partial_5 5
965 #define Z_Scan_failure 6
966 	Odr_int *scanStatus;
967 	Odr_int *numberOfEntriesReturned;
968 	Odr_int *positionOfTerm; /* OPT */
969 	Z_ListEntries *entries; /* OPT */
970 	Z_AttributeSetId *attributeSet; /* OPT */
971 	Z_OtherInformation *otherInfo; /* OPT */
972 };
973 
974 struct Z_ListEntries {
975 	int num_entries;
976 	Z_Entry **entries; /* OPT */
977 	int num_nonsurrogateDiagnostics;
978 	Z_DiagRec **nonsurrogateDiagnostics; /* OPT */
979 };
980 
981 struct Z_Entry {
982 	int which;
983 	union {
984 		Z_TermInfo *termInfo;
985 		Z_DiagRec *surrogateDiagnostic;
986 #define Z_Entry_termInfo 1
987 #define Z_Entry_surrogateDiagnostic 2
988 	} u;
989 };
990 
991 struct Z_TermInfo {
992 	Z_Term *term;
993 	Z_InternationalString *displayTerm; /* OPT */
994 	Z_AttributeList *suggestedAttributes; /* OPT */
995 	int num_alternativeTerm;
996 	Z_AttributesPlusTerm **alternativeTerm; /* OPT */
997 	Odr_int *globalOccurrences; /* OPT */
998 	Z_OccurrenceByAttributes *byAttributes; /* OPT */
999 	Z_OtherInformation *otherTermInfo; /* OPT */
1000 };
1001 
1002 struct Z_byDatabaseList_s {
1003 	Z_DatabaseName *db;
1004 	Odr_int *num; /* OPT */
1005 	Z_OtherInformation *otherDbInfo; /* OPT */
1006 };
1007 
1008 struct Z_byDatabaseList {
1009 	int num;
1010 	Z_byDatabaseList_s **elements;
1011 };
1012 
1013 struct Z_OccurrenceByAttributesElem {
1014 	Z_AttributeList *attributes;
1015 	int which;
1016 	union {
1017 		Odr_int *global;
1018 		Z_byDatabaseList *byDatabase;
1019 #define Z_OccurrenceByAttributesElem_global 1
1020 #define Z_OccurrenceByAttributesElem_byDatabase 2
1021 	} u; /* OPT */
1022 	Z_OtherInformation *otherOccurInfo; /* OPT */
1023 };
1024 
1025 struct Z_OccurrenceByAttributes {
1026 	int num;
1027 	Z_OccurrenceByAttributesElem **elements;
1028 };
1029 
1030 struct Z_SortKeySpecList {
1031 	int num_specs;
1032 	Z_SortKeySpec **specs;
1033 };
1034 
1035 struct Z_SortRequest {
1036 	Z_ReferenceId *referenceId; /* OPT */
1037 	int num_inputResultSetNames;
1038 	Z_InternationalString **inputResultSetNames;
1039 	Z_InternationalString *sortedResultSetName;
1040 	Z_SortKeySpecList *sortSequence;
1041 	Z_OtherInformation *otherInfo; /* OPT */
1042 };
1043 
1044 struct Z_SortResponse {
1045 	Z_ReferenceId *referenceId; /* OPT */
1046 #define Z_SortResponse_success 0
1047 #define Z_SortResponse_partial_1 1
1048 #define Z_SortResponse_failure 2
1049 	Odr_int *sortStatus;
1050 #define Z_SortResponse_empty 1
1051 #define Z_SortResponse_interim 2
1052 #define Z_SortResponse_unchanged 3
1053 #define Z_SortResponse_none 4
1054 	Odr_int *resultSetStatus; /* OPT */
1055 	int num_diagnostics;
1056 	Z_DiagRec **diagnostics; /* OPT */
1057 	Odr_int *resultCount; /* OPT */
1058 	Z_OtherInformation *otherInfo; /* OPT */
1059 };
1060 
1061 struct Z_SortKeySpec {
1062 	Z_SortElement *sortElement;
1063 #define Z_SortKeySpec_ascending 0
1064 #define Z_SortKeySpec_descending 1
1065 #define Z_SortKeySpec_ascendingByFrequency 3
1066 #define Z_SortKeySpec_descendingByfrequency 4
1067 	Odr_int *sortRelation;
1068 #define Z_SortKeySpec_caseSensitive 0
1069 #define Z_SortKeySpec_caseInsensitive 1
1070 	Odr_int *caseSensitivity;
1071 	int which;
1072 	union {
1073 		Odr_null *abort;
1074 		Odr_null *null;
1075 		Odr_oct *missingValueData;
1076 #define Z_SortKeySpec_abort 1
1077 #define Z_SortKeySpec_null 2
1078 #define Z_SortKeySpec_missingValueData 3
1079 	} u; /* OPT */
1080 };
1081 
1082 struct Z_SortDbSpecificList_s {
1083 	Z_DatabaseName *databaseName;
1084 	Z_SortKey *dbSort;
1085 };
1086 
1087 struct Z_SortDbSpecificList {
1088 	int num;
1089 	Z_SortDbSpecificList_s **elements;
1090 };
1091 
1092 struct Z_SortElement {
1093 	int which;
1094 	union {
1095 		Z_SortKey *generic;
1096 		Z_SortDbSpecificList *databaseSpecific;
1097 #define Z_SortElement_generic 1
1098 #define Z_SortElement_databaseSpecific 2
1099 	} u;
1100 };
1101 
1102 struct Z_SortAttributes {
1103 	Z_AttributeSetId *id;
1104 	Z_AttributeList *list;
1105 };
1106 
1107 struct Z_SortKey {
1108 	int which;
1109 	union {
1110 		Z_InternationalString *sortField;
1111 		Z_Specification *elementSpec;
1112 		Z_SortAttributes *sortAttributes;
1113 #define Z_SortKey_sortField 1
1114 #define Z_SortKey_elementSpec 2
1115 #define Z_SortKey_sortAttributes 3
1116 	} u;
1117 };
1118 
1119 struct Z_ExtendedServicesRequest {
1120 	Z_ReferenceId *referenceId; /* OPT */
1121 #define Z_ExtendedServicesRequest_create 1
1122 #define Z_ExtendedServicesRequest_delete 2
1123 #define Z_ExtendedServicesRequest_modify 3
1124 	Odr_int *function;
1125 	Odr_oid *packageType;
1126 	Z_InternationalString *packageName; /* OPT */
1127 	Z_InternationalString *userId; /* OPT */
1128 	Z_IntUnit *retentionTime; /* OPT */
1129 	Z_Permissions *permissions; /* OPT */
1130 	Z_InternationalString *description; /* OPT */
1131 	Z_External *taskSpecificParameters; /* OPT */
1132 #define Z_ExtendedServicesRequest_wait 1
1133 #define Z_ExtendedServicesRequest_waitIfPossible 2
1134 #define Z_ExtendedServicesRequest_dontWait 3
1135 #define Z_ExtendedServicesRequest_dontReturnPackage 4
1136 	Odr_int *waitAction;
1137 	Z_ElementSetName *elements; /* OPT */
1138 	Z_OtherInformation *otherInfo; /* OPT */
1139 };
1140 
1141 struct Z_ExtendedServicesResponse {
1142 	Z_ReferenceId *referenceId; /* OPT */
1143 #define Z_ExtendedServicesResponse_done 1
1144 #define Z_ExtendedServicesResponse_accepted 2
1145 #define Z_ExtendedServicesResponse_failure 3
1146 	Odr_int *operationStatus;
1147 	int num_diagnostics;
1148 	Z_DiagRec **diagnostics; /* OPT */
1149 	Z_External *taskPackage; /* OPT */
1150 	Z_OtherInformation *otherInfo; /* OPT */
1151 };
1152 
1153 struct Z_Permissions_s {
1154 	Z_InternationalString *userId; /* OPT */
1155 #define Z_Permissions_s_delete 1
1156 #define Z_Permissions_s_modifyContents 2
1157 #define Z_Permissions_s_modifyPermissions 3
1158 #define Z_Permissions_s_present 4
1159 #define Z_Permissions_s_invoke 5
1160 	int num_allowableFunctions;
1161 	Odr_int **allowableFunctions;
1162 };
1163 
1164 struct Z_Permissions {
1165 	int num;
1166 	Z_Permissions_s **elements;
1167 };
1168 
1169 struct Z_Close {
1170 	Z_ReferenceId *referenceId; /* OPT */
1171 	Z_CloseReason *closeReason;
1172 	Z_InternationalString *diagnosticInformation; /* OPT */
1173 	Z_ResourceReportId *resourceReportFormat; /* OPT */
1174 	Z_ResourceReport *resourceReport; /* OPT */
1175 	Z_OtherInformation *otherInfo; /* OPT */
1176 };
1177 
1178 #define Z_Close_finished 0
1179 #define Z_Close_shutdown 1
1180 #define Z_Close_systemProblem 2
1181 #define Z_Close_costLimit 3
1182 #define Z_Close_resources 4
1183 #define Z_Close_securityViolation 5
1184 #define Z_Close_protocolError 6
1185 #define Z_Close_lackOfActivity 7
1186 #define Z_Close_peerAbort 8
1187 #define Z_Close_unspecified 9
1188 
1189 struct Z_DuplicateDetectionRequest {
1190 	Z_ReferenceId *referenceId; /* OPT */
1191 	int num_inputResultSetIds;
1192 	Z_InternationalString **inputResultSetIds;
1193 	Z_InternationalString *outputResultSetName;
1194 	Z_External *applicablePortionOfRecord; /* OPT */
1195 	int num_duplicateDetectionCriteria;
1196 	Z_DuplicateDetectionCriterion **duplicateDetectionCriteria; /* OPT */
1197 	Odr_bool *clustering; /* OPT */
1198 	int num_retentionCriteria;
1199 	Z_RetentionCriterion **retentionCriteria;
1200 	int num_sortCriteria;
1201 	Z_SortCriterion **sortCriteria; /* OPT */
1202 	Z_OtherInformation *otherInfo; /* OPT */
1203 };
1204 
1205 struct Z_DuplicateDetectionCriterion {
1206 	int which;
1207 	union {
1208 		Odr_int *levelOfMatch;
1209 		Odr_null *caseSensitive;
1210 		Odr_null *punctuationSensitive;
1211 		Z_External *regularExpression;
1212 		Odr_null *rsDuplicates;
1213 #define Z_DuplicateDetectionCriterion_levelOfMatch 1
1214 #define Z_DuplicateDetectionCriterion_caseSensitive 2
1215 #define Z_DuplicateDetectionCriterion_punctuationSensitive 3
1216 #define Z_DuplicateDetectionCriterion_regularExpression 4
1217 #define Z_DuplicateDetectionCriterion_rsDuplicates 5
1218 	} u;
1219 };
1220 
1221 struct Z_RetentionCriterion {
1222 	int which;
1223 	union {
1224 		Odr_int *numberOfEntries;
1225 		Odr_int *percentOfEntries;
1226 		Odr_null *duplicatesOnly;
1227 		Odr_null *discardRsDuplicates;
1228 #define Z_RetentionCriterion_numberOfEntries 1
1229 #define Z_RetentionCriterion_percentOfEntries 2
1230 #define Z_RetentionCriterion_duplicatesOnly 3
1231 #define Z_RetentionCriterion_discardRsDuplicates 4
1232 	} u;
1233 };
1234 
1235 struct Z_SortCriterionPreferredDatabases {
1236 	int num;
1237 	Z_InternationalString **elements;
1238 };
1239 
1240 struct Z_SortCriterion {
1241 	int which;
1242 	union {
1243 		Odr_null *mostComprehensive;
1244 		Odr_null *leastConmprehensive;
1245 		Odr_null *mostRecent;
1246 		Odr_null *oldest;
1247 		Odr_null *leastCost;
1248 		Z_SortCriterionPreferredDatabases *preferredDatabases;
1249 #define Z_SortCriterion_mostComprehensive 1
1250 #define Z_SortCriterion_leastConmprehensive 2
1251 #define Z_SortCriterion_mostRecent 3
1252 #define Z_SortCriterion_oldest 4
1253 #define Z_SortCriterion_leastCost 5
1254 #define Z_SortCriterion_preferredDatabases 6
1255 	} u;
1256 };
1257 
1258 struct Z_DuplicateDetectionResponse {
1259 	Z_ReferenceId *referenceId; /* OPT */
1260 #define Z_DuplicateDetectionResponse_success 0
1261 #define Z_DuplicateDetectionResponse_failure 1
1262 	Odr_int *status;
1263 	Odr_int *resultSetCount; /* OPT */
1264 	int num_diagnostics;
1265 	Z_DiagRec **diagnostics; /* OPT */
1266 	Z_OtherInformation *otherInfo; /* OPT */
1267 };
1268 
1269 
1270 
1271 
1272 
1273 
1274 
1275 
1276 
1277 
1278 
1279 struct Z_OtherInformationUnit {
1280 	Z_InfoCategory *category; /* OPT */
1281 	int which;
1282 	union {
1283 		Z_InternationalString *characterInfo;
1284 		Odr_oct *binaryInfo;
1285 		Z_External *externallyDefinedInfo;
1286 		Odr_oid *oid;
1287 #define Z_OtherInfo_characterInfo 1
1288 #define Z_OtherInfo_binaryInfo 2
1289 #define Z_OtherInfo_externallyDefinedInfo 3
1290 #define Z_OtherInfo_oid 4
1291 	} information;
1292 };
1293 
1294 struct Z_OtherInformation {
1295 	int num_elements;
1296 	Z_OtherInformationUnit **list;
1297 };
1298 
1299 struct Z_InfoCategory {
1300 	Odr_oid *categoryTypeId; /* OPT */
1301 	Odr_int *categoryValue;
1302 };
1303 
1304 struct Z_IntUnit {
1305 	Odr_int *value;
1306 	Z_Unit *unitUsed;
1307 };
1308 
1309 struct Z_Unit {
1310 	Z_InternationalString *unitSystem; /* OPT */
1311 	Z_StringOrNumeric *unitType; /* OPT */
1312 	Z_StringOrNumeric *unit; /* OPT */
1313 	Odr_int *scaleFactor; /* OPT */
1314 };
1315 
1316 
1317 
1318 struct Z_StringOrNumeric {
1319 	int which;
1320 	union {
1321 		Z_InternationalString *string;
1322 		Odr_int *numeric;
1323 #define Z_StringOrNumeric_string 1
1324 #define Z_StringOrNumeric_numeric 2
1325 	} u;
1326 };
1327 
1328 #ifdef __cplusplus
1329 }
1330 #endif
1331 
1332 #ifdef __cplusplus
1333 extern "C" {
1334 #endif
1335 
1336 int z_ANY_type_0 (ODR o, void **p, int opt);
1337 
1338 #ifdef __cplusplus
1339 }
1340 #endif
1341 
1342 #endif
1343