2 \brief ASN.1 Module RecordSyntax-generic
4 Generated automatically by YAZ ASN.1 Compiler 0.4
9 int z_GenericRecord (ODR o, Z_GenericRecord **p, int opt, const char *name)
11 if (!odr_initmember (o, p, sizeof(**p)))
12 return odr_missing(o, opt, name);
13 if (odr_sequence_of (o, (Odr_fun) z_TaggedElement, &(*p)->elements,
14 &(*p)->num_elements, name))
16 if(o->direction == ODR_DECODE)
18 return odr_missing(o, opt, name);
21 int z_TaggedElement (ODR o, Z_TaggedElement **p, int opt, const char *name)
23 if (!odr_sequence_begin (o, p, sizeof(**p), name))
24 return odr_missing(o, opt, name) && odr_ok (o);
26 odr_implicit_tag (o, odr_integer,
27 &(*p)->tagType, ODR_CONTEXT, 1, 1, "tagType") &&
28 odr_explicit_tag (o, z_StringOrNumeric,
29 &(*p)->tagValue, ODR_CONTEXT, 2, 0, "tagValue") &&
30 odr_implicit_tag (o, odr_integer,
31 &(*p)->tagOccurrence, ODR_CONTEXT, 3, 1, "tagOccurrence") &&
32 odr_explicit_tag (o, z_ElementData,
33 &(*p)->content, ODR_CONTEXT, 4, 0, "content") &&
34 odr_implicit_tag (o, z_ElementMetaData,
35 &(*p)->metaData, ODR_CONTEXT, 5, 1, "metaData") &&
36 odr_implicit_tag (o, z_Variant,
37 &(*p)->appliedVariant, ODR_CONTEXT, 6, 1, "appliedVariant") &&
41 int z_ElementData (ODR o, Z_ElementData **p, int opt, const char *name)
43 static Odr_arm arm[] = {
44 {-1, -1, -1, Z_ElementData_octets,
45 (Odr_fun) odr_octetstring, "octets"},
46 {-1, -1, -1, Z_ElementData_numeric,
47 (Odr_fun) odr_integer, "numeric"},
48 {-1, -1, -1, Z_ElementData_date,
49 (Odr_fun) odr_generalizedtime, "date"},
50 {-1, -1, -1, Z_ElementData_ext,
51 (Odr_fun) z_External, "ext"},
52 {-1, -1, -1, Z_ElementData_string,
53 (Odr_fun) z_InternationalString, "string"},
54 {-1, -1, -1, Z_ElementData_trueOrFalse,
55 (Odr_fun) odr_bool, "trueOrFalse"},
56 {-1, -1, -1, Z_ElementData_oid,
57 (Odr_fun) odr_oid, "oid"},
58 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ElementData_intUnit,
59 (Odr_fun) z_IntUnit, "intUnit"},
60 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ElementData_elementNotThere,
61 (Odr_fun) odr_null, "elementNotThere"},
62 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ElementData_elementEmpty,
63 (Odr_fun) odr_null, "elementEmpty"},
64 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_ElementData_noDataRequested,
65 (Odr_fun) odr_null, "noDataRequested"},
66 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_ElementData_diagnostic,
67 (Odr_fun) z_External, "diagnostic"},
68 {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_ElementData_subtree,
69 (Odr_fun) z_GenericRecord, "subtree"},
70 {-1, -1, -1, -1, (Odr_fun) 0, 0}
72 if (!odr_initmember(o, p, sizeof(**p)))
73 return odr_missing(o, opt, name);
74 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
76 if(o->direction == ODR_DECODE)
78 return odr_missing(o, opt, name);
81 int z_ElementMetaData (ODR o, Z_ElementMetaData **p, int opt, const char *name)
83 if (!odr_sequence_begin (o, p, sizeof(**p), name))
84 return odr_missing(o, opt, name) && odr_ok (o);
86 odr_implicit_tag (o, z_Order,
87 &(*p)->seriesOrder, ODR_CONTEXT, 1, 1, "seriesOrder") &&
88 odr_implicit_tag (o, z_Usage,
89 &(*p)->usageRight, ODR_CONTEXT, 2, 1, "usageRight") &&
90 odr_implicit_settag (o, ODR_CONTEXT, 3) &&
91 (odr_sequence_of(o, (Odr_fun) z_HitVector, &(*p)->hits,
92 &(*p)->num_hits, "hits") || odr_ok(o)) &&
93 odr_implicit_tag (o, z_InternationalString,
94 &(*p)->displayName, ODR_CONTEXT, 4, 1, "displayName") &&
95 odr_implicit_settag (o, ODR_CONTEXT, 5) &&
96 (odr_sequence_of(o, (Odr_fun) z_Variant, &(*p)->supportedVariants,
97 &(*p)->num_supportedVariants, "supportedVariants") || odr_ok(o)) &&
98 odr_implicit_tag (o, z_InternationalString,
99 &(*p)->message, ODR_CONTEXT, 6, 1, "message") &&
100 odr_implicit_tag (o, odr_octetstring,
101 &(*p)->elementDescriptor, ODR_CONTEXT, 7, 1, "elementDescriptor") &&
102 odr_implicit_tag (o, z_TagPath,
103 &(*p)->surrogateFor, ODR_CONTEXT, 8, 1, "surrogateFor") &&
104 odr_implicit_tag (o, z_TagPath,
105 &(*p)->surrogateElement, ODR_CONTEXT, 9, 1, "surrogateElement") &&
106 odr_implicit_tag (o, z_External,
107 &(*p)->other, ODR_CONTEXT, 99, 1, "other") &&
108 odr_sequence_end (o);
111 int z_TagPath_s (ODR o, Z_TagPath_s **p, int opt, const char *name)
113 if (!odr_sequence_begin (o, p, sizeof(**p), name))
114 return odr_missing(o, opt, name) && odr_ok (o);
116 odr_implicit_tag (o, odr_integer,
117 &(*p)->tagType, ODR_CONTEXT, 1, 1, "tagType") &&
118 odr_explicit_tag (o, z_StringOrNumeric,
119 &(*p)->tagValue, ODR_CONTEXT, 2, 0, "tagValue") &&
120 odr_implicit_tag (o, odr_integer,
121 &(*p)->tagOccurrence, ODR_CONTEXT, 3, 1, "tagOccurrence") &&
122 odr_sequence_end (o);
125 int z_TagPath (ODR o, Z_TagPath **p, int opt, const char *name)
127 if (!odr_initmember (o, p, sizeof(**p)))
128 return odr_missing(o, opt, name);
129 if (odr_sequence_of (o, (Odr_fun) z_TagPath_s, &(*p)->elements,
132 if(o->direction == ODR_DECODE)
134 return odr_missing(o, opt, name);
137 int z_Order (ODR o, Z_Order **p, int opt, const char *name)
139 if (!odr_sequence_begin (o, p, sizeof(**p), name))
140 return odr_missing(o, opt, name) && odr_ok (o);
142 odr_implicit_tag (o, odr_bool,
143 &(*p)->ascending, ODR_CONTEXT, 1, 0, "ascending") &&
144 odr_implicit_tag (o, odr_integer,
145 &(*p)->order, ODR_CONTEXT, 2, 0, "order") &&
146 odr_sequence_end (o);
149 int z_Usage (ODR o, Z_Usage **p, int opt, const char *name)
151 if (!odr_sequence_begin (o, p, sizeof(**p), name))
152 return odr_missing(o, opt, name) && odr_ok (o);
154 odr_implicit_tag (o, odr_integer,
155 &(*p)->type, ODR_CONTEXT, 1, 0, "type") &&
156 odr_implicit_tag (o, z_InternationalString,
157 &(*p)->restriction, ODR_CONTEXT, 2, 1, "restriction") &&
158 odr_sequence_end (o);
161 int z_HitVector (ODR o, Z_HitVector **p, int opt, const char *name)
163 if (!odr_sequence_begin (o, p, sizeof(**p), name))
164 return odr_missing(o, opt, name) && odr_ok (o);
166 z_Term(o, &(*p)->satisfier, 1, "satisfier") &&
167 odr_implicit_tag (o, z_IntUnit,
168 &(*p)->offsetIntoElement, ODR_CONTEXT, 1, 1, "offsetIntoElement") &&
169 odr_implicit_tag (o, z_IntUnit,
170 &(*p)->length, ODR_CONTEXT, 2, 1, "length") &&
171 odr_implicit_tag (o, odr_integer,
172 &(*p)->hitRank, ODR_CONTEXT, 3, 1, "hitRank") &&
173 odr_implicit_tag (o, odr_octetstring,
174 &(*p)->targetToken, ODR_CONTEXT, 4, 1, "targetToken") &&
175 odr_sequence_end (o);
178 int z_Triple (ODR o, Z_Triple **p, int opt, const char *name)
180 static Odr_arm arm[] = {
181 {-1, -1, -1, Z_Triple_integer,
182 (Odr_fun) odr_integer, "integer"},
183 {-1, -1, -1, Z_Triple_internationalString,
184 (Odr_fun) z_InternationalString, "internationalString"},
185 {-1, -1, -1, Z_Triple_octetString,
186 (Odr_fun) odr_octetstring, "octetString"},
187 {-1, -1, -1, Z_Triple_objectIdentifier,
188 (Odr_fun) odr_oid, "objectIdentifier"},
189 {-1, -1, -1, Z_Triple_boolean,
190 (Odr_fun) odr_bool, "boolean"},
191 {-1, -1, -1, Z_Triple_null,
192 (Odr_fun) odr_null, "null"},
193 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Triple_unit,
194 (Odr_fun) z_Unit, "unit"},
195 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Triple_valueAndUnit,
196 (Odr_fun) z_IntUnit, "valueAndUnit"},
197 {-1, -1, -1, -1, (Odr_fun) 0, 0}
199 if (!odr_sequence_begin (o, p, sizeof(**p), name))
200 return odr_missing(o, opt, name) && odr_ok (o);
202 odr_implicit_tag (o, odr_oid,
203 &(*p)->variantSetId, ODR_CONTEXT, 0, 1, "variantSetId") &&
204 odr_implicit_tag (o, odr_integer,
205 &(*p)->zclass, ODR_CONTEXT, 1, 0, "zclass") &&
206 odr_implicit_tag (o, odr_integer,
207 &(*p)->type, ODR_CONTEXT, 2, 0, "type") &&
208 odr_constructed_begin (o, &(*p)->value, ODR_CONTEXT, 3, "value") &&
209 odr_choice (o, arm, &(*p)->value, &(*p)->which, 0) &&
210 odr_constructed_end (o) &&
211 odr_sequence_end (o);
214 int z_Variant (ODR o, Z_Variant **p, int opt, const char *name)
216 if (!odr_sequence_begin (o, p, sizeof(**p), name))
217 return odr_missing(o, opt, name) && odr_ok (o);
219 odr_implicit_tag (o, odr_oid,
220 &(*p)->globalVariantSetId, ODR_CONTEXT, 1, 1, "globalVariantSetId") &&
221 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
222 odr_sequence_of(o, (Odr_fun) z_Triple, &(*p)->triples,
223 &(*p)->num_triples, "triples") &&
224 odr_sequence_end (o);