2 \brief ASN.1 Module RecordSyntax-explain
4 Generated automatically by YAZ ASN.1 Compiler 0.4
9 int z_ExplainRecord (ODR o, Z_ExplainRecord **p, int opt, const char *name)
11 static Odr_arm arm[] = {
12 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Explain_targetInfo,
13 (Odr_fun) z_TargetInfo, "targetInfo"},
14 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Explain_databaseInfo,
15 (Odr_fun) z_DatabaseInfo, "databaseInfo"},
16 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Explain_schemaInfo,
17 (Odr_fun) z_SchemaInfo, "schemaInfo"},
18 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Explain_tagSetInfo,
19 (Odr_fun) z_TagSetInfo, "tagSetInfo"},
20 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Explain_recordSyntaxInfo,
21 (Odr_fun) z_RecordSyntaxInfo, "recordSyntaxInfo"},
22 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Explain_attributeSetInfo,
23 (Odr_fun) z_AttributeSetInfo, "attributeSetInfo"},
24 {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_Explain_termListInfo,
25 (Odr_fun) z_TermListInfo, "termListInfo"},
26 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Explain_extendedServicesInfo,
27 (Odr_fun) z_ExtendedServicesInfo, "extendedServicesInfo"},
28 {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_Explain_attributeDetails,
29 (Odr_fun) z_AttributeDetails, "attributeDetails"},
30 {ODR_IMPLICIT, ODR_CONTEXT, 9, Z_Explain_termListDetails,
31 (Odr_fun) z_TermListDetails, "termListDetails"},
32 {ODR_IMPLICIT, ODR_CONTEXT, 10, Z_Explain_elementSetDetails,
33 (Odr_fun) z_ElementSetDetails, "elementSetDetails"},
34 {ODR_IMPLICIT, ODR_CONTEXT, 11, Z_Explain_retrievalRecordDetails,
35 (Odr_fun) z_RetrievalRecordDetails, "retrievalRecordDetails"},
36 {ODR_IMPLICIT, ODR_CONTEXT, 12, Z_Explain_sortDetails,
37 (Odr_fun) z_SortDetails, "sortDetails"},
38 {ODR_IMPLICIT, ODR_CONTEXT, 13, Z_Explain_processing,
39 (Odr_fun) z_ProcessingInformation, "processing"},
40 {ODR_IMPLICIT, ODR_CONTEXT, 14, Z_Explain_variants,
41 (Odr_fun) z_VariantSetInfo, "variants"},
42 {ODR_IMPLICIT, ODR_CONTEXT, 15, Z_Explain_units,
43 (Odr_fun) z_UnitInfo, "units"},
44 {ODR_IMPLICIT, ODR_CONTEXT, 100, Z_Explain_categoryList,
45 (Odr_fun) z_CategoryList, "categoryList"},
46 {-1, -1, -1, -1, (Odr_fun) 0, 0}
48 if (!odr_initmember(o, p, sizeof(**p)))
49 return odr_missing(o, opt, name);
50 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
52 if(o->direction == ODR_DECODE)
54 return odr_missing(o, opt, name);
57 int z_TargetInfo (ODR o, Z_TargetInfo **p, int opt, const char *name)
59 if (!odr_sequence_begin (o, p, sizeof(**p), name))
60 return odr_missing(o, opt, name) && odr_ok (o);
62 odr_implicit_tag (o, z_CommonInfo,
63 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
64 odr_implicit_tag (o, z_InternationalString,
65 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
66 odr_implicit_tag (o, z_HumanString,
67 &(*p)->recentNews, ODR_CONTEXT, 2, 1, "recentNews") &&
68 odr_implicit_tag (o, z_IconObject,
69 &(*p)->icon, ODR_CONTEXT, 3, 1, "icon") &&
70 odr_implicit_tag (o, odr_bool,
71 &(*p)->namedResultSets, ODR_CONTEXT, 4, 0, "namedResultSets") &&
72 odr_implicit_tag (o, odr_bool,
73 &(*p)->multipleDBsearch, ODR_CONTEXT, 5, 0, "multipleDBsearch") &&
74 odr_implicit_tag (o, odr_integer,
75 &(*p)->maxResultSets, ODR_CONTEXT, 6, 1, "maxResultSets") &&
76 odr_implicit_tag (o, odr_integer,
77 &(*p)->maxResultSize, ODR_CONTEXT, 7, 1, "maxResultSize") &&
78 odr_implicit_tag (o, odr_integer,
79 &(*p)->maxTerms, ODR_CONTEXT, 8, 1, "maxTerms") &&
80 odr_implicit_tag (o, z_IntUnit,
81 &(*p)->timeoutInterval, ODR_CONTEXT, 9, 1, "timeoutInterval") &&
82 odr_implicit_tag (o, z_HumanString,
83 &(*p)->welcomeMessage, ODR_CONTEXT, 10, 1, "welcomeMessage") &&
84 odr_implicit_tag (o, z_ContactInfo,
85 &(*p)->contactInfo, ODR_CONTEXT, 11, 1, "contactInfo") &&
86 odr_implicit_tag (o, z_HumanString,
87 &(*p)->description, ODR_CONTEXT, 12, 1, "description") &&
88 odr_implicit_settag (o, ODR_CONTEXT, 13) &&
89 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->nicknames,
90 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
91 odr_implicit_tag (o, z_HumanString,
92 &(*p)->usageRest, ODR_CONTEXT, 14, 1, "usageRest") &&
93 odr_implicit_tag (o, z_HumanString,
94 &(*p)->paymentAddr, ODR_CONTEXT, 15, 1, "paymentAddr") &&
95 odr_implicit_tag (o, z_HumanString,
96 &(*p)->hours, ODR_CONTEXT, 16, 1, "hours") &&
97 odr_implicit_settag (o, ODR_CONTEXT, 17) &&
98 (odr_sequence_of(o, (Odr_fun) z_DatabaseList, &(*p)->dbCombinations,
99 &(*p)->num_dbCombinations, "dbCombinations") || odr_ok(o)) &&
100 odr_implicit_settag (o, ODR_CONTEXT, 18) &&
101 (odr_sequence_of(o, (Odr_fun) z_NetworkAddress, &(*p)->addresses,
102 &(*p)->num_addresses, "addresses") || odr_ok(o)) &&
103 odr_implicit_settag (o, ODR_CONTEXT, 101) &&
104 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->languages,
105 &(*p)->num_languages, "languages") || odr_ok(o)) &&
106 odr_implicit_tag (o, z_AccessInfo,
107 &(*p)->commonAccessInfo, ODR_CONTEXT, 19, 1, "commonAccessInfo") &&
108 odr_sequence_end (o);
111 int z_DatabaseInfo (ODR o, Z_DatabaseInfo **p, int opt, const char *name)
113 static Odr_arm arm[] = {
114 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_DatabaseInfo_actualNumber,
115 (Odr_fun) odr_integer, "actualNumber"},
116 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DatabaseInfo_approxNumber,
117 (Odr_fun) odr_integer, "approxNumber"},
118 {-1, -1, -1, -1, (Odr_fun) 0, 0}
120 if (!odr_sequence_begin (o, p, sizeof(**p), name))
121 return odr_missing(o, opt, name) && odr_ok (o);
123 odr_implicit_tag (o, z_CommonInfo,
124 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
125 odr_implicit_tag (o, z_DatabaseName,
126 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
127 odr_implicit_tag (o, odr_null,
128 &(*p)->explainDatabase, ODR_CONTEXT, 2, 1, "explainDatabase") &&
129 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
130 (odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->nicknames,
131 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
132 odr_implicit_tag (o, z_IconObject,
133 &(*p)->icon, ODR_CONTEXT, 4, 1, "icon") &&
134 odr_implicit_tag (o, odr_bool,
135 &(*p)->userFee, ODR_CONTEXT, 5, 0, "userFee") &&
136 odr_implicit_tag (o, odr_bool,
137 &(*p)->available, ODR_CONTEXT, 6, 0, "available") &&
138 odr_implicit_tag (o, z_HumanString,
139 &(*p)->titleString, ODR_CONTEXT, 7, 1, "titleString") &&
140 odr_implicit_settag (o, ODR_CONTEXT, 8) &&
141 (odr_sequence_of(o, (Odr_fun) z_HumanString, &(*p)->keywords,
142 &(*p)->num_keywords, "keywords") || odr_ok(o)) &&
143 odr_implicit_tag (o, z_HumanString,
144 &(*p)->description, ODR_CONTEXT, 9, 1, "description") &&
145 odr_implicit_tag (o, z_DatabaseList,
146 &(*p)->associatedDbs, ODR_CONTEXT, 10, 1, "associatedDbs") &&
147 odr_implicit_tag (o, z_DatabaseList,
148 &(*p)->subDbs, ODR_CONTEXT, 11, 1, "subDbs") &&
149 odr_implicit_tag (o, z_HumanString,
150 &(*p)->disclaimers, ODR_CONTEXT, 12, 1, "disclaimers") &&
151 odr_implicit_tag (o, z_HumanString,
152 &(*p)->news, ODR_CONTEXT, 13, 1, "news") &&
153 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 14, "recordCount") &&
154 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
155 odr_constructed_end (o)) || odr_ok(o)) &&
156 odr_implicit_tag (o, z_HumanString,
157 &(*p)->defaultOrder, ODR_CONTEXT, 15, 1, "defaultOrder") &&
158 odr_implicit_tag (o, odr_integer,
159 &(*p)->avRecordSize, ODR_CONTEXT, 16, 1, "avRecordSize") &&
160 odr_implicit_tag (o, odr_integer,
161 &(*p)->maxRecordSize, ODR_CONTEXT, 17, 1, "maxRecordSize") &&
162 odr_implicit_tag (o, z_HumanString,
163 &(*p)->hours, ODR_CONTEXT, 18, 1, "hours") &&
164 odr_implicit_tag (o, z_HumanString,
165 &(*p)->bestTime, ODR_CONTEXT, 19, 1, "bestTime") &&
166 odr_implicit_tag (o, odr_generalizedtime,
167 &(*p)->lastUpdate, ODR_CONTEXT, 20, 1, "lastUpdate") &&
168 odr_implicit_tag (o, z_IntUnit,
169 &(*p)->updateInterval, ODR_CONTEXT, 21, 1, "updateInterval") &&
170 odr_implicit_tag (o, z_HumanString,
171 &(*p)->coverage, ODR_CONTEXT, 22, 1, "coverage") &&
172 odr_implicit_tag (o, odr_bool,
173 &(*p)->proprietary, ODR_CONTEXT, 23, 1, "proprietary") &&
174 odr_implicit_tag (o, z_HumanString,
175 &(*p)->copyrightText, ODR_CONTEXT, 24, 1, "copyrightText") &&
176 odr_implicit_tag (o, z_HumanString,
177 &(*p)->copyrightNotice, ODR_CONTEXT, 25, 1, "copyrightNotice") &&
178 odr_implicit_tag (o, z_ContactInfo,
179 &(*p)->producerContactInfo, ODR_CONTEXT, 26, 1, "producerContactInfo") &&
180 odr_implicit_tag (o, z_ContactInfo,
181 &(*p)->supplierContactInfo, ODR_CONTEXT, 27, 1, "supplierContactInfo") &&
182 odr_implicit_tag (o, z_ContactInfo,
183 &(*p)->submissionContactInfo, ODR_CONTEXT, 28, 1, "submissionContactInfo") &&
184 odr_implicit_tag (o, z_AccessInfo,
185 &(*p)->accessInfo, ODR_CONTEXT, 29, 1, "accessInfo") &&
186 odr_sequence_end (o);
189 int z_TagTypeMapping (ODR o, Z_TagTypeMapping **p, int opt, const char *name)
191 if (!odr_sequence_begin (o, p, sizeof(**p), name))
192 return odr_missing(o, opt, name) && odr_ok (o);
194 odr_implicit_tag (o, odr_integer,
195 &(*p)->tagType, ODR_CONTEXT, 0, 0, "tagType") &&
196 odr_implicit_tag (o, odr_oid,
197 &(*p)->tagSet, ODR_CONTEXT, 1, 1, "tagSet") &&
198 odr_implicit_tag (o, odr_null,
199 &(*p)->defaultTagType, ODR_CONTEXT, 2, 1, "defaultTagType") &&
200 odr_sequence_end (o);
203 int z_SchemaInfo (ODR o, Z_SchemaInfo **p, int opt, const char *name)
205 if (!odr_sequence_begin (o, p, sizeof(**p), name))
206 return odr_missing(o, opt, name) && odr_ok (o);
208 odr_implicit_tag (o, z_CommonInfo,
209 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
210 odr_implicit_tag (o, odr_oid,
211 &(*p)->schema, ODR_CONTEXT, 1, 0, "schema") &&
212 odr_implicit_tag (o, z_InternationalString,
213 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
214 odr_implicit_tag (o, z_HumanString,
215 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
216 odr_implicit_settag (o, ODR_CONTEXT, 4) &&
217 (odr_sequence_of(o, (Odr_fun) z_TagTypeMapping, &(*p)->tagTypeMapping,
218 &(*p)->num_tagTypeMapping, "tagTypeMapping") || odr_ok(o)) &&
219 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
220 (odr_sequence_of(o, (Odr_fun) z_ElementInfo, &(*p)->recordStructure,
221 &(*p)->num_recordStructure, "recordStructure") || odr_ok(o)) &&
222 odr_sequence_end (o);
225 int z_ElementInfo (ODR o, Z_ElementInfo **p, int opt, const char *name)
227 if (!odr_sequence_begin (o, p, sizeof(**p), name))
228 return odr_missing(o, opt, name) && odr_ok (o);
230 odr_implicit_tag (o, z_InternationalString,
231 &(*p)->elementName, ODR_CONTEXT, 1, 0, "elementName") &&
232 odr_implicit_tag (o, z_Path,
233 &(*p)->elementTagPath, ODR_CONTEXT, 2, 0, "elementTagPath") &&
234 odr_explicit_tag (o, z_ElementDataType,
235 &(*p)->dataType, ODR_CONTEXT, 3, 1, "dataType") &&
236 odr_implicit_tag (o, odr_bool,
237 &(*p)->required, ODR_CONTEXT, 4, 0, "required") &&
238 odr_implicit_tag (o, odr_bool,
239 &(*p)->repeatable, ODR_CONTEXT, 5, 0, "repeatable") &&
240 odr_implicit_tag (o, z_HumanString,
241 &(*p)->description, ODR_CONTEXT, 6, 1, "description") &&
242 odr_sequence_end (o);
245 int z_PathUnit (ODR o, Z_PathUnit **p, int opt, const char *name)
247 if (!odr_sequence_begin (o, p, sizeof(**p), name))
248 return odr_missing(o, opt, name) && odr_ok (o);
250 odr_implicit_tag (o, odr_integer,
251 &(*p)->tagType, ODR_CONTEXT, 1, 0, "tagType") &&
252 odr_explicit_tag (o, z_StringOrNumeric,
253 &(*p)->tagValue, ODR_CONTEXT, 2, 0, "tagValue") &&
254 odr_sequence_end (o);
257 int z_Path (ODR o, Z_Path **p, int opt, const char *name)
259 if (!odr_initmember (o, p, sizeof(**p)))
260 return odr_missing(o, opt, name);
261 if (odr_sequence_of (o, (Odr_fun) z_PathUnit, &(*p)->elements,
264 if(o->direction == ODR_DECODE)
266 return odr_missing(o, opt, name);
269 int z_ElementInfoList (ODR o, Z_ElementInfoList **p, int opt, const char *name)
271 if (!odr_initmember (o, p, sizeof(**p)))
272 return odr_missing(o, opt, name);
273 if (odr_sequence_of (o, (Odr_fun) z_ElementInfo, &(*p)->elements,
276 if(o->direction == ODR_DECODE)
278 return odr_missing(o, opt, name);
281 int z_ElementDataType (ODR o, Z_ElementDataType **p, int opt, const char *name)
283 static Odr_arm arm[] = {
284 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_ElementDataType_primitive,
285 (Odr_fun) z_PrimitiveDataType, "primitive"},
286 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ElementDataType_structured,
287 (Odr_fun) z_ElementInfoList, "structured"},
288 {-1, -1, -1, -1, (Odr_fun) 0, 0}
290 if (!odr_initmember(o, p, sizeof(**p)))
291 return odr_missing(o, opt, name);
292 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
294 if(o->direction == ODR_DECODE)
296 return odr_missing(o, opt, name);
299 int z_PrimitiveDataType (ODR o, Z_PrimitiveDataType **p, int opt, const char *name)
301 return odr_integer (o, p, opt, name);
304 int z_TagSetElements (ODR o, Z_TagSetElements **p, int opt, const char *name)
306 if (!odr_sequence_begin (o, p, sizeof(**p), name))
307 return odr_missing(o, opt, name) && odr_ok (o);
309 odr_implicit_tag (o, z_InternationalString,
310 &(*p)->elementname, ODR_CONTEXT, 1, 0, "elementname") &&
311 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
312 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->nicknames,
313 &(*p)->num_nicknames, "nicknames") || odr_ok(o)) &&
314 odr_explicit_tag (o, z_StringOrNumeric,
315 &(*p)->elementTag, ODR_CONTEXT, 3, 0, "elementTag") &&
316 odr_implicit_tag (o, z_HumanString,
317 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
318 odr_explicit_tag (o, z_PrimitiveDataType,
319 &(*p)->dataType, ODR_CONTEXT, 5, 1, "dataType") &&
320 z_OtherInformation(o, &(*p)->otherTagInfo, 1, "otherTagInfo") &&
321 odr_sequence_end (o);
324 int z_TagSetInfo (ODR o, Z_TagSetInfo **p, int opt, const char *name)
326 if (!odr_sequence_begin (o, p, sizeof(**p), name))
327 return odr_missing(o, opt, name) && odr_ok (o);
329 odr_implicit_tag (o, z_CommonInfo,
330 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
331 odr_implicit_tag (o, odr_oid,
332 &(*p)->tagSet, ODR_CONTEXT, 1, 0, "tagSet") &&
333 odr_implicit_tag (o, z_InternationalString,
334 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
335 odr_implicit_tag (o, z_HumanString,
336 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
337 odr_implicit_settag (o, ODR_CONTEXT, 4) &&
338 (odr_sequence_of(o, (Odr_fun) z_TagSetElements, &(*p)->elements,
339 &(*p)->num_elements, "elements") || odr_ok(o)) &&
340 odr_sequence_end (o);
343 int z_RecordSyntaxInfo (ODR o, Z_RecordSyntaxInfo **p, int opt, const char *name)
345 if (!odr_sequence_begin (o, p, sizeof(**p), name))
346 return odr_missing(o, opt, name) && odr_ok (o);
348 odr_implicit_tag (o, z_CommonInfo,
349 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
350 odr_implicit_tag (o, odr_oid,
351 &(*p)->recordSyntax, ODR_CONTEXT, 1, 0, "recordSyntax") &&
352 odr_implicit_tag (o, z_InternationalString,
353 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
354 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
355 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->transferSyntaxes,
356 &(*p)->num_transferSyntaxes, "transferSyntaxes") || odr_ok(o)) &&
357 odr_implicit_tag (o, z_HumanString,
358 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
359 odr_implicit_tag (o, z_InternationalString,
360 &(*p)->asn1Module, ODR_CONTEXT, 5, 1, "asn1Module") &&
361 odr_implicit_settag (o, ODR_CONTEXT, 6) &&
362 (odr_sequence_of(o, (Odr_fun) z_ElementInfo, &(*p)->abstractStructure,
363 &(*p)->num_abstractStructure, "abstractStructure") || odr_ok(o)) &&
364 odr_sequence_end (o);
367 int z_AttributeSetInfo (ODR o, Z_AttributeSetInfo **p, int opt, const char *name)
369 if (!odr_sequence_begin (o, p, sizeof(**p), name))
370 return odr_missing(o, opt, name) && odr_ok (o);
372 odr_implicit_tag (o, z_CommonInfo,
373 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
374 odr_implicit_tag (o, z_AttributeSetId,
375 &(*p)->attributeSet, ODR_CONTEXT, 1, 0, "attributeSet") &&
376 odr_implicit_tag (o, z_InternationalString,
377 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
378 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
379 (odr_sequence_of(o, (Odr_fun) z_AttributeType, &(*p)->attributes,
380 &(*p)->num_attributes, "attributes") || odr_ok(o)) &&
381 odr_implicit_tag (o, z_HumanString,
382 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
383 odr_sequence_end (o);
386 int z_AttributeType (ODR o, Z_AttributeType **p, int opt, const char *name)
388 if (!odr_sequence_begin (o, p, sizeof(**p), name))
389 return odr_missing(o, opt, name) && odr_ok (o);
391 odr_implicit_tag (o, z_InternationalString,
392 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
393 odr_implicit_tag (o, z_HumanString,
394 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
395 odr_implicit_tag (o, odr_integer,
396 &(*p)->attributeType, ODR_CONTEXT, 2, 0, "attributeType") &&
397 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
398 odr_sequence_of(o, (Odr_fun) z_AttributeDescription, &(*p)->attributeValues,
399 &(*p)->num_attributeValues, "attributeValues") &&
400 odr_sequence_end (o);
403 int z_AttributeDescription (ODR o, Z_AttributeDescription **p, int opt, const char *name)
405 if (!odr_sequence_begin (o, p, sizeof(**p), name))
406 return odr_missing(o, opt, name) && odr_ok (o);
408 odr_implicit_tag (o, z_InternationalString,
409 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
410 odr_implicit_tag (o, z_HumanString,
411 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
412 odr_explicit_tag (o, z_StringOrNumeric,
413 &(*p)->attributeValue, ODR_CONTEXT, 2, 0, "attributeValue") &&
414 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
415 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->equivalentAttributes,
416 &(*p)->num_equivalentAttributes, "equivalentAttributes") || odr_ok(o)) &&
417 odr_sequence_end (o);
420 int z_TermListElement (ODR o, Z_TermListElement **p, int opt, const char *name)
422 if (!odr_sequence_begin (o, p, sizeof(**p), name))
423 return odr_missing(o, opt, name) && odr_ok (o);
425 odr_implicit_tag (o, z_InternationalString,
426 &(*p)->name, ODR_CONTEXT, 1, 0, "name") &&
427 odr_implicit_tag (o, z_HumanString,
428 &(*p)->title, ODR_CONTEXT, 2, 1, "title") &&
429 odr_implicit_tag (o, odr_integer,
430 &(*p)->searchCost, ODR_CONTEXT, 3, 1, "searchCost") &&
431 odr_implicit_tag (o, odr_bool,
432 &(*p)->scanable, ODR_CONTEXT, 4, 0, "scanable") &&
433 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
434 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->broader,
435 &(*p)->num_broader, "broader") || odr_ok(o)) &&
436 odr_implicit_settag (o, ODR_CONTEXT, 6) &&
437 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->narrower,
438 &(*p)->num_narrower, "narrower") || odr_ok(o)) &&
439 odr_sequence_end (o);
442 int z_TermListInfo (ODR o, Z_TermListInfo **p, int opt, const char *name)
444 if (!odr_sequence_begin (o, p, sizeof(**p), name))
445 return odr_missing(o, opt, name) && odr_ok (o);
447 odr_implicit_tag (o, z_CommonInfo,
448 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
449 odr_implicit_tag (o, z_DatabaseName,
450 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
451 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
452 odr_sequence_of(o, (Odr_fun) z_TermListElement, &(*p)->termLists,
453 &(*p)->num_termLists, "termLists") &&
454 odr_sequence_end (o);
457 int z_ExtendedServicesInfo (ODR o, Z_ExtendedServicesInfo **p, int opt, const char *name)
459 if (!odr_sequence_begin (o, p, sizeof(**p), name))
460 return odr_missing(o, opt, name) && odr_ok (o);
462 odr_implicit_tag (o, z_CommonInfo,
463 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
464 odr_implicit_tag (o, odr_oid,
465 &(*p)->type, ODR_CONTEXT, 1, 0, "type") &&
466 odr_implicit_tag (o, z_InternationalString,
467 &(*p)->name, ODR_CONTEXT, 2, 1, "name") &&
468 odr_implicit_tag (o, odr_bool,
469 &(*p)->privateType, ODR_CONTEXT, 3, 0, "privateType") &&
470 odr_implicit_tag (o, odr_bool,
471 &(*p)->restrictionsApply, ODR_CONTEXT, 5, 0, "restrictionsApply") &&
472 odr_implicit_tag (o, odr_bool,
473 &(*p)->feeApply, ODR_CONTEXT, 6, 0, "feeApply") &&
474 odr_implicit_tag (o, odr_bool,
475 &(*p)->available, ODR_CONTEXT, 7, 0, "available") &&
476 odr_implicit_tag (o, odr_bool,
477 &(*p)->retentionSupported, ODR_CONTEXT, 8, 0, "retentionSupported") &&
478 odr_implicit_tag (o, odr_integer,
479 &(*p)->waitAction, ODR_CONTEXT, 9, 0, "waitAction") &&
480 odr_implicit_tag (o, z_HumanString,
481 &(*p)->description, ODR_CONTEXT, 10, 1, "description") &&
482 odr_implicit_tag (o, z_External,
483 &(*p)->specificExplain, ODR_CONTEXT, 11, 1, "specificExplain") &&
484 odr_implicit_tag (o, z_InternationalString,
485 &(*p)->esASN, ODR_CONTEXT, 12, 1, "esASN") &&
486 odr_sequence_end (o);
489 int z_AttributeDetails (ODR o, Z_AttributeDetails **p, int opt, const char *name)
491 if (!odr_sequence_begin (o, p, sizeof(**p), name))
492 return odr_missing(o, opt, name) && odr_ok (o);
494 odr_implicit_tag (o, z_CommonInfo,
495 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
496 odr_implicit_tag (o, z_DatabaseName,
497 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
498 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
499 (odr_sequence_of(o, (Odr_fun) z_AttributeSetDetails, &(*p)->attributesBySet,
500 &(*p)->num_attributesBySet, "attributesBySet") || odr_ok(o)) &&
501 odr_implicit_tag (o, z_AttributeCombinations,
502 &(*p)->attributeCombinations, ODR_CONTEXT, 3, 1, "attributeCombinations") &&
503 odr_sequence_end (o);
506 int z_AttributeSetDetails (ODR o, Z_AttributeSetDetails **p, int opt, const char *name)
508 if (!odr_sequence_begin (o, p, sizeof(**p), name))
509 return odr_missing(o, opt, name) && odr_ok (o);
511 odr_implicit_tag (o, z_AttributeSetId,
512 &(*p)->attributeSet, ODR_CONTEXT, 0, 0, "attributeSet") &&
513 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
514 odr_sequence_of(o, (Odr_fun) z_AttributeTypeDetails, &(*p)->attributesByType,
515 &(*p)->num_attributesByType, "attributesByType") &&
516 odr_sequence_end (o);
519 int z_AttributeTypeDetails (ODR o, Z_AttributeTypeDetails **p, int opt, const char *name)
521 if (!odr_sequence_begin (o, p, sizeof(**p), name))
522 return odr_missing(o, opt, name) && odr_ok (o);
524 odr_implicit_tag (o, odr_integer,
525 &(*p)->attributeType, ODR_CONTEXT, 0, 0, "attributeType") &&
526 odr_implicit_tag (o, z_OmittedAttributeInterpretation,
527 &(*p)->defaultIfOmitted, ODR_CONTEXT, 1, 1, "defaultIfOmitted") &&
528 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
529 (odr_sequence_of(o, (Odr_fun) z_AttributeValue, &(*p)->attributeValues,
530 &(*p)->num_attributeValues, "attributeValues") || odr_ok(o)) &&
531 odr_sequence_end (o);
534 int z_OmittedAttributeInterpretation (ODR o, Z_OmittedAttributeInterpretation **p, int opt, const char *name)
536 if (!odr_sequence_begin (o, p, sizeof(**p), name))
537 return odr_missing(o, opt, name) && odr_ok (o);
539 odr_explicit_tag (o, z_StringOrNumeric,
540 &(*p)->defaultValue, ODR_CONTEXT, 0, 1, "defaultValue") &&
541 odr_implicit_tag (o, z_HumanString,
542 &(*p)->defaultDescription, ODR_CONTEXT, 1, 1, "defaultDescription") &&
543 odr_sequence_end (o);
546 int z_AttributeValue (ODR o, Z_AttributeValue **p, int opt, const char *name)
548 if (!odr_sequence_begin (o, p, sizeof(**p), name))
549 return odr_missing(o, opt, name) && odr_ok (o);
551 odr_explicit_tag (o, z_StringOrNumeric,
552 &(*p)->value, ODR_CONTEXT, 0, 0, "value") &&
553 odr_implicit_tag (o, z_HumanString,
554 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
555 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
556 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->subAttributes,
557 &(*p)->num_subAttributes, "subAttributes") || odr_ok(o)) &&
558 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
559 (odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->superAttributes,
560 &(*p)->num_superAttributes, "superAttributes") || odr_ok(o)) &&
561 odr_implicit_tag (o, odr_null,
562 &(*p)->partialSupport, ODR_CONTEXT, 4, 1, "partialSupport") &&
563 odr_sequence_end (o);
566 int z_EScanInfo (ODR o, Z_EScanInfo **p, int opt, const char *name)
568 if (!odr_sequence_begin (o, p, sizeof(**p), name))
569 return odr_missing(o, opt, name) && odr_ok (o);
571 odr_implicit_tag (o, odr_integer,
572 &(*p)->maxStepSize, ODR_CONTEXT, 0, 1, "maxStepSize") &&
573 odr_implicit_tag (o, z_HumanString,
574 &(*p)->collatingSequence, ODR_CONTEXT, 1, 1, "collatingSequence") &&
575 odr_implicit_tag (o, odr_bool,
576 &(*p)->increasing, ODR_CONTEXT, 2, 1, "increasing") &&
577 odr_sequence_end (o);
580 int z_TermListDetails (ODR o, Z_TermListDetails **p, int opt, const char *name)
582 if (!odr_sequence_begin (o, p, sizeof(**p), name))
583 return odr_missing(o, opt, name) && odr_ok (o);
585 odr_implicit_tag (o, z_CommonInfo,
586 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
587 odr_implicit_tag (o, z_InternationalString,
588 &(*p)->termListName, ODR_CONTEXT, 1, 0, "termListName") &&
589 odr_implicit_tag (o, z_HumanString,
590 &(*p)->description, ODR_CONTEXT, 2, 1, "description") &&
591 odr_implicit_tag (o, z_AttributeCombinations,
592 &(*p)->attributes, ODR_CONTEXT, 3, 1, "attributes") &&
593 odr_implicit_tag (o, z_EScanInfo,
594 &(*p)->scanInfo, ODR_CONTEXT, 4, 1, "scanInfo") &&
595 odr_implicit_tag (o, odr_integer,
596 &(*p)->estNumberTerms, ODR_CONTEXT, 5, 1, "estNumberTerms") &&
597 odr_implicit_settag (o, ODR_CONTEXT, 6) &&
598 (odr_sequence_of(o, (Odr_fun) z_Term, &(*p)->sampleTerms,
599 &(*p)->num_sampleTerms, "sampleTerms") || odr_ok(o)) &&
600 odr_sequence_end (o);
603 int z_ElementSetDetails (ODR o, Z_ElementSetDetails **p, int opt, const char *name)
605 if (!odr_sequence_begin (o, p, sizeof(**p), name))
606 return odr_missing(o, opt, name) && odr_ok (o);
608 odr_implicit_tag (o, z_CommonInfo,
609 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
610 odr_implicit_tag (o, z_DatabaseName,
611 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
612 odr_implicit_tag (o, z_ElementSetName,
613 &(*p)->elementSetName, ODR_CONTEXT, 2, 0, "elementSetName") &&
614 odr_implicit_tag (o, odr_oid,
615 &(*p)->recordSyntax, ODR_CONTEXT, 3, 0, "recordSyntax") &&
616 odr_implicit_tag (o, odr_oid,
617 &(*p)->schema, ODR_CONTEXT, 4, 0, "schema") &&
618 odr_implicit_tag (o, z_HumanString,
619 &(*p)->description, ODR_CONTEXT, 5, 1, "description") &&
620 odr_implicit_settag (o, ODR_CONTEXT, 6) &&
621 (odr_sequence_of(o, (Odr_fun) z_PerElementDetails, &(*p)->detailsPerElement,
622 &(*p)->num_detailsPerElement, "detailsPerElement") || odr_ok(o)) &&
623 odr_sequence_end (o);
626 int z_RetrievalRecordDetails (ODR o, Z_RetrievalRecordDetails **p, int opt, const char *name)
628 if (!odr_sequence_begin (o, p, sizeof(**p), name))
629 return odr_missing(o, opt, name) && odr_ok (o);
631 odr_implicit_tag (o, z_CommonInfo,
632 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
633 odr_implicit_tag (o, z_DatabaseName,
634 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
635 odr_implicit_tag (o, odr_oid,
636 &(*p)->schema, ODR_CONTEXT, 2, 0, "schema") &&
637 odr_implicit_tag (o, odr_oid,
638 &(*p)->recordSyntax, ODR_CONTEXT, 3, 0, "recordSyntax") &&
639 odr_implicit_tag (o, z_HumanString,
640 &(*p)->description, ODR_CONTEXT, 4, 1, "description") &&
641 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
642 (odr_sequence_of(o, (Odr_fun) z_PerElementDetails, &(*p)->detailsPerElement,
643 &(*p)->num_detailsPerElement, "detailsPerElement") || odr_ok(o)) &&
644 odr_sequence_end (o);
647 int z_PerElementDetails (ODR o, Z_PerElementDetails **p, int opt, const char *name)
649 if (!odr_sequence_begin (o, p, sizeof(**p), name))
650 return odr_missing(o, opt, name) && odr_ok (o);
652 odr_implicit_tag (o, z_InternationalString,
653 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
654 odr_implicit_tag (o, z_RecordTag,
655 &(*p)->recordTag, ODR_CONTEXT, 1, 1, "recordTag") &&
656 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
657 (odr_sequence_of(o, (Odr_fun) z_Path, &(*p)->schemaTags,
658 &(*p)->num_schemaTags, "schemaTags") || odr_ok(o)) &&
659 odr_implicit_tag (o, odr_integer,
660 &(*p)->maxSize, ODR_CONTEXT, 3, 1, "maxSize") &&
661 odr_implicit_tag (o, odr_integer,
662 &(*p)->minSize, ODR_CONTEXT, 4, 1, "minSize") &&
663 odr_implicit_tag (o, odr_integer,
664 &(*p)->avgSize, ODR_CONTEXT, 5, 1, "avgSize") &&
665 odr_implicit_tag (o, odr_integer,
666 &(*p)->fixedSize, ODR_CONTEXT, 6, 1, "fixedSize") &&
667 odr_implicit_tag (o, odr_bool,
668 &(*p)->repeatable, ODR_CONTEXT, 8, 0, "repeatable") &&
669 odr_implicit_tag (o, odr_bool,
670 &(*p)->required, ODR_CONTEXT, 9, 0, "required") &&
671 odr_implicit_tag (o, z_HumanString,
672 &(*p)->description, ODR_CONTEXT, 12, 1, "description") &&
673 odr_implicit_tag (o, z_HumanString,
674 &(*p)->contents, ODR_CONTEXT, 13, 1, "contents") &&
675 odr_implicit_tag (o, z_HumanString,
676 &(*p)->billingInfo, ODR_CONTEXT, 14, 1, "billingInfo") &&
677 odr_implicit_tag (o, z_HumanString,
678 &(*p)->restrictions, ODR_CONTEXT, 15, 1, "restrictions") &&
679 odr_implicit_settag (o, ODR_CONTEXT, 16) &&
680 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->alternateNames,
681 &(*p)->num_alternateNames, "alternateNames") || odr_ok(o)) &&
682 odr_implicit_settag (o, ODR_CONTEXT, 17) &&
683 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->genericNames,
684 &(*p)->num_genericNames, "genericNames") || odr_ok(o)) &&
685 odr_implicit_tag (o, z_AttributeCombinations,
686 &(*p)->searchAccess, ODR_CONTEXT, 18, 1, "searchAccess") &&
687 odr_sequence_end (o);
690 int z_RecordTag (ODR o, Z_RecordTag **p, int opt, const char *name)
692 if (!odr_sequence_begin (o, p, sizeof(**p), name))
693 return odr_missing(o, opt, name) && odr_ok (o);
695 odr_explicit_tag (o, z_StringOrNumeric,
696 &(*p)->qualifier, ODR_CONTEXT, 0, 1, "qualifier") &&
697 odr_explicit_tag (o, z_StringOrNumeric,
698 &(*p)->tagValue, ODR_CONTEXT, 1, 0, "tagValue") &&
699 odr_sequence_end (o);
702 int z_SortDetails (ODR o, Z_SortDetails **p, int opt, const char *name)
704 if (!odr_sequence_begin (o, p, sizeof(**p), name))
705 return odr_missing(o, opt, name) && odr_ok (o);
707 odr_implicit_tag (o, z_CommonInfo,
708 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
709 odr_implicit_tag (o, z_DatabaseName,
710 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
711 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
712 (odr_sequence_of(o, (Odr_fun) z_SortKeyDetails, &(*p)->sortKeys,
713 &(*p)->num_sortKeys, "sortKeys") || odr_ok(o)) &&
714 odr_sequence_end (o);
717 int z_SortKeyDetails (ODR o, Z_SortKeyDetails **p, int opt, const char *name)
719 static Odr_arm arm[] = {
720 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_SortKeyDetails_character,
721 (Odr_fun) odr_null, "character"},
722 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_SortKeyDetails_numeric,
723 (Odr_fun) odr_null, "numeric"},
724 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_SortKeyDetails_structured,
725 (Odr_fun) z_HumanString, "structured"},
726 {-1, -1, -1, -1, (Odr_fun) 0, 0}
728 if (!odr_sequence_begin (o, p, sizeof(**p), name))
729 return odr_missing(o, opt, name) && odr_ok (o);
731 odr_implicit_tag (o, z_HumanString,
732 &(*p)->description, ODR_CONTEXT, 0, 1, "description") &&
733 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
734 (odr_sequence_of(o, (Odr_fun) z_Specification, &(*p)->elementSpecifications,
735 &(*p)->num_elementSpecifications, "elementSpecifications") || odr_ok(o)) &&
736 odr_implicit_tag (o, z_AttributeCombinations,
737 &(*p)->attributeSpecifications, ODR_CONTEXT, 2, 1, "attributeSpecifications") &&
738 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 3, "sortType") &&
739 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
740 odr_constructed_end (o)) || odr_ok(o)) &&
741 odr_implicit_tag (o, odr_integer,
742 &(*p)->caseSensitivity, ODR_CONTEXT, 4, 1, "caseSensitivity") &&
743 odr_sequence_end (o);
746 int z_ProcessingInformation (ODR o, Z_ProcessingInformation **p, int opt, const char *name)
748 if (!odr_sequence_begin (o, p, sizeof(**p), name))
749 return odr_missing(o, opt, name) && odr_ok (o);
751 odr_implicit_tag (o, z_CommonInfo,
752 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
753 odr_implicit_tag (o, z_DatabaseName,
754 &(*p)->databaseName, ODR_CONTEXT, 1, 0, "databaseName") &&
755 odr_implicit_tag (o, odr_integer,
756 &(*p)->processingContext, ODR_CONTEXT, 2, 0, "processingContext") &&
757 odr_implicit_tag (o, z_InternationalString,
758 &(*p)->name, ODR_CONTEXT, 3, 0, "name") &&
759 odr_implicit_tag (o, odr_oid,
760 &(*p)->oid, ODR_CONTEXT, 4, 0, "oid") &&
761 odr_implicit_tag (o, z_HumanString,
762 &(*p)->description, ODR_CONTEXT, 5, 1, "description") &&
763 odr_implicit_tag (o, z_External,
764 &(*p)->instructions, ODR_CONTEXT, 6, 1, "instructions") &&
765 odr_sequence_end (o);
768 int z_VariantSetInfo (ODR o, Z_VariantSetInfo **p, int opt, const char *name)
770 if (!odr_sequence_begin (o, p, sizeof(**p), name))
771 return odr_missing(o, opt, name) && odr_ok (o);
773 odr_implicit_tag (o, z_CommonInfo,
774 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
775 odr_implicit_tag (o, odr_oid,
776 &(*p)->variantSet, ODR_CONTEXT, 1, 0, "variantSet") &&
777 odr_implicit_tag (o, z_InternationalString,
778 &(*p)->name, ODR_CONTEXT, 2, 0, "name") &&
779 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
780 (odr_sequence_of(o, (Odr_fun) z_VariantClass, &(*p)->variants,
781 &(*p)->num_variants, "variants") || odr_ok(o)) &&
782 odr_sequence_end (o);
785 int z_VariantClass (ODR o, Z_VariantClass **p, int opt, const char *name)
787 if (!odr_sequence_begin (o, p, sizeof(**p), name))
788 return odr_missing(o, opt, name) && odr_ok (o);
790 odr_implicit_tag (o, z_InternationalString,
791 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
792 odr_implicit_tag (o, z_HumanString,
793 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
794 odr_implicit_tag (o, odr_integer,
795 &(*p)->variantClass, ODR_CONTEXT, 2, 0, "variantClass") &&
796 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
797 odr_sequence_of(o, (Odr_fun) z_VariantType, &(*p)->variantTypes,
798 &(*p)->num_variantTypes, "variantTypes") &&
799 odr_sequence_end (o);
802 int z_VariantType (ODR o, Z_VariantType **p, int opt, const char *name)
804 if (!odr_sequence_begin (o, p, sizeof(**p), name))
805 return odr_missing(o, opt, name) && odr_ok (o);
807 odr_implicit_tag (o, z_InternationalString,
808 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
809 odr_implicit_tag (o, z_HumanString,
810 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
811 odr_implicit_tag (o, odr_integer,
812 &(*p)->variantType, ODR_CONTEXT, 2, 0, "variantType") &&
813 odr_implicit_tag (o, z_VariantValue,
814 &(*p)->variantValue, ODR_CONTEXT, 3, 1, "variantValue") &&
815 odr_sequence_end (o);
818 int z_VariantValue (ODR o, Z_VariantValue **p, int opt, const char *name)
820 if (!odr_sequence_begin (o, p, sizeof(**p), name))
821 return odr_missing(o, opt, name) && odr_ok (o);
823 odr_explicit_tag (o, z_PrimitiveDataType,
824 &(*p)->dataType, ODR_CONTEXT, 0, 0, "dataType") &&
825 odr_explicit_tag (o, z_ValueSet,
826 &(*p)->values, ODR_CONTEXT, 1, 1, "values") &&
827 odr_sequence_end (o);
830 int z_ValueSetEnumerated (ODR o, Z_ValueSetEnumerated **p, int opt, const char *name)
832 if (!odr_initmember (o, p, sizeof(**p)))
833 return odr_missing(o, opt, name);
834 if (odr_sequence_of (o, (Odr_fun) z_ValueDescription, &(*p)->elements,
837 if(o->direction == ODR_DECODE)
839 return odr_missing(o, opt, name);
842 int z_ValueSet (ODR o, Z_ValueSet **p, int opt, const char *name)
844 static Odr_arm arm[] = {
845 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_ValueSet_range,
846 (Odr_fun) z_ValueRange, "range"},
847 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ValueSet_enumerated,
848 (Odr_fun) z_ValueSetEnumerated, "enumerated"},
849 {-1, -1, -1, -1, (Odr_fun) 0, 0}
851 if (!odr_initmember(o, p, sizeof(**p)))
852 return odr_missing(o, opt, name);
853 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
855 if(o->direction == ODR_DECODE)
857 return odr_missing(o, opt, name);
860 int z_ValueRange (ODR o, Z_ValueRange **p, int opt, const char *name)
862 if (!odr_sequence_begin (o, p, sizeof(**p), name))
863 return odr_missing(o, opt, name) && odr_ok (o);
865 odr_explicit_tag (o, z_ValueDescription,
866 &(*p)->lower, ODR_CONTEXT, 0, 1, "lower") &&
867 odr_explicit_tag (o, z_ValueDescription,
868 &(*p)->upper, ODR_CONTEXT, 1, 1, "upper") &&
869 odr_sequence_end (o);
872 int z_ValueDescription (ODR o, Z_ValueDescription **p, int opt, const char *name)
874 static Odr_arm arm[] = {
875 {-1, -1, -1, Z_ValueDescription_integer,
876 (Odr_fun) odr_integer, "integer"},
877 {-1, -1, -1, Z_ValueDescription_string,
878 (Odr_fun) z_InternationalString, "string"},
879 {-1, -1, -1, Z_ValueDescription_octets,
880 (Odr_fun) odr_octetstring, "octets"},
881 {-1, -1, -1, Z_ValueDescription_oid,
882 (Odr_fun) odr_oid, "oid"},
883 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ValueDescription_unit,
884 (Odr_fun) z_Unit, "unit"},
885 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ValueDescription_valueAndUnit,
886 (Odr_fun) z_IntUnit, "valueAndUnit"},
887 {-1, -1, -1, -1, (Odr_fun) 0, 0}
889 if (!odr_initmember(o, p, sizeof(**p)))
890 return odr_missing(o, opt, name);
891 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
893 if(o->direction == ODR_DECODE)
895 return odr_missing(o, opt, name);
898 int z_UnitInfo (ODR o, Z_UnitInfo **p, int opt, const char *name)
900 if (!odr_sequence_begin (o, p, sizeof(**p), name))
901 return odr_missing(o, opt, name) && odr_ok (o);
903 odr_implicit_tag (o, z_CommonInfo,
904 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
905 odr_implicit_tag (o, z_InternationalString,
906 &(*p)->unitSystem, ODR_CONTEXT, 1, 0, "unitSystem") &&
907 odr_implicit_tag (o, z_HumanString,
908 &(*p)->description, ODR_CONTEXT, 2, 1, "description") &&
909 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
910 (odr_sequence_of(o, (Odr_fun) z_UnitType, &(*p)->units,
911 &(*p)->num_units, "units") || odr_ok(o)) &&
912 odr_sequence_end (o);
915 int z_UnitType (ODR o, Z_UnitType **p, int opt, const char *name)
917 if (!odr_sequence_begin (o, p, sizeof(**p), name))
918 return odr_missing(o, opt, name) && odr_ok (o);
920 odr_implicit_tag (o, z_InternationalString,
921 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
922 odr_implicit_tag (o, z_HumanString,
923 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
924 odr_explicit_tag (o, z_StringOrNumeric,
925 &(*p)->unitType, ODR_CONTEXT, 2, 0, "unitType") &&
926 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
927 odr_sequence_of(o, (Odr_fun) z_Units, &(*p)->units,
928 &(*p)->num_units, "units") &&
929 odr_sequence_end (o);
932 int z_Units (ODR o, Z_Units **p, int opt, const char *name)
934 if (!odr_sequence_begin (o, p, sizeof(**p), name))
935 return odr_missing(o, opt, name) && odr_ok (o);
937 odr_implicit_tag (o, z_InternationalString,
938 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
939 odr_implicit_tag (o, z_HumanString,
940 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
941 odr_explicit_tag (o, z_StringOrNumeric,
942 &(*p)->unit, ODR_CONTEXT, 2, 0, "unit") &&
943 odr_sequence_end (o);
946 int z_CategoryList (ODR o, Z_CategoryList **p, int opt, const char *name)
948 if (!odr_sequence_begin (o, p, sizeof(**p), name))
949 return odr_missing(o, opt, name) && odr_ok (o);
951 odr_implicit_tag (o, z_CommonInfo,
952 &(*p)->commonInfo, ODR_CONTEXT, 0, 1, "commonInfo") &&
953 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
954 odr_sequence_of(o, (Odr_fun) z_CategoryInfo, &(*p)->categories,
955 &(*p)->num_categories, "categories") &&
956 odr_sequence_end (o);
959 int z_CategoryInfo (ODR o, Z_CategoryInfo **p, int opt, const char *name)
961 if (!odr_sequence_begin (o, p, sizeof(**p), name))
962 return odr_missing(o, opt, name) && odr_ok (o);
964 odr_implicit_tag (o, z_InternationalString,
965 &(*p)->category, ODR_CONTEXT, 1, 0, "category") &&
966 odr_implicit_tag (o, z_InternationalString,
967 &(*p)->originalCategory, ODR_CONTEXT, 2, 1, "originalCategory") &&
968 odr_implicit_tag (o, z_HumanString,
969 &(*p)->description, ODR_CONTEXT, 3, 1, "description") &&
970 odr_implicit_tag (o, z_InternationalString,
971 &(*p)->asn1Module, ODR_CONTEXT, 4, 1, "asn1Module") &&
972 odr_sequence_end (o);
975 int z_CommonInfo (ODR o, Z_CommonInfo **p, int opt, const char *name)
977 if (!odr_sequence_begin (o, p, sizeof(**p), name))
978 return odr_missing(o, opt, name) && odr_ok (o);
980 odr_implicit_tag (o, odr_generalizedtime,
981 &(*p)->dateAdded, ODR_CONTEXT, 0, 1, "dateAdded") &&
982 odr_implicit_tag (o, odr_generalizedtime,
983 &(*p)->dateChanged, ODR_CONTEXT, 1, 1, "dateChanged") &&
984 odr_implicit_tag (o, odr_generalizedtime,
985 &(*p)->expiry, ODR_CONTEXT, 2, 1, "expiry") &&
986 odr_implicit_tag (o, z_LanguageCode,
987 &(*p)->humanStringLanguage, ODR_CONTEXT, 3, 1, "humanStringLanguage") &&
988 z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
989 odr_sequence_end (o);
992 int z_HumanStringUnit (ODR o, Z_HumanStringUnit **p, int opt, const char *name)
994 if (!odr_sequence_begin (o, p, sizeof(**p), name))
995 return odr_missing(o, opt, name) && odr_ok (o);
997 odr_implicit_tag (o, z_LanguageCode,
998 &(*p)->language, ODR_CONTEXT, 0, 1, "language") &&
999 odr_implicit_tag (o, z_InternationalString,
1000 &(*p)->text, ODR_CONTEXT, 1, 0, "text") &&
1001 odr_sequence_end (o);
1004 int z_HumanString (ODR o, Z_HumanString **p, int opt, const char *name)
1006 if (!odr_initmember (o, p, sizeof(**p)))
1007 return odr_missing(o, opt, name);
1008 if (odr_sequence_of (o, (Odr_fun) z_HumanStringUnit, &(*p)->strings,
1009 &(*p)->num_strings, name))
1011 if(o->direction == ODR_DECODE)
1013 return odr_missing(o, opt, name);
1016 int z_IconObjectUnit (ODR o, Z_IconObjectUnit **p, int opt, const char *name)
1018 static Odr_arm arm[] = {
1019 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_IconObjectUnit_ianaType,
1020 (Odr_fun) z_InternationalString, "ianaType"},
1021 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_IconObjectUnit_z3950type,
1022 (Odr_fun) z_InternationalString, "z3950type"},
1023 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_IconObjectUnit_otherType,
1024 (Odr_fun) z_InternationalString, "otherType"},
1025 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1027 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1028 return odr_missing(o, opt, name) && odr_ok (o);
1030 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "bodyType") &&
1031 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
1032 odr_constructed_end (o) &&
1033 odr_implicit_tag (o, odr_octetstring,
1034 &(*p)->content, ODR_CONTEXT, 2, 0, "content") &&
1035 odr_sequence_end (o);
1038 int z_IconObject (ODR o, Z_IconObject **p, int opt, const char *name)
1040 if (!odr_initmember (o, p, sizeof(**p)))
1041 return odr_missing(o, opt, name);
1042 if (odr_sequence_of (o, (Odr_fun) z_IconObjectUnit, &(*p)->elements,
1045 if(o->direction == ODR_DECODE)
1047 return odr_missing(o, opt, name);
1050 int z_LanguageCode (ODR o, Z_LanguageCode **p, int opt, const char *name)
1052 return z_InternationalString (o, p, opt, name);
1055 int z_ContactInfo (ODR o, Z_ContactInfo **p, int opt, const char *name)
1057 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1058 return odr_missing(o, opt, name) && odr_ok (o);
1060 odr_implicit_tag (o, z_InternationalString,
1061 &(*p)->name, ODR_CONTEXT, 0, 1, "name") &&
1062 odr_implicit_tag (o, z_HumanString,
1063 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1064 odr_implicit_tag (o, z_HumanString,
1065 &(*p)->address, ODR_CONTEXT, 2, 1, "address") &&
1066 odr_implicit_tag (o, z_InternationalString,
1067 &(*p)->email, ODR_CONTEXT, 3, 1, "email") &&
1068 odr_implicit_tag (o, z_InternationalString,
1069 &(*p)->phone, ODR_CONTEXT, 4, 1, "phone") &&
1070 odr_sequence_end (o);
1073 int z_NetworkAddressIA (ODR o, Z_NetworkAddressIA **p, int opt, const char *name)
1075 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1076 return odr_missing(o, opt, name) && odr_ok (o);
1078 odr_implicit_tag (o, z_InternationalString,
1079 &(*p)->hostAddress, ODR_CONTEXT, 0, 0, "hostAddress") &&
1080 odr_implicit_tag (o, odr_integer,
1081 &(*p)->port, ODR_CONTEXT, 1, 0, "port") &&
1082 odr_sequence_end (o);
1085 int z_NetworkAddressOPA (ODR o, Z_NetworkAddressOPA **p, int opt, const char *name)
1087 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1088 return odr_missing(o, opt, name) && odr_ok (o);
1090 odr_implicit_tag (o, z_InternationalString,
1091 &(*p)->pSel, ODR_CONTEXT, 0, 0, "pSel") &&
1092 odr_implicit_tag (o, z_InternationalString,
1093 &(*p)->sSel, ODR_CONTEXT, 1, 1, "sSel") &&
1094 odr_implicit_tag (o, z_InternationalString,
1095 &(*p)->tSel, ODR_CONTEXT, 2, 1, "tSel") &&
1096 odr_implicit_tag (o, z_InternationalString,
1097 &(*p)->nSap, ODR_CONTEXT, 3, 0, "nSap") &&
1098 odr_sequence_end (o);
1101 int z_NetworkAddressOther (ODR o, Z_NetworkAddressOther **p, int opt, const char *name)
1103 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1104 return odr_missing(o, opt, name) && odr_ok (o);
1106 odr_implicit_tag (o, z_InternationalString,
1107 &(*p)->type, ODR_CONTEXT, 0, 0, "type") &&
1108 odr_implicit_tag (o, z_InternationalString,
1109 &(*p)->address, ODR_CONTEXT, 1, 0, "address") &&
1110 odr_sequence_end (o);
1113 int z_NetworkAddress (ODR o, Z_NetworkAddress **p, int opt, const char *name)
1115 static Odr_arm arm[] = {
1116 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_NetworkAddress_iA,
1117 (Odr_fun) z_NetworkAddressIA, "internetAddress"},
1118 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_NetworkAddress_oPA,
1119 (Odr_fun) z_NetworkAddressOPA, "osiPresentationAddress"},
1120 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_NetworkAddress_other,
1121 (Odr_fun) z_NetworkAddressOther, "other"},
1122 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1124 if (!odr_initmember(o, p, sizeof(**p)))
1125 return odr_missing(o, opt, name);
1126 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1128 if(o->direction == ODR_DECODE)
1130 return odr_missing(o, opt, name);
1133 int z_AccessInfo (ODR o, Z_AccessInfo **p, int opt, const char *name)
1135 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1136 return odr_missing(o, opt, name) && odr_ok (o);
1138 odr_implicit_settag (o, ODR_CONTEXT, 0) &&
1139 (odr_sequence_of(o, (Odr_fun) z_QueryTypeDetails, &(*p)->queryTypesSupported,
1140 &(*p)->num_queryTypesSupported, "queryTypesSupported") || odr_ok(o)) &&
1141 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1142 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->diagnosticsSets,
1143 &(*p)->num_diagnosticsSets, "diagnosticsSets") || odr_ok(o)) &&
1144 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
1145 (odr_sequence_of(o, (Odr_fun) z_AttributeSetId, &(*p)->attributeSetIds,
1146 &(*p)->num_attributeSetIds, "attributeSetIds") || odr_ok(o)) &&
1147 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
1148 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->schemas,
1149 &(*p)->num_schemas, "schemas") || odr_ok(o)) &&
1150 odr_implicit_settag (o, ODR_CONTEXT, 4) &&
1151 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->recordSyntaxes,
1152 &(*p)->num_recordSyntaxes, "recordSyntaxes") || odr_ok(o)) &&
1153 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
1154 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->resourceChallenges,
1155 &(*p)->num_resourceChallenges, "resourceChallenges") || odr_ok(o)) &&
1156 odr_implicit_tag (o, z_AccessRestrictions,
1157 &(*p)->restrictedAccess, ODR_CONTEXT, 6, 1, "restrictedAccess") &&
1158 odr_implicit_tag (o, z_Costs,
1159 &(*p)->costInfo, ODR_CONTEXT, 8, 1, "costInfo") &&
1160 odr_implicit_settag (o, ODR_CONTEXT, 9) &&
1161 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->variantSets,
1162 &(*p)->num_variantSets, "variantSets") || odr_ok(o)) &&
1163 odr_implicit_settag (o, ODR_CONTEXT, 10) &&
1164 (odr_sequence_of(o, (Odr_fun) z_ElementSetName, &(*p)->elementSetNames,
1165 &(*p)->num_elementSetNames, "elementSetNames") || odr_ok(o)) &&
1166 odr_implicit_settag (o, ODR_CONTEXT, 11) &&
1167 odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->unitSystems,
1168 &(*p)->num_unitSystems, "unitSystems") &&
1169 odr_sequence_end (o);
1172 int z_QueryTypeDetails (ODR o, Z_QueryTypeDetails **p, int opt, const char *name)
1174 static Odr_arm arm[] = {
1175 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_QueryTypeDetails_private,
1176 (Odr_fun) z_PrivateCapabilities, "zprivate"},
1177 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_QueryTypeDetails_rpn,
1178 (Odr_fun) z_RpnCapabilities, "rpn"},
1179 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_QueryTypeDetails_iso8777,
1180 (Odr_fun) z_Iso8777Capabilities, "iso8777"},
1181 {ODR_IMPLICIT, ODR_CONTEXT, 100, Z_QueryTypeDetails_z39_58,
1182 (Odr_fun) z_HumanString, "z39_58"},
1183 {ODR_IMPLICIT, ODR_CONTEXT, 101, Z_QueryTypeDetails_erpn,
1184 (Odr_fun) z_RpnCapabilities, "erpn"},
1185 {ODR_IMPLICIT, ODR_CONTEXT, 102, Z_QueryTypeDetails_rankedList,
1186 (Odr_fun) z_HumanString, "rankedList"},
1187 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1189 if (!odr_initmember(o, p, sizeof(**p)))
1190 return odr_missing(o, opt, name);
1191 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1193 if(o->direction == ODR_DECODE)
1195 return odr_missing(o, opt, name);
1198 int z_PrivateCapOperator (ODR o, Z_PrivateCapOperator **p, int opt, const char *name)
1200 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1201 return odr_missing(o, opt, name) && odr_ok (o);
1203 odr_implicit_tag (o, z_InternationalString,
1204 &(*p)->roperator, ODR_CONTEXT, 0, 0, "roperator") &&
1205 odr_implicit_tag (o, z_HumanString,
1206 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1207 odr_sequence_end (o);
1210 int z_PrivateCapabilities (ODR o, Z_PrivateCapabilities **p, int opt, const char *name)
1212 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1213 return odr_missing(o, opt, name) && odr_ok (o);
1215 odr_implicit_settag (o, ODR_CONTEXT, 0) &&
1216 (odr_sequence_of(o, (Odr_fun) z_PrivateCapOperator, &(*p)->operators,
1217 &(*p)->num_operators, "operators") || odr_ok(o)) &&
1218 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1219 (odr_sequence_of(o, (Odr_fun) z_SearchKey, &(*p)->searchKeys,
1220 &(*p)->num_searchKeys, "searchKeys") || odr_ok(o)) &&
1221 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
1222 (odr_sequence_of(o, (Odr_fun) z_HumanString, &(*p)->description,
1223 &(*p)->num_description, "description") || odr_ok(o)) &&
1224 odr_sequence_end (o);
1227 int z_RpnCapabilities (ODR o, Z_RpnCapabilities **p, int opt, const char *name)
1229 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1230 return odr_missing(o, opt, name) && odr_ok (o);
1232 odr_implicit_settag (o, ODR_CONTEXT, 0) &&
1233 (odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->operators,
1234 &(*p)->num_operators, "operators") || odr_ok(o)) &&
1235 odr_implicit_tag (o, odr_bool,
1236 &(*p)->resultSetAsOperandSupported, ODR_CONTEXT, 1, 0, "resultSetAsOperandSupported") &&
1237 odr_implicit_tag (o, odr_bool,
1238 &(*p)->restrictionOperandSupported, ODR_CONTEXT, 2, 0, "restrictionOperandSupported") &&
1239 odr_implicit_tag (o, z_ProximitySupport,
1240 &(*p)->proximity, ODR_CONTEXT, 3, 1, "proximity") &&
1241 odr_sequence_end (o);
1244 int z_Iso8777Capabilities (ODR o, Z_Iso8777Capabilities **p, int opt, const char *name)
1246 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1247 return odr_missing(o, opt, name) && odr_ok (o);
1249 odr_implicit_settag (o, ODR_CONTEXT, 0) &&
1250 odr_sequence_of(o, (Odr_fun) z_SearchKey, &(*p)->searchKeys,
1251 &(*p)->num_searchKeys, "searchKeys") &&
1252 odr_implicit_tag (o, z_HumanString,
1253 &(*p)->restrictions, ODR_CONTEXT, 1, 1, "restrictions") &&
1254 odr_sequence_end (o);
1257 int z_ProxSupportPrivate (ODR o, Z_ProxSupportPrivate **p, int opt, const char *name)
1259 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1260 return odr_missing(o, opt, name) && odr_ok (o);
1262 odr_implicit_tag (o, odr_integer,
1263 &(*p)->unit, ODR_CONTEXT, 0, 0, "unit") &&
1264 odr_explicit_tag (o, z_HumanString,
1265 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1266 odr_sequence_end (o);
1269 int z_ProxSupportUnit (ODR o, Z_ProxSupportUnit **p, int opt, const char *name)
1271 static Odr_arm arm[] = {
1272 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ProxSupportUnit_known,
1273 (Odr_fun) odr_integer, "known"},
1274 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ProxSupportUnit_private,
1275 (Odr_fun) z_ProxSupportPrivate, "zprivate"},
1276 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1278 if (!odr_initmember(o, p, sizeof(**p)))
1279 return odr_missing(o, opt, name);
1280 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1282 if(o->direction == ODR_DECODE)
1284 return odr_missing(o, opt, name);
1287 int z_ProximitySupport (ODR o, Z_ProximitySupport **p, int opt, const char *name)
1289 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1290 return odr_missing(o, opt, name) && odr_ok (o);
1292 odr_implicit_tag (o, odr_bool,
1293 &(*p)->anySupport, ODR_CONTEXT, 0, 0, "anySupport") &&
1294 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1295 (odr_sequence_of(o, (Odr_fun) z_ProxSupportUnit, &(*p)->unitsSupported,
1296 &(*p)->num_unitsSupported, "unitsSupported") || odr_ok(o)) &&
1297 odr_sequence_end (o);
1300 int z_SearchKey (ODR o, Z_SearchKey **p, int opt, const char *name)
1302 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1303 return odr_missing(o, opt, name) && odr_ok (o);
1305 odr_implicit_tag (o, z_InternationalString,
1306 &(*p)->searchKey, ODR_CONTEXT, 0, 0, "searchKey") &&
1307 odr_implicit_tag (o, z_HumanString,
1308 &(*p)->description, ODR_CONTEXT, 1, 1, "description") &&
1309 odr_sequence_end (o);
1312 int z_AccessRestrictionsUnit (ODR o, Z_AccessRestrictionsUnit **p, int opt, const char *name)
1314 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1315 return odr_missing(o, opt, name) && odr_ok (o);
1317 odr_explicit_tag (o, odr_integer,
1318 &(*p)->accessType, ODR_CONTEXT, 0, 0, "accessType") &&
1319 odr_implicit_tag (o, z_HumanString,
1320 &(*p)->accessText, ODR_CONTEXT, 1, 1, "accessText") &&
1321 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
1322 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->accessChallenges,
1323 &(*p)->num_accessChallenges, "accessChallenges") || odr_ok(o)) &&
1324 odr_sequence_end (o);
1327 int z_AccessRestrictions (ODR o, Z_AccessRestrictions **p, int opt, const char *name)
1329 if (!odr_initmember (o, p, sizeof(**p)))
1330 return odr_missing(o, opt, name);
1331 if (odr_sequence_of (o, (Odr_fun) z_AccessRestrictionsUnit, &(*p)->elements,
1334 if(o->direction == ODR_DECODE)
1336 return odr_missing(o, opt, name);
1339 int z_CostsOtherCharge (ODR o, Z_CostsOtherCharge **p, int opt, const char *name)
1341 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1342 return odr_missing(o, opt, name) && odr_ok (o);
1344 odr_implicit_tag (o, z_HumanString,
1345 &(*p)->forWhat, ODR_CONTEXT, 1, 0, "forWhat") &&
1346 odr_implicit_tag (o, z_Charge,
1347 &(*p)->charge, ODR_CONTEXT, 2, 0, "charge") &&
1348 odr_sequence_end (o);
1351 int z_Costs (ODR o, Z_Costs **p, int opt, const char *name)
1353 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1354 return odr_missing(o, opt, name) && odr_ok (o);
1356 odr_implicit_tag (o, z_Charge,
1357 &(*p)->connectCharge, ODR_CONTEXT, 0, 1, "connectCharge") &&
1358 odr_implicit_tag (o, z_Charge,
1359 &(*p)->connectTime, ODR_CONTEXT, 1, 1, "connectTime") &&
1360 odr_implicit_tag (o, z_Charge,
1361 &(*p)->displayCharge, ODR_CONTEXT, 2, 1, "displayCharge") &&
1362 odr_implicit_tag (o, z_Charge,
1363 &(*p)->searchCharge, ODR_CONTEXT, 3, 1, "searchCharge") &&
1364 odr_implicit_tag (o, z_Charge,
1365 &(*p)->subscriptCharge, ODR_CONTEXT, 4, 1, "subscriptCharge") &&
1366 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
1367 (odr_sequence_of(o, (Odr_fun) z_CostsOtherCharge, &(*p)->otherCharges,
1368 &(*p)->num_otherCharges, "otherCharges") || odr_ok(o)) &&
1369 odr_sequence_end (o);
1372 int z_Charge (ODR o, Z_Charge **p, int opt, const char *name)
1374 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1375 return odr_missing(o, opt, name) && odr_ok (o);
1377 odr_implicit_tag (o, z_IntUnit,
1378 &(*p)->cost, ODR_CONTEXT, 1, 0, "cost") &&
1379 odr_implicit_tag (o, z_Unit,
1380 &(*p)->perWhat, ODR_CONTEXT, 2, 1, "perWhat") &&
1381 odr_implicit_tag (o, z_HumanString,
1382 &(*p)->text, ODR_CONTEXT, 3, 1, "text") &&
1383 odr_sequence_end (o);
1386 int z_DatabaseList (ODR o, Z_DatabaseList **p, int opt, const char *name)
1388 if (!odr_initmember (o, p, sizeof(**p)))
1389 return odr_missing(o, opt, name);
1390 if (odr_sequence_of (o, (Odr_fun) z_DatabaseName, &(*p)->databases,
1391 &(*p)->num_databases, name))
1393 if(o->direction == ODR_DECODE)
1395 return odr_missing(o, opt, name);
1398 int z_AttributeCombinations (ODR o, Z_AttributeCombinations **p, int opt, const char *name)
1400 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1401 return odr_missing(o, opt, name) && odr_ok (o);
1403 odr_implicit_tag (o, z_AttributeSetId,
1404 &(*p)->defaultAttributeSet, ODR_CONTEXT, 0, 0, "defaultAttributeSet") &&
1405 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
1406 odr_sequence_of(o, (Odr_fun) z_AttributeCombination, &(*p)->legalCombinations,
1407 &(*p)->num_legalCombinations, "legalCombinations") &&
1408 odr_sequence_end (o);
1411 int z_AttributeCombination (ODR o, Z_AttributeCombination **p, int opt, const char *name)
1413 if (!odr_initmember (o, p, sizeof(**p)))
1414 return odr_missing(o, opt, name);
1415 if (odr_sequence_of (o, (Odr_fun) z_AttributeOccurrence, &(*p)->occurrences,
1416 &(*p)->num_occurrences, name))
1418 if(o->direction == ODR_DECODE)
1420 return odr_missing(o, opt, name);
1423 int z_AttributeValueList (ODR o, Z_AttributeValueList **p, int opt, const char *name)
1425 if (!odr_initmember (o, p, sizeof(**p)))
1426 return odr_missing(o, opt, name);
1427 if (odr_sequence_of (o, (Odr_fun) z_StringOrNumeric, &(*p)->attributes,
1428 &(*p)->num_attributes, name))
1430 if(o->direction == ODR_DECODE)
1432 return odr_missing(o, opt, name);
1435 int z_AttributeOccurrence (ODR o, Z_AttributeOccurrence **p, int opt, const char *name)
1437 static Odr_arm arm[] = {
1438 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_AttributeOcc_any_or_none,
1439 (Odr_fun) odr_null, "any_or_none"},
1440 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_AttributeOcc_specific,
1441 (Odr_fun) z_AttributeValueList, "specific"},
1442 {-1, -1, -1, -1, (Odr_fun) 0, 0}
1444 if (!odr_sequence_begin (o, p, sizeof(**p), name))
1445 return odr_missing(o, opt, name) && odr_ok (o);
1447 odr_implicit_tag (o, z_AttributeSetId,
1448 &(*p)->attributeSet, ODR_CONTEXT, 0, 1, "attributeSet") &&
1449 odr_implicit_tag (o, odr_integer,
1450 &(*p)->attributeType, ODR_CONTEXT, 1, 0, "attributeType") &&
1451 odr_implicit_tag (o, odr_null,
1452 &(*p)->mustBeSupplied, ODR_CONTEXT, 2, 1, "mustBeSupplied") &&
1453 odr_choice (o, arm, &(*p)->attributeValues, &(*p)->which, 0) &&
1454 odr_sequence_end (o);