2 /*** <<< INCLUDES [Type] >>> ***/
4 #include <asn_SET_OF.h>
7 #include <constr_SEQUENCE.h>
8 #include <constr_SET_OF.h>
10 /*** <<< FWD-DEFS [Type] >>> ***/
12 typedef struct Member {
16 /* Context for parsing across buffer boundaries */
17 asn_struct_ctx_t _asn_ctx;
20 /*** <<< TYPE-DECLS [Type] >>> ***/
23 A_SET_OF(Member) list;
25 /* Context for parsing across buffer boundaries */
26 asn_struct_ctx_t _asn_ctx;
29 /*** <<< FUNC-DECLS [Type] >>> ***/
31 extern asn_TYPE_descriptor_t asn_DEF_Type;
33 /*** <<< STAT-DEFS [Type] >>> ***/
35 static asn_TYPE_member_t asn_MBR_Member_2[] = {
36 { ATF_NOFLAGS, 0, offsetof(struct Member, t1),
37 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
39 .type = &asn_DEF_Type1,
41 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
42 0, 0, /* No default value */
45 { ATF_NOFLAGS, 0, offsetof(struct Member, t2),
46 .tag = -1 /* Ambiguous tag (CHOICE?) */,
48 .type = &asn_DEF_Type2,
50 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
51 0, 0, /* No default value */
55 static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
56 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
58 static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
59 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */
60 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */
61 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
63 static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
64 sizeof(struct Member),
65 offsetof(struct Member, _asn_ctx),
66 .tag2el = asn_MAP_Member_tag2el_2,
67 .tag2el_count = 3, /* Count of tags in the map */
68 0, 0, 0, /* Optional elements (not needed) */
69 -1, /* First extension addition */
71 static /* Use -fall-defs-global to expose */
72 asn_TYPE_descriptor_t asn_DEF_Member_2 = {
76 asn_DEF_Member_tags_2,
77 sizeof(asn_DEF_Member_tags_2)
78 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
79 asn_DEF_Member_tags_2, /* Same as above */
80 sizeof(asn_DEF_Member_tags_2)
81 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
82 { 0, 0, SEQUENCE_constraint },
84 2, /* Elements count */
85 &asn_SPC_Member_specs_2 /* Additional specs */
88 static asn_TYPE_member_t asn_MBR_Type_1[] = {
90 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
92 .type = &asn_DEF_Member_2,
94 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
95 0, 0, /* No default value */
99 static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
100 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
102 static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = {
104 offsetof(struct Type, _asn_ctx),
105 0, /* XER encoding is XMLDelimitedItemList */
107 asn_TYPE_descriptor_t asn_DEF_Type = {
112 sizeof(asn_DEF_Type_tags_1)
113 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
114 asn_DEF_Type_tags_1, /* Same as above */
115 sizeof(asn_DEF_Type_tags_1)
116 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
117 { 0, 0, SET_OF_constraint },
119 1, /* Single element */
120 &asn_SPC_Type_specs_1 /* Additional specs */
124 /*** <<< INCLUDES [Type1] >>> ***/
127 #include <constr_SEQUENCE.h>
128 #include <constr_CHOICE.h>
130 /*** <<< DEPS [Type1] >>> ***/
132 typedef enum one_name_PR {
133 one_name_PR_NOTHING, /* No components present */
134 one_name_PR_another_name
137 /*** <<< TYPE-DECLS [Type1] >>> ***/
139 typedef struct Type1 {
142 union Type1__one_name_u {
143 struct another_name {
147 /* Context for parsing across buffer boundaries */
148 asn_struct_ctx_t _asn_ctx;
152 /* Context for parsing across buffer boundaries */
153 asn_struct_ctx_t _asn_ctx;
156 /* Context for parsing across buffer boundaries */
157 asn_struct_ctx_t _asn_ctx;
160 /*** <<< FUNC-DECLS [Type1] >>> ***/
162 extern asn_TYPE_descriptor_t asn_DEF_Type1;
163 extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
164 extern asn_TYPE_member_t asn_MBR_Type1_1[1];
166 /*** <<< STAT-DEFS [Type1] >>> ***/
168 static asn_TYPE_member_t asn_MBR_another_name_3[] = {
169 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
170 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
172 .type = &asn_DEF_INTEGER,
174 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
175 0, 0, /* No default value */
178 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
179 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
181 .type = &asn_DEF_INTEGER,
183 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
184 0, 0, /* No default value */
188 static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
189 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
191 static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
192 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */
193 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */
195 static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
196 sizeof(struct another_name),
197 offsetof(struct another_name, _asn_ctx),
198 .tag2el = asn_MAP_another_name_tag2el_3,
199 .tag2el_count = 2, /* Count of tags in the map */
200 0, 0, 0, /* Optional elements (not needed) */
201 -1, /* First extension addition */
203 static /* Use -fall-defs-global to expose */
204 asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
208 asn_DEF_another_name_tags_3,
209 sizeof(asn_DEF_another_name_tags_3)
210 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
211 asn_DEF_another_name_tags_3, /* Same as above */
212 sizeof(asn_DEF_another_name_tags_3)
213 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
214 { 0, 0, SEQUENCE_constraint },
215 asn_MBR_another_name_3,
216 2, /* Elements count */
217 &asn_SPC_another_name_specs_3 /* Additional specs */
220 static asn_TYPE_member_t asn_MBR_one_name_2[] = {
221 { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name),
222 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
224 .type = &asn_DEF_another_name_3,
226 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
227 0, 0, /* No default value */
228 .name = "another-name"
231 static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
232 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
234 static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = {
235 sizeof(struct one_name),
236 offsetof(struct one_name, _asn_ctx),
237 offsetof(struct one_name, present),
238 sizeof(((struct one_name *)0)->present),
239 .tag2el = asn_MAP_one_name_tag2el_2,
240 .tag2el_count = 1, /* Count of tags in the map */
242 .first_extension = -1 /* Extensions start */
244 static /* Use -fall-defs-global to expose */
245 asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
249 0, /* No effective tags (pointer) */
250 0, /* No effective tags (count) */
251 0, /* No tags (pointer) */
252 0, /* No tags (count) */
253 { 0, 0, CHOICE_constraint },
255 1, /* Elements count */
256 &asn_SPC_one_name_specs_2 /* Additional specs */
259 asn_TYPE_member_t asn_MBR_Type1_1[] = {
260 { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
261 .tag = -1 /* Ambiguous tag (CHOICE?) */,
263 .type = &asn_DEF_one_name_2,
265 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
266 0, 0, /* No default value */
270 static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
271 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
273 static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
274 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
276 asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
277 sizeof(struct Type1),
278 offsetof(struct Type1, _asn_ctx),
279 .tag2el = asn_MAP_Type1_tag2el_1,
280 .tag2el_count = 1, /* Count of tags in the map */
281 0, 0, 0, /* Optional elements (not needed) */
282 -1, /* First extension addition */
284 asn_TYPE_descriptor_t asn_DEF_Type1 = {
288 asn_DEF_Type1_tags_1,
289 sizeof(asn_DEF_Type1_tags_1)
290 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
291 asn_DEF_Type1_tags_1, /* Same as above */
292 sizeof(asn_DEF_Type1_tags_1)
293 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
294 { 0, 0, SEQUENCE_constraint },
296 1, /* Elements count */
297 &asn_SPC_Type1_specs_1 /* Additional specs */
301 /*** <<< INCLUDES [Type2] >>> ***/
303 #include <BIT_STRING.h>
305 #include <constr_SEQUENCE.h>
306 #include <constr_SET.h>
307 #include <constr_CHOICE.h>
309 /*** <<< DEPS [Type2] >>> ***/
311 typedef enum Type2_PR {
312 Type2_PR_NOTHING, /* No components present */
321 * Method of determining the components presence
323 typedef enum two_name_PR {
324 two_name_PR_another_name, /* Member another_name is present */
330 /*** <<< TYPE-DECLS [Type2] >>> ***/
332 typedef struct Type2 {
336 struct another_name {
340 /* Context for parsing across buffer boundaries */
341 asn_struct_ctx_t _asn_ctx;
344 /* Context for parsing across buffer boundaries */
345 asn_struct_ctx_t _asn_ctx;
348 struct another_name {
352 /* Context for parsing across buffer boundaries */
353 asn_struct_ctx_t _asn_ctx;
356 /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */
357 unsigned int _presence_map
358 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
360 /* Context for parsing across buffer boundaries */
361 asn_struct_ctx_t _asn_ctx;
365 /* Context for parsing across buffer boundaries */
366 asn_struct_ctx_t _asn_ctx;
369 /*** <<< FUNC-DECLS [Type2] >>> ***/
371 extern asn_TYPE_descriptor_t asn_DEF_Type2;
372 extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
373 extern asn_TYPE_member_t asn_MBR_Type2_1[2];
375 /*** <<< CODE [Type2] >>> ***/
378 memb_a_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
379 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
380 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
384 ASN__CTFAIL(app_key, td, sptr,
385 "%s: value not given (%s:%d)",
386 td->name, __FILE__, __LINE__);
392 size = 8 * st->size - (st->bits_unused & 0x07);
398 /* Constraint check succeeded */
401 ASN__CTFAIL(app_key, td, sptr,
402 "%s: constraint failed (%s:%d)",
403 td->name, __FILE__, __LINE__);
409 memb_a_constraint_8(const asn_TYPE_descriptor_t *td, const void *sptr,
410 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
411 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
415 ASN__CTFAIL(app_key, td, sptr,
416 "%s: value not given (%s:%d)",
417 td->name, __FILE__, __LINE__);
423 size = 8 * st->size - (st->bits_unused & 0x07);
429 /* Constraint check succeeded */
432 ASN__CTFAIL(app_key, td, sptr,
433 "%s: constraint failed (%s:%d)",
434 td->name, __FILE__, __LINE__);
440 /*** <<< STAT-DEFS [Type2] >>> ***/
442 static asn_TYPE_member_t asn_MBR_another_name_3[] = {
443 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
444 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
446 .type = &asn_DEF_BIT_STRING,
448 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_3 },
449 0, 0, /* No default value */
452 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
453 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
455 .type = &asn_DEF_INTEGER,
457 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
458 0, 0, /* No default value */
462 static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
463 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
465 static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
466 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
467 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
469 static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
470 sizeof(struct another_name),
471 offsetof(struct another_name, _asn_ctx),
472 .tag2el = asn_MAP_another_name_tag2el_3,
473 .tag2el_count = 2, /* Count of tags in the map */
474 0, 0, 0, /* Optional elements (not needed) */
475 -1, /* First extension addition */
477 static /* Use -fall-defs-global to expose */
478 asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
482 asn_DEF_another_name_tags_3,
483 sizeof(asn_DEF_another_name_tags_3)
484 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
485 asn_DEF_another_name_tags_3, /* Same as above */
486 sizeof(asn_DEF_another_name_tags_3)
487 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
488 { 0, 0, SEQUENCE_constraint },
489 asn_MBR_another_name_3,
490 2, /* Elements count */
491 &asn_SPC_another_name_specs_3 /* Additional specs */
494 static asn_TYPE_member_t asn_MBR_one_name_2[] = {
495 { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name),
496 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
498 .type = &asn_DEF_another_name_3,
500 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
501 0, 0, /* No default value */
502 .name = "another-name"
505 static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = {
506 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
508 static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
509 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
511 static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = {
512 sizeof(struct one_name),
513 offsetof(struct one_name, _asn_ctx),
514 .tag2el = asn_MAP_one_name_tag2el_2,
515 .tag2el_count = 1, /* Count of tags in the map */
516 0, 0, 0, /* Optional elements (not needed) */
517 -1, /* First extension addition */
519 static /* Use -fall-defs-global to expose */
520 asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
524 asn_DEF_one_name_tags_2,
525 sizeof(asn_DEF_one_name_tags_2)
526 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
527 asn_DEF_one_name_tags_2, /* Same as above */
528 sizeof(asn_DEF_one_name_tags_2)
529 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
530 { 0, 0, SEQUENCE_constraint },
532 1, /* Elements count */
533 &asn_SPC_one_name_specs_2 /* Additional specs */
536 static asn_TYPE_member_t asn_MBR_another_name_8[] = {
537 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
538 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
540 .type = &asn_DEF_BIT_STRING,
542 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_8 },
543 0, 0, /* No default value */
546 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
547 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
549 .type = &asn_DEF_INTEGER,
551 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
552 0, 0, /* No default value */
556 static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = {
557 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
559 static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = {
560 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
561 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
563 static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = {
564 sizeof(struct another_name),
565 offsetof(struct another_name, _asn_ctx),
566 .tag2el = asn_MAP_another_name_tag2el_8,
567 .tag2el_count = 2, /* Count of tags in the map */
568 0, 0, 0, /* Optional elements (not needed) */
569 -1, /* First extension addition */
571 static /* Use -fall-defs-global to expose */
572 asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
576 asn_DEF_another_name_tags_8,
577 sizeof(asn_DEF_another_name_tags_8)
578 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
579 asn_DEF_another_name_tags_8, /* Same as above */
580 sizeof(asn_DEF_another_name_tags_8)
581 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
582 { 0, 0, SEQUENCE_constraint },
583 asn_MBR_another_name_8,
584 2, /* Elements count */
585 &asn_SPC_another_name_specs_8 /* Additional specs */
588 static asn_TYPE_member_t asn_MBR_two_name_7[] = {
589 { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
590 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
592 .type = &asn_DEF_another_name_8,
594 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
595 0, 0, /* No default value */
596 .name = "another-name"
599 static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = {
600 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
602 static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
603 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
605 static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
609 asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
610 sizeof(struct two_name),
611 offsetof(struct two_name, _asn_ctx),
612 offsetof(struct two_name, _presence_map),
613 .tag2el = asn_MAP_two_name_tag2el_7,
614 .tag2el_count = 1, /* Count of tags in the map */
615 asn_MAP_two_name_tag2el_7, /* Same as above */
616 1, /* Count of tags in the CXER map */
617 0, /* Whether extensible */
618 (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */
620 static /* Use -fall-defs-global to expose */
621 asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
625 asn_DEF_two_name_tags_7,
626 sizeof(asn_DEF_two_name_tags_7)
627 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
628 asn_DEF_two_name_tags_7, /* Same as above */
629 sizeof(asn_DEF_two_name_tags_7)
630 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
631 { 0, 0, SET_constraint },
633 1, /* Elements count */
634 &asn_SPC_two_name_specs_7 /* Additional specs */
637 asn_TYPE_member_t asn_MBR_Type2_1[] = {
638 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
639 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
641 .type = &asn_DEF_one_name_2,
643 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
644 0, 0, /* No default value */
647 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
648 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
650 .type = &asn_DEF_two_name_7,
652 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
653 0, 0, /* No default value */
657 static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
658 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
659 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
661 asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
662 sizeof(struct Type2),
663 offsetof(struct Type2, _asn_ctx),
664 offsetof(struct Type2, present),
665 sizeof(((struct Type2 *)0)->present),
666 .tag2el = asn_MAP_Type2_tag2el_1,
667 .tag2el_count = 2, /* Count of tags in the map */
669 .first_extension = -1 /* Extensions start */
671 asn_TYPE_descriptor_t asn_DEF_Type2 = {
675 0, /* No effective tags (pointer) */
676 0, /* No effective tags (count) */
677 0, /* No tags (pointer) */
678 0, /* No tags (count) */
679 { 0, 0, CHOICE_constraint },
681 2, /* Elements count */
682 &asn_SPC_Type2_specs_1 /* Additional specs */