YAZ  5.27.1
z-core.c
Go to the documentation of this file.
1 
6 #if HAVE_CONFIG_H
7 #include <config.h>
8 #endif
9 
10 #include <yaz/z-core.h>
11 
12 int z_APDU(ODR o, Z_APDU **p, int opt, const char *name)
13 {
14  static Odr_arm arm[] = {
16  (Odr_fun) z_InitRequest, "initRequest"},
18  (Odr_fun) z_InitResponse, "initResponse"},
20  (Odr_fun) z_SearchRequest, "searchRequest"},
22  (Odr_fun) z_SearchResponse, "searchResponse"},
24  (Odr_fun) z_PresentRequest, "presentRequest"},
26  (Odr_fun) z_PresentResponse, "presentResponse"},
28  (Odr_fun) z_DeleteResultSetRequest, "deleteResultSetRequest"},
30  (Odr_fun) z_DeleteResultSetResponse, "deleteResultSetResponse"},
32  (Odr_fun) z_AccessControlRequest, "accessControlRequest"},
34  (Odr_fun) z_AccessControlResponse, "accessControlResponse"},
36  (Odr_fun) z_ResourceControlRequest, "resourceControlRequest"},
38  (Odr_fun) z_ResourceControlResponse, "resourceControlResponse"},
40  (Odr_fun) z_TriggerResourceControlRequest, "triggerResourceControlRequest"},
42  (Odr_fun) z_ResourceReportRequest, "resourceReportRequest"},
44  (Odr_fun) z_ResourceReportResponse, "resourceReportResponse"},
46  (Odr_fun) z_ScanRequest, "scanRequest"},
48  (Odr_fun) z_ScanResponse, "scanResponse"},
50  (Odr_fun) z_SortRequest, "sortRequest"},
52  (Odr_fun) z_SortResponse, "sortResponse"},
54  (Odr_fun) z_Segment, "segmentRequest"},
56  (Odr_fun) z_ExtendedServicesRequest, "extendedServicesRequest"},
58  (Odr_fun) z_ExtendedServicesResponse, "extendedServicesResponse"},
60  (Odr_fun) z_Close, "close"},
62  (Odr_fun) z_DuplicateDetectionRequest, "duplicateDetectionRequest"},
64  (Odr_fun) z_DuplicateDetectionResponse, "duplicateDetectionResponse"},
65  {-1, -1, -1, -1, (Odr_fun) 0, 0}
66  };
67  if (!odr_initmember(o, p, sizeof(**p)))
68  return odr_missing(o, opt, name);
69  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
70  return 1;
71  if (o->direction == ODR_DECODE)
72  *p = 0;
73  return odr_missing(o, opt, name);
74 }
75 
76 int z_InitRequest(ODR o, Z_InitRequest **p, int opt, const char *name)
77 {
78  if (!odr_sequence_begin(o, p, sizeof(**p), name))
79  return odr_missing(o, opt, name) && odr_ok (o);
80  return
81  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
82  z_ProtocolVersion(o, &(*p)->protocolVersion, 0, "protocolVersion") &&
83  z_Options(o, &(*p)->options, 0, "options") &&
85  &(*p)->preferredMessageSize, ODR_CONTEXT, 5, 0, "preferredMessageSize") &&
87  &(*p)->maximumRecordSize, ODR_CONTEXT, 6, 0, "maximumRecordSize") &&
89  &(*p)->idAuthentication, ODR_CONTEXT, 7, 1, "idAuthentication") &&
91  &(*p)->implementationId, ODR_CONTEXT, 110, 1, "implementationId") &&
93  &(*p)->implementationName, ODR_CONTEXT, 111, 1, "implementationName") &&
95  &(*p)->implementationVersion, ODR_CONTEXT, 112, 1, "implementationVersion") &&
97  &(*p)->userInformationField, ODR_CONTEXT, 11, 1, "userInformationField") &&
98  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
100 }
101 
102 int z_IdPass(ODR o, Z_IdPass **p, int opt, const char *name)
103 {
104  if (!odr_sequence_begin(o, p, sizeof(**p), name))
105  return odr_missing(o, opt, name) && odr_ok (o);
106  return
108  &(*p)->groupId, ODR_CONTEXT, 0, 1, "groupId") &&
110  &(*p)->userId, ODR_CONTEXT, 1, 1, "userId") &&
112  &(*p)->password, ODR_CONTEXT, 2, 1, "password") &&
113  odr_sequence_end(o);
114 }
115 
116 int z_IdAuthentication(ODR o, Z_IdAuthentication **p, int opt, const char *name)
117 {
118  static Odr_arm arm[] = {
119  {-1, -1, -1, Z_IdAuthentication_open,
120  (Odr_fun) odr_visiblestring, "open"},
121  {-1, -1, -1, Z_IdAuthentication_idPass,
122  (Odr_fun) z_IdPass, "idPass"},
123  {-1, -1, -1, Z_IdAuthentication_anonymous,
124  (Odr_fun) odr_null, "anonymous"},
125  {-1, -1, -1, Z_IdAuthentication_other,
126  (Odr_fun) z_External, "other"},
127  {-1, -1, -1, -1, (Odr_fun) 0, 0}
128  };
129  if (o->direction == ODR_PRINT)
130  return 1;
131  if (!odr_initmember(o, p, sizeof(**p)))
132  return odr_missing(o, opt, name);
133  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
134  return 1;
135  if (o->direction == ODR_DECODE)
136  *p = 0;
137  return odr_missing(o, opt, name);
138 }
139 
140 int z_InitResponse(ODR o, Z_InitResponse **p, int opt, const char *name)
141 {
142  if (!odr_sequence_begin(o, p, sizeof(**p), name))
143  return odr_missing(o, opt, name) && odr_ok (o);
144  return
145  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
146  z_ProtocolVersion(o, &(*p)->protocolVersion, 0, "protocolVersion") &&
147  z_Options(o, &(*p)->options, 0, "options") &&
149  &(*p)->preferredMessageSize, ODR_CONTEXT, 5, 0, "preferredMessageSize") &&
151  &(*p)->maximumRecordSize, ODR_CONTEXT, 6, 0, "maximumRecordSize") &&
153  &(*p)->result, ODR_CONTEXT, 12, 0, "result") &&
155  &(*p)->implementationId, ODR_CONTEXT, 110, 1, "implementationId") &&
157  &(*p)->implementationName, ODR_CONTEXT, 111, 1, "implementationName") &&
159  &(*p)->implementationVersion, ODR_CONTEXT, 112, 1, "implementationVersion") &&
161  &(*p)->userInformationField, ODR_CONTEXT, 11, 1, "userInformationField") &&
162  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
163  odr_sequence_end(o);
164 }
165 
166 int z_ProtocolVersion(ODR o, Z_ProtocolVersion **p, int opt, const char *name)
167 {
168  return odr_implicit_tag(o, odr_bitstring, p, ODR_CONTEXT, 3, opt, name);
169 }
170 
171 int z_Options(ODR o, Z_Options **p, int opt, const char *name)
172 {
173  return odr_implicit_tag(o, odr_bitstring, p, ODR_CONTEXT, 4, opt, name);
174 }
175 
176 int z_SearchRequest(ODR o, Z_SearchRequest **p, int opt, const char *name)
177 {
178  if (!odr_sequence_begin(o, p, sizeof(**p), name))
179  return odr_missing(o, opt, name) && odr_ok (o);
180  return
181  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
183  &(*p)->smallSetUpperBound, ODR_CONTEXT, 13, 0, "smallSetUpperBound") &&
185  &(*p)->largeSetLowerBound, ODR_CONTEXT, 14, 0, "largeSetLowerBound") &&
187  &(*p)->mediumSetPresentNumber, ODR_CONTEXT, 15, 0, "mediumSetPresentNumber") &&
189  &(*p)->replaceIndicator, ODR_CONTEXT, 16, 0, "replaceIndicator") &&
191  &(*p)->resultSetName, ODR_CONTEXT, 17, 0, "resultSetName") &&
193  odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->databaseNames,
194  &(*p)->num_databaseNames, "databaseNames") &&
196  &(*p)->smallSetElementSetNames, ODR_CONTEXT, 100, 1, "smallSetElementSetNames") &&
198  &(*p)->mediumSetElementSetNames, ODR_CONTEXT, 101, 1, "mediumSetElementSetNames") &&
200  &(*p)->preferredRecordSyntax, ODR_CONTEXT, 104, 1, "preferredRecordSyntax") &&
202  &(*p)->query, ODR_CONTEXT, 21, 0, "query") &&
204  &(*p)->additionalSearchInfo, ODR_CONTEXT, 203, 1, "additionalSearchInfo") &&
205  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
206  odr_sequence_end(o);
207 }
208 
209 int z_Query(ODR o, Z_Query **p, int opt, const char *name)
210 {
211  static Odr_arm arm[] = {
213  (Odr_fun) z_ANY_type_0, "type_0"},
215  (Odr_fun) z_RPNQuery, "type_1"},
217  (Odr_fun) odr_octetstring, "type_2"},
219  (Odr_fun) odr_octetstring, "type_100"},
221  (Odr_fun) z_RPNQuery, "type_101"},
223  (Odr_fun) odr_octetstring, "type_102"},
225  (Odr_fun) z_External, "type_104"},
226  {-1, -1, -1, -1, (Odr_fun) 0, 0}
227  };
228  if (!odr_initmember(o, p, sizeof(**p)))
229  return odr_missing(o, opt, name);
230  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
231  return 1;
232  if (o->direction == ODR_DECODE)
233  *p = 0;
234  return odr_missing(o, opt, name);
235 }
236 
237 int z_RPNQuery(ODR o, Z_RPNQuery **p, int opt, const char *name)
238 {
239  if (!odr_sequence_begin(o, p, sizeof(**p), name))
240  return odr_missing(o, opt, name) && odr_ok (o);
241  return
242  z_AttributeSetId(o, &(*p)->attributeSetId, 0, "attributeSetId") &&
243  z_RPNStructure(o, &(*p)->RPNStructure, 0, "RPNStructure") &&
244  odr_sequence_end(o);
245 }
246 
247 int z_Complex(ODR o, Z_Complex **p, int opt, const char *name)
248 {
249  if (!odr_sequence_begin(o, p, sizeof(**p), name))
250  return odr_missing(o, opt, name) && odr_ok (o);
251  return
252  z_RPNStructure(o, &(*p)->s1, 0, "s1") &&
253  z_RPNStructure(o, &(*p)->s2, 0, "s2") &&
254  z_Operator(o, &(*p)->roperator, 0, "roperator") &&
255  odr_sequence_end(o);
256 }
257 
258 int z_RPNStructure(ODR o, Z_RPNStructure **p, int opt, const char *name)
259 {
260  static Odr_arm arm[] = {
262  (Odr_fun) z_Operand, "simple"},
264  (Odr_fun) z_Complex, "complex"},
265  {-1, -1, -1, -1, (Odr_fun) 0, 0}
266  };
267  if (!odr_initmember(o, p, sizeof(**p)))
268  return odr_missing(o, opt, name);
269  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
270  return 1;
271  if (o->direction == ODR_DECODE)
272  *p = 0;
273  return odr_missing(o, opt, name);
274 }
275 
276 int z_Operand(ODR o, Z_Operand **p, int opt, const char *name)
277 {
278  static Odr_arm arm[] = {
279  {-1, -1, -1, Z_Operand_APT,
280  (Odr_fun) z_AttributesPlusTerm, "attributesPlusTerm"},
281  {-1, -1, -1, Z_Operand_resultSetId,
282  (Odr_fun) z_ResultSetId, "resultSetId"},
283  {-1, -1, -1, Z_Operand_resultAttr,
284  (Odr_fun) z_ResultSetPlusAttributes, "resultAttr"},
285  {-1, -1, -1, -1, (Odr_fun) 0, 0}
286  };
287  if (!odr_initmember(o, p, sizeof(**p)))
288  return odr_missing(o, opt, name);
289  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
290  return 1;
291  if (o->direction == ODR_DECODE)
292  *p = 0;
293  return odr_missing(o, opt, name);
294 }
295 
296 int z_AttributesPlusTerm(ODR o, Z_AttributesPlusTerm **p, int opt, const char *name)
297 {
298  if (!odr_implicit_settag(o, ODR_CONTEXT, 102) ||
299  !odr_sequence_begin (o, p, sizeof(**p), name))
300  return odr_missing(o, opt, name);
301  return
302  z_AttributeList(o, &(*p)->attributes, 0, "attributes") &&
303  z_Term(o, &(*p)->term, 0, "term") &&
304  odr_sequence_end(o);
305 }
306 
308 {
309  if (!odr_implicit_settag(o, ODR_CONTEXT, 214) ||
310  !odr_sequence_begin (o, p, sizeof(**p), name))
311  return odr_missing(o, opt, name);
312  return
313  z_ResultSetId(o, &(*p)->resultSet, 0, "resultSet") &&
314  z_AttributeList(o, &(*p)->attributes, 0, "attributes") &&
315  odr_sequence_end(o);
316 }
317 
318 int z_AttributeList(ODR o, Z_AttributeList **p, int opt, const char *name)
319 {
320  if (!odr_initmember(o, p, sizeof(**p)))
321  return odr_missing(o, opt, name);
323  if (odr_sequence_of(o, (Odr_fun) z_AttributeElement, &(*p)->attributes,
324  &(*p)->num_attributes, name))
325  return 1;
326  if (o->direction == ODR_DECODE)
327  *p = 0;
328  return odr_missing(o, opt, name);
329 }
330 
331 int z_Term(ODR o, Z_Term **p, int opt, const char *name)
332 {
333  static Odr_arm arm[] = {
335  (Odr_fun) odr_octetstring, "general"},
337  (Odr_fun) odr_integer, "numeric"},
339  (Odr_fun) z_InternationalString, "characterString"},
341  (Odr_fun) odr_oid, "oid"},
343  (Odr_fun) odr_generalizedtime, "dateTime"},
345  (Odr_fun) z_External, "external"},
347  (Odr_fun) z_IntUnit, "integerAndUnit"},
349  (Odr_fun) odr_null, "null"},
350  {-1, -1, -1, -1, (Odr_fun) 0, 0}
351  };
352  if (!odr_initmember(o, p, sizeof(**p)))
353  return odr_missing(o, opt, name);
354  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
355  return 1;
356  if (o->direction == ODR_DECODE)
357  *p = 0;
358  return odr_missing(o, opt, name);
359 }
360 
361 int z_Operator(ODR o, Z_Operator **p, int opt, const char *name)
362 {
363  static Odr_arm arm[] = {
365  (Odr_fun) odr_null, "op_and"},
367  (Odr_fun) odr_null, "op_or"},
369  (Odr_fun) odr_null, "and_not"},
371  (Odr_fun) z_ProximityOperator, "prox"},
372  {-1, -1, -1, -1, (Odr_fun) 0, 0}
373  };
374  if (!odr_constructed_begin(o, p, ODR_CONTEXT, 46, 0))
375  return odr_missing(o, opt, name);
376  if (!odr_initmember(o, p, sizeof(**p)))
377  return odr_missing(o, opt, name);
378  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name) &&
380  return 1;
381  if (o->direction == ODR_DECODE)
382  *p = 0;
383  return odr_missing(o, opt, name);
384 }
385 
386 int z_ComplexAttribute(ODR o, Z_ComplexAttribute **p, int opt, const char *name)
387 {
388  if (!odr_sequence_begin(o, p, sizeof(**p), name))
389  return odr_missing(o, opt, name) && odr_ok (o);
390  return
392  odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->list,
393  &(*p)->num_list, "list") &&
395  (odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->semanticAction,
396  &(*p)->num_semanticAction, "semanticAction") || odr_ok(o)) &&
397  odr_sequence_end(o);
398 }
399 
400 int z_AttributeElement(ODR o, Z_AttributeElement **p, int opt, const char *name)
401 {
402  static Odr_arm arm[] = {
404  (Odr_fun) odr_integer, "numeric"},
406  (Odr_fun) z_ComplexAttribute, "complex"},
407  {-1, -1, -1, -1, (Odr_fun) 0, 0}
408  };
409  if (!odr_sequence_begin(o, p, sizeof(**p), name))
410  return odr_missing(o, opt, name) && odr_ok (o);
411  return
413  &(*p)->attributeSet, ODR_CONTEXT, 1, 1, "attributeSet") &&
415  &(*p)->attributeType, ODR_CONTEXT, 120, 0, "attributeType") &&
416  odr_choice(o, arm, &(*p)->value, &(*p)->which, 0) &&
417  odr_sequence_end(o);
418 }
419 
420 int z_ProximityOperator(ODR o, Z_ProximityOperator **p, int opt, const char *name)
421 {
422  static Odr_arm arm[] = {
424  (Odr_fun) z_ProxUnit, "known"},
426  (Odr_fun) odr_integer, "zprivate"},
427  {-1, -1, -1, -1, (Odr_fun) 0, 0}
428  };
429  if (!odr_sequence_begin(o, p, sizeof(**p), name))
430  return odr_missing(o, opt, name) && odr_ok (o);
431  return
433  &(*p)->exclusion, ODR_CONTEXT, 1, 1, "exclusion") &&
435  &(*p)->distance, ODR_CONTEXT, 2, 0, "distance") &&
437  &(*p)->ordered, ODR_CONTEXT, 3, 0, "ordered") &&
439  &(*p)->relationType, ODR_CONTEXT, 4, 0, "relationType") &&
440  odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 5, "proximityUnitCode") &&
441  odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
442  odr_constructed_end(o) &&
443  odr_sequence_end(o);
444 }
445 
446 int z_ProxUnit(ODR o, Z_ProxUnit **p, int opt, const char *name)
447 {
448  return odr_integer (o, p, opt, name);
449 }
450 
451 int z_SearchResponse(ODR o, Z_SearchResponse **p, int opt, const char *name)
452 {
453  if (!odr_sequence_begin(o, p, sizeof(**p), name))
454  return odr_missing(o, opt, name) && odr_ok (o);
455  return
456  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
458  &(*p)->resultCount, ODR_CONTEXT, 23, 0, "resultCount") &&
460  &(*p)->numberOfRecordsReturned, ODR_CONTEXT, 24, 0, "numberOfRecordsReturned") &&
462  &(*p)->nextResultSetPosition, ODR_CONTEXT, 25, 0, "nextResultSetPosition") &&
464  &(*p)->searchStatus, ODR_CONTEXT, 22, 0, "searchStatus") &&
466  &(*p)->resultSetStatus, ODR_CONTEXT, 26, 1, "resultSetStatus") &&
467  z_PresentStatus(o, &(*p)->presentStatus, 1, "presentStatus") &&
468  z_Records(o, &(*p)->records, 1, "records") &&
470  &(*p)->additionalSearchInfo, ODR_CONTEXT, 203, 1, "additionalSearchInfo") &&
471  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
472  odr_sequence_end(o);
473 }
474 
475 int z_RecordComposition(ODR o, Z_RecordComposition **p, int opt, const char *name)
476 {
477  static Odr_arm arm[] = {
479  (Odr_fun) z_ElementSetNames, "simple"},
481  (Odr_fun) z_CompSpec, "complex"},
482  {-1, -1, -1, -1, (Odr_fun) 0, 0}
483  };
484  if (!odr_initmember(o, p, sizeof(**p)))
485  return odr_missing(o, opt, name);
486  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
487  return 1;
488  if (o->direction == ODR_DECODE)
489  *p = 0;
490  return odr_missing(o, opt, name);
491 }
492 
493 int z_PresentRequest(ODR o, Z_PresentRequest **p, int opt, const char *name)
494 {
495  if (!odr_sequence_begin(o, p, sizeof(**p), name))
496  return odr_missing(o, opt, name) && odr_ok (o);
497  return
498  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
499  z_ResultSetId(o, &(*p)->resultSetId, 0, "resultSetId") &&
501  &(*p)->resultSetStartPoint, ODR_CONTEXT, 30, 0, "resultSetStartPoint") &&
503  &(*p)->numberOfRecordsRequested, ODR_CONTEXT, 29, 0, "numberOfRecordsRequested") &&
504  odr_implicit_settag(o, ODR_CONTEXT, 212) &&
505  (odr_sequence_of(o, (Odr_fun) z_Range, &(*p)->additionalRanges,
506  &(*p)->num_ranges, "additionalRanges") || odr_ok(o)) &&
507  z_RecordComposition(o, &(*p)->recordComposition, 1, "recordComposition") &&
509  &(*p)->preferredRecordSyntax, ODR_CONTEXT, 104, 1, "preferredRecordSyntax") &&
511  &(*p)->maxSegmentCount, ODR_CONTEXT, 204, 1, "maxSegmentCount") &&
513  &(*p)->maxRecordSize, ODR_CONTEXT, 206, 1, "maxRecordSize") &&
515  &(*p)->maxSegmentSize, ODR_CONTEXT, 207, 1, "maxSegmentSize") &&
516  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
517  odr_sequence_end(o);
518 }
519 
520 int z_Segment(ODR o, Z_Segment **p, int opt, const char *name)
521 {
522  if (!odr_sequence_begin(o, p, sizeof(**p), name))
523  return odr_missing(o, opt, name) && odr_ok (o);
524  return
525  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
527  &(*p)->numberOfRecordsReturned, ODR_CONTEXT, 24, 0, "numberOfRecordsReturned") &&
529  odr_sequence_of(o, (Odr_fun) z_NamePlusRecord, &(*p)->segmentRecords,
530  &(*p)->num_segmentRecords, "segmentRecords") &&
531  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
532  odr_sequence_end(o);
533 }
534 
535 int z_PresentResponse(ODR o, Z_PresentResponse **p, int opt, const char *name)
536 {
537  if (!odr_sequence_begin(o, p, sizeof(**p), name))
538  return odr_missing(o, opt, name) && odr_ok (o);
539  return
540  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
542  &(*p)->numberOfRecordsReturned, ODR_CONTEXT, 24, 0, "numberOfRecordsReturned") &&
544  &(*p)->nextResultSetPosition, ODR_CONTEXT, 25, 0, "nextResultSetPosition") &&
545  z_PresentStatus(o, &(*p)->presentStatus, 0, "presentStatus") &&
546  z_Records(o, &(*p)->records, 1, "records") &&
547  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
548  odr_sequence_end(o);
549 }
550 
551 int z_NamePlusRecordList(ODR o, Z_NamePlusRecordList **p, int opt, const char *name)
552 {
553  if (!odr_initmember(o, p, sizeof(**p)))
554  return odr_missing(o, opt, name);
555  if (odr_sequence_of(o, (Odr_fun) z_NamePlusRecord, &(*p)->records,
556  &(*p)->num_records, name))
557  return 1;
558  if (o->direction == ODR_DECODE)
559  *p = 0;
560  return odr_missing(o, opt, name);
561 }
562 
563 int z_DiagRecs(ODR o, Z_DiagRecs **p, int opt, const char *name)
564 {
565  if (!odr_initmember(o, p, sizeof(**p)))
566  return odr_missing(o, opt, name);
567  if (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->diagRecs,
568  &(*p)->num_diagRecs, name))
569  return 1;
570  if (o->direction == ODR_DECODE)
571  *p = 0;
572  return odr_missing(o, opt, name);
573 }
574 
575 int z_Records(ODR o, Z_Records **p, int opt, const char *name)
576 {
577  static Odr_arm arm[] = {
579  (Odr_fun) z_NamePlusRecordList, "databaseOrSurDiagnostics"},
581  (Odr_fun) z_DefaultDiagFormat, "nonSurrogateDiagnostic"},
583  (Odr_fun) z_DiagRecs, "multipleNonSurDiagnostics"},
584  {-1, -1, -1, -1, (Odr_fun) 0, 0}
585  };
586  if (!odr_initmember(o, p, sizeof(**p)))
587  return odr_missing(o, opt, name);
588  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
589  return 1;
590  if (o->direction == ODR_DECODE)
591  *p = 0;
592  return odr_missing(o, opt, name);
593 }
594 
595 int z_NamePlusRecord(ODR o, Z_NamePlusRecord **p, int opt, const char *name)
596 {
597  static Odr_arm arm[] = {
599  (Odr_fun) z_External, "databaseRecord"},
601  (Odr_fun) z_DiagRec, "surrogateDiagnostic"},
603  (Odr_fun) z_FragmentSyntax, "startingFragment"},
605  (Odr_fun) z_FragmentSyntax, "intermediateFragment"},
607  (Odr_fun) z_FragmentSyntax, "finalFragment"},
608  {-1, -1, -1, -1, (Odr_fun) 0, 0}
609  };
610  if (!odr_sequence_begin(o, p, sizeof(**p), name))
611  return odr_missing(o, opt, name) && odr_ok (o);
612  return
614  &(*p)->databaseName, ODR_CONTEXT, 0, 1, "databaseName") &&
615  odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "record") &&
616  odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
617  odr_constructed_end(o) &&
618  odr_sequence_end(o);
619 }
620 
621 int z_FragmentSyntax(ODR o, Z_FragmentSyntax **p, int opt, const char *name)
622 {
623  static Odr_arm arm[] = {
625  (Odr_fun) z_External, "externallyTagged"},
627  (Odr_fun) odr_octetstring, "notExternallyTagged"},
628  {-1, -1, -1, -1, (Odr_fun) 0, 0}
629  };
630  if (!odr_initmember(o, p, sizeof(**p)))
631  return odr_missing(o, opt, name);
632  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
633  return 1;
634  if (o->direction == ODR_DECODE)
635  *p = 0;
636  return odr_missing(o, opt, name);
637 }
638 
639 int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name)
640 {
641  static Odr_arm arm[] = {
642  {-1, -1, -1, Z_DiagRec_defaultFormat,
643  (Odr_fun) z_DefaultDiagFormat, "defaultFormat"},
644  {-1, -1, -1, Z_DiagRec_externallyDefined,
645  (Odr_fun) z_External, "externallyDefined"},
646  {-1, -1, -1, -1, (Odr_fun) 0, 0}
647  };
648  if (!odr_initmember(o, p, sizeof(**p)))
649  return odr_missing(o, opt, name);
650  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
651  return 1;
652  if (o->direction == ODR_DECODE)
653  *p = 0;
654  return odr_missing(o, opt, name);
655 }
656 
657 int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt, const char *name)
658 {
659  static Odr_arm arm[] = {
660  {-1, -1, -1, Z_DefaultDiagFormat_v2Addinfo,
661  (Odr_fun) odr_visiblestring, "v2Addinfo"},
662  {-1, -1, -1, Z_DefaultDiagFormat_v3Addinfo,
663  (Odr_fun) z_InternationalString, "v3Addinfo"},
664  {-1, -1, -1, -1, (Odr_fun) 0, 0}
665  };
666  if (!odr_sequence_begin(o, p, sizeof(**p), name))
667  return odr_missing(o, opt, name) && odr_ok (o);
668  return
669  odr_oid(o, &(*p)->diagnosticSetId, 0, "diagnosticSetId") &&
670  odr_integer(o, &(*p)->condition, 0, "condition") &&
671  odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
672  odr_sequence_end(o);
673 }
674 
675 int z_Range(ODR o, Z_Range **p, int opt, const char *name)
676 {
677  if (!odr_sequence_begin(o, p, sizeof(**p), name))
678  return odr_missing(o, opt, name) && odr_ok (o);
679  return
681  &(*p)->startingPosition, ODR_CONTEXT, 1, 0, "startingPosition") &&
683  &(*p)->numberOfRecords, ODR_CONTEXT, 2, 0, "numberOfRecords") &&
684  odr_sequence_end(o);
685 }
686 
688 {
689  if (!odr_sequence_begin(o, p, sizeof(**p), name))
690  return odr_missing(o, opt, name) && odr_ok (o);
691  return
692  z_DatabaseName(o, &(*p)->dbName, 0, "dbName") &&
693  z_ElementSetName(o, &(*p)->esn, 0, "esn") &&
694  odr_sequence_end(o);
695 }
696 
697 int z_DatabaseSpecific(ODR o, Z_DatabaseSpecific **p, int opt, const char *name)
698 {
699  if (!odr_initmember(o, p, sizeof(**p)))
700  return odr_missing(o, opt, name);
701  if (odr_sequence_of(o, (Odr_fun) z_DatabaseSpecificUnit, &(*p)->elements,
702  &(*p)->num, name))
703  return 1;
704  if (o->direction == ODR_DECODE)
705  *p = 0;
706  return odr_missing(o, opt, name);
707 }
708 
709 int z_ElementSetNames(ODR o, Z_ElementSetNames **p, int opt, const char *name)
710 {
711  static Odr_arm arm[] = {
713  (Odr_fun) z_InternationalString, "generic"},
715  (Odr_fun) z_DatabaseSpecific, "databaseSpecific"},
716  {-1, -1, -1, -1, (Odr_fun) 0, 0}
717  };
718  if (!odr_initmember(o, p, sizeof(**p)))
719  return odr_missing(o, opt, name);
720  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
721  return 1;
722  if (o->direction == ODR_DECODE)
723  *p = 0;
724  return odr_missing(o, opt, name);
725 }
726 
727 int z_PresentStatus(ODR o, Z_PresentStatus **p, int opt, const char *name)
728 {
729  return odr_implicit_tag(o, odr_integer, p, ODR_CONTEXT, 27, opt, name);
730 }
731 
732 int z_DbSpecific(ODR o, Z_DbSpecific **p, int opt, const char *name)
733 {
734  if (!odr_sequence_begin(o, p, sizeof(**p), name))
735  return odr_missing(o, opt, name) && odr_ok (o);
736  return
738  &(*p)->db, ODR_CONTEXT, 1, 0, "db") &&
740  &(*p)->spec, ODR_CONTEXT, 2, 0, "spec") &&
741  odr_sequence_end(o);
742 }
743 
744 int z_CompSpec(ODR o, Z_CompSpec **p, int opt, const char *name)
745 {
746  if (!odr_sequence_begin(o, p, sizeof(**p), name))
747  return odr_missing(o, opt, name) && odr_ok (o);
748  return
750  &(*p)->selectAlternativeSyntax, ODR_CONTEXT, 1, 0, "selectAlternativeSyntax") &&
752  &(*p)->generic, ODR_CONTEXT, 2, 1, "generic") &&
754  (odr_sequence_of(o, (Odr_fun) z_DbSpecific, &(*p)->dbSpecific,
755  &(*p)->num_dbSpecific, "dbSpecific") || odr_ok(o)) &&
757  (odr_sequence_of(o, (Odr_fun) odr_oid, &(*p)->recordSyntax,
758  &(*p)->num_recordSyntax, "recordSyntax") || odr_ok(o)) &&
759  odr_sequence_end(o);
760 }
761 
762 int z_ElementSpec(ODR o, Z_ElementSpec **p, int opt, const char *name)
763 {
764  static Odr_arm arm[] = {
766  (Odr_fun) z_InternationalString, "elementSetName"},
768  (Odr_fun) z_External, "externalSpec"},
769  {-1, -1, -1, -1, (Odr_fun) 0, 0}
770  };
771  if (!odr_initmember(o, p, sizeof(**p)))
772  return odr_missing(o, opt, name);
773  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
774  return 1;
775  if (o->direction == ODR_DECODE)
776  *p = 0;
777  return odr_missing(o, opt, name);
778 }
779 
780 int z_Specification(ODR o, Z_Specification **p, int opt, const char *name)
781 {
782  static Odr_arm arm[] = {
784  (Odr_fun) odr_oid, "oid"},
786  (Odr_fun) z_InternationalString, "uri"},
787  {-1, -1, -1, -1, (Odr_fun) 0, 0}
788  };
789  if (!odr_sequence_begin(o, p, sizeof(**p), name))
790  return odr_missing(o, opt, name) && odr_ok (o);
791  return
792  (odr_choice(o, arm, &(*p)->schema, &(*p)->which, 0) || odr_ok(o)) &&
794  &(*p)->elementSpec, ODR_CONTEXT, 2, 1, "elementSpec") &&
795  odr_sequence_end(o);
796 }
797 
799 {
800  if (!odr_sequence_begin(o, p, sizeof(**p), name))
801  return odr_missing(o, opt, name) && odr_ok (o);
802  return
803  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
805  &(*p)->deleteFunction, ODR_CONTEXT, 32, 0, "deleteFunction") &&
806  (odr_sequence_of(o, (Odr_fun) z_ResultSetId, &(*p)->resultSetList,
807  &(*p)->num_resultSetList, "resultSetList") || odr_ok(o)) &&
808  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
809  odr_sequence_end(o);
810 }
811 
813 {
814  if (!odr_sequence_begin(o, p, sizeof(**p), name))
815  return odr_missing(o, opt, name) && odr_ok (o);
816  return
817  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
819  &(*p)->deleteOperationStatus, ODR_CONTEXT, 0, 0, "deleteOperationStatus") &&
821  &(*p)->deleteListStatuses, ODR_CONTEXT, 1, 1, "deleteListStatuses") &&
823  &(*p)->numberNotDeleted, ODR_CONTEXT, 34, 1, "numberNotDeleted") &&
825  &(*p)->bulkStatuses, ODR_CONTEXT, 35, 1, "bulkStatuses") &&
827  &(*p)->deleteMessage, ODR_CONTEXT, 36, 1, "deleteMessage") &&
828  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
829  odr_sequence_end(o);
830 }
831 
832 int z_ListStatus(ODR o, Z_ListStatus **p, int opt, const char *name)
833 {
834  if (!odr_sequence_begin(o, p, sizeof(**p), name))
835  return odr_missing(o, opt, name) && odr_ok (o);
836  return
837  z_ResultSetId(o, &(*p)->id, 0, "id") &&
838  z_DeleteStatus(o, &(*p)->status, 0, "status") &&
839  odr_sequence_end(o);
840 }
841 
842 int z_ListStatuses(ODR o, Z_ListStatuses **p, int opt, const char *name)
843 {
844  if (!odr_initmember(o, p, sizeof(**p)))
845  return odr_missing(o, opt, name);
846  if (odr_sequence_of(o, (Odr_fun) z_ListStatus, &(*p)->elements,
847  &(*p)->num, name))
848  return 1;
849  if (o->direction == ODR_DECODE)
850  *p = 0;
851  return odr_missing(o, opt, name);
852 }
853 
854 int z_DeleteStatus(ODR o, Z_DeleteStatus **p, int opt, const char *name)
855 {
856  return odr_implicit_tag(o, odr_integer, p, ODR_CONTEXT, 33, opt, name);
857 }
858 
860 {
861  static Odr_arm arm[] = {
863  (Odr_fun) odr_octetstring, "simpleForm"},
865  (Odr_fun) z_External, "externallyDefined"},
866  {-1, -1, -1, -1, (Odr_fun) 0, 0}
867  };
868  if (!odr_sequence_begin(o, p, sizeof(**p), name))
869  return odr_missing(o, opt, name) && odr_ok (o);
870  return
871  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
872  odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
873  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
874  odr_sequence_end(o);
875 }
876 
878 {
879  static Odr_arm arm[] = {
881  (Odr_fun) odr_octetstring, "simpleForm"},
883  (Odr_fun) z_External, "externallyDefined"},
884  {-1, -1, -1, -1, (Odr_fun) 0, 0}
885  };
886  if (!odr_sequence_begin(o, p, sizeof(**p), name))
887  return odr_missing(o, opt, name) && odr_ok (o);
888  return
889  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
890  (odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) || odr_ok(o)) &&
892  &(*p)->diagnostic, ODR_CONTEXT, 223, 1, "diagnostic") &&
893  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
894  odr_sequence_end(o);
895 }
896 
898 {
899  if (!odr_sequence_begin(o, p, sizeof(**p), name))
900  return odr_missing(o, opt, name) && odr_ok (o);
901  return
902  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
904  &(*p)->suspendedFlag, ODR_CONTEXT, 39, 1, "suspendedFlag") &&
906  &(*p)->resourceReport, ODR_CONTEXT, 40, 1, "resourceReport") &&
908  &(*p)->partialResultsAvailable, ODR_CONTEXT, 41, 1, "partialResultsAvailable") &&
910  &(*p)->responseRequired, ODR_CONTEXT, 42, 0, "responseRequired") &&
912  &(*p)->triggeredRequestFlag, ODR_CONTEXT, 43, 1, "triggeredRequestFlag") &&
913  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
914  odr_sequence_end(o);
915 }
916 
918 {
919  if (!odr_sequence_begin(o, p, sizeof(**p), name))
920  return odr_missing(o, opt, name) && odr_ok (o);
921  return
922  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
924  &(*p)->continueFlag, ODR_CONTEXT, 44, 0, "continueFlag") &&
926  &(*p)->resultSetWanted, ODR_CONTEXT, 45, 1, "resultSetWanted") &&
927  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
928  odr_sequence_end(o);
929 }
930 
932 {
933  if (!odr_sequence_begin(o, p, sizeof(**p), name))
934  return odr_missing(o, opt, name) && odr_ok (o);
935  return
936  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
938  &(*p)->requestedAction, ODR_CONTEXT, 46, 0, "requestedAction") &&
940  &(*p)->prefResourceReportFormat, ODR_CONTEXT, 47, 1, "prefResourceReportFormat") &&
942  &(*p)->resultSetWanted, ODR_CONTEXT, 48, 1, "resultSetWanted") &&
943  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
944  odr_sequence_end(o);
945 }
946 
948 {
949  if (!odr_sequence_begin(o, p, sizeof(**p), name))
950  return odr_missing(o, opt, name) && odr_ok (o);
951  return
952  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
954  &(*p)->opId, ODR_CONTEXT, 210, 1, "opId") &&
956  &(*p)->prefResourceReportFormat, ODR_CONTEXT, 49, 1, "prefResourceReportFormat") &&
957  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
958  odr_sequence_end(o);
959 }
960 
962 {
963  if (!odr_sequence_begin(o, p, sizeof(**p), name))
964  return odr_missing(o, opt, name) && odr_ok (o);
965  return
966  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
968  &(*p)->resourceReportStatus, ODR_CONTEXT, 50, 0, "resourceReportStatus") &&
970  &(*p)->resourceReport, ODR_CONTEXT, 51, 1, "resourceReport") &&
971  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
972  odr_sequence_end(o);
973 }
974 
975 int z_ResourceReport(ODR o, Z_ResourceReport **p, int opt, const char *name)
976 {
977  return z_External (o, p, opt, name);
978 }
979 
980 int z_ResourceReportId(ODR o, Z_ResourceReportId **p, int opt, const char *name)
981 {
982  return odr_oid (o, p, opt, name);
983 }
984 
985 int z_ScanRequest(ODR o, Z_ScanRequest **p, int opt, const char *name)
986 {
987  if (!odr_sequence_begin(o, p, sizeof(**p), name))
988  return odr_missing(o, opt, name) && odr_ok (o);
989  return
990  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
992  odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->databaseNames,
993  &(*p)->num_databaseNames, "databaseNames") &&
994  z_AttributeSetId(o, &(*p)->attributeSet, 1, "attributeSet") &&
995  z_AttributesPlusTerm(o, &(*p)->termListAndStartPoint, 0, "termListAndStartPoint") &&
997  &(*p)->stepSize, ODR_CONTEXT, 5, 1, "stepSize") &&
999  &(*p)->numberOfTermsRequested, ODR_CONTEXT, 6, 0, "numberOfTermsRequested") &&
1001  &(*p)->preferredPositionInResponse, ODR_CONTEXT, 7, 1, "preferredPositionInResponse") &&
1002  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1003  odr_sequence_end(o);
1004 }
1005 
1006 int z_ScanResponse(ODR o, Z_ScanResponse **p, int opt, const char *name)
1007 {
1008  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1009  return odr_missing(o, opt, name) && odr_ok (o);
1010  return
1011  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1013  &(*p)->stepSize, ODR_CONTEXT, 3, 1, "stepSize") &&
1015  &(*p)->scanStatus, ODR_CONTEXT, 4, 0, "scanStatus") &&
1017  &(*p)->numberOfEntriesReturned, ODR_CONTEXT, 5, 0, "numberOfEntriesReturned") &&
1019  &(*p)->positionOfTerm, ODR_CONTEXT, 6, 1, "positionOfTerm") &&
1021  &(*p)->entries, ODR_CONTEXT, 7, 1, "entries") &&
1023  &(*p)->attributeSet, ODR_CONTEXT, 8, 1, "attributeSet") &&
1024  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1025  odr_sequence_end(o);
1026 }
1027 
1028 int z_ListEntries(ODR o, Z_ListEntries **p, int opt, const char *name)
1029 {
1030  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1031  return odr_missing(o, opt, name) && odr_ok (o);
1032  return
1034  (odr_sequence_of(o, (Odr_fun) z_Entry, &(*p)->entries,
1035  &(*p)->num_entries, "entries") || odr_ok(o)) &&
1037  (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->nonsurrogateDiagnostics,
1038  &(*p)->num_nonsurrogateDiagnostics, "nonsurrogateDiagnostics") || odr_ok(o)) &&
1039  odr_sequence_end(o);
1040 }
1041 
1042 int z_Entry(ODR o, Z_Entry **p, int opt, const char *name)
1043 {
1044  static Odr_arm arm[] = {
1046  (Odr_fun) z_TermInfo, "termInfo"},
1048  (Odr_fun) z_DiagRec, "surrogateDiagnostic"},
1049  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1050  };
1051  if (!odr_initmember(o, p, sizeof(**p)))
1052  return odr_missing(o, opt, name);
1053  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1054  return 1;
1055  if (o->direction == ODR_DECODE)
1056  *p = 0;
1057  return odr_missing(o, opt, name);
1058 }
1059 
1060 int z_TermInfo(ODR o, Z_TermInfo **p, int opt, const char *name)
1061 {
1062  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1063  return odr_missing(o, opt, name) && odr_ok (o);
1064  return
1065  z_Term(o, &(*p)->term, 0, "term") &&
1067  &(*p)->displayTerm, ODR_CONTEXT, 0, 1, "displayTerm") &&
1068  z_AttributeList(o, &(*p)->suggestedAttributes, 1, "suggestedAttributes") &&
1070  (odr_sequence_of(o, (Odr_fun) z_AttributesPlusTerm, &(*p)->alternativeTerm,
1071  &(*p)->num_alternativeTerm, "alternativeTerm") || odr_ok(o)) &&
1073  &(*p)->globalOccurrences, ODR_CONTEXT, 2, 1, "globalOccurrences") &&
1075  &(*p)->byAttributes, ODR_CONTEXT, 3, 1, "byAttributes") &&
1076  z_OtherInformation(o, &(*p)->otherTermInfo, 1, "otherTermInfo") &&
1077  odr_sequence_end(o);
1078 }
1079 
1080 int z_byDatabaseList_s(ODR o, Z_byDatabaseList_s **p, int opt, const char *name)
1081 {
1082  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1083  return odr_missing(o, opt, name) && odr_ok (o);
1084  return
1085  z_DatabaseName(o, &(*p)->db, 0, "db") &&
1087  &(*p)->num, ODR_CONTEXT, 1, 1, "num") &&
1088  z_OtherInformation(o, &(*p)->otherDbInfo, 1, "otherDbInfo") &&
1089  odr_sequence_end(o);
1090 }
1091 
1092 int z_byDatabaseList(ODR o, Z_byDatabaseList **p, int opt, const char *name)
1093 {
1094  if (!odr_initmember(o, p, sizeof(**p)))
1095  return odr_missing(o, opt, name);
1096  if (odr_sequence_of(o, (Odr_fun) z_byDatabaseList_s, &(*p)->elements,
1097  &(*p)->num, name))
1098  return 1;
1099  if (o->direction == ODR_DECODE)
1100  *p = 0;
1101  return odr_missing(o, opt, name);
1102 }
1103 
1105 {
1106  static Odr_arm arm[] = {
1108  (Odr_fun) odr_integer, "global"},
1110  (Odr_fun) z_byDatabaseList, "byDatabase"},
1111  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1112  };
1113  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1114  return odr_missing(o, opt, name) && odr_ok (o);
1115  return
1117  &(*p)->attributes, ODR_CONTEXT, 1, 0, "attributes") &&
1118  (odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) || odr_ok(o)) &&
1119  z_OtherInformation(o, &(*p)->otherOccurInfo, 1, "otherOccurInfo") &&
1120  odr_sequence_end(o);
1121 }
1122 
1124 {
1125  if (!odr_initmember(o, p, sizeof(**p)))
1126  return odr_missing(o, opt, name);
1127  if (odr_sequence_of(o, (Odr_fun) z_OccurrenceByAttributesElem, &(*p)->elements,
1128  &(*p)->num, name))
1129  return 1;
1130  if (o->direction == ODR_DECODE)
1131  *p = 0;
1132  return odr_missing(o, opt, name);
1133 }
1134 
1135 int z_SortKeySpecList(ODR o, Z_SortKeySpecList **p, int opt, const char *name)
1136 {
1137  if (!odr_initmember(o, p, sizeof(**p)))
1138  return odr_missing(o, opt, name);
1139  if (odr_sequence_of(o, (Odr_fun) z_SortKeySpec, &(*p)->specs,
1140  &(*p)->num_specs, name))
1141  return 1;
1142  if (o->direction == ODR_DECODE)
1143  *p = 0;
1144  return odr_missing(o, opt, name);
1145 }
1146 
1147 int z_SortRequest(ODR o, Z_SortRequest **p, int opt, const char *name)
1148 {
1149  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1150  return odr_missing(o, opt, name) && odr_ok (o);
1151  return
1152  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1154  odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->inputResultSetNames,
1155  &(*p)->num_inputResultSetNames, "inputResultSetNames") &&
1156  odr_implicit_tag(o, z_InternationalString,
1157  &(*p)->sortedResultSetName, ODR_CONTEXT, 4, 0, "sortedResultSetName") &&
1159  &(*p)->sortSequence, ODR_CONTEXT, 5, 0, "sortSequence") &&
1160  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1161  odr_sequence_end(o);
1162 }
1163 
1164 int z_SortResponse(ODR o, Z_SortResponse **p, int opt, const char *name)
1165 {
1166  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1167  return odr_missing(o, opt, name) && odr_ok (o);
1168  return
1169  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1171  &(*p)->sortStatus, ODR_CONTEXT, 3, 0, "sortStatus") &&
1173  &(*p)->resultSetStatus, ODR_CONTEXT, 4, 1, "resultSetStatus") &&
1175  (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->diagnostics,
1176  &(*p)->num_diagnostics, "diagnostics") || odr_ok(o)) &&
1178  &(*p)->resultCount, ODR_CONTEXT, 6, 1, "resultCount") &&
1179  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1180  odr_sequence_end(o);
1181 }
1182 
1183 int z_SortKeySpec(ODR o, Z_SortKeySpec **p, int opt, const char *name)
1184 {
1185  static Odr_arm arm[] = {
1187  (Odr_fun) odr_null, "abort"},
1189  (Odr_fun) odr_null, "null"},
1191  (Odr_fun) odr_octetstring, "missingValueData"},
1192  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1193  };
1194  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1195  return odr_missing(o, opt, name) && odr_ok (o);
1196  return
1197  z_SortElement(o, &(*p)->sortElement, 0, "sortElement") &&
1199  &(*p)->sortRelation, ODR_CONTEXT, 1, 0, "sortRelation") &&
1201  &(*p)->caseSensitivity, ODR_CONTEXT, 2, 0, "caseSensitivity") &&
1202  ((odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 3, "missingValueAction") &&
1203  odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
1204  odr_constructed_end(o)) || odr_ok(o)) &&
1205  odr_sequence_end(o);
1206 }
1207 
1209 {
1210  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1211  return odr_missing(o, opt, name) && odr_ok (o);
1212  return
1213  z_DatabaseName(o, &(*p)->databaseName, 0, "databaseName") &&
1214  z_SortKey(o, &(*p)->dbSort, 0, "dbSort") &&
1215  odr_sequence_end(o);
1216 }
1217 
1219 {
1220  if (!odr_initmember(o, p, sizeof(**p)))
1221  return odr_missing(o, opt, name);
1222  if (odr_sequence_of(o, (Odr_fun) z_SortDbSpecificList_s, &(*p)->elements,
1223  &(*p)->num, name))
1224  return 1;
1225  if (o->direction == ODR_DECODE)
1226  *p = 0;
1227  return odr_missing(o, opt, name);
1228 }
1229 
1230 int z_SortElement(ODR o, Z_SortElement **p, int opt, const char *name)
1231 {
1232  static Odr_arm arm[] = {
1234  (Odr_fun) z_SortKey, "generic"},
1236  (Odr_fun) z_SortDbSpecificList, "databaseSpecific"},
1237  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1238  };
1239  if (!odr_initmember(o, p, sizeof(**p)))
1240  return odr_missing(o, opt, name);
1241  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1242  return 1;
1243  if (o->direction == ODR_DECODE)
1244  *p = 0;
1245  return odr_missing(o, opt, name);
1246 }
1247 
1248 int z_SortAttributes(ODR o, Z_SortAttributes **p, int opt, const char *name)
1249 {
1250  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1251  return odr_missing(o, opt, name) && odr_ok (o);
1252  return
1253  z_AttributeSetId(o, &(*p)->id, 0, "id") &&
1254  z_AttributeList(o, &(*p)->list, 0, "list") &&
1255  odr_sequence_end(o);
1256 }
1257 
1258 int z_SortKey(ODR o, Z_SortKey **p, int opt, const char *name)
1259 {
1260  static Odr_arm arm[] = {
1262  (Odr_fun) z_InternationalString, "sortField"},
1264  (Odr_fun) z_Specification, "elementSpec"},
1266  (Odr_fun) z_SortAttributes, "sortAttributes"},
1267  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1268  };
1269  if (!odr_initmember(o, p, sizeof(**p)))
1270  return odr_missing(o, opt, name);
1271  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1272  return 1;
1273  if (o->direction == ODR_DECODE)
1274  *p = 0;
1275  return odr_missing(o, opt, name);
1276 }
1277 
1279 {
1280  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1281  return odr_missing(o, opt, name) && odr_ok (o);
1282  return
1283  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1285  &(*p)->function, ODR_CONTEXT, 3, 0, "function") &&
1287  &(*p)->packageType, ODR_CONTEXT, 4, 0, "packageType") &&
1289  &(*p)->packageName, ODR_CONTEXT, 5, 1, "packageName") &&
1291  &(*p)->userId, ODR_CONTEXT, 6, 1, "userId") &&
1293  &(*p)->retentionTime, ODR_CONTEXT, 7, 1, "retentionTime") &&
1295  &(*p)->permissions, ODR_CONTEXT, 8, 1, "permissions") &&
1297  &(*p)->description, ODR_CONTEXT, 9, 1, "description") &&
1299  &(*p)->taskSpecificParameters, ODR_CONTEXT, 10, 1, "taskSpecificParameters") &&
1301  &(*p)->waitAction, ODR_CONTEXT, 11, 0, "waitAction") &&
1302  z_ElementSetName(o, &(*p)->elements, 1, "elements") &&
1303  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1304  odr_sequence_end(o);
1305 }
1306 
1308 {
1309  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1310  return odr_missing(o, opt, name) && odr_ok (o);
1311  return
1312  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1314  &(*p)->operationStatus, ODR_CONTEXT, 3, 0, "operationStatus") &&
1316  (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->diagnostics,
1317  &(*p)->num_diagnostics, "diagnostics") || odr_ok(o)) &&
1319  &(*p)->taskPackage, ODR_CONTEXT, 5, 1, "taskPackage") &&
1320  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1321  odr_sequence_end(o);
1322 }
1323 
1324 int z_Permissions_s(ODR o, Z_Permissions_s **p, int opt, const char *name)
1325 {
1326  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1327  return odr_missing(o, opt, name) && odr_ok (o);
1328  return
1330  &(*p)->userId, ODR_CONTEXT, 1, 1, "userId") &&
1332  odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->allowableFunctions,
1333  &(*p)->num_allowableFunctions, "allowableFunctions") &&
1334  odr_sequence_end(o);
1335 }
1336 
1337 int z_Permissions(ODR o, Z_Permissions **p, int opt, const char *name)
1338 {
1339  if (!odr_initmember(o, p, sizeof(**p)))
1340  return odr_missing(o, opt, name);
1341  if (odr_sequence_of(o, (Odr_fun) z_Permissions_s, &(*p)->elements,
1342  &(*p)->num, name))
1343  return 1;
1344  if (o->direction == ODR_DECODE)
1345  *p = 0;
1346  return odr_missing(o, opt, name);
1347 }
1348 
1349 int z_Close(ODR o, Z_Close **p, int opt, const char *name)
1350 {
1351  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1352  return odr_missing(o, opt, name) && odr_ok (o);
1353  return
1354  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1355  z_CloseReason(o, &(*p)->closeReason, 0, "closeReason") &&
1357  &(*p)->diagnosticInformation, ODR_CONTEXT, 3, 1, "diagnosticInformation") &&
1359  &(*p)->resourceReportFormat, ODR_CONTEXT, 4, 1, "resourceReportFormat") &&
1361  &(*p)->resourceReport, ODR_CONTEXT, 5, 1, "resourceReport") &&
1362  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1363  odr_sequence_end(o);
1364 }
1365 
1366 int z_CloseReason(ODR o, Z_CloseReason **p, int opt, const char *name)
1367 {
1368  return odr_implicit_tag(o, odr_integer, p, ODR_CONTEXT, 211, opt, name);
1369 }
1370 
1372 {
1373  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1374  return odr_missing(o, opt, name) && odr_ok (o);
1375  return
1376  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1378  odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->inputResultSetIds,
1379  &(*p)->num_inputResultSetIds, "inputResultSetIds") &&
1380  odr_implicit_tag(o, z_InternationalString,
1381  &(*p)->outputResultSetName, ODR_CONTEXT, 4, 0, "outputResultSetName") &&
1383  &(*p)->applicablePortionOfRecord, ODR_CONTEXT, 5, 1, "applicablePortionOfRecord") &&
1385  (odr_sequence_of(o, (Odr_fun) z_DuplicateDetectionCriterion, &(*p)->duplicateDetectionCriteria,
1386  &(*p)->num_duplicateDetectionCriteria, "duplicateDetectionCriteria") || odr_ok(o)) &&
1388  &(*p)->clustering, ODR_CONTEXT, 7, 1, "clustering") &&
1390  odr_sequence_of(o, (Odr_fun) z_RetentionCriterion, &(*p)->retentionCriteria,
1391  &(*p)->num_retentionCriteria, "retentionCriteria") &&
1393  (odr_sequence_of(o, (Odr_fun) z_SortCriterion, &(*p)->sortCriteria,
1394  &(*p)->num_sortCriteria, "sortCriteria") || odr_ok(o)) &&
1395  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1396  odr_sequence_end(o);
1397 }
1398 
1400 {
1401  static Odr_arm arm[] = {
1403  (Odr_fun) odr_integer, "levelOfMatch"},
1405  (Odr_fun) odr_null, "caseSensitive"},
1407  (Odr_fun) odr_null, "punctuationSensitive"},
1409  (Odr_fun) z_External, "regularExpression"},
1411  (Odr_fun) odr_null, "rsDuplicates"},
1412  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1413  };
1414  if (!odr_initmember(o, p, sizeof(**p)))
1415  return odr_missing(o, opt, name);
1416  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1417  return 1;
1418  if (o->direction == ODR_DECODE)
1419  *p = 0;
1420  return odr_missing(o, opt, name);
1421 }
1422 
1424 {
1425  static Odr_arm arm[] = {
1427  (Odr_fun) odr_integer, "numberOfEntries"},
1429  (Odr_fun) odr_integer, "percentOfEntries"},
1431  (Odr_fun) odr_null, "duplicatesOnly"},
1433  (Odr_fun) odr_null, "discardRsDuplicates"},
1434  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1435  };
1436  if (!odr_initmember(o, p, sizeof(**p)))
1437  return odr_missing(o, opt, name);
1438  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1439  return 1;
1440  if (o->direction == ODR_DECODE)
1441  *p = 0;
1442  return odr_missing(o, opt, name);
1443 }
1444 
1446 {
1447  if (!odr_initmember(o, p, sizeof(**p)))
1448  return odr_missing(o, opt, name);
1449  if (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->elements,
1450  &(*p)->num, name))
1451  return 1;
1452  if (o->direction == ODR_DECODE)
1453  *p = 0;
1454  return odr_missing(o, opt, name);
1455 }
1456 
1457 int z_SortCriterion(ODR o, Z_SortCriterion **p, int opt, const char *name)
1458 {
1459  static Odr_arm arm[] = {
1461  (Odr_fun) odr_null, "mostComprehensive"},
1463  (Odr_fun) odr_null, "leastConmprehensive"},
1465  (Odr_fun) odr_null, "mostRecent"},
1467  (Odr_fun) odr_null, "oldest"},
1469  (Odr_fun) odr_null, "leastCost"},
1471  (Odr_fun) z_SortCriterionPreferredDatabases, "preferredDatabases"},
1472  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1473  };
1474  if (!odr_initmember(o, p, sizeof(**p)))
1475  return odr_missing(o, opt, name);
1476  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1477  return 1;
1478  if (o->direction == ODR_DECODE)
1479  *p = 0;
1480  return odr_missing(o, opt, name);
1481 }
1482 
1484 {
1485  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1486  return odr_missing(o, opt, name) && odr_ok (o);
1487  return
1488  z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") &&
1490  &(*p)->status, ODR_CONTEXT, 3, 0, "status") &&
1492  &(*p)->resultSetCount, ODR_CONTEXT, 4, 1, "resultSetCount") &&
1494  (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->diagnostics,
1495  &(*p)->num_diagnostics, "diagnostics") || odr_ok(o)) &&
1496  z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") &&
1497  odr_sequence_end(o);
1498 }
1499 
1500 int z_ReferenceId(ODR o, Z_ReferenceId **p, int opt, const char *name)
1501 {
1502  return odr_implicit_tag(o, odr_octetstring, p, ODR_CONTEXT, 2, opt, name);
1503 }
1504 
1505 int z_ResultSetId(ODR o, Z_ResultSetId **p, int opt, const char *name)
1506 {
1507  return odr_implicit_tag(o, z_InternationalString, p, ODR_CONTEXT, 31, opt, name);
1508 }
1509 
1510 int z_ElementSetName(ODR o, Z_ElementSetName **p, int opt, const char *name)
1511 {
1512  return odr_implicit_tag(o, z_InternationalString, p, ODR_CONTEXT, 103, opt, name);
1513 }
1514 
1515 int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, const char *name)
1516 {
1517  return odr_implicit_tag(o, z_InternationalString, p, ODR_CONTEXT, 105, opt, name);
1518 }
1519 
1520 int z_AttributeSetId(ODR o, Z_AttributeSetId **p, int opt, const char *name)
1521 {
1522  return odr_oid (o, p, opt, name);
1523 }
1524 
1526 {
1527  static Odr_arm arm[] = {
1529  (Odr_fun) z_InternationalString, "characterInfo"},
1531  (Odr_fun) odr_octetstring, "binaryInfo"},
1533  (Odr_fun) z_External, "externallyDefinedInfo"},
1535  (Odr_fun) odr_oid, "oid"},
1536  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1537  };
1538  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1539  return odr_missing(o, opt, name) && odr_ok (o);
1540  return
1542  &(*p)->category, ODR_CONTEXT, 1, 1, "category") &&
1543  odr_choice(o, arm, &(*p)->information, &(*p)->which, 0) &&
1544  odr_sequence_end(o);
1545 }
1546 
1547 int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, const char *name)
1548 {
1549  if (!odr_initmember(o, p, sizeof(**p)))
1550  return odr_missing(o, opt, name);
1552  if (odr_sequence_of(o, (Odr_fun) z_OtherInformationUnit, &(*p)->list,
1553  &(*p)->num_elements, name))
1554  return 1;
1555  if (o->direction == ODR_DECODE)
1556  *p = 0;
1557  return odr_missing(o, opt, name);
1558 }
1559 
1560 int z_InfoCategory(ODR o, Z_InfoCategory **p, int opt, const char *name)
1561 {
1562  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1563  return odr_missing(o, opt, name) && odr_ok (o);
1564  return
1566  &(*p)->categoryTypeId, ODR_CONTEXT, 1, 1, "categoryTypeId") &&
1568  &(*p)->categoryValue, ODR_CONTEXT, 2, 0, "categoryValue") &&
1569  odr_sequence_end(o);
1570 }
1571 
1572 int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name)
1573 {
1574  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1575  return odr_missing(o, opt, name) && odr_ok (o);
1576  return
1578  &(*p)->value, ODR_CONTEXT, 1, 0, "value") &&
1580  &(*p)->unitUsed, ODR_CONTEXT, 2, 0, "unitUsed") &&
1581  odr_sequence_end(o);
1582 }
1583 
1584 int z_Unit(ODR o, Z_Unit **p, int opt, const char *name)
1585 {
1586  if (!odr_sequence_begin(o, p, sizeof(**p), name))
1587  return odr_missing(o, opt, name) && odr_ok (o);
1588  return
1590  &(*p)->unitSystem, ODR_CONTEXT, 1, 1, "unitSystem") &&
1592  &(*p)->unitType, ODR_CONTEXT, 2, 1, "unitType") &&
1594  &(*p)->unit, ODR_CONTEXT, 3, 1, "unit") &&
1596  &(*p)->scaleFactor, ODR_CONTEXT, 4, 1, "scaleFactor") &&
1597  odr_sequence_end(o);
1598 }
1599 
1601 {
1602  return odr_generalstring (o, p, opt, name);
1603 }
1604 
1605 int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, const char *name)
1606 {
1607  static Odr_arm arm[] = {
1609  (Odr_fun) z_InternationalString, "string"},
1611  (Odr_fun) odr_integer, "numeric"},
1612  {-1, -1, -1, -1, (Odr_fun) 0, 0}
1613  };
1614  if (!odr_initmember(o, p, sizeof(**p)))
1615  return odr_missing(o, opt, name);
1616  if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
1617  return 1;
1618  if (o->direction == ODR_DECODE)
1619  *p = 0;
1620  return odr_missing(o, opt, name);
1621 }
1622 
1623 
1624 /* the type-0 query ... */
1625 int z_ANY_type_0 (ODR o, void **p, int opt)
1626 {
1627  return 0;
1628 }
1629 
1630 
Odr_int Z_PresentStatus
Definition: z-core.h:133
#define odr_ok(o)
Definition: odr.h:215
#define Z_APDU_scanResponse
Definition: z-core.h:365
#define Z_AttributeValue_numeric
Definition: z-core.h:586
char Z_InternationalString
Definition: z-core.h:301
int z_IdPass(ODR o, Z_IdPass **p, int opt, const char *name)
Definition: z-core.c:102
#define Z_APDU_searchResponse
Definition: z-core.h:352
int z_AccessControlResponse(ODR o, Z_AccessControlResponse **p, int opt, const char *name)
Definition: z-core.c:877
int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, const char *name)
Definition: z-core.c:1605
int z_Operator(ODR o, Z_Operator **p, int opt, const char *name)
Definition: z-core.c:361
int z_AttributeList(ODR o, Z_AttributeList **p, int opt, const char *name)
Definition: z-core.c:318
#define Z_APDU_segmentRequest
Definition: z-core.h:368
#define Z_ElementSpec_externalSpec
Definition: z-core.h:805
int z_AttributeSetId(ODR o, Z_AttributeSetId **p, int opt, const char *name)
Definition: z-core.c:1520
Z_InternationalString Z_ElementSetName
Definition: z-core.h:307
#define Z_Term_oid
Definition: z-core.h:550
int z_ResourceReport(ODR o, Z_ResourceReport **p, int opt, const char *name)
Definition: z-core.c:975
#define odr_explicit_tag(o, t, p, cl, tg, opt, name)
Definition: odr.h:195
#define Z_NamePlusRecord_intermediateFragment
Definition: z-core.h:716
Odr_oid Z_ResourceReportId
Definition: z-core.h:187
ASN.1 Module Z39-50-APDU-1995.
#define Z_DefaultDiagFormat_v3Addinfo
Definition: z-core.h:749
#define Z_Schema_oid
Definition: z-core.h:814
#define Z_Term_general
Definition: z-core.h:547
int z_SearchResponse(ODR o, Z_SearchResponse **p, int opt, const char *name)
Definition: z-core.c:451
int z_ResourceReportResponse(ODR o, Z_ResourceReportResponse **p, int opt, const char *name)
Definition: z-core.c:961
#define ODR_PRINT
Definition: odr.h:97
Z_InternationalString Z_ResultSetId
Definition: z-core.h:304
int z_ProxUnit(ODR o, Z_ProxUnit **p, int opt, const char *name)
Definition: z-core.c:446
#define Z_AttributeValue_complex
Definition: z-core.h:587
#define Z_APDU_resourceControlResponse
Definition: z-core.h:360
int z_AccessControlRequest(ODR o, Z_AccessControlRequest **p, int opt, const char *name)
Definition: z-core.c:859
#define Z_NamePlusRecord_startingFragment
Definition: z-core.h:715
#define Z_APDU_searchRequest
Definition: z-core.h:351
#define Z_Query_type_1
Definition: z-core.h:479
#define Z_DuplicateDetectionCriterion_levelOfMatch
Definition: z-core.h:1213
#define Z_OccurrenceByAttributesElem_byDatabase
Definition: z-core.h:1020
#define Z_Query_type_0
Definition: z-core.h:478
int z_ProtocolVersion(ODR o, Z_ProtocolVersion **p, int opt, const char *name)
Definition: z-core.c:166
int z_AttributeElement(ODR o, Z_AttributeElement **p, int opt, const char *name)
Definition: z-core.c:400
#define Z_SortCriterion_leastConmprehensive
Definition: z-core.h:1250
int z_DatabaseSpecificUnit(ODR o, Z_DatabaseSpecificUnit **p, int opt, const char *name)
Definition: z-core.c:687
#define odr_implicit_tag(o, t, p, cl, tg, opt, name)
Definition: odr.h:192
int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, const char *name)
Definition: z-core.c:1547
int odr_sequence_begin(ODR o, void *p, int size, const char *name)
Definition: odr_seq.c:15
#define Z_DiagRec_defaultFormat
Definition: z-core.h:736
#define Z_DefaultDiagFormat_v2Addinfo
Definition: z-core.h:748
#define Z_ElementSetNames_generic
Definition: z-core.h:773
#define Z_OtherInfo_oid
Definition: z-core.h:1290
int z_ExtendedServicesResponse(ODR o, Z_ExtendedServicesResponse **p, int opt, const char *name)
Definition: z-core.c:1307
int z_RPNQuery(ODR o, Z_RPNQuery **p, int opt, const char *name)
Definition: z-core.c:237
int z_ResourceReportRequest(ODR o, Z_ResourceReportRequest **p, int opt, const char *name)
Definition: z-core.c:947
char * name
Definition: initopt.c:18
int odr_visiblestring(ODR o, char **p, int opt, const char *name)
Definition: odr_use.c:41
int z_ScanRequest(ODR o, Z_ScanRequest **p, int opt, const char *name)
Definition: z-core.c:985
int z_CompSpec(ODR o, Z_CompSpec **p, int opt, const char *name)
Definition: z-core.c:744
int z_ListEntries(ODR o, Z_ListEntries **p, int opt, const char *name)
Definition: z-core.c:1028
#define Z_Operator_or
Definition: z-core.h:566
#define Z_SortKeySpec_abort
Definition: z-core.h:1076
#define Z_APDU_initResponse
Definition: z-core.h:350
#define Z_Operator_prox
Definition: z-core.h:568
int z_SortResponse(ODR o, Z_SortResponse **p, int opt, const char *name)
Definition: z-core.c:1164
#define Z_FragmentSyntax_notExternallyTagged
Definition: z-core.h:727
#define Z_DuplicateDetectionCriterion_caseSensitive
Definition: z-core.h:1214
#define Z_DuplicateDetectionCriterion_rsDuplicates
Definition: z-core.h:1217
int z_NamePlusRecordList(ODR o, Z_NamePlusRecordList **p, int opt, const char *name)
Definition: z-core.c:551
int z_Segment(ODR o, Z_Segment **p, int opt, const char *name)
Definition: z-core.c:520
#define Z_Query_type_101
Definition: z-core.h:482
#define Z_AccessControlRequest_simpleForm
Definition: z-core.h:868
int z_PresentStatus(ODR o, Z_PresentStatus **p, int opt, const char *name)
Definition: z-core.c:727
int z_ElementSpec(ODR o, Z_ElementSpec **p, int opt, const char *name)
Definition: z-core.c:762
int z_ResultSetPlusAttributes(ODR o, Z_ResultSetPlusAttributes **p, int opt, const char *name)
Definition: z-core.c:307
#define Z_OtherInfo_characterInfo
Definition: z-core.h:1287
int z_External(ODR o, Z_External **p, int opt, const char *name)
codec for BER EXTERNAL
Definition: prt-ext.c:95
#define Z_Term_integerAndUnit
Definition: z-core.h:553
#define Z_Term_external
Definition: z-core.h:552
int z_Complex(ODR o, Z_Complex **p, int opt, const char *name)
Definition: z-core.c:247
#define Z_APDU_accessControlResponse
Definition: z-core.h:358
#define Z_Query_type_104
Definition: z-core.h:484
int odr_constructed_begin(ODR o, void *xxp, int zclass, int tag, const char *name)
Definition: odr_cons.c:24
int z_TriggerResourceControlRequest(ODR o, Z_TriggerResourceControlRequest **p, int opt, const char *name)
Definition: z-core.c:931
#define Z_SortKeySpec_missingValueData
Definition: z-core.h:1078
int z_ResultSetId(ODR o, Z_ResultSetId **p, int opt, const char *name)
Definition: z-core.c:1505
#define Z_RecordComp_simple
Definition: z-core.h:645
#define Z_APDU_deleteResultSetResponse
Definition: z-core.h:356
#define Z_RPNStructure_complex
Definition: z-core.h:505
int z_NamePlusRecord(ODR o, Z_NamePlusRecord **p, int opt, const char *name)
Definition: z-core.c:595
int z_Permissions_s(ODR o, Z_Permissions_s **p, int opt, const char *name)
Definition: z-core.c:1324
int z_InitResponse(ODR o, Z_InitResponse **p, int opt, const char *name)
Definition: z-core.c:140
int z_RecordComposition(ODR o, Z_RecordComposition **p, int opt, const char *name)
Definition: z-core.c:475
int z_ElementSetNames(ODR o, Z_ElementSetNames **p, int opt, const char *name)
Definition: z-core.c:709
int odr_initmember(ODR o, void *p, int size)
Definition: odr_tag.c:44
#define Z_StringOrNumeric_numeric
Definition: z-core.h:1324
#define Z_SortElement_databaseSpecific
Definition: z-core.h:1098
int z_SortDbSpecificList_s(ODR o, Z_SortDbSpecificList_s **p, int opt, const char *name)
Definition: z-core.c:1208
int z_DatabaseSpecific(ODR o, Z_DatabaseSpecific **p, int opt, const char *name)
Definition: z-core.c:697
int z_DuplicateDetectionCriterion(ODR o, Z_DuplicateDetectionCriterion **p, int opt, const char *name)
Definition: z-core.c:1399
#define Z_RecordComp_complex
Definition: z-core.h:646
#define Z_NamePlusRecord_databaseRecord
Definition: z-core.h:713
#define Z_OtherInfo_binaryInfo
Definition: z-core.h:1288
int direction
Definition: odr.h:126
#define Z_Records_multipleNSD
Definition: z-core.h:700
int z_AttributesPlusTerm(ODR o, Z_AttributesPlusTerm **p, int opt, const char *name)
Definition: z-core.c:296
#define Z_SortCriterion_oldest
Definition: z-core.h:1252
#define Z_Term_numeric
Definition: z-core.h:548
#define Z_FragmentSyntax_externallyTagged
Definition: z-core.h:726
Definition: z-core.h:536
int odr_integer(ODR o, Odr_int **p, int opt, const char *name)
Definition: odr_int.c:19
int odr_bool(ODR o, Odr_bool **p, int opt, const char *name)
Definition: odr_bool.c:21
int z_SortAttributes(ODR o, Z_SortAttributes **p, int opt, const char *name)
Definition: z-core.c:1248
#define Z_IdAuthentication_anonymous
Definition: z-core.h:406
#define Z_APDU_deleteResultSetRequest
Definition: z-core.h:355
int z_DeleteResultSetResponse(ODR o, Z_DeleteResultSetResponse **p, int opt, const char *name)
Definition: z-core.c:812
int z_Permissions(ODR o, Z_Permissions **p, int opt, const char *name)
Definition: z-core.c:1337
int z_SortCriterionPreferredDatabases(ODR o, Z_SortCriterionPreferredDatabases **p, int opt, const char *name)
Definition: z-core.c:1445
int z_Range(ODR o, Z_Range **p, int opt, const char *name)
Definition: z-core.c:675
int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp, const char *name)
Definition: odr_choice.c:17
#define Z_SortKey_sortAttributes
Definition: z-core.h:1115
#define Z_RetentionCriterion_percentOfEntries
Definition: z-core.h:1229
int z_DbSpecific(ODR o, Z_DbSpecific **p, int opt, const char *name)
Definition: z-core.c:732
int odr_generalstring(ODR o, char **p, int opt, const char *name)
Definition: odr_use.c:51
int z_ElementSetName(ODR o, Z_ElementSetName **p, int opt, const char *name)
Definition: z-core.c:1510
int z_CloseReason(ODR o, Z_CloseReason **p, int opt, const char *name)
Definition: z-core.c:1366
int z_DeleteStatus(ODR o, Z_DeleteStatus **p, int opt, const char *name)
Definition: z-core.c:854
#define Z_Records_NSD
Definition: z-core.h:699
#define Z_StringOrNumeric_string
Definition: z-core.h:1323
int z_ListStatuses(ODR o, Z_ListStatuses **p, int opt, const char *name)
Definition: z-core.c:842
Odr_int Z_ProxUnit
Definition: z-core.h:82
int z_DuplicateDetectionRequest(ODR o, Z_DuplicateDetectionRequest **p, int opt, const char *name)
Definition: z-core.c:1371
int z_ResourceReportId(ODR o, Z_ResourceReportId **p, int opt, const char *name)
Definition: z-core.c:980
#define Z_SortKeySpec_null
Definition: z-core.h:1077
#define Z_Query_type_100
Definition: z-core.h:481
#define Z_APDU_resourceReportResponse
Definition: z-core.h:363
#define ODR_EXPLICIT
Definition: odr.h:60
#define Z_DuplicateDetectionCriterion_punctuationSensitive
Definition: z-core.h:1215
#define Z_DuplicateDetectionCriterion_regularExpression
Definition: z-core.h:1216
#define Z_APDU_extendedServicesRequest
Definition: z-core.h:369
#define Z_Operand_resultSetId
Definition: z-core.h:516
int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num, const char *name)
Definition: odr_seq.c:134
int z_RetentionCriterion(ODR o, Z_RetentionCriterion **p, int opt, const char *name)
Definition: z-core.c:1423
int(* Odr_fun)(ODR, char **, int, const char *)
Definition: odr.h:135
#define Z_Entry_surrogateDiagnostic
Definition: z-core.h:987
int z_byDatabaseList(ODR o, Z_byDatabaseList **p, int opt, const char *name)
Definition: z-core.c:1092
int z_DuplicateDetectionResponse(ODR o, Z_DuplicateDetectionResponse **p, int opt, const char *name)
Definition: z-core.c:1483
int z_ReferenceId(ODR o, Z_ReferenceId **p, int opt, const char *name)
Definition: z-core.c:1500
int z_Query(ODR o, Z_Query **p, int opt, const char *name)
Definition: z-core.c:209
Odr_oid Z_AttributeSetId
Definition: z-core.h:283
Definition: z-core.h:981
int which
Definition: odr.h:142
Definition: odr.h:137
Definition: odr.h:99
int z_OccurrenceByAttributes(ODR o, Z_OccurrenceByAttributes **p, int opt, const char *name)
Definition: z-core.c:1123
#define Z_APDU_resourceReportRequest
Definition: z-core.h:362
#define Z_ElementSetNames_databaseSpecific
Definition: z-core.h:774
Z_InternationalString Z_DatabaseName
Definition: z-core.h:310
#define Z_ElementSpec_elementSetName
Definition: z-core.h:804
int z_IdAuthentication(ODR o, Z_IdAuthentication **p, int opt, const char *name)
Definition: z-core.c:116
int z_APDU(ODR o, Z_APDU **p, int opt, const char *name)
Definition: z-core.c:12
int z_SearchRequest(ODR o, Z_SearchRequest **p, int opt, const char *name)
Definition: z-core.c:176
int odr_null(ODR o, Odr_null **p, int opt, const char *name)
Definition: odr_null.c:19
#define Z_SortCriterion_mostRecent
Definition: z-core.h:1251
int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name)
Definition: z-core.c:639
int odr_missing(ODR o, int opt, const char *name)
Definition: odr_util.c:82
#define Z_Operator_and
Definition: z-core.h:565
#define Z_Term_dateTime
Definition: z-core.h:551
#define Z_NamePlusRecord_finalFragment
Definition: z-core.h:717
Odr_int Z_CloseReason
Definition: z-core.h:259
int z_SortRequest(ODR o, Z_SortRequest **p, int opt, const char *name)
Definition: z-core.c:1147
int z_Options(ODR o, Z_Options **p, int opt, const char *name)
Definition: z-core.c:171
Definition: odr.h:124
int z_SortKey(ODR o, Z_SortKey **p, int opt, const char *name)
Definition: z-core.c:1258
int z_DiagRecs(ODR o, Z_DiagRecs **p, int opt, const char *name)
Definition: z-core.c:563
#define Z_Query_type_2
Definition: z-core.h:480
#define Z_APDU_extendedServicesResponse
Definition: z-core.h:370
#define Z_AccessControlResponse_simpleForm
Definition: z-core.h:880
#define Z_Records_DBOSD
Definition: z-core.h:698
Odr_int Z_DeleteStatus
Definition: z-core.h:160
int z_RPNStructure(ODR o, Z_RPNStructure **p, int opt, const char *name)
Definition: z-core.c:258
int z_byDatabaseList_s(ODR o, Z_byDatabaseList_s **p, int opt, const char *name)
Definition: z-core.c:1080
#define Z_APDU_duplicateDetectionResponse
Definition: z-core.h:373
int z_SortKeySpec(ODR o, Z_SortKeySpec **p, int opt, const char *name)
Definition: z-core.c:1183
int odr_sequence_end(ODR o)
Definition: odr_seq.c:61
int z_SortDbSpecificList(ODR o, Z_SortDbSpecificList **p, int opt, const char *name)
Definition: z-core.c:1218
#define Z_Operand_APT
Definition: z-core.h:515
int z_Unit(ODR o, Z_Unit **p, int opt, const char *name)
Definition: z-core.c:1584
#define Z_IdAuthentication_other
Definition: z-core.h:407
#define Z_Term_null
Definition: z-core.h:554
int z_ScanResponse(ODR o, Z_ScanResponse **p, int opt, const char *name)
Definition: z-core.c:1006
int z_InfoCategory(ODR o, Z_InfoCategory **p, int opt, const char *name)
Definition: z-core.c:1560
int opt
Definition: initopt.c:19
int z_Entry(ODR o, Z_Entry **p, int opt, const char *name)
Definition: z-core.c:1042
int z_PresentResponse(ODR o, Z_PresentResponse **p, int opt, const char *name)
Definition: z-core.c:535
int z_Records(ODR o, Z_Records **p, int opt, const char *name)
Definition: z-core.c:575
int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt, const char *name)
Definition: z-core.c:657
#define Z_APDU_sortRequest
Definition: z-core.h:366
#define Z_APDU_close
Definition: z-core.h:371
#define ODR_IMPLICIT
Definition: odr.h:59
int odr_oid(ODR o, Odr_oid **p, int opt, const char *name)
Definition: odr_oid.c:20
#define Z_RetentionCriterion_duplicatesOnly
Definition: z-core.h:1230
int z_Specification(ODR o, Z_Specification **p, int opt, const char *name)
Definition: z-core.c:780
#define Z_IdAuthentication_open
Definition: z-core.h:404
#define Z_Term_characterString
Definition: z-core.h:549
#define Z_SortKey_sortField
Definition: z-core.h:1113
#define Z_ProximityOperator_known
Definition: z-core.h:606
structure for all known EXTERNALs
Definition: prt-ext.h:58
#define Z_SortCriterion_preferredDatabases
Definition: z-core.h:1254
#define Z_IdAuthentication_idPass
Definition: z-core.h:405
#define Z_OtherInfo_externallyDefinedInfo
Definition: z-core.h:1289
int z_ListStatus(ODR o, Z_ListStatus **p, int opt, const char *name)
Definition: z-core.c:832
#define Z_SortCriterion_mostComprehensive
Definition: z-core.h:1249
int z_InternationalString(ODR o, Z_InternationalString **p, int opt, const char *name)
Definition: z-core.c:1600
#define Z_APDU_sortResponse
Definition: z-core.h:367
#define Z_AccessControlResponse_externallyDefined
Definition: z-core.h:881
int z_InitRequest(ODR o, Z_InitRequest **p, int opt, const char *name)
Definition: z-core.c:76
int z_TermInfo(ODR o, Z_TermInfo **p, int opt, const char *name)
Definition: z-core.c:1060
#define Z_Operator_and_not
Definition: z-core.h:567
int z_OccurrenceByAttributesElem(ODR o, Z_OccurrenceByAttributesElem **p, int opt, const char *name)
Definition: z-core.c:1104
int z_SortElement(ODR o, Z_SortElement **p, int opt, const char *name)
Definition: z-core.c:1230
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
Definition: odr_oct.c:19
int z_ExtendedServicesRequest(ODR o, Z_ExtendedServicesRequest **p, int opt, const char *name)
Definition: z-core.c:1278
#define Z_AccessControlRequest_externallyDefined
Definition: z-core.h:869
Definition: z-core.h:321
int z_ResourceControlRequest(ODR o, Z_ResourceControlRequest **p, int opt, const char *name)
Definition: z-core.c:897
int z_ProximityOperator(ODR o, Z_ProximityOperator **p, int opt, const char *name)
Definition: z-core.c:420
int z_FragmentSyntax(ODR o, Z_FragmentSyntax **p, int opt, const char *name)
Definition: z-core.c:621
#define Z_Schema_uri
Definition: z-core.h:815
int odr_bitstring(ODR o, Odr_bitmask **p, int opt, const char *name)
Definition: odr_bit.c:22
#define Z_RetentionCriterion_numberOfEntries
Definition: z-core.h:1228
int z_Term(ODR o, Z_Term **p, int opt, const char *name)
Definition: z-core.c:331
#define Z_RetentionCriterion_discardRsDuplicates
Definition: z-core.h:1231
#define Z_RPNStructure_simple
Definition: z-core.h:504
int odr_generalizedtime(ODR o, char **p, int opt, const char *name)
Definition: odr_use.c:63
#define Z_APDU_resourceControlRequest
Definition: z-core.h:359
int z_ANY_type_0(ODR o, void **p, int opt)
Definition: z-core.c:1625
#define Z_ProximityOperator_private
Definition: z-core.h:607
int z_Operand(ODR o, Z_Operand **p, int opt, const char *name)
Definition: z-core.c:276
#define Z_APDU_triggerResourceControlRequest
Definition: z-core.h:361
#define Z_OccurrenceByAttributesElem_global
Definition: z-core.h:1019
#define Z_APDU_scanRequest
Definition: z-core.h:364
int z_SortKeySpecList(ODR o, Z_SortKeySpecList **p, int opt, const char *name)
Definition: z-core.c:1135
int odr_constructed_end(ODR o)
Definition: odr_cons.c:148
#define Z_NamePlusRecord_surrogateDiagnostic
Definition: z-core.h:714
#define ODR_CONTEXT
Definition: odr.h:67
int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name)
Definition: z-core.c:1572
#define Z_APDU_accessControlRequest
Definition: z-core.h:357
#define Z_DiagRec_externallyDefined
Definition: z-core.h:737
#define Z_APDU_initRequest
Definition: z-core.h:349
#define Z_Operand_resultAttr
Definition: z-core.h:517
#define Z_Query_type_102
Definition: z-core.h:483
#define Z_APDU_duplicateDetectionRequest
Definition: z-core.h:372
int z_ComplexAttribute(ODR o, Z_ComplexAttribute **p, int opt, const char *name)
Definition: z-core.c:386
int z_Close(ODR o, Z_Close **p, int opt, const char *name)
Definition: z-core.c:1349
int z_PresentRequest(ODR o, Z_PresentRequest **p, int opt, const char *name)
Definition: z-core.c:493
#define Z_APDU_presentResponse
Definition: z-core.h:354
int z_SortCriterion(ODR o, Z_SortCriterion **p, int opt, const char *name)
Definition: z-core.c:1457
#define Z_SortElement_generic
Definition: z-core.h:1097
int z_DeleteResultSetRequest(ODR o, Z_DeleteResultSetRequest **p, int opt, const char *name)
Definition: z-core.c:798
#define ODR_DECODE
Definition: odr.h:95
#define Z_Entry_termInfo
Definition: z-core.h:986
int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, const char *name)
Definition: z-core.c:1515
int odr_implicit_settag(ODR o, int zclass, int tag)
Definition: odr_tag.c:32
#define Z_SortKey_elementSpec
Definition: z-core.h:1114
int z_ResourceControlResponse(ODR o, Z_ResourceControlResponse **p, int opt, const char *name)
Definition: z-core.c:917
int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, int opt, const char *name)
Definition: z-core.c:1525
#define Z_SortCriterion_leastCost
Definition: z-core.h:1253
#define Z_APDU_presentRequest
Definition: z-core.h:353