YAZ 5.35.1
z-exp.c
Go to the documentation of this file.
1
6#if HAVE_CONFIG_H
7#include <config.h>
8#endif
9
10#include <yaz/z-exp.h>
11
12int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt, const char *name)
13{
14 static Odr_arm arm[] = {
16 (Odr_fun) z_TargetInfo, "targetInfo"},
18 (Odr_fun) z_DatabaseInfo, "databaseInfo"},
20 (Odr_fun) z_SchemaInfo, "schemaInfo"},
22 (Odr_fun) z_TagSetInfo, "tagSetInfo"},
24 (Odr_fun) z_RecordSyntaxInfo, "recordSyntaxInfo"},
26 (Odr_fun) z_AttributeSetInfo, "attributeSetInfo"},
28 (Odr_fun) z_TermListInfo, "termListInfo"},
30 (Odr_fun) z_ExtendedServicesInfo, "extendedServicesInfo"},
32 (Odr_fun) z_AttributeDetails, "attributeDetails"},
34 (Odr_fun) z_TermListDetails, "termListDetails"},
36 (Odr_fun) z_ElementSetDetails, "elementSetDetails"},
38 (Odr_fun) z_RetrievalRecordDetails, "retrievalRecordDetails"},
40 (Odr_fun) z_SortDetails, "sortDetails"},
42 (Odr_fun) z_ProcessingInformation, "processing"},
44 (Odr_fun) z_VariantSetInfo, "variants"},
46 (Odr_fun) z_UnitInfo, "units"},
48 (Odr_fun) z_CategoryList, "categoryList"},
49 {-1, -1, -1, -1, (Odr_fun) 0, 0}
50 };
51 if (!odr_initmember(o, p, sizeof(**p)))
52 return odr_missing(o, opt, name);
53 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
54 return 1;
55 if (o->direction == ODR_DECODE)
56 *p = 0;
57 return odr_missing(o, opt, name);
58}
59
60int z_TargetInfo(ODR o, Z_TargetInfo **p, int opt, const char *name)
61{
62 if (!odr_sequence_begin(o, p, sizeof(**p), name))
63 return odr_missing(o, opt, name) && odr_ok (o);
64 return
66 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
68 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
70 &(*p)->recentNews, ODR_CONTEXT, 2, 1, "recentNews") &&
72 &(*p)->icon, ODR_CONTEXT, 3, 1, "icon") &&
74 &(*p)->namedResultSets, ODR_CONTEXT, 4, 0, "namedResultSets") &&
76 &(*p)->multipleDBsearch, ODR_CONTEXT, 5, 0, "multipleDBsearch") &&
78 &(*p)->maxResultSets, ODR_CONTEXT, 6, 1, "maxResultSets") &&
80 &(*p)->maxResultSize, ODR_CONTEXT, 7, 1, "maxResultSize") &&
82 &(*p)->maxTerms, ODR_CONTEXT, 8, 1, "maxTerms") &&
84 &(*p)->timeoutInterval, ODR_CONTEXT, 9, 1, "timeoutInterval") &&
86 &(*p)->welcomeMessage, ODR_CONTEXT, 10, 1, "welcomeMessage") &&
88 &(*p)->contactInfo, ODR_CONTEXT, 11, 1, "contactInfo") &&
90 &(*p)->description, ODR_CONTEXT, 12, 1, "description") &&
92 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->nicknames,
93 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
95 &(*p)->usageRest, ODR_CONTEXT, 14, 1, "usageRest") &&
97 &(*p)->paymentAddr, ODR_CONTEXT, 15, 1, "paymentAddr") &&
99 &(*p)->hours, ODR_CONTEXT, 16, 1, "hours") &&
101 (odr_sequence_of(o, (Odr_fun) z_DatabaseList, &(*p)->dbCombinations,
102 &(*p)->num_dbCombinations, "dbCombinations") || odr_ok(o)) &&
104 (odr_sequence_of(o, (Odr_fun) z_NetworkAddress, &(*p)->addresses,
105 &(*p)->num_addresses, "addresses") || odr_ok(o)) &&
107 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->languages,
108 &(*p)->num_languages, "languages") || odr_ok(o)) &&
110 &(*p)->commonAccessInfo, ODR_CONTEXT, 19, 1, "commonAccessInfo") &&
112}
113
114int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt, const char *name)
115{
116 static Odr_arm arm[] = {
118 (Odr_fun) odr_integer, "actualNumber"},
120 (Odr_fun) odr_integer, "approxNumber"},
121 {-1, -1, -1, -1, (Odr_fun) 0, 0}
122 };
123 if (!odr_sequence_begin(o, p, sizeof(**p), name))
124 return odr_missing(o, opt, name) && odr_ok (o);
125 return
127 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
129 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
131 &(*p)->explainDatabase, ODR_CONTEXT, 2, 1, "explainDatabase") &&
133 (odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->nicknames,
134 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
136 &(*p)->icon, ODR_CONTEXT, 4, 1, "icon") &&
138 &(*p)->userFee, ODR_CONTEXT, 5, 0, "userFee") &&
140 &(*p)->available, ODR_CONTEXT, 6, 0, "available") &&
142 &(*p)->titleString, ODR_CONTEXT, 7, 1, "titleString") &&
144 (odr_sequence_of(o, (Odr_fun) z_HumanString, &(*p)->keywords,
145 &(*p)->num_keywords, "keywords") || odr_ok(o)) &&
147 &(*p)->description, ODR_CONTEXT, 9, 1, "description") &&
149 &(*p)->associatedDbs, ODR_CONTEXT, 10, 1, "associatedDbs") &&
151 &(*p)->subDbs, ODR_CONTEXT, 11, 1, "subDbs") &&
153 &(*p)->disclaimers, ODR_CONTEXT, 12, 1, "disclaimers") &&
155 &(*p)->news, ODR_CONTEXT, 13, 1, "news") &&
156 ((odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 14, "recordCount") &&
157 odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
158 odr_constructed_end(o)) || odr_ok(o)) &&
160 &(*p)->defaultOrder, ODR_CONTEXT, 15, 1, "defaultOrder") &&
162 &(*p)->avRecordSize, ODR_CONTEXT, 16, 1, "avRecordSize") &&
164 &(*p)->maxRecordSize, ODR_CONTEXT, 17, 1, "maxRecordSize") &&
166 &(*p)->hours, ODR_CONTEXT, 18, 1, "hours") &&
168 &(*p)->bestTime, ODR_CONTEXT, 19, 1, "bestTime") &&
170 &(*p)->lastUpdate, ODR_CONTEXT, 20, 1, "lastUpdate") &&
172 &(*p)->updateInterval, ODR_CONTEXT, 21, 1, "updateInterval") &&
174 &(*p)->coverage, ODR_CONTEXT, 22, 1, "coverage") &&
176 &(*p)->proprietary, ODR_CONTEXT, 23, 1, "proprietary") &&
178 &(*p)->copyrightText, ODR_CONTEXT, 24, 1, "copyrightText") &&
180 &(*p)->copyrightNotice, ODR_CONTEXT, 25, 1, "copyrightNotice") &&
182 &(*p)->producerContactInfo, ODR_CONTEXT, 26, 1, "producerContactInfo") &&
184 &(*p)->supplierContactInfo, ODR_CONTEXT, 27, 1, "supplierContactInfo") &&
186 &(*p)->submissionContactInfo, ODR_CONTEXT, 28, 1, "submissionContactInfo") &&
188 &(*p)->accessInfo, ODR_CONTEXT, 29, 1, "accessInfo") &&
190}
191
192int z_TagTypeMapping(ODR o, Z_TagTypeMapping **p, int opt, const char *name)
193{
194 if (!odr_sequence_begin(o, p, sizeof(**p), name))
195 return odr_missing(o, opt, name) && odr_ok (o);
196 return
198 &(*p)->tagType, ODR_CONTEXT, 0, 0, "tagType") &&
200 &(*p)->tagSet, ODR_CONTEXT, 1, 1, "tagSet") &&
202 &(*p)->defaultTagType, ODR_CONTEXT, 2, 1, "defaultTagType") &&
204}
205
206int z_SchemaInfo(ODR o, Z_SchemaInfo **p, int opt, const char *name)
207{
208 if (!odr_sequence_begin(o, p, sizeof(**p), name))
209 return odr_missing(o, opt, name) && odr_ok (o);
210 return
212 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
214 &(*p)->schema, ODR_CONTEXT, 1, 0, "schema") &&
216 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
218 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
220 (odr_sequence_of(o, (Odr_fun) z_TagTypeMapping, &(*p)->tagTypeMapping,
221 &(*p)->num_tagTypeMapping, "tagTypeMapping") || odr_ok(o)) &&
223 (odr_sequence_of(o, (Odr_fun) z_ElementInfo, &(*p)->recordStructure,
224 &(*p)->num_recordStructure, "recordStructure") || odr_ok(o)) &&
226}
227
228int z_ElementInfo(ODR o, Z_ElementInfo **p, int opt, const char *name)
229{
230 if (!odr_sequence_begin(o, p, sizeof(**p), name))
231 return odr_missing(o, opt, name) && odr_ok (o);
232 return
234 &(*p)->elementName, ODR_CONTEXT, 1, 0, "elementName") &&
236 &(*p)->elementTagPath, ODR_CONTEXT, 2, 0, "elementTagPath") &&
238 &(*p)->dataType, ODR_CONTEXT, 3, 1, "dataType") &&
240 &(*p)->required, ODR_CONTEXT, 4, 0, "required") &&
242 &(*p)->repeatable, ODR_CONTEXT, 5, 0, "repeatable") &&
244 &(*p)->description, ODR_CONTEXT, 6, 1, "description") &&
246}
247
248int z_PathUnit(ODR o, Z_PathUnit **p, int opt, const char *name)
249{
250 if (!odr_sequence_begin(o, p, sizeof(**p), name))
251 return odr_missing(o, opt, name) && odr_ok (o);
252 return
254 &(*p)->tagType, ODR_CONTEXT, 1, 0, "tagType") &&
256 &(*p)->tagValue, ODR_CONTEXT, 2, 0, "tagValue") &&
258}
259
260int z_Path(ODR o, Z_Path **p, int opt, const char *name)
261{
262 if (!odr_initmember(o, p, sizeof(**p)))
263 return odr_missing(o, opt, name);
264 if (odr_sequence_of(o, (Odr_fun) z_PathUnit, &(*p)->elements,
265 &(*p)->num, name))
266 return 1;
267 if (o->direction == ODR_DECODE)
268 *p = 0;
269 return odr_missing(o, opt, name);
270}
271
272int z_ElementInfoList(ODR o, Z_ElementInfoList **p, int opt, const char *name)
273{
274 if (!odr_initmember(o, p, sizeof(**p)))
275 return odr_missing(o, opt, name);
276 if (odr_sequence_of(o, (Odr_fun) z_ElementInfo, &(*p)->elements,
277 &(*p)->num, name))
278 return 1;
279 if (o->direction == ODR_DECODE)
280 *p = 0;
281 return odr_missing(o, opt, name);
282}
283
284int z_ElementDataType(ODR o, Z_ElementDataType **p, int opt, const char *name)
285{
286 static Odr_arm arm[] = {
288 (Odr_fun) z_PrimitiveDataType, "primitive"},
290 (Odr_fun) z_ElementInfoList, "structured"},
291 {-1, -1, -1, -1, (Odr_fun) 0, 0}
292 };
293 if (!odr_initmember(o, p, sizeof(**p)))
294 return odr_missing(o, opt, name);
295 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
296 return 1;
297 if (o->direction == ODR_DECODE)
298 *p = 0;
299 return odr_missing(o, opt, name);
300}
301
303{
304 return odr_integer (o, p, opt, name);
305}
306
307int z_TagSetElements(ODR o, Z_TagSetElements **p, int opt, const char *name)
308{
309 if (!odr_sequence_begin(o, p, sizeof(**p), name))
310 return odr_missing(o, opt, name) && odr_ok (o);
311 return
313 &(*p)->elementname, ODR_CONTEXT, 1, 0, "elementname") &&
315 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->nicknames,
316 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
318 &(*p)->elementTag, ODR_CONTEXT, 3, 0, "elementTag") &&
320 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
322 &(*p)->dataType, ODR_CONTEXT, 5, 1, "dataType") &&
323 z_OtherInformation(o, &(*p)->otherTagInfo, 1, "otherTagInfo") &&
325}
326
327int z_TagSetInfo(ODR o, Z_TagSetInfo **p, int opt, const char *name)
328{
329 if (!odr_sequence_begin(o, p, sizeof(**p), name))
330 return odr_missing(o, opt, name) && odr_ok (o);
331 return
333 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
335 &(*p)->tagSet, ODR_CONTEXT, 1, 0, "tagSet") &&
337 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
339 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
341 (odr_sequence_of(o, (Odr_fun) z_TagSetElements, &(*p)->elements,
342 &(*p)->num_elements, "elements") || odr_ok(o)) &&
344}
345
346int z_RecordSyntaxInfo(ODR o, Z_RecordSyntaxInfo **p, int opt, const char *name)
347{
348 if (!odr_sequence_begin(o, p, sizeof(**p), name))
349 return odr_missing(o, opt, name) && odr_ok (o);
350 return
352 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
354 &(*p)->recordSyntax, ODR_CONTEXT, 1, 0, "recordSyntax") &&
356 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
358 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->transferSyntaxes,
359 &(*p)->num_transferSyntaxes, "transferSyntaxes") || odr_ok(o)) &&
361 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
363 &(*p)->asn1Module, ODR_CONTEXT, 5, 1, "asn1Module") &&
365 (odr_sequence_of(o, (Odr_fun) z_ElementInfo, &(*p)->abstractStructure,
366 &(*p)->num_abstractStructure, "abstractStructure") || odr_ok(o)) &&
368}
369
370int z_AttributeSetInfo(ODR o, Z_AttributeSetInfo **p, int opt, const char *name)
371{
372 if (!odr_sequence_begin(o, p, sizeof(**p), name))
373 return odr_missing(o, opt, name) && odr_ok (o);
374 return
376 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
378 &(*p)->attributeSet, ODR_CONTEXT, 1, 0, "attributeSet") &&
380 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
382 (odr_sequence_of(o, (Odr_fun) z_AttributeType, &(*p)->attributes,
383 &(*p)->num_attributes, "attributes") || odr_ok(o)) &&
385 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
387}
388
389int z_AttributeType(ODR o, Z_AttributeType **p, int opt, const char *name)
390{
391 if (!odr_sequence_begin(o, p, sizeof(**p), name))
392 return odr_missing(o, opt, name) && odr_ok (o);
393 return
395 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
397 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
399 &(*p)->attributeType, ODR_CONTEXT, 2, 0, "attributeType") &&
401 odr_sequence_of(o, (Odr_fun) z_AttributeDescription, &(*p)->attributeValues,
402 &(*p)->num_attributeValues, "attributeValues") &&
404}
405
407{
408 if (!odr_sequence_begin(o, p, sizeof(**p), name))
409 return odr_missing(o, opt, name) && odr_ok (o);
410 return
412 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
414 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
416 &(*p)->attributeValue, ODR_CONTEXT, 2, 0, "attributeValue") &&
418 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->equivalentAttributes,
419 &(*p)->num_equivalentAttributes, "equivalentAttributes") || odr_ok(o)) &&
421}
422
423int z_TermListElement(ODR o, Z_TermListElement **p, int opt, const char *name)
424{
425 if (!odr_sequence_begin(o, p, sizeof(**p), name))
426 return odr_missing(o, opt, name) && odr_ok (o);
427 return
429 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
431 &(*p)->title, ODR_CONTEXT, 2, 1, "title") &&
433 &(*p)->searchCost, ODR_CONTEXT, 3, 1, "searchCost") &&
435 &(*p)->scanable, ODR_CONTEXT, 4, 0, "scanable") &&
437 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->broader,
438 &(*p)->num_broader, "broader") || odr_ok(o)) &&
440 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->narrower,
441 &(*p)->num_narrower, "narrower") || odr_ok(o)) &&
443}
444
445int z_TermListInfo(ODR o, Z_TermListInfo **p, int opt, const char *name)
446{
447 if (!odr_sequence_begin(o, p, sizeof(**p), name))
448 return odr_missing(o, opt, name) && odr_ok (o);
449 return
451 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
453 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
455 odr_sequence_of(o, (Odr_fun) z_TermListElement, &(*p)->termLists,
456 &(*p)->num_termLists, "termLists") &&
458}
459
461{
462 if (!odr_sequence_begin(o, p, sizeof(**p), name))
463 return odr_missing(o, opt, name) && odr_ok (o);
464 return
466 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
468 &(*p)->type, ODR_CONTEXT, 1, 0, "type") &&
470 &(*p)->name, ODR_CONTEXT, 2, 1, "name") &&
472 &(*p)->privateType, ODR_CONTEXT, 3, 0, "privateType") &&
474 &(*p)->restrictionsApply, ODR_CONTEXT, 5, 0, "restrictionsApply") &&
476 &(*p)->feeApply, ODR_CONTEXT, 6, 0, "feeApply") &&
478 &(*p)->available, ODR_CONTEXT, 7, 0, "available") &&
480 &(*p)->retentionSupported, ODR_CONTEXT, 8, 0, "retentionSupported") &&
482 &(*p)->waitAction, ODR_CONTEXT, 9, 0, "waitAction") &&
484 &(*p)->description, ODR_CONTEXT, 10, 1, "description") &&
486 &(*p)->specificExplain, ODR_CONTEXT, 11, 1, "specificExplain") &&
488 &(*p)->esASN, ODR_CONTEXT, 12, 1, "esASN") &&
490}
491
492int z_AttributeDetails(ODR o, Z_AttributeDetails **p, int opt, const char *name)
493{
494 if (!odr_sequence_begin(o, p, sizeof(**p), name))
495 return odr_missing(o, opt, name) && odr_ok (o);
496 return
498 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
500 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
502 (odr_sequence_of(o, (Odr_fun) z_AttributeSetDetails, &(*p)->attributesBySet,
503 &(*p)->num_attributesBySet, "attributesBySet") || odr_ok(o)) &&
505 &(*p)->attributeCombinations, ODR_CONTEXT, 3, 1, "attributeCombinations") &&
507}
508
510{
511 if (!odr_sequence_begin(o, p, sizeof(**p), name))
512 return odr_missing(o, opt, name) && odr_ok (o);
513 return
515 &(*p)->attributeSet, ODR_CONTEXT, 0, 0, "attributeSet") &&
517 odr_sequence_of(o, (Odr_fun) z_AttributeTypeDetails, &(*p)->attributesByType,
518 &(*p)->num_attributesByType, "attributesByType") &&
520}
521
523{
524 if (!odr_sequence_begin(o, p, sizeof(**p), name))
525 return odr_missing(o, opt, name) && odr_ok (o);
526 return
528 &(*p)->attributeType, ODR_CONTEXT, 0, 0, "attributeType") &&
530 &(*p)->defaultIfOmitted, ODR_CONTEXT, 1, 1, "defaultIfOmitted") &&
532 (odr_sequence_of(o, (Odr_fun) z_AttributeValue, &(*p)->attributeValues,
533 &(*p)->num_attributeValues, "attributeValues") || odr_ok(o)) &&
535}
536
538{
539 if (!odr_sequence_begin(o, p, sizeof(**p), name))
540 return odr_missing(o, opt, name) && odr_ok (o);
541 return
543 &(*p)->defaultValue, ODR_CONTEXT, 0, 1, "defaultValue") &&
545 &(*p)->defaultDescription, ODR_CONTEXT, 1, 1, "defaultDescription") &&
547}
548
549int z_AttributeValue(ODR o, Z_AttributeValue **p, int opt, const char *name)
550{
551 if (!odr_sequence_begin(o, p, sizeof(**p), name))
552 return odr_missing(o, opt, name) && odr_ok (o);
553 return
555 &(*p)->value, ODR_CONTEXT, 0, 0, "value") &&
557 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
559 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->subAttributes,
560 &(*p)->num_subAttributes, "subAttributes") || odr_ok(o)) &&
562 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->superAttributes,
563 &(*p)->num_superAttributes, "superAttributes") || odr_ok(o)) &&
565 &(*p)->partialSupport, ODR_CONTEXT, 4, 1, "partialSupport") &&
567}
568
569int z_EScanInfo(ODR o, Z_EScanInfo **p, int opt, const char *name)
570{
571 if (!odr_sequence_begin(o, p, sizeof(**p), name))
572 return odr_missing(o, opt, name) && odr_ok (o);
573 return
575 &(*p)->maxStepSize, ODR_CONTEXT, 0, 1, "maxStepSize") &&
577 &(*p)->collatingSequence, ODR_CONTEXT, 1, 1, "collatingSequence") &&
579 &(*p)->increasing, ODR_CONTEXT, 2, 1, "increasing") &&
581}
582
583int z_TermListDetails(ODR o, Z_TermListDetails **p, int opt, const char *name)
584{
585 if (!odr_sequence_begin(o, p, sizeof(**p), name))
586 return odr_missing(o, opt, name) && odr_ok (o);
587 return
589 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
591 &(*p)->termListName, ODR_CONTEXT, 1, 0, "termListName") &&
593 &(*p)->description, ODR_CONTEXT, 2, 1, "description") &&
595 &(*p)->attributes, ODR_CONTEXT, 3, 1, "attributes") &&
597 &(*p)->scanInfo, ODR_CONTEXT, 4, 1, "scanInfo") &&
599 &(*p)->estNumberTerms, ODR_CONTEXT, 5, 1, "estNumberTerms") &&
601 (odr_sequence_of(o, (Odr_fun) z_Term, &(*p)->sampleTerms,
602 &(*p)->num_sampleTerms, "sampleTerms") || odr_ok(o)) &&
604}
605
607{
608 if (!odr_sequence_begin(o, p, sizeof(**p), name))
609 return odr_missing(o, opt, name) && odr_ok (o);
610 return
612 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
614 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
616 &(*p)->elementSetName, ODR_CONTEXT, 2, 0, "elementSetName") &&
618 &(*p)->recordSyntax, ODR_CONTEXT, 3, 0, "recordSyntax") &&
620 &(*p)->schema, ODR_CONTEXT, 4, 0, "schema") &&
622 &(*p)->description, ODR_CONTEXT, 5, 1, "description") &&
624 (odr_sequence_of(o, (Odr_fun) z_PerElementDetails, &(*p)->detailsPerElement,
625 &(*p)->num_detailsPerElement, "detailsPerElement") || odr_ok(o)) &&
627}
628
630{
631 if (!odr_sequence_begin(o, p, sizeof(**p), name))
632 return odr_missing(o, opt, name) && odr_ok (o);
633 return
635 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
637 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
639 &(*p)->schema, ODR_CONTEXT, 2, 0, "schema") &&
641 &(*p)->recordSyntax, ODR_CONTEXT, 3, 0, "recordSyntax") &&
643 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
645 (odr_sequence_of(o, (Odr_fun) z_PerElementDetails, &(*p)->detailsPerElement,
646 &(*p)->num_detailsPerElement, "detailsPerElement") || odr_ok(o)) &&
648}
649
651{
652 if (!odr_sequence_begin(o, p, sizeof(**p), name))
653 return odr_missing(o, opt, name) && odr_ok (o);
654 return
656 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
658 &(*p)->recordTag, ODR_CONTEXT, 1, 1, "recordTag") &&
660 (odr_sequence_of(o, (Odr_fun) z_Path, &(*p)->schemaTags,
661 &(*p)->num_schemaTags, "schemaTags") || odr_ok(o)) &&
663 &(*p)->maxSize, ODR_CONTEXT, 3, 1, "maxSize") &&
665 &(*p)->minSize, ODR_CONTEXT, 4, 1, "minSize") &&
667 &(*p)->avgSize, ODR_CONTEXT, 5, 1, "avgSize") &&
669 &(*p)->fixedSize, ODR_CONTEXT, 6, 1, "fixedSize") &&
671 &(*p)->repeatable, ODR_CONTEXT, 8, 0, "repeatable") &&
673 &(*p)->required, ODR_CONTEXT, 9, 0, "required") &&
675 &(*p)->description, ODR_CONTEXT, 12, 1, "description") &&
677 &(*p)->contents, ODR_CONTEXT, 13, 1, "contents") &&
679 &(*p)->billingInfo, ODR_CONTEXT, 14, 1, "billingInfo") &&
681 &(*p)->restrictions, ODR_CONTEXT, 15, 1, "restrictions") &&
683 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->alternateNames,
684 &(*p)->num_alternateNames, "alternateNames") || odr_ok(o)) &&
686 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->genericNames,
687 &(*p)->num_genericNames, "genericNames") || odr_ok(o)) &&
689 &(*p)->searchAccess, ODR_CONTEXT, 18, 1, "searchAccess") &&
691}
692
693int z_RecordTag(ODR o, Z_RecordTag **p, int opt, const char *name)
694{
695 if (!odr_sequence_begin(o, p, sizeof(**p), name))
696 return odr_missing(o, opt, name) && odr_ok (o);
697 return
699 &(*p)->qualifier, ODR_CONTEXT, 0, 1, "qualifier") &&
701 &(*p)->tagValue, ODR_CONTEXT, 1, 0, "tagValue") &&
703}
704
705int z_SortDetails(ODR o, Z_SortDetails **p, int opt, const char *name)
706{
707 if (!odr_sequence_begin(o, p, sizeof(**p), name))
708 return odr_missing(o, opt, name) && odr_ok (o);
709 return
711 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
713 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
715 (odr_sequence_of(o, (Odr_fun) z_SortKeyDetails, &(*p)->sortKeys,
716 &(*p)->num_sortKeys, "sortKeys") || odr_ok(o)) &&
718}
719
720int z_SortKeyDetails(ODR o, Z_SortKeyDetails **p, int opt, const char *name)
721{
722 static Odr_arm arm[] = {
724 (Odr_fun) odr_null, "character"},
726 (Odr_fun) odr_null, "numeric"},
728 (Odr_fun) z_HumanString, "structured"},
729 {-1, -1, -1, -1, (Odr_fun) 0, 0}
730 };
731 if (!odr_sequence_begin(o, p, sizeof(**p), name))
732 return odr_missing(o, opt, name) && odr_ok (o);
733 return
735 &(*p)->description, ODR_CONTEXT, 0, 1, "description") &&
737 (odr_sequence_of(o, (Odr_fun) z_Specification, &(*p)->elementSpecifications,
738 &(*p)->num_elementSpecifications, "elementSpecifications") || odr_ok(o)) &&
740 &(*p)->attributeSpecifications, ODR_CONTEXT, 2, 1, "attributeSpecifications") &&
741 ((odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 3, "sortType") &&
742 odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
743 odr_constructed_end(o)) || odr_ok(o)) &&
745 &(*p)->caseSensitivity, ODR_CONTEXT, 4, 1, "caseSensitivity") &&
747}
748
750{
751 if (!odr_sequence_begin(o, p, sizeof(**p), name))
752 return odr_missing(o, opt, name) && odr_ok (o);
753 return
755 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
757 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
759 &(*p)->processingContext, ODR_CONTEXT, 2, 0, "processingContext") &&
761 &(*p)->name, ODR_CONTEXT, 3, 0, "name") &&
763 &(*p)->oid, ODR_CONTEXT, 4, 0, "oid") &&
765 &(*p)->description, ODR_CONTEXT, 5, 1, "description") &&
767 &(*p)->instructions, ODR_CONTEXT, 6, 1, "instructions") &&
769}
770
771int z_VariantSetInfo(ODR o, Z_VariantSetInfo **p, int opt, const char *name)
772{
773 if (!odr_sequence_begin(o, p, sizeof(**p), name))
774 return odr_missing(o, opt, name) && odr_ok (o);
775 return
777 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
779 &(*p)->variantSet, ODR_CONTEXT, 1, 0, "variantSet") &&
781 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
783 (odr_sequence_of(o, (Odr_fun) z_VariantClass, &(*p)->variants,
784 &(*p)->num_variants, "variants") || odr_ok(o)) &&
786}
787
788int z_VariantClass(ODR o, Z_VariantClass **p, int opt, const char *name)
789{
790 if (!odr_sequence_begin(o, p, sizeof(**p), name))
791 return odr_missing(o, opt, name) && odr_ok (o);
792 return
794 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
796 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
798 &(*p)->variantClass, ODR_CONTEXT, 2, 0, "variantClass") &&
800 odr_sequence_of(o, (Odr_fun) z_VariantType, &(*p)->variantTypes,
801 &(*p)->num_variantTypes, "variantTypes") &&
803}
804
805int z_VariantType(ODR o, Z_VariantType **p, int opt, const char *name)
806{
807 if (!odr_sequence_begin(o, p, sizeof(**p), name))
808 return odr_missing(o, opt, name) && odr_ok (o);
809 return
811 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
813 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
815 &(*p)->variantType, ODR_CONTEXT, 2, 0, "variantType") &&
817 &(*p)->variantValue, ODR_CONTEXT, 3, 1, "variantValue") &&
819}
820
821int z_VariantValue(ODR o, Z_VariantValue **p, int opt, const char *name)
822{
823 if (!odr_sequence_begin(o, p, sizeof(**p), name))
824 return odr_missing(o, opt, name) && odr_ok (o);
825 return
827 &(*p)->dataType, ODR_CONTEXT, 0, 0, "dataType") &&
829 &(*p)->values, ODR_CONTEXT, 1, 1, "values") &&
831}
832
834{
835 if (!odr_initmember(o, p, sizeof(**p)))
836 return odr_missing(o, opt, name);
837 if (odr_sequence_of(o, (Odr_fun) z_ValueDescription, &(*p)->elements,
838 &(*p)->num, name))
839 return 1;
840 if (o->direction == ODR_DECODE)
841 *p = 0;
842 return odr_missing(o, opt, name);
843}
844
845int z_ValueSet(ODR o, Z_ValueSet **p, int opt, const char *name)
846{
847 static Odr_arm arm[] = {
849 (Odr_fun) z_ValueRange, "range"},
851 (Odr_fun) z_ValueSetEnumerated, "enumerated"},
852 {-1, -1, -1, -1, (Odr_fun) 0, 0}
853 };
854 if (!odr_initmember(o, p, sizeof(**p)))
855 return odr_missing(o, opt, name);
856 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
857 return 1;
858 if (o->direction == ODR_DECODE)
859 *p = 0;
860 return odr_missing(o, opt, name);
861}
862
863int z_ValueRange(ODR o, Z_ValueRange **p, int opt, const char *name)
864{
865 if (!odr_sequence_begin(o, p, sizeof(**p), name))
866 return odr_missing(o, opt, name) && odr_ok (o);
867 return
869 &(*p)->lower, ODR_CONTEXT, 0, 1, "lower") &&
871 &(*p)->upper, ODR_CONTEXT, 1, 1, "upper") &&
873}
874
875int z_ValueDescription(ODR o, Z_ValueDescription **p, int opt, const char *name)
876{
877 static Odr_arm arm[] = {
878 {-1, -1, -1, Z_ValueDescription_integer,
879 (Odr_fun) odr_integer, "integer"},
880 {-1, -1, -1, Z_ValueDescription_string,
881 (Odr_fun) z_InternationalString, "string"},
882 {-1, -1, -1, Z_ValueDescription_octets,
883 (Odr_fun) odr_octetstring, "octets"},
884 {-1, -1, -1, Z_ValueDescription_oid,
885 (Odr_fun) odr_oid, "oid"},
887 (Odr_fun) z_Unit, "unit"},
889 (Odr_fun) z_IntUnit, "valueAndUnit"},
890 {-1, -1, -1, -1, (Odr_fun) 0, 0}
891 };
892 if (!odr_initmember(o, p, sizeof(**p)))
893 return odr_missing(o, opt, name);
894 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
895 return 1;
896 if (o->direction == ODR_DECODE)
897 *p = 0;
898 return odr_missing(o, opt, name);
899}
900
901int z_UnitInfo(ODR o, Z_UnitInfo **p, int opt, const char *name)
902{
903 if (!odr_sequence_begin(o, p, sizeof(**p), name))
904 return odr_missing(o, opt, name) && odr_ok (o);
905 return
907 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
909 &(*p)->unitSystem, ODR_CONTEXT, 1, 0, "unitSystem") &&
911 &(*p)->description, ODR_CONTEXT, 2, 1, "description") &&
913 (odr_sequence_of(o, (Odr_fun) z_UnitType, &(*p)->units,
914 &(*p)->num_units, "units") || odr_ok(o)) &&
916}
917
918int z_UnitType(ODR o, Z_UnitType **p, int opt, const char *name)
919{
920 if (!odr_sequence_begin(o, p, sizeof(**p), name))
921 return odr_missing(o, opt, name) && odr_ok (o);
922 return
924 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
926 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
928 &(*p)->unitType, ODR_CONTEXT, 2, 0, "unitType") &&
930 odr_sequence_of(o, (Odr_fun) z_Units, &(*p)->units,
931 &(*p)->num_units, "units") &&
933}
934
935int z_Units(ODR o, Z_Units **p, int opt, const char *name)
936{
937 if (!odr_sequence_begin(o, p, sizeof(**p), name))
938 return odr_missing(o, opt, name) && odr_ok (o);
939 return
941 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
943 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
945 &(*p)->unit, ODR_CONTEXT, 2, 0, "unit") &&
947}
948
949int z_CategoryList(ODR o, Z_CategoryList **p, int opt, const char *name)
950{
951 if (!odr_sequence_begin(o, p, sizeof(**p), name))
952 return odr_missing(o, opt, name) && odr_ok (o);
953 return
955 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
957 odr_sequence_of(o, (Odr_fun) z_CategoryInfo, &(*p)->categories,
958 &(*p)->num_categories, "categories") &&
960}
961
962int z_CategoryInfo(ODR o, Z_CategoryInfo **p, int opt, const char *name)
963{
964 if (!odr_sequence_begin(o, p, sizeof(**p), name))
965 return odr_missing(o, opt, name) && odr_ok (o);
966 return
968 &(*p)->category, ODR_CONTEXT, 1, 0, "category") &&
970 &(*p)->originalCategory, ODR_CONTEXT, 2, 1, "originalCategory") &&
972 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
974 &(*p)->asn1Module, ODR_CONTEXT, 4, 1, "asn1Module") &&
976}
977
978int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt, const char *name)
979{
980 if (!odr_sequence_begin(o, p, sizeof(**p), name))
981 return odr_missing(o, opt, name) && odr_ok (o);
982 return
984 &(*p)->dateAdded, ODR_CONTEXT, 0, 1, "dateAdded") &&
986 &(*p)->dateChanged, ODR_CONTEXT, 1, 1, "dateChanged") &&
988 &(*p)->expiry, ODR_CONTEXT, 2, 1, "expiry") &&
990 &(*p)->humanStringLanguage, ODR_CONTEXT, 3, 1, "humanStringLanguage") &&
991 z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
993}
994
995int z_HumanStringUnit(ODR o, Z_HumanStringUnit **p, int opt, const char *name)
996{
997 if (!odr_sequence_begin(o, p, sizeof(**p), name))
998 return odr_missing(o, opt, name) && odr_ok (o);
999 return
1001 &(*p)->language, ODR_CONTEXT, 0, 1, "language") &&
1003 &(*p)->text, ODR_CONTEXT, 1, 0, "text") &&
1005}
1006
1007int z_HumanString(ODR o, Z_HumanString **p, int opt, const char *name)
1008{
1009 if (!odr_initmember(o, p, sizeof(**p)))
1010 return odr_missing(o, opt, name);
1011 if (odr_sequence_of(o, (Odr_fun) z_HumanStringUnit, &(*p)->strings,
1012 &(*p)->num_strings, name))
1013 return 1;
1014 if (o->direction == ODR_DECODE)
1015 *p = 0;
1016 return odr_missing(o, opt, name);
1017}
1018
1019int z_IconObjectUnit(ODR o, Z_IconObjectUnit **p, int opt, const char *name)
1020{
1021 static Odr_arm arm[] = {
1023 (Odr_fun) z_InternationalString, "ianaType"},
1025 (Odr_fun) z_InternationalString, "z3950type"},
1027 (Odr_fun) z_InternationalString, "otherType"},
1028 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1029 };
1030 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1031 return odr_missing(o, opt, name) && odr_ok (o);
1032 return
1033 odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "bodyType") &&
1034 odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
1037 &(*p)->content, ODR_CONTEXT, 2, 0, "content") &&
1039}
1040
1041int z_IconObject(ODR o, Z_IconObject **p, int opt, const char *name)
1042{
1043 if (!odr_initmember(o, p, sizeof(**p)))
1044 return odr_missing(o, opt, name);
1045 if (odr_sequence_of(o, (Odr_fun) z_IconObjectUnit, &(*p)->elements,
1046 &(*p)->num, name))
1047 return 1;
1048 if (o->direction == ODR_DECODE)
1049 *p = 0;
1050 return odr_missing(o, opt, name);
1051}
1052
1053int z_LanguageCode(ODR o, Z_LanguageCode **p, int opt, const char *name)
1054{
1055 return z_InternationalString (o, p, opt, name);
1056}
1057
1058int z_ContactInfo(ODR o, Z_ContactInfo **p, int opt, const char *name)
1059{
1060 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1061 return odr_missing(o, opt, name) && odr_ok (o);
1062 return
1064 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
1066 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1068 &(*p)->address, ODR_CONTEXT, 2, 1, "address") &&
1070 &(*p)->email, ODR_CONTEXT, 3, 1, "email") &&
1072 &(*p)->phone, ODR_CONTEXT, 4, 1, "phone") &&
1074}
1075
1076int z_NetworkAddressIA(ODR o, Z_NetworkAddressIA **p, int opt, const char *name)
1077{
1078 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1079 return odr_missing(o, opt, name) && odr_ok (o);
1080 return
1082 &(*p)->hostAddress, ODR_CONTEXT, 0, 0, "hostAddress") &&
1084 &(*p)->port, ODR_CONTEXT, 1, 0, "port") &&
1086}
1087
1089{
1090 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1091 return odr_missing(o, opt, name) && odr_ok (o);
1092 return
1094 &(*p)->pSel, ODR_CONTEXT, 0, 0, "pSel") &&
1096 &(*p)->sSel, ODR_CONTEXT, 1, 1, "sSel") &&
1098 &(*p)->tSel, ODR_CONTEXT, 2, 1, "tSel") &&
1100 &(*p)->nSap, ODR_CONTEXT, 3, 0, "nSap") &&
1102}
1103
1105{
1106 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1107 return odr_missing(o, opt, name) && odr_ok (o);
1108 return
1110 &(*p)->type, ODR_CONTEXT, 0, 0, "type") &&
1112 &(*p)->address, ODR_CONTEXT, 1, 0, "address") &&
1114}
1115
1116int z_NetworkAddress(ODR o, Z_NetworkAddress **p, int opt, const char *name)
1117{
1118 static Odr_arm arm[] = {
1120 (Odr_fun) z_NetworkAddressIA, "internetAddress"},
1122 (Odr_fun) z_NetworkAddressOPA, "osiPresentationAddress"},
1124 (Odr_fun) z_NetworkAddressOther, "other"},
1125 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1126 };
1127 if (!odr_initmember(o, p, sizeof(**p)))
1128 return odr_missing(o, opt, name);
1129 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1130 return 1;
1131 if (o->direction == ODR_DECODE)
1132 *p = 0;
1133 return odr_missing(o, opt, name);
1134}
1135
1136int z_AccessInfo(ODR o, Z_AccessInfo **p, int opt, const char *name)
1137{
1138 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1139 return odr_missing(o, opt, name) && odr_ok (o);
1140 return
1142 (odr_sequence_of(o, (Odr_fun) z_QueryTypeDetails, &(*p)->queryTypesSupported,
1143 &(*p)->num_queryTypesSupported, "queryTypesSupported") || odr_ok(o)) &&
1145 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->diagnosticsSets,
1146 &(*p)->num_diagnosticsSets, "diagnosticsSets") || odr_ok(o)) &&
1148 (odr_sequence_of(o, (Odr_fun) z_AttributeSetId, &(*p)->attributeSetIds,
1149 &(*p)->num_attributeSetIds, "attributeSetIds") || odr_ok(o)) &&
1151 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->schemas,
1152 &(*p)->num_schemas, "schemas") || odr_ok(o)) &&
1154 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->recordSyntaxes,
1155 &(*p)->num_recordSyntaxes, "recordSyntaxes") || odr_ok(o)) &&
1157 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->resourceChallenges,
1158 &(*p)->num_resourceChallenges, "resourceChallenges") || odr_ok(o)) &&
1160 &(*p)->restrictedAccess, ODR_CONTEXT, 6, 1, "restrictedAccess") &&
1162 &(*p)->costInfo, ODR_CONTEXT, 8, 1, "costInfo") &&
1164 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->variantSets,
1165 &(*p)->num_variantSets, "variantSets") || odr_ok(o)) &&
1167 (odr_sequence_of(o, (Odr_fun) z_ElementSetName, &(*p)->elementSetNames,
1168 &(*p)->num_elementSetNames, "elementSetNames") || odr_ok(o)) &&
1170 odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->unitSystems,
1171 &(*p)->num_unitSystems, "unitSystems") &&
1173}
1174
1175int z_QueryTypeDetails(ODR o, Z_QueryTypeDetails **p, int opt, const char *name)
1176{
1177 static Odr_arm arm[] = {
1179 (Odr_fun) z_PrivateCapabilities, "zprivate"},
1181 (Odr_fun) z_RpnCapabilities, "rpn"},
1183 (Odr_fun) z_Iso8777Capabilities, "iso8777"},
1185 (Odr_fun) z_HumanString, "z39_58"},
1187 (Odr_fun) z_RpnCapabilities, "erpn"},
1189 (Odr_fun) z_HumanString, "rankedList"},
1190 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1191 };
1192 if (!odr_initmember(o, p, sizeof(**p)))
1193 return odr_missing(o, opt, name);
1194 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1195 return 1;
1196 if (o->direction == ODR_DECODE)
1197 *p = 0;
1198 return odr_missing(o, opt, name);
1199}
1200
1202{
1203 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1204 return odr_missing(o, opt, name) && odr_ok (o);
1205 return
1207 &(*p)->roperator, ODR_CONTEXT, 0, 0, "roperator") &&
1209 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1211}
1212
1214{
1215 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1216 return odr_missing(o, opt, name) && odr_ok (o);
1217 return
1219 (odr_sequence_of(o, (Odr_fun) z_PrivateCapOperator, &(*p)->operators,
1220 &(*p)->num_operators, "operators") || odr_ok(o)) &&
1222 (odr_sequence_of(o, (Odr_fun) z_SearchKey, &(*p)->searchKeys,
1223 &(*p)->num_searchKeys, "searchKeys") || odr_ok(o)) &&
1225 (odr_sequence_of(o, (Odr_fun) z_HumanString, &(*p)->description,
1226 &(*p)->num_description, "description") || odr_ok(o)) &&
1228}
1229
1230int z_RpnCapabilities(ODR o, Z_RpnCapabilities **p, int opt, const char *name)
1231{
1232 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1233 return odr_missing(o, opt, name) && odr_ok (o);
1234 return
1236 (odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->operators,
1237 &(*p)->num_operators, "operators") || odr_ok(o)) &&
1239 &(*p)->resultSetAsOperandSupported, ODR_CONTEXT, 1, 0, "resultSetAsOperandSupported") &&
1241 &(*p)->restrictionOperandSupported, ODR_CONTEXT, 2, 0, "restrictionOperandSupported") &&
1243 &(*p)->proximity, ODR_CONTEXT, 3, 1, "proximity") &&
1245}
1246
1248{
1249 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1250 return odr_missing(o, opt, name) && odr_ok (o);
1251 return
1253 odr_sequence_of(o, (Odr_fun) z_SearchKey, &(*p)->searchKeys,
1254 &(*p)->num_searchKeys, "searchKeys") &&
1256 &(*p)->restrictions, ODR_CONTEXT, 1, 1, "restrictions") &&
1258}
1259
1261{
1262 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1263 return odr_missing(o, opt, name) && odr_ok (o);
1264 return
1266 &(*p)->unit, ODR_CONTEXT, 0, 0, "unit") &&
1268 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1270}
1271
1272int z_ProxSupportUnit(ODR o, Z_ProxSupportUnit **p, int opt, const char *name)
1273{
1274 static Odr_arm arm[] = {
1276 (Odr_fun) odr_integer, "known"},
1278 (Odr_fun) z_ProxSupportPrivate, "zprivate"},
1279 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1280 };
1281 if (!odr_initmember(o, p, sizeof(**p)))
1282 return odr_missing(o, opt, name);
1283 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1284 return 1;
1285 if (o->direction == ODR_DECODE)
1286 *p = 0;
1287 return odr_missing(o, opt, name);
1288}
1289
1290int z_ProximitySupport(ODR o, Z_ProximitySupport **p, int opt, const char *name)
1291{
1292 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1293 return odr_missing(o, opt, name) && odr_ok (o);
1294 return
1296 &(*p)->anySupport, ODR_CONTEXT, 0, 0, "anySupport") &&
1298 (odr_sequence_of(o, (Odr_fun) z_ProxSupportUnit, &(*p)->unitsSupported,
1299 &(*p)->num_unitsSupported, "unitsSupported") || odr_ok(o)) &&
1301}
1302
1303int z_SearchKey(ODR o, Z_SearchKey **p, int opt, const char *name)
1304{
1305 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1306 return odr_missing(o, opt, name) && odr_ok (o);
1307 return
1309 &(*p)->searchKey, ODR_CONTEXT, 0, 0, "searchKey") &&
1311 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1313}
1314
1316{
1317 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1318 return odr_missing(o, opt, name) && odr_ok (o);
1319 return
1321 &(*p)->accessType, ODR_CONTEXT, 0, 0, "accessType") &&
1323 &(*p)->accessText, ODR_CONTEXT, 1, 1, "accessText") &&
1325 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->accessChallenges,
1326 &(*p)->num_accessChallenges, "accessChallenges") || odr_ok(o)) &&
1328}
1329
1331{
1332 if (!odr_initmember(o, p, sizeof(**p)))
1333 return odr_missing(o, opt, name);
1334 if (odr_sequence_of(o, (Odr_fun) z_AccessRestrictionsUnit, &(*p)->elements,
1335 &(*p)->num, name))
1336 return 1;
1337 if (o->direction == ODR_DECODE)
1338 *p = 0;
1339 return odr_missing(o, opt, name);
1340}
1341
1342int z_CostsOtherCharge(ODR o, Z_CostsOtherCharge **p, int opt, const char *name)
1343{
1344 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1345 return odr_missing(o, opt, name) && odr_ok (o);
1346 return
1348 &(*p)->forWhat, ODR_CONTEXT, 1, 0, "forWhat") &&
1350 &(*p)->charge, ODR_CONTEXT, 2, 0, "charge") &&
1352}
1353
1354int z_Costs(ODR o, Z_Costs **p, int opt, const char *name)
1355{
1356 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1357 return odr_missing(o, opt, name) && odr_ok (o);
1358 return
1360 &(*p)->connectCharge, ODR_CONTEXT, 0, 1, "connectCharge") &&
1362 &(*p)->connectTime, ODR_CONTEXT, 1, 1, "connectTime") &&
1364 &(*p)->displayCharge, ODR_CONTEXT, 2, 1, "displayCharge") &&
1366 &(*p)->searchCharge, ODR_CONTEXT, 3, 1, "searchCharge") &&
1368 &(*p)->subscriptCharge, ODR_CONTEXT, 4, 1, "subscriptCharge") &&
1370 (odr_sequence_of(o, (Odr_fun) z_CostsOtherCharge, &(*p)->otherCharges,
1371 &(*p)->num_otherCharges, "otherCharges") || odr_ok(o)) &&
1373}
1374
1375int z_Charge(ODR o, Z_Charge **p, int opt, const char *name)
1376{
1377 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1378 return odr_missing(o, opt, name) && odr_ok (o);
1379 return
1381 &(*p)->cost, ODR_CONTEXT, 1, 0, "cost") &&
1383 &(*p)->perWhat, ODR_CONTEXT, 2, 1, "perWhat") &&
1385 &(*p)->text, ODR_CONTEXT, 3, 1, "text") &&
1387}
1388
1389int z_DatabaseList(ODR o, Z_DatabaseList **p, int opt, const char *name)
1390{
1391 if (!odr_initmember(o, p, sizeof(**p)))
1392 return odr_missing(o, opt, name);
1393 if (odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->databases,
1394 &(*p)->num_databases, name))
1395 return 1;
1396 if (o->direction == ODR_DECODE)
1397 *p = 0;
1398 return odr_missing(o, opt, name);
1399}
1400
1402{
1403 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1404 return odr_missing(o, opt, name) && odr_ok (o);
1405 return
1407 &(*p)->defaultAttributeSet, ODR_CONTEXT, 0, 0, "defaultAttributeSet") &&
1409 odr_sequence_of(o, (Odr_fun) z_AttributeCombination, &(*p)->legalCombinations,
1410 &(*p)->num_legalCombinations, "legalCombinations") &&
1412}
1413
1415{
1416 if (!odr_initmember(o, p, sizeof(**p)))
1417 return odr_missing(o, opt, name);
1418 if (odr_sequence_of(o, (Odr_fun) z_AttributeOccurrence, &(*p)->occurrences,
1419 &(*p)->num_occurrences, name))
1420 return 1;
1421 if (o->direction == ODR_DECODE)
1422 *p = 0;
1423 return odr_missing(o, opt, name);
1424}
1425
1427{
1428 if (!odr_initmember(o, p, sizeof(**p)))
1429 return odr_missing(o, opt, name);
1430 if (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->attributes,
1431 &(*p)->num_attributes, name))
1432 return 1;
1433 if (o->direction == ODR_DECODE)
1434 *p = 0;
1435 return odr_missing(o, opt, name);
1436}
1437
1439{
1440 static Odr_arm arm[] = {
1442 (Odr_fun) odr_null, "any_or_none"},
1444 (Odr_fun) z_AttributeValueList, "specific"},
1445 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1446 };
1447 if (!odr_sequence_begin(o, p, sizeof(**p), name))
1448 return odr_missing(o, opt, name) && odr_ok (o);
1449 return
1451 &(*p)->attributeSet, ODR_CONTEXT, 0, 1, "attributeSet") &&
1453 &(*p)->attributeType, ODR_CONTEXT, 1, 0, "attributeType") &&
1455 &(*p)->mustBeSupplied, ODR_CONTEXT, 2, 1, "mustBeSupplied") &&
1456 odr_choice(o, arm, &(*p)->attributeValues, &(*p)->which, 0) &&
1458}
int opt
Definition initopt.c:19
char * name
Definition initopt.c:18
#define ODR_DECODE
Definition odr.h:95
#define odr_ok(o)
Definition odr.h:215
#define odr_explicit_tag(o, t, p, cl, tg, opt, name)
Definition odr.h:195
#define ODR_IMPLICIT
Definition odr.h:59
#define ODR_CONTEXT
Definition odr.h:67
int(* Odr_fun)(ODR, char **, int, const char *)
Definition odr.h:135
#define odr_implicit_tag(o, t, p, cl, tg, opt, name)
Definition odr.h:192
int odr_bool(ODR o, Odr_bool **p, int opt, const char *name)
Definition odr_bool.c:21
int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp, const char *name)
Definition odr_choice.c:17
int odr_constructed_end(ODR o)
Definition odr_cons.c:148
int odr_constructed_begin(ODR o, void *xxp, int zclass, int tag, const char *name)
Definition odr_cons.c:24
int odr_integer(ODR o, Odr_int **p, int opt, const char *name)
Definition odr_int.c:19
int odr_null(ODR o, Odr_null **p, int opt, const char *name)
Definition odr_null.c:19
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
Definition odr_oct.c:19
int odr_oid(ODR o, Odr_oid **p, int opt, const char *name)
Definition odr_oid.c:20
int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num, const char *name)
Definition odr_seq.c:134
int odr_sequence_end(ODR o)
Definition odr_seq.c:61
int odr_sequence_begin(ODR o, void *p, int size, const char *name)
Definition odr_seq.c:15
int odr_initmember(ODR o, void *p, int size)
Definition odr_tag.c:44
int odr_implicit_settag(ODR o, int zclass, int tag)
Definition odr_tag.c:32
int odr_generalizedtime(ODR o, char **p, int opt, const char *name)
Definition odr_use.c:63
int odr_missing(ODR o, int opt, const char *name)
Definition odr_util.c:82
int z_External(ODR o, Z_External **p, int opt, const char *name)
codec for BER EXTERNAL
Definition prt-ext.c:95
Definition odr.h:138
int which
Definition odr.h:142
Definition odr.h:125
int direction
Definition odr.h:126
int z_InternationalString(ODR o, Z_InternationalString **p, int opt, const char *name)
Definition z-core.c:1598
int z_Term(ODR o, Z_Term **p, int opt, const char *name)
Definition z-core.c:329
int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name)
Definition z-core.c:1570
int z_AttributeSetId(ODR o, Z_AttributeSetId **p, int opt, const char *name)
Definition z-core.c:1518
int z_Unit(ODR o, Z_Unit **p, int opt, const char *name)
Definition z-core.c:1582
int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, const char *name)
Definition z-core.c:1603
int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, const char *name)
Definition z-core.c:1545
int z_Specification(ODR o, Z_Specification **p, int opt, const char *name)
Definition z-core.c:778
int z_ElementSetName(ODR o, Z_ElementSetName **p, int opt, const char *name)
Definition z-core.c:1508
int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, const char *name)
Definition z-core.c:1513
int z_TagSetElements(ODR o, Z_TagSetElements **p, int opt, const char *name)
Definition z-exp.c:307
int z_QueryTypeDetails(ODR o, Z_QueryTypeDetails **p, int opt, const char *name)
Definition z-exp.c:1175
int z_VariantType(ODR o, Z_VariantType **p, int opt, const char *name)
Definition z-exp.c:805
int z_HumanString(ODR o, Z_HumanString **p, int opt, const char *name)
Definition z-exp.c:1007
int z_ElementDataType(ODR o, Z_ElementDataType **p, int opt, const char *name)
Definition z-exp.c:284
int z_PrivateCapabilities(ODR o, Z_PrivateCapabilities **p, int opt, const char *name)
Definition z-exp.c:1213
int z_RecordTag(ODR o, Z_RecordTag **p, int opt, const char *name)
Definition z-exp.c:693
int z_TermListDetails(ODR o, Z_TermListDetails **p, int opt, const char *name)
Definition z-exp.c:583
int z_Iso8777Capabilities(ODR o, Z_Iso8777Capabilities **p, int opt, const char *name)
Definition z-exp.c:1247
int z_PerElementDetails(ODR o, Z_PerElementDetails **p, int opt, const char *name)
Definition z-exp.c:650
int z_AttributeSetInfo(ODR o, Z_AttributeSetInfo **p, int opt, const char *name)
Definition z-exp.c:370
int z_HumanStringUnit(ODR o, Z_HumanStringUnit **p, int opt, const char *name)
Definition z-exp.c:995
int z_ElementInfo(ODR o, Z_ElementInfo **p, int opt, const char *name)
Definition z-exp.c:228
int z_VariantSetInfo(ODR o, Z_VariantSetInfo **p, int opt, const char *name)
Definition z-exp.c:771
int z_ProcessingInformation(ODR o, Z_ProcessingInformation **p, int opt, const char *name)
Definition z-exp.c:749
int z_IconObject(ODR o, Z_IconObject **p, int opt, const char *name)
Definition z-exp.c:1041
int z_Costs(ODR o, Z_Costs **p, int opt, const char *name)
Definition z-exp.c:1354
int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt, const char *name)
Definition z-exp.c:978
int z_TermListInfo(ODR o, Z_TermListInfo **p, int opt, const char *name)
Definition z-exp.c:445
int z_ValueDescription(ODR o, Z_ValueDescription **p, int opt, const char *name)
Definition z-exp.c:875
int z_VariantClass(ODR o, Z_VariantClass **p, int opt, const char *name)
Definition z-exp.c:788
int z_NetworkAddressIA(ODR o, Z_NetworkAddressIA **p, int opt, const char *name)
Definition z-exp.c:1076
int z_SearchKey(ODR o, Z_SearchKey **p, int opt, const char *name)
Definition z-exp.c:1303
int z_ValueSet(ODR o, Z_ValueSet **p, int opt, const char *name)
Definition z-exp.c:845
int z_DatabaseList(ODR o, Z_DatabaseList **p, int opt, const char *name)
Definition z-exp.c:1389
int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt, const char *name)
Definition z-exp.c:12
int z_Units(ODR o, Z_Units **p, int opt, const char *name)
Definition z-exp.c:935
int z_ProxSupportUnit(ODR o, Z_ProxSupportUnit **p, int opt, const char *name)
Definition z-exp.c:1272
int z_RetrievalRecordDetails(ODR o, Z_RetrievalRecordDetails **p, int opt, const char *name)
Definition z-exp.c:629
int z_NetworkAddressOther(ODR o, Z_NetworkAddressOther **p, int opt, const char *name)
Definition z-exp.c:1104
int z_TagSetInfo(ODR o, Z_TagSetInfo **p, int opt, const char *name)
Definition z-exp.c:327
int z_ProxSupportPrivate(ODR o, Z_ProxSupportPrivate **p, int opt, const char *name)
Definition z-exp.c:1260
int z_AttributeCombinations(ODR o, Z_AttributeCombinations **p, int opt, const char *name)
Definition z-exp.c:1401
int z_AttributeType(ODR o, Z_AttributeType **p, int opt, const char *name)
Definition z-exp.c:389
int z_AttributeDetails(ODR o, Z_AttributeDetails **p, int opt, const char *name)
Definition z-exp.c:492
int z_PrivateCapOperator(ODR o, Z_PrivateCapOperator **p, int opt, const char *name)
Definition z-exp.c:1201
int z_NetworkAddress(ODR o, Z_NetworkAddress **p, int opt, const char *name)
Definition z-exp.c:1116
int z_AttributeOccurrence(ODR o, Z_AttributeOccurrence **p, int opt, const char *name)
Definition z-exp.c:1438
int z_AttributeCombination(ODR o, Z_AttributeCombination **p, int opt, const char *name)
Definition z-exp.c:1414
int z_Charge(ODR o, Z_Charge **p, int opt, const char *name)
Definition z-exp.c:1375
int z_CategoryList(ODR o, Z_CategoryList **p, int opt, const char *name)
Definition z-exp.c:949
int z_TermListElement(ODR o, Z_TermListElement **p, int opt, const char *name)
Definition z-exp.c:423
int z_AttributeSetDetails(ODR o, Z_AttributeSetDetails **p, int opt, const char *name)
Definition z-exp.c:509
int z_ElementInfoList(ODR o, Z_ElementInfoList **p, int opt, const char *name)
Definition z-exp.c:272
int z_ContactInfo(ODR o, Z_ContactInfo **p, int opt, const char *name)
Definition z-exp.c:1058
int z_SchemaInfo(ODR o, Z_SchemaInfo **p, int opt, const char *name)
Definition z-exp.c:206
int z_OmittedAttributeInterpretation(ODR o, Z_OmittedAttributeInterpretation **p, int opt, const char *name)
Definition z-exp.c:537
int z_UnitInfo(ODR o, Z_UnitInfo **p, int opt, const char *name)
Definition z-exp.c:901
int z_RpnCapabilities(ODR o, Z_RpnCapabilities **p, int opt, const char *name)
Definition z-exp.c:1230
int z_AttributeValueList(ODR o, Z_AttributeValueList **p, int opt, const char *name)
Definition z-exp.c:1426
int z_SortKeyDetails(ODR o, Z_SortKeyDetails **p, int opt, const char *name)
Definition z-exp.c:720
int z_RecordSyntaxInfo(ODR o, Z_RecordSyntaxInfo **p, int opt, const char *name)
Definition z-exp.c:346
int z_ElementSetDetails(ODR o, Z_ElementSetDetails **p, int opt, const char *name)
Definition z-exp.c:606
int z_AccessRestrictionsUnit(ODR o, Z_AccessRestrictionsUnit **p, int opt, const char *name)
Definition z-exp.c:1315
int z_TagTypeMapping(ODR o, Z_TagTypeMapping **p, int opt, const char *name)
Definition z-exp.c:192
int z_AttributeTypeDetails(ODR o, Z_AttributeTypeDetails **p, int opt, const char *name)
Definition z-exp.c:522
int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt, const char *name)
Definition z-exp.c:114
int z_VariantValue(ODR o, Z_VariantValue **p, int opt, const char *name)
Definition z-exp.c:821
int z_IconObjectUnit(ODR o, Z_IconObjectUnit **p, int opt, const char *name)
Definition z-exp.c:1019
int z_PrimitiveDataType(ODR o, Z_PrimitiveDataType **p, int opt, const char *name)
Definition z-exp.c:302
int z_EScanInfo(ODR o, Z_EScanInfo **p, int opt, const char *name)
Definition z-exp.c:569
int z_TargetInfo(ODR o, Z_TargetInfo **p, int opt, const char *name)
Definition z-exp.c:60
int z_ExtendedServicesInfo(ODR o, Z_ExtendedServicesInfo **p, int opt, const char *name)
Definition z-exp.c:460
int z_PathUnit(ODR o, Z_PathUnit **p, int opt, const char *name)
Definition z-exp.c:248
int z_CostsOtherCharge(ODR o, Z_CostsOtherCharge **p, int opt, const char *name)
Definition z-exp.c:1342
int z_ValueRange(ODR o, Z_ValueRange **p, int opt, const char *name)
Definition z-exp.c:863
int z_AccessRestrictions(ODR o, Z_AccessRestrictions **p, int opt, const char *name)
Definition z-exp.c:1330
int z_SortDetails(ODR o, Z_SortDetails **p, int opt, const char *name)
Definition z-exp.c:705
int z_CategoryInfo(ODR o, Z_CategoryInfo **p, int opt, const char *name)
Definition z-exp.c:962
int z_LanguageCode(ODR o, Z_LanguageCode **p, int opt, const char *name)
Definition z-exp.c:1053
int z_Path(ODR o, Z_Path **p, int opt, const char *name)
Definition z-exp.c:260
int z_AttributeDescription(ODR o, Z_AttributeDescription **p, int opt, const char *name)
Definition z-exp.c:406
int z_UnitType(ODR o, Z_UnitType **p, int opt, const char *name)
Definition z-exp.c:918
int z_ProximitySupport(ODR o, Z_ProximitySupport **p, int opt, const char *name)
Definition z-exp.c:1290
int z_NetworkAddressOPA(ODR o, Z_NetworkAddressOPA **p, int opt, const char *name)
Definition z-exp.c:1088
int z_AttributeValue(ODR o, Z_AttributeValue **p, int opt, const char *name)
Definition z-exp.c:549
int z_ValueSetEnumerated(ODR o, Z_ValueSetEnumerated **p, int opt, const char *name)
Definition z-exp.c:833
int z_AccessInfo(ODR o, Z_AccessInfo **p, int opt, const char *name)
Definition z-exp.c:1136
ASN.1 Module RecordSyntax-explain.
#define Z_Explain_sortDetails
Definition z-exp.h:287
#define Z_Explain_variants
Definition z-exp.h:289
#define Z_ValueDescription_integer
Definition z-exp.h:725
#define Z_ValueDescription_valueAndUnit
Definition z-exp.h:730
#define Z_QueryTypeDetails_rankedList
Definition z-exp.h:881
#define Z_AttributeOcc_specific
Definition z-exp.h:1008
#define Z_DatabaseInfo_approxNumber
Definition z-exp.h:345
#define Z_SortKeyDetails_character
Definition z-exp.h:642
#define Z_Explain_attributeDetails
Definition z-exp.h:283
#define Z_QueryTypeDetails_rpn
Definition z-exp.h:877
#define Z_QueryTypeDetails_iso8777
Definition z-exp.h:878
#define Z_Explain_attributeSetInfo
Definition z-exp.h:280
#define Z_ElementDataType_structured
Definition z-exp.h:411
#define Z_Explain_schemaInfo
Definition z-exp.h:277
#define Z_DatabaseInfo_actualNumber
Definition z-exp.h:344
#define Z_NetworkAddress_other
Definition z-exp.h:840
#define Z_ValueDescription_unit
Definition z-exp.h:729
#define Z_ProxSupportUnit_private
Definition z-exp.h:924
#define Z_ValueDescription_oid
Definition z-exp.h:728
#define Z_ElementDataType_primitive
Definition z-exp.h:410
#define Z_NetworkAddress_oPA
Definition z-exp.h:839
#define Z_ValueDescription_string
Definition z-exp.h:726
#define Z_ValueSet_range
Definition z-exp.h:706
#define Z_QueryTypeDetails_erpn
Definition z-exp.h:880
#define Z_Explain_termListDetails
Definition z-exp.h:284
#define Z_Explain_termListInfo
Definition z-exp.h:281
#define Z_AttributeOcc_any_or_none
Definition z-exp.h:1007
#define Z_Explain_extendedServicesInfo
Definition z-exp.h:282
#define Z_IconObjectUnit_z3950type
Definition z-exp.h:794
#define Z_IconObjectUnit_ianaType
Definition z-exp.h:793
#define Z_ValueDescription_octets
Definition z-exp.h:727
#define Z_ValueSet_enumerated
Definition z-exp.h:707
#define Z_Explain_tagSetInfo
Definition z-exp.h:278
#define Z_Explain_categoryList
Definition z-exp.h:291
Odr_int Z_PrimitiveDataType
Definition z-exp.h:46
#define Z_QueryTypeDetails_private
Definition z-exp.h:876
#define Z_Explain_databaseInfo
Definition z-exp.h:276
#define Z_NetworkAddress_iA
Definition z-exp.h:838
#define Z_Explain_processing
Definition z-exp.h:288
#define Z_IconObjectUnit_otherType
Definition z-exp.h:795
#define Z_ProxSupportUnit_known
Definition z-exp.h:923
#define Z_Explain_units
Definition z-exp.h:290
Z_InternationalString Z_LanguageCode
Definition z-exp.h:172
#define Z_SortKeyDetails_structured
Definition z-exp.h:644
#define Z_Explain_recordSyntaxInfo
Definition z-exp.h:279
#define Z_Explain_elementSetDetails
Definition z-exp.h:285
#define Z_QueryTypeDetails_z39_58
Definition z-exp.h:879
#define Z_SortKeyDetails_numeric
Definition z-exp.h:643
#define Z_Explain_targetInfo
Definition z-exp.h:275
#define Z_Explain_retrievalRecordDetails
Definition z-exp.h:286