source: trunk/gsdl/packages/yaz/z39.50/z-diag1.c@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 12.6 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-C: DiagnosticFormatDiag1 */
3
4#include <yaz/z-diag1.h>
5
6int z_DiagnosticFormat_s (ODR o, Z_DiagnosticFormat_s **p, int opt, const char *name)
7{
8 static Odr_arm arm[] = {
9 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DiagnosticFormat_s_defaultDiagRec,
10 (Odr_fun) z_DefaultDiagFormat, "defaultDiagRec"},
11 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_DiagnosticFormat_s_explicitDiagnostic,
12 (Odr_fun) z_DiagFormat, "explicitDiagnostic"},
13 {-1, -1, -1, -1, (Odr_fun) 0, 0}
14 };
15 if (!odr_sequence_begin (o, p, sizeof(**p), name))
16 return opt && odr_ok (o);
17 return
18 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "diagnostic") &&
19 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
20 odr_constructed_end (o)) || odr_ok(o)) &&
21 odr_implicit_tag (o, z_InternationalString,
22 &(*p)->message, ODR_CONTEXT, 2, 1, "message") &&
23 odr_sequence_end (o);
24}
25
26int z_DiagnosticFormat (ODR o, Z_DiagnosticFormat **p, int opt, const char *name)
27{
28 if (!odr_initmember (o, p, sizeof(**p)))
29 return opt && odr_ok(o);
30 if (odr_sequence_of (o, (Odr_fun) z_DiagnosticFormat_s, &(*p)->elements,
31 &(*p)->num, name))
32 return 1;
33 *p = 0;
34 return opt && odr_ok(o);
35}
36
37int z_TooMany (ODR o, Z_TooMany **p, int opt, const char *name)
38{
39 if (!odr_sequence_begin (o, p, sizeof(**p), name))
40 return opt && odr_ok (o);
41 return
42 odr_implicit_tag (o, odr_integer,
43 &(*p)->tooManyWhat, ODR_CONTEXT, 1, 0, "tooManyWhat") &&
44 odr_implicit_tag (o, odr_integer,
45 &(*p)->max, ODR_CONTEXT, 2, 1, "max") &&
46 odr_sequence_end (o);
47}
48
49int z_BadSpec (ODR o, Z_BadSpec **p, int opt, const char *name)
50{
51 if (!odr_sequence_begin (o, p, sizeof(**p), name))
52 return opt && odr_ok (o);
53 return
54 odr_implicit_tag (o, z_Specification,
55 &(*p)->spec, ODR_CONTEXT, 1, 0, "spec") &&
56 odr_implicit_tag (o, z_DatabaseName,
57 &(*p)->db, ODR_CONTEXT, 2, 1, "db") &&
58 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
59 (odr_sequence_of(o, (Odr_fun) z_Specification, &(*p)->goodOnes,
60 &(*p)->num_goodOnes, "goodOnes") || odr_ok(o)) &&
61 odr_sequence_end (o);
62}
63
64int z_DbUnavail_0 (ODR o, Z_DbUnavail_0 **p, int opt, const char *name)
65{
66 if (!odr_sequence_begin (o, p, sizeof(**p), name))
67 return opt && odr_ok (o);
68 return
69 odr_implicit_tag (o, odr_integer,
70 &(*p)->reasonCode, ODR_CONTEXT, 1, 1, "reasonCode") &&
71 odr_implicit_tag (o, z_InternationalString,
72 &(*p)->message, ODR_CONTEXT, 2, 1, "message") &&
73 odr_sequence_end (o);
74}
75
76int z_DbUnavail (ODR o, Z_DbUnavail **p, int opt, const char *name)
77{
78 if (!odr_sequence_begin (o, p, sizeof(**p), name))
79 return opt && odr_ok (o);
80 return
81 odr_implicit_tag (o, z_DatabaseName,
82 &(*p)->db, ODR_CONTEXT, 1, 0, "db") &&
83 odr_implicit_tag (o, z_DbUnavail_0,
84 &(*p)->why, ODR_CONTEXT, 2, 0, "why") &&
85 odr_sequence_end (o);
86}
87
88int z_Attribute (ODR o, Z_Attribute **p, int opt, const char *name)
89{
90 if (!odr_sequence_begin (o, p, sizeof(**p), name))
91 return opt && odr_ok (o);
92 return
93 odr_implicit_tag (o, odr_oid,
94 &(*p)->id, ODR_CONTEXT, 1, 0, "id") &&
95 odr_implicit_tag (o, odr_integer,
96 &(*p)->type, ODR_CONTEXT, 2, 1, "type") &&
97 odr_implicit_tag (o, odr_integer,
98 &(*p)->value, ODR_CONTEXT, 3, 1, "value") &&
99 odr_explicit_tag (o, z_Term,
100 &(*p)->term, ODR_CONTEXT, 4, 1, "term") &&
101 odr_sequence_end (o);
102}
103
104int z_AttCombo (ODR o, Z_AttCombo **p, int opt, const char *name)
105{
106 if (!odr_sequence_begin (o, p, sizeof(**p), name))
107 return opt && odr_ok (o);
108 return
109 odr_implicit_tag (o, z_AttributeList,
110 &(*p)->unsupportedCombination, ODR_CONTEXT, 1, 0, "unsupportedCombination") &&
111 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
112 (odr_sequence_of(o, (Odr_fun) z_AttributeList, &(*p)->recommendedAlternatives,
113 &(*p)->num_recommendedAlternatives, "recommendedAlternatives") || odr_ok(o)) &&
114 odr_sequence_end (o);
115}
116
117int z_DiagTerm (ODR o, Z_DiagTerm **p, int opt, const char *name)
118{
119 if (!odr_sequence_begin (o, p, sizeof(**p), name))
120 return opt && odr_ok (o);
121 return
122 odr_implicit_tag (o, odr_integer,
123 &(*p)->problem, ODR_CONTEXT, 1, 1, "problem") &&
124 odr_explicit_tag (o, z_Term,
125 &(*p)->term, ODR_CONTEXT, 2, 0, "term") &&
126 odr_sequence_end (o);
127}
128
129int z_Proximity (ODR o, Z_Proximity **p, int opt, const char *name)
130{
131 static Odr_arm arm[] = {
132 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Proximity_resultSets,
133 (Odr_fun) odr_null, "resultSets"},
134 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Proximity_badSet,
135 (Odr_fun) z_InternationalString, "badSet"},
136 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Proximity_relation,
137 (Odr_fun) odr_integer, "relation"},
138 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Proximity_unit,
139 (Odr_fun) odr_integer, "unit"},
140 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Proximity_distance,
141 (Odr_fun) odr_integer, "distance"},
142 {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_Proximity_attributes,
143 (Odr_fun) z_AttributeList, "attributes"},
144 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Proximity_ordered,
145 (Odr_fun) odr_null, "ordered"},
146 {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_Proximity_exclusion,
147 (Odr_fun) odr_null, "exclusion"},
148 {-1, -1, -1, -1, (Odr_fun) 0, 0}
149 };
150 if (!odr_initmember(o, p, sizeof(**p)))
151 return opt && odr_ok(o);
152 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
153 return 1;
154 *p = 0;
155 return opt && odr_ok(o);
156}
157
158int z_AttrListList (ODR o, Z_AttrListList **p, int opt, const char *name)
159{
160 if (!odr_initmember (o, p, sizeof(**p)))
161 return opt && odr_ok(o);
162 if (odr_sequence_of (o, (Odr_fun) z_AttributeList, &(*p)->elements,
163 &(*p)->num, name))
164 return 1;
165 *p = 0;
166 return opt && odr_ok(o);
167}
168
169int z_Scan (ODR o, Z_Scan **p, int opt, const char *name)
170{
171 static Odr_arm arm[] = {
172 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Scan_nonZeroStepSize,
173 (Odr_fun) odr_null, "nonZeroStepSize"},
174 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Scan_specifiedStepSize,
175 (Odr_fun) odr_null, "specifiedStepSize"},
176 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Scan_termList1,
177 (Odr_fun) odr_null, "termList1"},
178 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Scan_termList2,
179 (Odr_fun) z_AttrListList, "termList2"},
180 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Scan_posInResponse,
181 (Odr_fun) odr_integer, "posInResponse"},
182 {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_Scan_resources,
183 (Odr_fun) odr_null, "resources"},
184 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Scan_endOfList,
185 (Odr_fun) odr_null, "endOfList"},
186 {-1, -1, -1, -1, (Odr_fun) 0, 0}
187 };
188 if (!odr_initmember(o, p, sizeof(**p)))
189 return opt && odr_ok(o);
190 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
191 return 1;
192 *p = 0;
193 return opt && odr_ok(o);
194}
195
196int z_StringList (ODR o, Z_StringList **p, int opt, const char *name)
197{
198 if (!odr_initmember (o, p, sizeof(**p)))
199 return opt && odr_ok(o);
200 if (odr_sequence_of (o, (Odr_fun) z_InternationalString, &(*p)->elements,
201 &(*p)->num, name))
202 return 1;
203 *p = 0;
204 return opt && odr_ok(o);
205}
206
207int z_Sort (ODR o, Z_Sort **p, int opt, const char *name)
208{
209 static Odr_arm arm[] = {
210 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_SortD_sequence,
211 (Odr_fun) odr_null, "sequence"},
212 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_SortD_noRsName,
213 (Odr_fun) odr_null, "noRsName"},
214 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_SortD_tooMany,
215 (Odr_fun) odr_integer, "tooMany"},
216 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_SortD_incompatible,
217 (Odr_fun) odr_null, "incompatible"},
218 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_SortD_generic,
219 (Odr_fun) odr_null, "generic"},
220 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_SortD_dbSpecific,
221 (Odr_fun) odr_null, "dbSpecific"},
222 {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_SortD_sortElement,
223 (Odr_fun) z_SortElement, "sortElement"},
224 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_SortD_key,
225 (Odr_fun) odr_integer, "key"},
226 {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_SortD_action,
227 (Odr_fun) odr_null, "action"},
228 {ODR_IMPLICIT, ODR_CONTEXT, 9, Z_SortD_illegal,
229 (Odr_fun) odr_integer, "illegal"},
230 {ODR_IMPLICIT, ODR_CONTEXT, 10, Z_SortD_inputTooLarge,
231 (Odr_fun) z_StringList, "inputTooLarge"},
232 {ODR_IMPLICIT, ODR_CONTEXT, 11, Z_SortD_aggregateTooLarge,
233 (Odr_fun) odr_null, "aggregateTooLarge"},
234 {-1, -1, -1, -1, (Odr_fun) 0, 0}
235 };
236 if (!odr_initmember(o, p, sizeof(**p)))
237 return opt && odr_ok(o);
238 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
239 return 1;
240 *p = 0;
241 return opt && odr_ok(o);
242}
243
244int z_Segmentation (ODR o, Z_Segmentation **p, int opt, const char *name)
245{
246 static Odr_arm arm[] = {
247 {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Segmentation_segmentCount,
248 (Odr_fun) odr_null, "segmentCount"},
249 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Segmentation_segmentSize,
250 (Odr_fun) odr_integer, "segmentSize"},
251 {-1, -1, -1, -1, (Odr_fun) 0, 0}
252 };
253 if (!odr_initmember(o, p, sizeof(**p)))
254 return opt && odr_ok(o);
255 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
256 return 1;
257 *p = 0;
258 return opt && odr_ok(o);
259}
260
261int z_ExtServices (ODR o, Z_ExtServices **p, int opt, const char *name)
262{
263 static Odr_arm arm[] = {
264 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ExtServices_req,
265 (Odr_fun) odr_integer, "req"},
266 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ExtServices_permission,
267 (Odr_fun) odr_integer, "permission"},
268 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ExtServices_immediate,
269 (Odr_fun) odr_integer, "immediate"},
270 {-1, -1, -1, -1, (Odr_fun) 0, 0}
271 };
272 if (!odr_initmember(o, p, sizeof(**p)))
273 return opt && odr_ok(o);
274 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
275 return 1;
276 *p = 0;
277 return opt && odr_ok(o);
278}
279
280int z_OidList (ODR o, Z_OidList **p, int opt, const char *name)
281{
282 if (!odr_initmember (o, p, sizeof(**p)))
283 return opt && odr_ok(o);
284 if (odr_sequence_of (o, (Odr_fun) odr_oid, &(*p)->elements,
285 &(*p)->num, name))
286 return 1;
287 *p = 0;
288 return opt && odr_ok(o);
289}
290
291int z_AltOidList (ODR o, Z_AltOidList **p, int opt, const char *name)
292{
293 if (!odr_initmember (o, p, sizeof(**p)))
294 return opt && odr_ok(o);
295 if (odr_sequence_of (o, (Odr_fun) odr_oid, &(*p)->elements,
296 &(*p)->num, name))
297 return 1;
298 *p = 0;
299 return opt && odr_ok(o);
300}
301
302int z_AccessCtrl (ODR o, Z_AccessCtrl **p, int opt, const char *name)
303{
304 static Odr_arm arm[] = {
305 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_AccessCtrl_noUser,
306 (Odr_fun) odr_null, "noUser"},
307 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_AccessCtrl_refused,
308 (Odr_fun) odr_null, "refused"},
309 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_AccessCtrl_simple,
310 (Odr_fun) odr_null, "simple"},
311 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_AccessCtrl_oid,
312 (Odr_fun) z_OidList, "oid"},
313 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_AccessCtrl_alternative,
314 (Odr_fun) z_AltOidList, "alternative"},
315 {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_AccessCtrl_pwdInv,
316 (Odr_fun) odr_null, "pwdInv"},
317 {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_AccessCtrl_pwdExp,
318 (Odr_fun) odr_null, "pwdExp"},
319 {-1, -1, -1, -1, (Odr_fun) 0, 0}
320 };
321 if (!odr_initmember(o, p, sizeof(**p)))
322 return opt && odr_ok(o);
323 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
324 return 1;
325 *p = 0;
326 return opt && odr_ok(o);
327}
328
329int z_RecordSyntax (ODR o, Z_RecordSyntax **p, int opt, const char *name)
330{
331 if (!odr_sequence_begin (o, p, sizeof(**p), name))
332 return opt && odr_ok (o);
333 return
334 odr_implicit_tag (o, odr_oid,
335 &(*p)->unsupportedSyntax, ODR_CONTEXT, 1, 0, "unsupportedSyntax") &&
336 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
337 (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->suggestedAlternatives,
338 &(*p)->num_suggestedAlternatives, "suggestedAlternatives") || odr_ok(o)) &&
339 odr_sequence_end (o);
340}
341
342int z_DiagFormat (ODR o, Z_DiagFormat **p, int opt, const char *name)
343{
344 static Odr_arm arm[] = {
345 {ODR_IMPLICIT, ODR_CONTEXT, 1000, Z_DiagFormat_tooMany,
346 (Odr_fun) z_TooMany, "tooMany"},
347 {ODR_IMPLICIT, ODR_CONTEXT, 1001, Z_DiagFormat_badSpec,
348 (Odr_fun) z_BadSpec, "badSpec"},
349 {ODR_IMPLICIT, ODR_CONTEXT, 1002, Z_DiagFormat_dbUnavail,
350 (Odr_fun) z_DbUnavail, "dbUnavail"},
351 {ODR_IMPLICIT, ODR_CONTEXT, 1003, Z_DiagFormat_unSupOp,
352 (Odr_fun) odr_integer, "unSupOp"},
353 {ODR_IMPLICIT, ODR_CONTEXT, 1004, Z_DiagFormat_attribute,
354 (Odr_fun) z_Attribute, "attribute"},
355 {ODR_IMPLICIT, ODR_CONTEXT, 1005, Z_DiagFormat_attCombo,
356 (Odr_fun) z_AttCombo, "attCombo"},
357 {ODR_IMPLICIT, ODR_CONTEXT, 1006, Z_DiagFormat_term,
358 (Odr_fun) z_DiagTerm, "term"},
359 {ODR_EXPLICIT, ODR_CONTEXT, 1007, Z_DiagFormat_proximity,
360 (Odr_fun) z_Proximity, "proximity"},
361 {ODR_EXPLICIT, ODR_CONTEXT, 1008, Z_DiagFormat_scan,
362 (Odr_fun) z_Scan, "scan"},
363 {ODR_EXPLICIT, ODR_CONTEXT, 1009, Z_DiagFormat_sort,
364 (Odr_fun) z_Sort, "sort"},
365 {ODR_EXPLICIT, ODR_CONTEXT, 1010, Z_DiagFormat_segmentation,
366 (Odr_fun) z_Segmentation, "segmentation"},
367 {ODR_EXPLICIT, ODR_CONTEXT, 1011, Z_DiagFormat_extServices,
368 (Odr_fun) z_ExtServices, "extServices"},
369 {ODR_EXPLICIT, ODR_CONTEXT, 1012, Z_DiagFormat_accessCtrl,
370 (Odr_fun) z_AccessCtrl, "accessCtrl"},
371 {ODR_IMPLICIT, ODR_CONTEXT, 1013, Z_DiagFormat_recordSyntax,
372 (Odr_fun) z_RecordSyntax, "recordSyntax"},
373 {-1, -1, -1, -1, (Odr_fun) 0, 0}
374 };
375 if (!odr_initmember(o, p, sizeof(**p)))
376 return opt && odr_ok(o);
377 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
378 return 1;
379 *p = 0;
380 return opt && odr_ok(o);
381}
Note: See TracBrowser for help on using the repository browser.