| |
| /*** <<< INCLUDES [Forest] >>> ***/ |
| |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< FWD-DECLS [Forest] >>> ***/ |
| |
| struct Tree; |
| |
| /*** <<< TYPE-DECLS [Forest] >>> ***/ |
| |
| typedef struct Forest { |
| A_SET_OF(struct Tree) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } Forest_t; |
| |
| /*** <<< FUNC-DECLS [Forest] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_Forest; |
| |
| /*** <<< POST-INCLUDE [Forest] >>> ***/ |
| |
| #include <Tree.h> |
| |
| /*** <<< STAT-DEFS [Forest] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_Forest_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_Tree, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_Forest_1_tags[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_Forest_1_specs = { |
| sizeof(struct Forest), |
| offsetof(struct Forest, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_Forest = { |
| "Forest", |
| "Forest", |
| SET_OF_free, |
| SET_OF_print, |
| SET_OF_constraint, |
| SET_OF_decode_ber, |
| SET_OF_encode_der, |
| SET_OF_decode_xer, |
| SET_OF_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Forest_1_tags, |
| sizeof(asn_DEF_Forest_1_tags) |
| /sizeof(asn_DEF_Forest_1_tags[0]), /* 1 */ |
| asn_DEF_Forest_1_tags, /* Same as above */ |
| sizeof(asn_DEF_Forest_1_tags) |
| /sizeof(asn_DEF_Forest_1_tags[0]), /* 1 */ |
| asn_MBR_Forest_1, |
| 1, /* Single element */ |
| &asn_SPC_Forest_1_specs /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [Tree] >>> ***/ |
| |
| #include <INTEGER.h> |
| #include <constr_SEQUENCE.h> |
| |
| /*** <<< TYPE-DECLS [Tree] >>> ***/ |
| |
| typedef struct Tree { |
| INTEGER_t height; |
| INTEGER_t width; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } Tree_t; |
| |
| /*** <<< FUNC-DECLS [Tree] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_Tree; |
| |
| /*** <<< STAT-DEFS [Tree] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_Tree_1[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct Tree, height), |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "height" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct Tree, width), |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "width" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_Tree_1_tags[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static asn_TYPE_tag2member_t asn_MAP_Tree_1_tag2el[] = { |
| { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height at 17 */ |
| { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width at 19 */ |
| }; |
| static asn_SEQUENCE_specifics_t asn_SPC_Tree_1_specs = { |
| sizeof(struct Tree), |
| offsetof(struct Tree, _asn_ctx), |
| asn_MAP_Tree_1_tag2el, |
| 2, /* Count of tags in the map */ |
| -1, /* Start extensions */ |
| -1 /* Stop extensions */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_Tree = { |
| "Tree", |
| "Tree", |
| SEQUENCE_free, |
| SEQUENCE_print, |
| SEQUENCE_constraint, |
| SEQUENCE_decode_ber, |
| SEQUENCE_encode_der, |
| SEQUENCE_decode_xer, |
| SEQUENCE_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Tree_1_tags, |
| sizeof(asn_DEF_Tree_1_tags) |
| /sizeof(asn_DEF_Tree_1_tags[0]), /* 1 */ |
| asn_DEF_Tree_1_tags, /* Same as above */ |
| sizeof(asn_DEF_Tree_1_tags) |
| /sizeof(asn_DEF_Tree_1_tags[0]), /* 1 */ |
| asn_MBR_Tree_1, |
| 2, /* Elements count */ |
| &asn_SPC_Tree_1_specs /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [Stuff] >>> ***/ |
| |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| #include <BIT_STRING.h> |
| #include <constr_SEQUENCE.h> |
| #include <INTEGER.h> |
| #include <constr_CHOICE.h> |
| #include <constr_SET.h> |
| |
| /*** <<< DEPS [Stuff] >>> ***/ |
| |
| |
| /* |
| * Method of determining the components presence |
| */ |
| typedef enum Stuff_PR { |
| Stuff_PR_trees, /* Member trees is present */ |
| Stuff_PR_anything, /* Member anything is present */ |
| Stuff_PR_other, /* Member other is present */ |
| } Stuff_PR; |
| typedef enum other_PR { |
| other_PR_NOTHING, /* No components present */ |
| other_PR_a, |
| other_PR_b, |
| } other_PR; |
| |
| /*** <<< FWD-DECLS [Stuff] >>> ***/ |
| |
| struct Forest; |
| |
| /*** <<< TYPE-DECLS [Stuff] >>> ***/ |
| |
| typedef struct Stuff { |
| struct trees { |
| A_SET_OF(struct Forest) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } *trees; |
| struct anything { |
| A_SET_OF(struct Member { |
| BIT_STRING_t cup_of_coffee; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } ) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } *anything; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| struct other { |
| other_PR present; |
| union Stuff__other_u { |
| INTEGER_t a; |
| INTEGER_t b; |
| } choice; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } *other; |
| |
| /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */ |
| unsigned int _presence_map |
| [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } Stuff_t; |
| |
| /*** <<< FUNC-DECLS [Stuff] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_Stuff; |
| |
| /*** <<< POST-INCLUDE [Stuff] >>> ***/ |
| |
| #include <Forest.h> |
| |
| /*** <<< STAT-DEFS [Stuff] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_trees_2[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_Forest, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_trees_2_tags[] = { |
| (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_trees_2_specs = { |
| sizeof(struct trees), |
| offsetof(struct trees, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_trees_2 = { |
| "trees", |
| "trees", |
| SET_OF_free, |
| SET_OF_print, |
| SET_OF_constraint, |
| SET_OF_decode_ber, |
| SET_OF_encode_der, |
| SET_OF_decode_xer, |
| SET_OF_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_trees_2_tags, |
| sizeof(asn_DEF_trees_2_tags) |
| /sizeof(asn_DEF_trees_2_tags[0]) - 1, /* 1 */ |
| asn_DEF_trees_2_tags, /* Same as above */ |
| sizeof(asn_DEF_trees_2_tags) |
| /sizeof(asn_DEF_trees_2_tags[0]), /* 2 */ |
| asn_MBR_trees_2, |
| 1, /* Single element */ |
| &asn_SPC_trees_2_specs /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_Member_5[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee), |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_BIT_STRING, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "cup-of-coffee" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_Member_5_tags[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static asn_TYPE_tag2member_t asn_MAP_Member_5_tag2el[] = { |
| { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee at 32 */ |
| }; |
| static asn_SEQUENCE_specifics_t asn_SPC_Member_5_specs = { |
| sizeof(struct Member), |
| offsetof(struct Member, _asn_ctx), |
| asn_MAP_Member_5_tag2el, |
| 1, /* Count of tags in the map */ |
| 0, /* Start extensions */ |
| 2 /* Stop extensions */ |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_Member_5 = { |
| "", |
| "", |
| SEQUENCE_free, |
| SEQUENCE_print, |
| SEQUENCE_constraint, |
| SEQUENCE_decode_ber, |
| SEQUENCE_encode_der, |
| SEQUENCE_decode_xer, |
| SEQUENCE_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Member_5_tags, |
| sizeof(asn_DEF_Member_5_tags) |
| /sizeof(asn_DEF_Member_5_tags[0]), /* 1 */ |
| asn_DEF_Member_5_tags, /* Same as above */ |
| sizeof(asn_DEF_Member_5_tags) |
| /sizeof(asn_DEF_Member_5_tags[0]), /* 1 */ |
| asn_MBR_Member_5, |
| 1, /* Elements count */ |
| &asn_SPC_Member_5_specs /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_anything_4[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_Member_5, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_anything_4_tags[] = { |
| (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_anything_4_specs = { |
| sizeof(struct anything), |
| offsetof(struct anything, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_anything_4 = { |
| "anything", |
| "anything", |
| SET_OF_free, |
| SET_OF_print, |
| SET_OF_constraint, |
| SET_OF_decode_ber, |
| SET_OF_encode_der, |
| SET_OF_decode_xer, |
| SET_OF_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_anything_4_tags, |
| sizeof(asn_DEF_anything_4_tags) |
| /sizeof(asn_DEF_anything_4_tags[0]) - 1, /* 1 */ |
| asn_DEF_anything_4_tags, /* Same as above */ |
| sizeof(asn_DEF_anything_4_tags) |
| /sizeof(asn_DEF_anything_4_tags[0]), /* 2 */ |
| asn_MBR_anything_4, |
| 1, /* Single element */ |
| &asn_SPC_anything_4_specs /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_other_9[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct other, choice.a), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = (void *)&asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "a" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct other, choice.b), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = (void *)&asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "b" |
| }, |
| }; |
| static asn_TYPE_tag2member_t asn_MAP_other_9_tag2el[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 26 */ |
| { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b at 28 */ |
| }; |
| static asn_CHOICE_specifics_t asn_SPC_other_9_specs = { |
| sizeof(struct other), |
| offsetof(struct other, _asn_ctx), |
| offsetof(struct other, present), |
| sizeof(((struct other *)0)->present), |
| asn_MAP_other_9_tag2el, |
| 2, /* Count of tags in the map */ |
| 0 /* Whether extensible */ |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_other_9 = { |
| "other", |
| "other", |
| CHOICE_free, |
| CHOICE_print, |
| CHOICE_constraint, |
| CHOICE_decode_ber, |
| CHOICE_encode_der, |
| CHOICE_decode_xer, |
| CHOICE_encode_xer, |
| CHOICE_outmost_tag, |
| 0, /* No effective tags (pointer) */ |
| 0, /* No effective tags (count) */ |
| 0, /* No tags (pointer) */ |
| 0, /* No tags (count) */ |
| asn_MBR_other_9, |
| 2, /* Elements count */ |
| &asn_SPC_other_9_specs /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_Stuff_1[] = { |
| { ATF_POINTER, 3, offsetof(struct Stuff, trees), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = (void *)&asn_DEF_trees_2, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "trees" |
| }, |
| { ATF_POINTER, 2, offsetof(struct Stuff, anything), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = (void *)&asn_DEF_anything_4, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "anything" |
| }, |
| { ATF_POINTER, 0, offsetof(struct Stuff, other), |
| .tag = -1 /* Ambiguous tag (CHOICE?) */, |
| .tag_mode = 0, |
| .type = (void *)&asn_DEF_other_9, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .name = "other" |
| }, |
| }; |
| static ber_tlv_tag_t asn_DEF_Stuff_1_tags[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_TYPE_tag2member_t asn_MAP_Stuff_1_tag2el[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a at 26 */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */ |
| { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */ |
| { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b at 28 */ |
| }; |
| static asn_TYPE_tag2member_t asn_MAP_Stuff_1_tag2el_cxer[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */ |
| { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */ |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a at 26 */ |
| }; |
| static uint8_t asn_MAP_Stuff_1_mmap[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = { |
| (0 << 7) | (0 << 6) | (0 << 5) |
| }; |
| static asn_SET_specifics_t asn_SPC_Stuff_1_specs = { |
| sizeof(struct Stuff), |
| offsetof(struct Stuff, _asn_ctx), |
| offsetof(struct Stuff, _presence_map), |
| asn_MAP_Stuff_1_tag2el, |
| 4, /* Count of tags in the map */ |
| asn_MAP_Stuff_1_tag2el_cxer, |
| 3, /* Count of tags in the CXER map */ |
| 1, /* Whether extensible */ |
| (unsigned int *)asn_MAP_Stuff_1_mmap /* Mandatory elements map */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_Stuff = { |
| "Stuff", |
| "Stuff", |
| SET_free, |
| SET_print, |
| SET_constraint, |
| SET_decode_ber, |
| SET_encode_der, |
| SET_decode_xer, |
| SET_encode_xer, |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Stuff_1_tags, |
| sizeof(asn_DEF_Stuff_1_tags) |
| /sizeof(asn_DEF_Stuff_1_tags[0]), /* 1 */ |
| asn_DEF_Stuff_1_tags, /* Same as above */ |
| sizeof(asn_DEF_Stuff_1_tags) |
| /sizeof(asn_DEF_Stuff_1_tags[0]), /* 1 */ |
| asn_MBR_Stuff_1, |
| 3, /* Elements count */ |
| &asn_SPC_Stuff_1_specs /* Additional specs */ |
| }; |
| |