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