Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / src / z-diag1.c
1 /** \file z-diag1.c
2     \brief ASN.1 Module DiagnosticFormatDiag1
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #include <yaz/z-diag1.h>
8
9 int z_DiagnosticFormat_s (ODR o, Z_DiagnosticFormat_s **p, int opt, const char *name)
10 {
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}
17         };
18         if (!odr_sequence_begin (o, p, sizeof(**p), name))
19                 return odr_missing(o, opt, name) && odr_ok (o);
20         return
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") &&
26                 odr_sequence_end (o);
27 }
28
29 int z_DiagnosticFormat (ODR o, Z_DiagnosticFormat **p, int opt, const char *name)
30 {
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,
34                 &(*p)->num, name))
35                 return 1;
36         if(o->direction == ODR_DECODE)
37                 *p = 0;
38         return odr_missing(o, opt, name);
39 }
40
41 int z_TooMany (ODR o, Z_TooMany **p, int opt, const char *name)
42 {
43         if (!odr_sequence_begin (o, p, sizeof(**p), name))
44                 return odr_missing(o, opt, name) && odr_ok (o);
45         return
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") &&
50                 odr_sequence_end (o);
51 }
52
53 int z_BadSpec (ODR o, Z_BadSpec **p, int opt, const char *name)
54 {
55         if (!odr_sequence_begin (o, p, sizeof(**p), name))
56                 return odr_missing(o, opt, name) && odr_ok (o);
57         return
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)) &&
65                 odr_sequence_end (o);
66 }
67
68 int z_DbUnavail_0 (ODR o, Z_DbUnavail_0 **p, int opt, const char *name)
69 {
70         if (!odr_sequence_begin (o, p, sizeof(**p), name))
71                 return odr_missing(o, opt, name) && odr_ok (o);
72         return
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") &&
77                 odr_sequence_end (o);
78 }
79
80 int z_DbUnavail (ODR o, Z_DbUnavail **p, int opt, const char *name)
81 {
82         if (!odr_sequence_begin (o, p, sizeof(**p), name))
83                 return odr_missing(o, opt, name) && odr_ok (o);
84         return
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") &&
89                 odr_sequence_end (o);
90 }
91
92 int z_Attribute (ODR o, Z_Attribute **p, int opt, const char *name)
93 {
94         if (!odr_sequence_begin (o, p, sizeof(**p), name))
95                 return odr_missing(o, opt, name) && odr_ok (o);
96         return
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);
106 }
107
108 int z_AttCombo (ODR o, Z_AttCombo **p, int opt, const char *name)
109 {
110         if (!odr_sequence_begin (o, p, sizeof(**p), name))
111                 return odr_missing(o, opt, name) && odr_ok (o);
112         return
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);
119 }
120
121 int z_DiagTerm (ODR o, Z_DiagTerm **p, int opt, const char *name)
122 {
123         if (!odr_sequence_begin (o, p, sizeof(**p), name))
124                 return odr_missing(o, opt, name) && odr_ok (o);
125         return
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);
131 }
132
133 int z_Proximity (ODR o, Z_Proximity **p, int opt, const char *name)
134 {
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}
153         };
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))
157                 return 1;
158         if(o->direction == ODR_DECODE)
159                 *p = 0;
160         return odr_missing(o, opt, name);
161 }
162
163 int z_AttrListList (ODR o, Z_AttrListList **p, int opt, const char *name)
164 {
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,
168                 &(*p)->num, name))
169                 return 1;
170         if(o->direction == ODR_DECODE)
171                 *p = 0;
172         return odr_missing(o, opt, name);
173 }
174
175 int z_Scan (ODR o, Z_Scan **p, int opt, const char *name)
176 {
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}
193         };
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))
197                 return 1;
198         if(o->direction == ODR_DECODE)
199                 *p = 0;
200         return odr_missing(o, opt, name);
201 }
202
203 int z_StringList (ODR o, Z_StringList **p, int opt, const char *name)
204 {
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,
208                 &(*p)->num, name))
209                 return 1;
210         if(o->direction == ODR_DECODE)
211                 *p = 0;
212         return odr_missing(o, opt, name);
213 }
214
215 int z_Sort (ODR o, Z_Sort **p, int opt, const char *name)
216 {
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}
243         };
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))
247                 return 1;
248         if(o->direction == ODR_DECODE)
249                 *p = 0;
250         return odr_missing(o, opt, name);
251 }
252
253 int z_Segmentation (ODR o, Z_Segmentation **p, int opt, const char *name)
254 {
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}
261         };
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))
265                 return 1;
266         if(o->direction == ODR_DECODE)
267                 *p = 0;
268         return odr_missing(o, opt, name);
269 }
270
271 int z_ExtServices (ODR o, Z_ExtServices **p, int opt, const char *name)
272 {
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}
281         };
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))
285                 return 1;
286         if(o->direction == ODR_DECODE)
287                 *p = 0;
288         return odr_missing(o, opt, name);
289 }
290
291 int z_OidList (ODR o, Z_OidList **p, int opt, const char *name)
292 {
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,
296                 &(*p)->num, name))
297                 return 1;
298         if(o->direction == ODR_DECODE)
299                 *p = 0;
300         return odr_missing(o, opt, name);
301 }
302
303 int z_AltOidList (ODR o, Z_AltOidList **p, int opt, const char *name)
304 {
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,
308                 &(*p)->num, name))
309                 return 1;
310         if(o->direction == ODR_DECODE)
311                 *p = 0;
312         return odr_missing(o, opt, name);
313 }
314
315 int z_AccessCtrl (ODR o, Z_AccessCtrl **p, int opt, const char *name)
316 {
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}
333         };
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))
337                 return 1;
338         if(o->direction == ODR_DECODE)
339                 *p = 0;
340         return odr_missing(o, opt, name);
341 }
342
343 int z_RecordSyntax (ODR o, Z_RecordSyntax **p, int opt, const char *name)
344 {
345         if (!odr_sequence_begin (o, p, sizeof(**p), name))
346                 return odr_missing(o, opt, name) && odr_ok (o);
347         return
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);
354 }
355
356 int z_DiagFormat (ODR o, Z_DiagFormat **p, int opt, const char *name)
357 {
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}
388         };
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))
392                 return 1;
393         if(o->direction == ODR_DECODE)
394                 *p = 0;
395         return odr_missing(o, opt, name);
396 }