2 /*** <<< INCLUDES [Test-structure-1] >>> ***/
5 #include <asn_SET_OF.h>
6 #include <constr_SET_OF.h>
7 #include <asn_SEQUENCE_OF.h>
8 #include <constr_SEQUENCE_OF.h>
9 #include <constr_SEQUENCE.h>
11 /*** <<< FWD-DECLS [Test-structure-1] >>> ***/
13 struct Test_structure_1;
15 /*** <<< TYPE-DECLS [Test-structure-1] >>> ***/
17 typedef struct Test_structure_1 {
19 A_SET_OF(struct Test_structure_1) list;
21 /* Context for parsing across buffer boundaries */
22 asn_struct_ctx_t _asn_ctx;
25 A_SEQUENCE_OF(struct Test_structure_1) list;
27 /* Context for parsing across buffer boundaries */
28 asn_struct_ctx_t _asn_ctx;
30 struct Test_structure_1 *t_member3; /* OPTIONAL */
33 /* Context for parsing across buffer boundaries */
34 asn_struct_ctx_t _asn_ctx;
37 /*** <<< FUNC-DECLS [Test-structure-1] >>> ***/
39 extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
40 extern asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1;
41 extern asn_TYPE_member_t asn_MBR_Test_structure_1_1[4];
43 /*** <<< POST-INCLUDE [Test-structure-1] >>> ***/
45 #include "Test-structure-1.h"
47 /*** <<< STAT-DEFS [Test-structure-1] >>> ***/
49 static asn_TYPE_member_t asn_MBR_t_member1_2[] = {
51 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
53 .type = &asn_DEF_Test_structure_1,
55 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
56 0, 0, /* No default value */
60 static const ber_tlv_tag_t asn_DEF_t_member1_tags_2[] = {
61 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
63 static asn_SET_OF_specifics_t asn_SPC_t_member1_specs_2 = {
64 sizeof(struct t_member1),
65 offsetof(struct t_member1, _asn_ctx),
66 0, /* XER encoding is XMLDelimitedItemList */
68 static /* Use -fall-defs-global to expose */
69 asn_TYPE_descriptor_t asn_DEF_t_member1_2 = {
73 asn_DEF_t_member1_tags_2,
74 sizeof(asn_DEF_t_member1_tags_2)
75 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
76 asn_DEF_t_member1_tags_2, /* Same as above */
77 sizeof(asn_DEF_t_member1_tags_2)
78 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
79 { 0, 0, SET_OF_constraint },
81 1, /* Single element */
82 &asn_SPC_t_member1_specs_2 /* Additional specs */
85 static asn_TYPE_member_t asn_MBR_t_member2_4[] = {
87 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
89 .type = &asn_DEF_Test_structure_1,
91 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
92 0, 0, /* No default value */
96 static const ber_tlv_tag_t asn_DEF_t_member2_tags_4[] = {
97 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
99 static asn_SET_OF_specifics_t asn_SPC_t_member2_specs_4 = {
100 sizeof(struct t_member2),
101 offsetof(struct t_member2, _asn_ctx),
102 0, /* XER encoding is XMLDelimitedItemList */
104 static /* Use -fall-defs-global to expose */
105 asn_TYPE_descriptor_t asn_DEF_t_member2_4 = {
109 asn_DEF_t_member2_tags_4,
110 sizeof(asn_DEF_t_member2_tags_4)
111 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
112 asn_DEF_t_member2_tags_4, /* Same as above */
113 sizeof(asn_DEF_t_member2_tags_4)
114 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
115 { 0, 0, SEQUENCE_OF_constraint },
117 1, /* Single element */
118 &asn_SPC_t_member2_specs_4 /* Additional specs */
121 asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
122 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
123 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
125 .type = &asn_DEF_t_member1_2,
127 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
128 0, 0, /* No default value */
131 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
132 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
134 .type = &asn_DEF_t_member2_4,
136 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
137 0, 0, /* No default value */
140 { ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3),
141 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
143 .type = &asn_DEF_Test_structure_1,
145 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
146 0, 0, /* No default value */
149 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4),
150 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
152 .type = &asn_DEF_INTEGER,
154 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
155 0, 0, /* No default value */
159 static const ber_tlv_tag_t asn_DEF_Test_structure_1_tags_1[] = {
160 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
162 static const asn_TYPE_tag2member_t asn_MAP_Test_structure_1_tag2el_1[] = {
163 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* t-member4 */
164 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* t-member2 */
165 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 */
166 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 */
168 asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
169 sizeof(struct Test_structure_1),
170 offsetof(struct Test_structure_1, _asn_ctx),
171 .tag2el = asn_MAP_Test_structure_1_tag2el_1,
172 .tag2el_count = 4, /* Count of tags in the map */
173 0, 0, 0, /* Optional elements (not needed) */
174 -1, /* First extension addition */
176 asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = {
180 asn_DEF_Test_structure_1_tags_1,
181 sizeof(asn_DEF_Test_structure_1_tags_1)
182 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
183 asn_DEF_Test_structure_1_tags_1, /* Same as above */
184 sizeof(asn_DEF_Test_structure_1_tags_1)
185 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
186 { 0, 0, SEQUENCE_constraint },
187 asn_MBR_Test_structure_1_1,
188 4, /* Elements count */
189 &asn_SPC_Test_structure_1_specs_1 /* Additional specs */
193 /*** <<< INCLUDES [Choice-1] >>> ***/
196 #include <asn_SET_OF.h>
197 #include <constr_SET_OF.h>
198 #include <constr_CHOICE.h>
200 /*** <<< DEPS [Choice-1] >>> ***/
202 typedef enum Choice_1_PR {
203 Choice_1_PR_NOTHING, /* No components present */
210 /*** <<< FWD-DECLS [Choice-1] >>> ***/
214 /*** <<< TYPE-DECLS [Choice-1] >>> ***/
216 typedef struct Choice_1 {
219 struct Choice_1 *And;
221 A_SET_OF(struct Choice_1) list;
223 /* Context for parsing across buffer boundaries */
224 asn_struct_ctx_t _asn_ctx;
226 struct Choice_1 *Not;
230 /* Context for parsing across buffer boundaries */
231 asn_struct_ctx_t _asn_ctx;
234 /*** <<< FUNC-DECLS [Choice-1] >>> ***/
236 extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
237 extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1;
238 extern asn_TYPE_member_t asn_MBR_Choice_1_1[4];
240 /*** <<< POST-INCLUDE [Choice-1] >>> ***/
242 #include "Choice-1.h"
244 /*** <<< STAT-DEFS [Choice-1] >>> ***/
246 static asn_TYPE_member_t asn_MBR_or_3[] = {
248 .tag = -1 /* Ambiguous tag (CHOICE?) */,
250 .type = &asn_DEF_Choice_1,
252 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
253 0, 0, /* No default value */
257 static const ber_tlv_tag_t asn_DEF_or_tags_3[] = {
258 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
259 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
261 static asn_SET_OF_specifics_t asn_SPC_or_specs_3 = {
263 offsetof(struct Or, _asn_ctx),
264 2, /* XER encoding is XMLValueList */
266 static /* Use -fall-defs-global to expose */
267 asn_TYPE_descriptor_t asn_DEF_or_3 = {
272 sizeof(asn_DEF_or_tags_3)
273 /sizeof(asn_DEF_or_tags_3[0]) - 1, /* 1 */
274 asn_DEF_or_tags_3, /* Same as above */
275 sizeof(asn_DEF_or_tags_3)
276 /sizeof(asn_DEF_or_tags_3[0]), /* 2 */
277 { 0, 0, SET_OF_constraint },
279 1, /* Single element */
280 &asn_SPC_or_specs_3 /* Additional specs */
283 asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
284 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.And),
285 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
286 .tag_mode = +1, /* EXPLICIT tag at current level */
287 .type = &asn_DEF_Choice_1,
289 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
290 0, 0, /* No default value */
293 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.Or),
294 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
296 .type = &asn_DEF_or_3,
298 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
299 0, 0, /* No default value */
302 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.Not),
303 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
304 .tag_mode = +1, /* EXPLICIT tag at current level */
305 .type = &asn_DEF_Choice_1,
307 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
308 0, 0, /* No default value */
311 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
312 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
313 .tag_mode = +1, /* EXPLICIT tag at current level */
314 .type = &asn_DEF_INTEGER,
316 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
317 0, 0, /* No default value */
321 static const asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = {
322 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and */
323 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or */
324 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */
325 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */
327 asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
328 sizeof(struct Choice_1),
329 offsetof(struct Choice_1, _asn_ctx),
330 offsetof(struct Choice_1, present),
331 sizeof(((struct Choice_1 *)0)->present),
332 .tag2el = asn_MAP_Choice_1_tag2el_1,
333 .tag2el_count = 4, /* Count of tags in the map */
335 .first_extension = -1 /* Extensions start */
337 asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
341 0, /* No effective tags (pointer) */
342 0, /* No effective tags (count) */
343 0, /* No tags (pointer) */
344 0, /* No tags (count) */
345 { 0, 0, CHOICE_constraint },
347 4, /* Elements count */
348 &asn_SPC_Choice_1_specs_1 /* Additional specs */
352 /*** <<< INCLUDES [Test-structure-2] >>> ***/
354 #include <constr_SET.h>
356 /*** <<< DEPS [Test-structure-2] >>> ***/
360 * Method of determining the components presence
362 typedef enum Test_structure_2_PR {
363 Test_structure_2_PR_m1, /* Member m1 is present */
364 } Test_structure_2_PR;
366 /*** <<< FWD-DECLS [Test-structure-2] >>> ***/
368 struct Test_structure_3;
370 /*** <<< TYPE-DECLS [Test-structure-2] >>> ***/
372 typedef struct Test_structure_2 {
373 struct Test_structure_3 *m1; /* OPTIONAL */
375 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */
376 unsigned int _presence_map
377 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
379 /* Context for parsing across buffer boundaries */
380 asn_struct_ctx_t _asn_ctx;
381 } Test_structure_2_t;
383 /*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
385 extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
386 extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1;
387 extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1];
389 /*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
391 #include "Test-structure-3.h"
393 /*** <<< STAT-DEFS [Test-structure-2] >>> ***/
395 asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
396 { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
397 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
399 .type = &asn_DEF_Test_structure_3,
401 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
402 0, 0, /* No default value */
406 static const ber_tlv_tag_t asn_DEF_Test_structure_2_tags_1[] = {
407 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
409 static const asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = {
410 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
412 static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
415 asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
416 sizeof(struct Test_structure_2),
417 offsetof(struct Test_structure_2, _asn_ctx),
418 offsetof(struct Test_structure_2, _presence_map),
419 .tag2el = asn_MAP_Test_structure_2_tag2el_1,
420 .tag2el_count = 1, /* Count of tags in the map */
421 asn_MAP_Test_structure_2_tag2el_1, /* Same as above */
422 1, /* Count of tags in the CXER map */
423 0, /* Whether extensible */
424 (const unsigned int *)asn_MAP_Test_structure_2_mmap_1 /* Mandatory elements map */
426 asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
430 asn_DEF_Test_structure_2_tags_1,
431 sizeof(asn_DEF_Test_structure_2_tags_1)
432 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
433 asn_DEF_Test_structure_2_tags_1, /* Same as above */
434 sizeof(asn_DEF_Test_structure_2_tags_1)
435 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
436 { 0, 0, SET_constraint },
437 asn_MBR_Test_structure_2_1,
438 1, /* Elements count */
439 &asn_SPC_Test_structure_2_specs_1 /* Additional specs */
443 /*** <<< INCLUDES [Test-structure-3] >>> ***/
445 #include <constr_SET.h>
447 /*** <<< DEPS [Test-structure-3] >>> ***/
451 * Method of determining the components presence
453 typedef enum Test_structure_3_PR {
454 Test_structure_3_PR_m1, /* Member m1 is present */
455 } Test_structure_3_PR;
457 /*** <<< FWD-DECLS [Test-structure-3] >>> ***/
459 struct Test_structure_2;
461 /*** <<< TYPE-DECLS [Test-structure-3] >>> ***/
463 typedef struct Test_structure_3 {
464 struct Test_structure_2 *m1; /* OPTIONAL */
466 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */
467 unsigned int _presence_map
468 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
470 /* Context for parsing across buffer boundaries */
471 asn_struct_ctx_t _asn_ctx;
472 } Test_structure_3_t;
474 /*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
476 extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
477 extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1;
478 extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1];
480 /*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
482 #include "Test-structure-2.h"
484 /*** <<< STAT-DEFS [Test-structure-3] >>> ***/
486 asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
487 { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
488 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
490 .type = &asn_DEF_Test_structure_2,
492 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
493 0, 0, /* No default value */
497 static const ber_tlv_tag_t asn_DEF_Test_structure_3_tags_1[] = {
498 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
500 static const asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = {
501 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
503 static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
506 asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
507 sizeof(struct Test_structure_3),
508 offsetof(struct Test_structure_3, _asn_ctx),
509 offsetof(struct Test_structure_3, _presence_map),
510 .tag2el = asn_MAP_Test_structure_3_tag2el_1,
511 .tag2el_count = 1, /* Count of tags in the map */
512 asn_MAP_Test_structure_3_tag2el_1, /* Same as above */
513 1, /* Count of tags in the CXER map */
514 0, /* Whether extensible */
515 (const unsigned int *)asn_MAP_Test_structure_3_mmap_1 /* Mandatory elements map */
517 asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
521 asn_DEF_Test_structure_3_tags_1,
522 sizeof(asn_DEF_Test_structure_3_tags_1)
523 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
524 asn_DEF_Test_structure_3_tags_1, /* Same as above */
525 sizeof(asn_DEF_Test_structure_3_tags_1)
526 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
527 { 0, 0, SET_constraint },
528 asn_MBR_Test_structure_3_1,
529 1, /* Elements count */
530 &asn_SPC_Test_structure_3_specs_1 /* Additional specs */