2 \brief ASN.1 Module DiagnosticFormatDiag1
4 Generated automatically by YAZ ASN.1 Compiler 0.4
7 #include <yaz/z-diag1.h>
9 int z_DiagnosticFormat_s (ODR o, Z_DiagnosticFormat_s **p, int opt, const char *name)
11 static Odr_arm arm[] = {
12 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DiagnosticFormat_s_defaultDiagRec,
13 (Odr_fun) z_DefaultDiagFormat, "defaultDiagRec"},
14 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_DiagnosticFormat_s_explicitDiagnostic,
15 (Odr_fun) z_DiagFormat, "explicitDiagnostic"},
16 {-1, -1, -1, -1, (Odr_fun) 0, 0}
18 if (!odr_sequence_begin (o, p, sizeof(**p), name))
19 return odr_missing(o, opt, name) && odr_ok (o);
21 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "diagnostic") &&
22 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
23 odr_constructed_end (o)) || odr_ok(o)) &&
24 odr_implicit_tag (o, z_InternationalString,
25 &(*p)->message, ODR_CONTEXT, 2, 1, "message") &&
29 int z_DiagnosticFormat (ODR o, Z_DiagnosticFormat **p, int opt, const char *name)
31 if (!odr_initmember (o, p, sizeof(**p)))
32 return odr_missing(o, opt, name);
33 if (odr_sequence_of (o, (Odr_fun) z_DiagnosticFormat_s, &(*p)->elements,
36 if(o->direction == ODR_DECODE)
38 return odr_missing(o, opt, name);
41 int z_TooMany (ODR o, Z_TooMany **p, int opt, const char *name)
43 if (!odr_sequence_begin (o, p, sizeof(**p), name))
44 return odr_missing(o, opt, name) && odr_ok (o);
46 odr_implicit_tag (o, odr_integer,
47 &(*p)->tooManyWhat, ODR_CONTEXT, 1, 0, "tooManyWhat") &&
48 odr_implicit_tag (o, odr_integer,
49 &(*p)->max, ODR_CONTEXT, 2, 1, "max") &&
53 int z_BadSpec (ODR o, Z_BadSpec **p, int opt, const char *name)
55 if (!odr_sequence_begin (o, p, sizeof(**p), name))
56 return odr_missing(o, opt, name) && odr_ok (o);
58 odr_implicit_tag (o, z_Specification,
59 &(*p)->spec, ODR_CONTEXT, 1, 0, "spec") &&
60 odr_implicit_tag (o, z_DatabaseName,
61 &(*p)->db, ODR_CONTEXT, 2, 1, "db") &&
62 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
63 (odr_sequence_of(o, (Odr_fun) z_Specification, &(*p)->goodOnes,
64 &(*p)->num_goodOnes, "goodOnes") || odr_ok(o)) &&
68 int z_DbUnavail_0 (ODR o, Z_DbUnavail_0 **p, int opt, const char *name)
70 if (!odr_sequence_begin (o, p, sizeof(**p), name))
71 return odr_missing(o, opt, name) && odr_ok (o);
73 odr_implicit_tag (o, odr_integer,
74 &(*p)->reasonCode, ODR_CONTEXT, 1, 1, "reasonCode") &&
75 odr_implicit_tag (o, z_InternationalString,
76 &(*p)->message, ODR_CONTEXT, 2, 1, "message") &&
80 int z_DbUnavail (ODR o, Z_DbUnavail **p, int opt, const char *name)
82 if (!odr_sequence_begin (o, p, sizeof(**p), name))
83 return odr_missing(o, opt, name) && odr_ok (o);
85 odr_implicit_tag (o, z_DatabaseName,
86 &(*p)->db, ODR_CONTEXT, 1, 0, "db") &&
87 odr_implicit_tag (o, z_DbUnavail_0,
88 &(*p)->why, ODR_CONTEXT, 2, 0, "why") &&
92 int z_Attribute (ODR o, Z_Attribute **p, int opt, const char *name)
94 if (!odr_sequence_begin (o, p, sizeof(**p), name))
95 return odr_missing(o, opt, name) && odr_ok (o);
97 odr_implicit_tag (o, odr_oid,
98 &(*p)->id, ODR_CONTEXT, 1, 0, "id") &&
99 odr_implicit_tag (o, odr_integer,
100 &(*p)->type, ODR_CONTEXT, 2, 1, "type") &&
101 odr_implicit_tag (o, odr_integer,
102 &(*p)->value, ODR_CONTEXT, 3, 1, "value") &&
103 odr_explicit_tag (o, z_Term,
104 &(*p)->term, ODR_CONTEXT, 4, 1, "term") &&
105 odr_sequence_end (o);
108 int z_AttCombo (ODR o, Z_AttCombo **p, int opt, const char *name)
110 if (!odr_sequence_begin (o, p, sizeof(**p), name))
111 return odr_missing(o, opt, name) && odr_ok (o);
113 odr_implicit_tag (o, z_AttributeList,
114 &(*p)->unsupportedCombination, ODR_CONTEXT, 1, 0, "unsupportedCombination") &&
115 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
116 (odr_sequence_of(o, (Odr_fun) z_AttributeList, &(*p)->recommendedAlternatives,
117 &(*p)->num_recommendedAlternatives, "recommendedAlternatives") || odr_ok(o)) &&
118 odr_sequence_end (o);
121 int z_DiagTerm (ODR o, Z_DiagTerm **p, int opt, const char *name)
123 if (!odr_sequence_begin (o, p, sizeof(**p), name))
124 return odr_missing(o, opt, name) && odr_ok (o);
126 odr_implicit_tag (o, odr_integer,
127 &(*p)->problem, ODR_CONTEXT, 1, 1, "problem") &&
128 odr_explicit_tag (o, z_Term,
129 &(*p)->term, ODR_CONTEXT, 2, 0, "term") &&
130 odr_sequence_end (o);
133 int z_Proximity (ODR o, Z_Proximity **p, int opt, const char *name)
135 static Odr_arm arm[] = {
136 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Proximity_resultSets,
137 (Odr_fun) odr_null, "resultSets"},
138 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Proximity_badSet,
139 (Odr_fun) z_InternationalString, "badSet"},
140 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Proximity_relation,
141 (Odr_fun) odr_integer, "relation"},
142 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Proximity_unit,
143 (Odr_fun) odr_integer, "unit"},
144 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Proximity_distance,
145 (Odr_fun) odr_integer, "distance"},
146 {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_Proximity_attributes,
147 (Odr_fun) z_AttributeList, "attributes"},
148 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Proximity_ordered,
149 (Odr_fun) odr_null, "ordered"},
150 {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_Proximity_exclusion,
151 (Odr_fun) odr_null, "exclusion"},
152 {-1, -1, -1, -1, (Odr_fun) 0, 0}
154 if (!odr_initmember(o, p, sizeof(**p)))
155 return odr_missing(o, opt, name);
156 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
158 if(o->direction == ODR_DECODE)
160 return odr_missing(o, opt, name);
163 int z_AttrListList (ODR o, Z_AttrListList **p, int opt, const char *name)
165 if (!odr_initmember (o, p, sizeof(**p)))
166 return odr_missing(o, opt, name);
167 if (odr_sequence_of (o, (Odr_fun) z_AttributeList, &(*p)->elements,
170 if(o->direction == ODR_DECODE)
172 return odr_missing(o, opt, name);
175 int z_Scan (ODR o, Z_Scan **p, int opt, const char *name)
177 static Odr_arm arm[] = {
178 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Scan_nonZeroStepSize,
179 (Odr_fun) odr_null, "nonZeroStepSize"},
180 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Scan_specifiedStepSize,
181 (Odr_fun) odr_null, "specifiedStepSize"},
182 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Scan_termList1,
183 (Odr_fun) odr_null, "termList1"},
184 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Scan_termList2,
185 (Odr_fun) z_AttrListList, "termList2"},
186 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Scan_posInResponse,
187 (Odr_fun) odr_integer, "posInResponse"},
188 {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_Scan_resources,
189 (Odr_fun) odr_null, "resources"},
190 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Scan_endOfList,
191 (Odr_fun) odr_null, "endOfList"},
192 {-1, -1, -1, -1, (Odr_fun) 0, 0}
194 if (!odr_initmember(o, p, sizeof(**p)))
195 return odr_missing(o, opt, name);
196 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
198 if(o->direction == ODR_DECODE)
200 return odr_missing(o, opt, name);
203 int z_StringList (ODR o, Z_StringList **p, int opt, const char *name)
205 if (!odr_initmember (o, p, sizeof(**p)))
206 return odr_missing(o, opt, name);
207 if (odr_sequence_of (o, (Odr_fun) z_InternationalString, &(*p)->elements,
210 if(o->direction == ODR_DECODE)
212 return odr_missing(o, opt, name);
215 int z_Sort (ODR o, Z_Sort **p, int opt, const char *name)
217 static Odr_arm arm[] = {
218 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_SortD_sequence,
219 (Odr_fun) odr_null, "sequence"},
220 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_SortD_noRsName,
221 (Odr_fun) odr_null, "noRsName"},
222 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_SortD_tooMany,
223 (Odr_fun) odr_integer, "tooMany"},
224 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_SortD_incompatible,
225 (Odr_fun) odr_null, "incompatible"},
226 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_SortD_generic,
227 (Odr_fun) odr_null, "generic"},
228 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_SortD_dbSpecific,
229 (Odr_fun) odr_null, "dbSpecific"},
230 {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_SortD_sortElement,
231 (Odr_fun) z_SortElement, "sortElement"},
232 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_SortD_key,
233 (Odr_fun) odr_integer, "key"},
234 {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_SortD_action,
235 (Odr_fun) odr_null, "action"},
236 {ODR_IMPLICIT, ODR_CONTEXT, 9, Z_SortD_illegal,
237 (Odr_fun) odr_integer, "illegal"},
238 {ODR_IMPLICIT, ODR_CONTEXT, 10, Z_SortD_inputTooLarge,
239 (Odr_fun) z_StringList, "inputTooLarge"},
240 {ODR_IMPLICIT, ODR_CONTEXT, 11, Z_SortD_aggregateTooLarge,
241 (Odr_fun) odr_null, "aggregateTooLarge"},
242 {-1, -1, -1, -1, (Odr_fun) 0, 0}
244 if (!odr_initmember(o, p, sizeof(**p)))
245 return odr_missing(o, opt, name);
246 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
248 if(o->direction == ODR_DECODE)
250 return odr_missing(o, opt, name);
253 int z_Segmentation (ODR o, Z_Segmentation **p, int opt, const char *name)
255 static Odr_arm arm[] = {
256 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Segmentation_segmentCount,
257 (Odr_fun) odr_null, "segmentCount"},
258 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Segmentation_segmentSize,
259 (Odr_fun) odr_integer, "segmentSize"},
260 {-1, -1, -1, -1, (Odr_fun) 0, 0}
262 if (!odr_initmember(o, p, sizeof(**p)))
263 return odr_missing(o, opt, name);
264 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
266 if(o->direction == ODR_DECODE)
268 return odr_missing(o, opt, name);
271 int z_ExtServices (ODR o, Z_ExtServices **p, int opt, const char *name)
273 static Odr_arm arm[] = {
274 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ExtServices_req,
275 (Odr_fun) odr_integer, "req"},
276 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ExtServices_permission,
277 (Odr_fun) odr_integer, "permission"},
278 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ExtServices_immediate,
279 (Odr_fun) odr_integer, "immediate"},
280 {-1, -1, -1, -1, (Odr_fun) 0, 0}
282 if (!odr_initmember(o, p, sizeof(**p)))
283 return odr_missing(o, opt, name);
284 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
286 if(o->direction == ODR_DECODE)
288 return odr_missing(o, opt, name);
291 int z_OidList (ODR o, Z_OidList **p, int opt, const char *name)
293 if (!odr_initmember (o, p, sizeof(**p)))
294 return odr_missing(o, opt, name);
295 if (odr_sequence_of (o, (Odr_fun) odr_oid, &(*p)->elements,
298 if(o->direction == ODR_DECODE)
300 return odr_missing(o, opt, name);
303 int z_AltOidList (ODR o, Z_AltOidList **p, int opt, const char *name)
305 if (!odr_initmember (o, p, sizeof(**p)))
306 return odr_missing(o, opt, name);
307 if (odr_sequence_of (o, (Odr_fun) odr_oid, &(*p)->elements,
310 if(o->direction == ODR_DECODE)
312 return odr_missing(o, opt, name);
315 int z_AccessCtrl (ODR o, Z_AccessCtrl **p, int opt, const char *name)
317 static Odr_arm arm[] = {
318 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_AccessCtrl_noUser,
319 (Odr_fun) odr_null, "noUser"},
320 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_AccessCtrl_refused,
321 (Odr_fun) odr_null, "refused"},
322 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_AccessCtrl_simple,
323 (Odr_fun) odr_null, "simple"},
324 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_AccessCtrl_oid,
325 (Odr_fun) z_OidList, "oid"},
326 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_AccessCtrl_alternative,
327 (Odr_fun) z_AltOidList, "alternative"},
328 {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_AccessCtrl_pwdInv,
329 (Odr_fun) odr_null, "pwdInv"},
330 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_AccessCtrl_pwdExp,
331 (Odr_fun) odr_null, "pwdExp"},
332 {-1, -1, -1, -1, (Odr_fun) 0, 0}
334 if (!odr_initmember(o, p, sizeof(**p)))
335 return odr_missing(o, opt, name);
336 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
338 if(o->direction == ODR_DECODE)
340 return odr_missing(o, opt, name);
343 int z_RecordSyntax (ODR o, Z_RecordSyntax **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, odr_oid,
349 &(*p)->unsupportedSyntax, ODR_CONTEXT, 1, 0, "unsupportedSyntax") &&
350 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
351 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->suggestedAlternatives,
352 &(*p)->num_suggestedAlternatives, "suggestedAlternatives") || odr_ok(o)) &&
353 odr_sequence_end (o);
356 int z_DiagFormat (ODR o, Z_DiagFormat **p, int opt, const char *name)
358 static Odr_arm arm[] = {
359 {ODR_IMPLICIT, ODR_CONTEXT, 1000, Z_DiagFormat_tooMany,
360 (Odr_fun) z_TooMany, "tooMany"},
361 {ODR_IMPLICIT, ODR_CONTEXT, 1001, Z_DiagFormat_badSpec,
362 (Odr_fun) z_BadSpec, "badSpec"},
363 {ODR_IMPLICIT, ODR_CONTEXT, 1002, Z_DiagFormat_dbUnavail,
364 (Odr_fun) z_DbUnavail, "dbUnavail"},
365 {ODR_IMPLICIT, ODR_CONTEXT, 1003, Z_DiagFormat_unSupOp,
366 (Odr_fun) odr_integer, "unSupOp"},
367 {ODR_IMPLICIT, ODR_CONTEXT, 1004, Z_DiagFormat_attribute,
368 (Odr_fun) z_Attribute, "attribute"},
369 {ODR_IMPLICIT, ODR_CONTEXT, 1005, Z_DiagFormat_attCombo,
370 (Odr_fun) z_AttCombo, "attCombo"},
371 {ODR_IMPLICIT, ODR_CONTEXT, 1006, Z_DiagFormat_term,
372 (Odr_fun) z_DiagTerm, "term"},
373 {ODR_EXPLICIT, ODR_CONTEXT, 1007, Z_DiagFormat_proximity,
374 (Odr_fun) z_Proximity, "proximity"},
375 {ODR_EXPLICIT, ODR_CONTEXT, 1008, Z_DiagFormat_scan,
376 (Odr_fun) z_Scan, "scan"},
377 {ODR_EXPLICIT, ODR_CONTEXT, 1009, Z_DiagFormat_sort,
378 (Odr_fun) z_Sort, "sort"},
379 {ODR_EXPLICIT, ODR_CONTEXT, 1010, Z_DiagFormat_segmentation,
380 (Odr_fun) z_Segmentation, "segmentation"},
381 {ODR_EXPLICIT, ODR_CONTEXT, 1011, Z_DiagFormat_extServices,
382 (Odr_fun) z_ExtServices, "extServices"},
383 {ODR_EXPLICIT, ODR_CONTEXT, 1012, Z_DiagFormat_accessCtrl,
384 (Odr_fun) z_AccessCtrl, "accessCtrl"},
385 {ODR_IMPLICIT, ODR_CONTEXT, 1013, Z_DiagFormat_recordSyntax,
386 (Odr_fun) z_RecordSyntax, "recordSyntax"},
387 {-1, -1, -1, -1, (Odr_fun) 0, 0}
389 if (!odr_initmember(o, p, sizeof(**p)))
390 return odr_missing(o, opt, name);
391 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
393 if(o->direction == ODR_DECODE)
395 return odr_missing(o, opt, name);