2 /*** <<< INCLUDES [T] >>> ***/
5 #include <constr_CHOICE.h>
6 #include <constr_SEQUENCE.h>
8 /*** <<< DEPS [T] >>> ***/
11 b_PR_NOTHING, /* No components present */
18 e_PR_NOTHING, /* No components present */
23 h_PR_NOTHING, /* No components present */
28 /*** <<< TYPE-DECLS [T] >>> ***/
44 /* Context for parsing across buffer boundaries */
45 asn_struct_ctx_t _asn_ctx;
54 /* Context for parsing across buffer boundaries */
55 asn_struct_ctx_t _asn_ctx;
59 /* Context for parsing across buffer boundaries */
60 asn_struct_ctx_t _asn_ctx;
63 /* Context for parsing across buffer boundaries */
64 asn_struct_ctx_t _asn_ctx;
67 /*** <<< FUNC-DECLS [T] >>> ***/
69 extern asn_TYPE_descriptor_t asn_DEF_T;
71 /*** <<< STAT-DEFS [T] >>> ***/
73 static asn_TYPE_member_t asn_MBR_e_6[] = {
74 { ATF_NOFLAGS, 0, offsetof(struct e, choice.f),
75 .tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),
76 .tag_mode = -1, /* IMPLICIT tag at current level */
77 .type = &asn_DEF_NULL,
79 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
80 0, 0, /* No default value */
83 { ATF_NOFLAGS, 0, offsetof(struct e, choice.g),
84 .tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),
85 .tag_mode = -1, /* IMPLICIT tag at current level */
86 .type = &asn_DEF_NULL,
88 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
89 0, 0, /* No default value */
93 static const asn_TYPE_tag2member_t asn_MAP_e_tag2el_6[] = {
94 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f */
95 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g */
97 static asn_CHOICE_specifics_t asn_SPC_e_specs_6 = {
99 offsetof(struct e, _asn_ctx),
100 offsetof(struct e, present),
101 sizeof(((struct e *)0)->present),
102 .tag2el = asn_MAP_e_tag2el_6,
103 .tag2el_count = 2, /* Count of tags in the map */
105 .first_extension = -1 /* Extensions start */
107 static /* Use -fall-defs-global to expose */
108 asn_TYPE_descriptor_t asn_DEF_e_6 = {
112 0, /* No effective tags (pointer) */
113 0, /* No effective tags (count) */
114 0, /* No tags (pointer) */
115 0, /* No tags (count) */
116 { 0, 0, CHOICE_constraint },
118 2, /* Elements count */
119 &asn_SPC_e_specs_6 /* Additional specs */
122 static asn_TYPE_member_t asn_MBR_h_9[] = {
123 { ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
124 .tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
125 .tag_mode = -1, /* IMPLICIT tag at current level */
126 .type = &asn_DEF_NULL,
128 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
129 0, 0, /* No default value */
132 { ATF_NOFLAGS, 0, offsetof(struct h, choice.j),
133 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
134 .tag_mode = -1, /* IMPLICIT tag at current level */
135 .type = &asn_DEF_NULL,
137 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
138 0, 0, /* No default value */
142 static const asn_TYPE_tag2member_t asn_MAP_h_tag2el_9[] = {
143 { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i */
144 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j */
146 static asn_CHOICE_specifics_t asn_SPC_h_specs_9 = {
148 offsetof(struct h, _asn_ctx),
149 offsetof(struct h, present),
150 sizeof(((struct h *)0)->present),
151 .tag2el = asn_MAP_h_tag2el_9,
152 .tag2el_count = 2, /* Count of tags in the map */
154 .first_extension = -1 /* Extensions start */
156 static /* Use -fall-defs-global to expose */
157 asn_TYPE_descriptor_t asn_DEF_h_9 = {
161 0, /* No effective tags (pointer) */
162 0, /* No effective tags (count) */
163 0, /* No tags (pointer) */
164 0, /* No tags (count) */
165 { 0, 0, CHOICE_constraint },
167 2, /* Elements count */
168 &asn_SPC_h_specs_9 /* Additional specs */
171 static asn_TYPE_member_t asn_MBR_b_3[] = {
172 { ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
173 .tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
174 .tag_mode = -1, /* IMPLICIT tag at current level */
175 .type = &asn_DEF_NULL,
177 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
178 0, 0, /* No default value */
181 { ATF_NOFLAGS, 0, offsetof(struct b, choice.d),
182 .tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),
183 .tag_mode = -1, /* IMPLICIT tag at current level */
184 .type = &asn_DEF_NULL,
186 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
187 0, 0, /* No default value */
190 { ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
191 .tag = -1 /* Ambiguous tag (CHOICE?) */,
193 .type = &asn_DEF_e_6,
195 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
196 0, 0, /* No default value */
199 { ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
200 .tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
201 .tag_mode = +1, /* EXPLICIT tag at current level */
202 .type = &asn_DEF_h_9,
204 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
205 0, 0, /* No default value */
209 static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
210 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c */
211 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */
212 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f */
213 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g */
214 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h */
216 static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = {
218 offsetof(struct b, _asn_ctx),
219 offsetof(struct b, present),
220 sizeof(((struct b *)0)->present),
221 .tag2el = asn_MAP_b_tag2el_3,
222 .tag2el_count = 5, /* Count of tags in the map */
224 .first_extension = -1 /* Extensions start */
226 static /* Use -fall-defs-global to expose */
227 asn_TYPE_descriptor_t asn_DEF_b_3 = {
231 0, /* No effective tags (pointer) */
232 0, /* No effective tags (count) */
233 0, /* No tags (pointer) */
234 0, /* No tags (count) */
235 { 0, 0, CHOICE_constraint },
237 4, /* Elements count */
238 &asn_SPC_b_specs_3 /* Additional specs */
241 static asn_TYPE_member_t asn_MBR_T_1[] = {
242 { ATF_NOFLAGS, 0, offsetof(struct T, a),
243 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
244 .tag_mode = -1, /* IMPLICIT tag at current level */
245 .type = &asn_DEF_NULL,
247 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
248 0, 0, /* No default value */
251 { ATF_NOFLAGS, 0, offsetof(struct T, b),
252 .tag = -1 /* Ambiguous tag (CHOICE?) */,
254 .type = &asn_DEF_b_3,
256 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
257 0, 0, /* No default value */
261 static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
262 (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
263 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
265 static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = {
266 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a */
267 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c */
268 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */
269 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 1, 0, 0 }, /* f */
270 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g */
271 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 } /* h */
273 static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = {
275 offsetof(struct T, _asn_ctx),
276 .tag2el = asn_MAP_T_tag2el_1,
277 .tag2el_count = 6, /* Count of tags in the map */
278 0, 0, 0, /* Optional elements (not needed) */
279 -1, /* First extension addition */
281 asn_TYPE_descriptor_t asn_DEF_T = {
286 sizeof(asn_DEF_T_tags_1)
287 /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */
288 asn_DEF_T_tags_1, /* Same as above */
289 sizeof(asn_DEF_T_tags_1)
290 /sizeof(asn_DEF_T_tags_1[0]), /* 2 */
291 { 0, 0, SEQUENCE_constraint },
293 2, /* Elements count */
294 &asn_SPC_T_specs_1 /* Additional specs */