| |
| /*** <<< INCLUDES [PDU] >>> ***/ |
| |
| #include "Sequence.h" |
| #include "Set.h" |
| #include "SequenceOf.h" |
| #include "ExtensibleSet.h" |
| #include "ExtensibleSequence.h" |
| #include "ExtensibleSequence2.h" |
| #include "SetOfNULL.h" |
| #include "SetOfREAL.h" |
| #include "SetOfEnums.h" |
| #include "NamedSetOfNULL.h" |
| #include "NamedSetOfREAL.h" |
| #include "NamedSetOfEnums.h" |
| #include "SeqOfZuka.h" |
| #include "SetOfChoice.h" |
| #include "NamedSetOfChoice.h" |
| #include <constr_CHOICE.h> |
| |
| /*** <<< DEPS [PDU] >>> ***/ |
| |
| typedef enum PDU_PR { |
| PDU_PR_NOTHING, /* No components present */ |
| PDU_PR_sequence, |
| PDU_PR_set, |
| PDU_PR_sequenceOf, |
| PDU_PR_extensibleSet, |
| PDU_PR_extensibleSequence, |
| PDU_PR_extensibleSequence2, |
| PDU_PR_setOfNULL, |
| PDU_PR_setOfREAL, |
| PDU_PR_setOfEnums, |
| PDU_PR_namedSetOfNULL, |
| PDU_PR_namedSetOfREAL, |
| PDU_PR_namedSetOfEnums, |
| PDU_PR_seqOfZuka, |
| PDU_PR_setOfChoice, |
| PDU_PR_namedSetOfChoice |
| /* Extensions may appear below */ |
| |
| } PDU_PR; |
| |
| /*** <<< TYPE-DECLS [PDU] >>> ***/ |
| |
| typedef struct PDU { |
| PDU_PR present; |
| union PDU_u { |
| Sequence_t sequence; |
| Set_t set; |
| SequenceOf_t sequenceOf; |
| ExtensibleSet_t extensibleSet; |
| ExtensibleSequence_t extensibleSequence; |
| ExtensibleSequence2_t extensibleSequence2; |
| SetOfNULL_t setOfNULL; |
| SetOfREAL_t setOfREAL; |
| SetOfEnums_t setOfEnums; |
| NamedSetOfNULL_t namedSetOfNULL; |
| NamedSetOfREAL_t namedSetOfREAL; |
| NamedSetOfEnums_t namedSetOfEnums; |
| SeqOfZuka_t seqOfZuka; |
| SetOfChoice_t setOfChoice; |
| NamedSetOfChoice_t namedSetOfChoice; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| } choice; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } PDU_t; |
| |
| /*** <<< FUNC-DECLS [PDU] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_PDU; |
| |
| /*** <<< STAT-DEFS [PDU] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_PDU_1[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequence), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_Sequence, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "sequence" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_Set, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "set" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SequenceOf, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "sequenceOf" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_ExtensibleSet, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "extensibleSet" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_ExtensibleSequence, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "extensibleSequence" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_ExtensibleSequence2, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "extensibleSequence2" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SetOfNULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "setOfNULL" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfREAL), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SetOfREAL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "setOfREAL" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SetOfEnums, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "setOfEnums" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfNULL), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_NamedSetOfNULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "namedSetOfNULL" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfREAL), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_NamedSetOfREAL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "namedSetOfREAL" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfEnums), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_NamedSetOfEnums, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "namedSetOfEnums" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SeqOfZuka, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "seqOfZuka" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfChoice), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_SetOfChoice, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "setOfChoice" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfChoice), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_NamedSetOfChoice, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "namedSetOfChoice" |
| }, |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */ |
| { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceOf */ |
| { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extensibleSet */ |
| { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSequence */ |
| { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence2 */ |
| { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL */ |
| { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfREAL */ |
| { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums */ |
| { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* namedSetOfNULL */ |
| { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* namedSetOfREAL */ |
| { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* namedSetOfEnums */ |
| { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* seqOfZuka */ |
| { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* setOfChoice */ |
| { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* namedSetOfChoice */ |
| }; |
| static asn_CHOICE_specifics_t asn_SPC_PDU_specs_1 = { |
| sizeof(struct PDU), |
| offsetof(struct PDU, _asn_ctx), |
| offsetof(struct PDU, present), |
| sizeof(((struct PDU *)0)->present), |
| asn_MAP_PDU_tag2el_1, |
| 15, /* Count of tags in the map */ |
| .canonical_order = 0, |
| .ext_start = 15 /* Extensions start */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_PDU = { |
| "PDU", |
| "PDU", |
| CHOICE_free, |
| CHOICE_print, |
| CHOICE_constraint, |
| CHOICE_decode_ber, |
| CHOICE_encode_der, |
| CHOICE_decode_xer, |
| CHOICE_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| CHOICE_outmost_tag, |
| 0, /* No effective tags (pointer) */ |
| 0, /* No effective tags (count) */ |
| 0, /* No tags (pointer) */ |
| 0, /* No tags (count) */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_PDU_1, |
| 15, /* Elements count */ |
| &asn_SPC_PDU_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [Sequence] >>> ***/ |
| |
| #include <INTEGER.h> |
| #include <BIT_STRING.h> |
| #include <UTF8String.h> |
| #include <constr_SEQUENCE.h> |
| |
| /*** <<< FWD-DECLS [Sequence] >>> ***/ |
| |
| struct Sequence; |
| |
| /*** <<< TYPE-DECLS [Sequence] >>> ***/ |
| |
| typedef struct Sequence { |
| INTEGER_t integer; |
| struct Sequence *sequence /* OPTIONAL */; |
| BIT_STRING_t *bits /* OPTIONAL */; |
| UTF8String_t string; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } Sequence_t; |
| |
| /*** <<< FUNC-DECLS [Sequence] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_Sequence; |
| |
| /*** <<< POST-INCLUDE [Sequence] >>> ***/ |
| |
| #include "Sequence.h" |
| |
| /*** <<< STAT-DEFS [Sequence] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_Sequence_1[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "integer" |
| }, |
| { ATF_POINTER, 2, offsetof(struct Sequence, sequence), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_Sequence, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "sequence" |
| }, |
| { ATF_POINTER, 1, offsetof(struct Sequence, bits), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_BIT_STRING, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "bits" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct Sequence, string), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_UTF8String, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "string" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence */ |
| { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits */ |
| { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string */ |
| }; |
| static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { |
| sizeof(struct Sequence), |
| offsetof(struct Sequence, _asn_ctx), |
| asn_MAP_Sequence_tag2el_1, |
| 4, /* Count of tags in the map */ |
| 0, 0, 0, /* Optional elements (not needed) */ |
| -1, /* Start extensions */ |
| -1 /* Stop extensions */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_Sequence = { |
| "Sequence", |
| "Sequence", |
| SEQUENCE_free, |
| SEQUENCE_print, |
| SEQUENCE_constraint, |
| SEQUENCE_decode_ber, |
| SEQUENCE_encode_der, |
| SEQUENCE_decode_xer, |
| SEQUENCE_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Sequence_tags_1, |
| sizeof(asn_DEF_Sequence_tags_1) |
| /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ |
| asn_DEF_Sequence_tags_1, /* Same as above */ |
| sizeof(asn_DEF_Sequence_tags_1) |
| /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_Sequence_1, |
| 4, /* Elements count */ |
| &asn_SPC_Sequence_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [Set] >>> ***/ |
| |
| #include <RELATIVE-OID.h> |
| #include <OCTET_STRING.h> |
| #include <constr_SET.h> |
| |
| /*** <<< DEPS [Set] >>> ***/ |
| |
| |
| /* |
| * Method of determining the components presence |
| */ |
| typedef enum Set_PR { |
| Set_PR_roid, /* Member roid is present */ |
| Set_PR_opaque, /* Member opaque is present */ |
| } Set_PR; |
| |
| /*** <<< TYPE-DECLS [Set] >>> ***/ |
| |
| typedef struct Set { |
| RELATIVE_OID_t roid; |
| OCTET_STRING_t *opaque /* OPTIONAL */; |
| |
| /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */ |
| unsigned int _presence_map |
| [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } Set_t; |
| |
| /*** <<< FUNC-DECLS [Set] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_Set; |
| |
| /*** <<< STAT-DEFS [Set] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_Set_1[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct Set, roid), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_RELATIVE_OID, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "roid" |
| }, |
| { ATF_POINTER, 1, offsetof(struct Set, opaque), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_OCTET_STRING, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "opaque" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque */ |
| }; |
| static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { |
| (1 << 7) | (0 << 6) |
| }; |
| static asn_SET_specifics_t asn_SPC_Set_specs_1 = { |
| sizeof(struct Set), |
| offsetof(struct Set, _asn_ctx), |
| offsetof(struct Set, _presence_map), |
| asn_MAP_Set_tag2el_1, |
| 2, /* Count of tags in the map */ |
| asn_MAP_Set_tag2el_1, /* Same as above */ |
| 2, /* Count of tags in the CXER map */ |
| 0, /* Whether extensible */ |
| (const unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_Set = { |
| "Set", |
| "Set", |
| SET_free, |
| SET_print, |
| SET_constraint, |
| SET_decode_ber, |
| SET_encode_der, |
| SET_decode_xer, |
| SET_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Set_tags_1, |
| sizeof(asn_DEF_Set_tags_1) |
| /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ |
| asn_DEF_Set_tags_1, /* Same as above */ |
| sizeof(asn_DEF_Set_tags_1) |
| /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_Set_1, |
| 2, /* Elements count */ |
| &asn_SPC_Set_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [ExtensibleSet] >>> ***/ |
| |
| #include <UTF8String.h> |
| #include <ENUMERATED.h> |
| #include <constr_SET.h> |
| |
| /*** <<< DEPS [ExtensibleSet] >>> ***/ |
| |
| |
| /* |
| * Method of determining the components presence |
| */ |
| typedef enum ExtensibleSet_PR { |
| ExtensibleSet_PR_string, /* Member string is present */ |
| ExtensibleSet_PR_enum, /* Member enum is present */ |
| } ExtensibleSet_PR; |
| typedef enum Enum { |
| enum_b = 0, |
| enum_a = 1 |
| } e_enum; |
| |
| /*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/ |
| |
| typedef struct ExtensibleSet { |
| UTF8String_t *string /* OPTIONAL */; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| ENUMERATED_t *Enum; |
| |
| /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */ |
| unsigned int _presence_map |
| [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } ExtensibleSet_t; |
| |
| /*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/ |
| |
| /* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */ |
| extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet; |
| |
| /*** <<< CODE [ExtensibleSet] >>> ***/ |
| |
| static int |
| enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr, |
| asn_app_constraint_failed_f *ctfailcb, void *app_key) { |
| /* Replace with underlying type checker */ |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| return td->check_constraints(td, sptr, ctfailcb, app_key); |
| } |
| |
| /* |
| * This type is implemented using ENUMERATED, |
| * so here we adjust the DEF accordingly. |
| */ |
| static void |
| enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { |
| td->free_struct = asn_DEF_ENUMERATED.free_struct; |
| td->print_struct = asn_DEF_ENUMERATED.print_struct; |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder; |
| td->der_encoder = asn_DEF_ENUMERATED.der_encoder; |
| td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder; |
| td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder; |
| td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder; |
| td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder; |
| if(!td->per_constraints) |
| td->per_constraints = asn_DEF_ENUMERATED.per_constraints; |
| td->elements = asn_DEF_ENUMERATED.elements; |
| td->elements_count = asn_DEF_ENUMERATED.elements_count; |
| /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */ |
| } |
| |
| static void |
| enum_4_free(asn_TYPE_descriptor_t *td, |
| void *struct_ptr, int contents_only) { |
| enum_4_inherit_TYPE_descriptor(td); |
| td->free_struct(td, struct_ptr, contents_only); |
| } |
| |
| static int |
| enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, |
| int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { |
| enum_4_inherit_TYPE_descriptor(td); |
| return td->print_struct(td, struct_ptr, ilevel, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const void *bufptr, size_t size, int tag_mode) { |
| enum_4_inherit_TYPE_descriptor(td); |
| return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); |
| } |
| |
| static asn_enc_rval_t |
| enum_4_encode_der(asn_TYPE_descriptor_t *td, |
| void *structure, int tag_mode, ber_tlv_tag_t tag, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| enum_4_inherit_TYPE_descriptor(td); |
| return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const char *opt_mname, const void *bufptr, size_t size) { |
| enum_4_inherit_TYPE_descriptor(td); |
| return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); |
| } |
| |
| static asn_enc_rval_t |
| enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure, |
| int ilevel, enum xer_encoder_flags_e flags, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| enum_4_inherit_TYPE_descriptor(td); |
| return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); |
| } |
| |
| |
| /*** <<< STAT-DEFS [ExtensibleSet] >>> ***/ |
| |
| static const asn_INTEGER_enum_map_t asn_MAP_enum_value2enum_4[] = { |
| { 0, 1, "b" }, |
| { 1, 1, "a" } |
| }; |
| static const unsigned int asn_MAP_enum_enum2value_4[] = { |
| 1, /* a(1) */ |
| 0 /* b(0) */ |
| }; |
| static asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = { |
| asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */ |
| asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */ |
| 2, /* Number of elements in the maps */ |
| 0, /* Enumeration is not extensible */ |
| 1, /* Strict enumeration */ |
| 0, /* Native long size */ |
| 0 |
| }; |
| static const ber_tlv_tag_t asn_DEF_enum_tags_4[] = { |
| (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_enum_4 = { |
| "enum", |
| "enum", |
| enum_4_free, |
| enum_4_print, |
| enum_4_constraint, |
| enum_4_decode_ber, |
| enum_4_encode_der, |
| enum_4_decode_xer, |
| enum_4_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_enum_tags_4, |
| sizeof(asn_DEF_enum_tags_4) |
| /sizeof(asn_DEF_enum_tags_4[0]) - 1, /* 1 */ |
| asn_DEF_enum_tags_4, /* Same as above */ |
| sizeof(asn_DEF_enum_tags_4) |
| /sizeof(asn_DEF_enum_tags_4[0]), /* 2 */ |
| 0, /* No PER visible constraints */ |
| 0, 0, /* Defined elsewhere */ |
| &asn_SPC_enum_specs_4 /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = { |
| { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_UTF8String, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "string" |
| }, |
| { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_enum_4, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "enum" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_ExtensibleSet_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum */ |
| }; |
| static const uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { |
| (0 << 7) | (0 << 6) |
| }; |
| static asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = { |
| sizeof(struct ExtensibleSet), |
| offsetof(struct ExtensibleSet, _asn_ctx), |
| offsetof(struct ExtensibleSet, _presence_map), |
| asn_MAP_ExtensibleSet_tag2el_1, |
| 2, /* Count of tags in the map */ |
| asn_MAP_ExtensibleSet_tag2el_1, /* Same as above */ |
| 2, /* Count of tags in the CXER map */ |
| 1, /* Whether extensible */ |
| (const unsigned int *)asn_MAP_ExtensibleSet_mmap_1 /* Mandatory elements map */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = { |
| "ExtensibleSet", |
| "ExtensibleSet", |
| SET_free, |
| SET_print, |
| SET_constraint, |
| SET_decode_ber, |
| SET_encode_der, |
| SET_decode_xer, |
| SET_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_ExtensibleSet_tags_1, |
| sizeof(asn_DEF_ExtensibleSet_tags_1) |
| /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */ |
| asn_DEF_ExtensibleSet_tags_1, /* Same as above */ |
| sizeof(asn_DEF_ExtensibleSet_tags_1) |
| /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_ExtensibleSet_1, |
| 2, /* Elements count */ |
| &asn_SPC_ExtensibleSet_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [ExtensibleSequence] >>> ***/ |
| |
| #include <UTF8String.h> |
| #include <INTEGER.h> |
| #include <GeneralizedTime.h> |
| #include <constr_SEQUENCE.h> |
| |
| /*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/ |
| |
| typedef struct ExtensibleSequence { |
| UTF8String_t *string /* OPTIONAL */; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| INTEGER_t *integer /* OPTIONAL */; |
| GeneralizedTime_t *gtime; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } ExtensibleSequence_t; |
| |
| /*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence; |
| |
| /*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = { |
| { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_UTF8String, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "string" |
| }, |
| { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "integer" |
| }, |
| { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_GeneralizedTime, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "gtime" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_ExtensibleSequence_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer */ |
| { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime */ |
| }; |
| static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = { |
| sizeof(struct ExtensibleSequence), |
| offsetof(struct ExtensibleSequence, _asn_ctx), |
| asn_MAP_ExtensibleSequence_tag2el_1, |
| 3, /* Count of tags in the map */ |
| 0, 0, 0, /* Optional elements (not needed) */ |
| 0, /* Start extensions */ |
| 4 /* Stop extensions */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = { |
| "ExtensibleSequence", |
| "ExtensibleSequence", |
| SEQUENCE_free, |
| SEQUENCE_print, |
| SEQUENCE_constraint, |
| SEQUENCE_decode_ber, |
| SEQUENCE_encode_der, |
| SEQUENCE_decode_xer, |
| SEQUENCE_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_ExtensibleSequence_tags_1, |
| sizeof(asn_DEF_ExtensibleSequence_tags_1) |
| /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */ |
| asn_DEF_ExtensibleSequence_tags_1, /* Same as above */ |
| sizeof(asn_DEF_ExtensibleSequence_tags_1) |
| /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_ExtensibleSequence_1, |
| 3, /* Elements count */ |
| &asn_SPC_ExtensibleSequence_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [ExtensibleSequence2] >>> ***/ |
| |
| #include <UTF8String.h> |
| #include <INTEGER.h> |
| #include <constr_SEQUENCE.h> |
| |
| /*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/ |
| |
| typedef struct ExtensibleSequence2 { |
| UTF8String_t *string /* OPTIONAL */; |
| /* |
| * This type is extensible, |
| * possible extensions are below. |
| */ |
| INTEGER_t *integer /* OPTIONAL */; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } ExtensibleSequence2_t; |
| |
| /*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2; |
| |
| /*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = { |
| { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_UTF8String, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "string" |
| }, |
| { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "integer" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_ExtensibleSequence2_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer */ |
| }; |
| static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = { |
| sizeof(struct ExtensibleSequence2), |
| offsetof(struct ExtensibleSequence2, _asn_ctx), |
| asn_MAP_ExtensibleSequence2_tag2el_1, |
| 2, /* Count of tags in the map */ |
| 0, 0, 0, /* Optional elements (not needed) */ |
| 0, /* Start extensions */ |
| 3 /* Stop extensions */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = { |
| "ExtensibleSequence2", |
| "ExtensibleSequence2", |
| SEQUENCE_free, |
| SEQUENCE_print, |
| SEQUENCE_constraint, |
| SEQUENCE_decode_ber, |
| SEQUENCE_encode_der, |
| SEQUENCE_decode_xer, |
| SEQUENCE_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_ExtensibleSequence2_tags_1, |
| sizeof(asn_DEF_ExtensibleSequence2_tags_1) |
| /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */ |
| asn_DEF_ExtensibleSequence2_tags_1, /* Same as above */ |
| sizeof(asn_DEF_ExtensibleSequence2_tags_1) |
| /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_ExtensibleSequence2_1, |
| 2, /* Elements count */ |
| &asn_SPC_ExtensibleSequence2_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SetOfNULL] >>> ***/ |
| |
| #include <NULL.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< TYPE-DECLS [SetOfNULL] >>> ***/ |
| |
| typedef struct SetOfNULL { |
| A_SET_OF(NULL_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SetOfNULL_t; |
| |
| /*** <<< FUNC-DECLS [SetOfNULL] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL; |
| |
| /*** <<< STAT-DEFS [SetOfNULL] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_NULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = { |
| sizeof(struct SetOfNULL), |
| offsetof(struct SetOfNULL, _asn_ctx), |
| 1, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SetOfNULL = { |
| "SetOfNULL", |
| "SetOfNULL", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SetOfNULL_tags_1, |
| sizeof(asn_DEF_SetOfNULL_tags_1) |
| /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */ |
| asn_DEF_SetOfNULL_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SetOfNULL_tags_1) |
| /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SetOfNULL_1, |
| 1, /* Single element */ |
| &asn_SPC_SetOfNULL_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SetOfREAL] >>> ***/ |
| |
| #include <REAL.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< TYPE-DECLS [SetOfREAL] >>> ***/ |
| |
| typedef struct SetOfREAL { |
| A_SET_OF(REAL_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SetOfREAL_t; |
| |
| /*** <<< FUNC-DECLS [SetOfREAL] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL; |
| |
| /*** <<< STAT-DEFS [SetOfREAL] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_REAL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = { |
| sizeof(struct SetOfREAL), |
| offsetof(struct SetOfREAL, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SetOfREAL = { |
| "SetOfREAL", |
| "SetOfREAL", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SetOfREAL_tags_1, |
| sizeof(asn_DEF_SetOfREAL_tags_1) |
| /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */ |
| asn_DEF_SetOfREAL_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SetOfREAL_tags_1) |
| /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SetOfREAL_1, |
| 1, /* Single element */ |
| &asn_SPC_SetOfREAL_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SetOfEnums] >>> ***/ |
| |
| #include <ENUMERATED.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< DEPS [SetOfEnums] >>> ***/ |
| |
| typedef enum Member { |
| Member_one = 0, |
| Member_oneMore = 1 |
| } e_Member; |
| |
| /*** <<< TYPE-DECLS [SetOfEnums] >>> ***/ |
| |
| typedef struct SetOfEnums { |
| A_SET_OF(ENUMERATED_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SetOfEnums_t; |
| |
| /*** <<< FUNC-DECLS [SetOfEnums] >>> ***/ |
| |
| /* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */ |
| extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums; |
| |
| /*** <<< CODE [SetOfEnums] >>> ***/ |
| |
| static int |
| Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, |
| asn_app_constraint_failed_f *ctfailcb, void *app_key) { |
| /* Replace with underlying type checker */ |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| return td->check_constraints(td, sptr, ctfailcb, app_key); |
| } |
| |
| /* |
| * This type is implemented using ENUMERATED, |
| * so here we adjust the DEF accordingly. |
| */ |
| static void |
| Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { |
| td->free_struct = asn_DEF_ENUMERATED.free_struct; |
| td->print_struct = asn_DEF_ENUMERATED.print_struct; |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder; |
| td->der_encoder = asn_DEF_ENUMERATED.der_encoder; |
| td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder; |
| td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder; |
| td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder; |
| td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder; |
| if(!td->per_constraints) |
| td->per_constraints = asn_DEF_ENUMERATED.per_constraints; |
| td->elements = asn_DEF_ENUMERATED.elements; |
| td->elements_count = asn_DEF_ENUMERATED.elements_count; |
| /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */ |
| } |
| |
| static void |
| Member_2_free(asn_TYPE_descriptor_t *td, |
| void *struct_ptr, int contents_only) { |
| Member_2_inherit_TYPE_descriptor(td); |
| td->free_struct(td, struct_ptr, contents_only); |
| } |
| |
| static int |
| Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, |
| int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { |
| Member_2_inherit_TYPE_descriptor(td); |
| return td->print_struct(td, struct_ptr, ilevel, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const void *bufptr, size_t size, int tag_mode) { |
| Member_2_inherit_TYPE_descriptor(td); |
| return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); |
| } |
| |
| static asn_enc_rval_t |
| Member_2_encode_der(asn_TYPE_descriptor_t *td, |
| void *structure, int tag_mode, ber_tlv_tag_t tag, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| Member_2_inherit_TYPE_descriptor(td); |
| return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const char *opt_mname, const void *bufptr, size_t size) { |
| Member_2_inherit_TYPE_descriptor(td); |
| return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); |
| } |
| |
| static asn_enc_rval_t |
| Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, |
| int ilevel, enum xer_encoder_flags_e flags, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| Member_2_inherit_TYPE_descriptor(td); |
| return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); |
| } |
| |
| |
| /*** <<< STAT-DEFS [SetOfEnums] >>> ***/ |
| |
| static const asn_INTEGER_enum_map_t asn_MAP_Member_value2enum_2[] = { |
| { 0, 3, "one" }, |
| { 1, 7, "oneMore" } |
| }; |
| static const unsigned int asn_MAP_Member_enum2value_2[] = { |
| 0, /* one(0) */ |
| 1 /* oneMore(1) */ |
| }; |
| static asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = { |
| asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */ |
| asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */ |
| 2, /* Number of elements in the maps */ |
| 0, /* Enumeration is not extensible */ |
| 1, /* Strict enumeration */ |
| 0, /* Native long size */ |
| 0 |
| }; |
| static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_Member_2 = { |
| "ENUMERATED", |
| "ENUMERATED", |
| Member_2_free, |
| Member_2_print, |
| Member_2_constraint, |
| Member_2_decode_ber, |
| Member_2_encode_der, |
| Member_2_decode_xer, |
| Member_2_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_Member_tags_2, |
| sizeof(asn_DEF_Member_tags_2) |
| /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ |
| asn_DEF_Member_tags_2, /* Same as above */ |
| sizeof(asn_DEF_Member_tags_2) |
| /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| 0, 0, /* Defined elsewhere */ |
| &asn_SPC_Member_specs_2 /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_Member_2, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = { |
| sizeof(struct SetOfEnums), |
| offsetof(struct SetOfEnums, _asn_ctx), |
| 1, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SetOfEnums = { |
| "SetOfEnums", |
| "SetOfEnums", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SetOfEnums_tags_1, |
| sizeof(asn_DEF_SetOfEnums_tags_1) |
| /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */ |
| asn_DEF_SetOfEnums_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SetOfEnums_tags_1) |
| /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SetOfEnums_1, |
| 1, /* Single element */ |
| &asn_SPC_SetOfEnums_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [NamedSetOfNULL] >>> ***/ |
| |
| #include <NULL.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< TYPE-DECLS [NamedSetOfNULL] >>> ***/ |
| |
| typedef struct NamedSetOfNULL { |
| A_SET_OF(NULL_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } NamedSetOfNULL_t; |
| |
| /*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL; |
| |
| /*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_NULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "y" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = { |
| sizeof(struct NamedSetOfNULL), |
| offsetof(struct NamedSetOfNULL, _asn_ctx), |
| 1, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = { |
| "NamedSetOfNULL", |
| "NamedSetOfNULL", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_NamedSetOfNULL_tags_1, |
| sizeof(asn_DEF_NamedSetOfNULL_tags_1) |
| /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */ |
| asn_DEF_NamedSetOfNULL_tags_1, /* Same as above */ |
| sizeof(asn_DEF_NamedSetOfNULL_tags_1) |
| /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_NamedSetOfNULL_1, |
| 1, /* Single element */ |
| &asn_SPC_NamedSetOfNULL_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [NamedSetOfREAL] >>> ***/ |
| |
| #include <REAL.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< TYPE-DECLS [NamedSetOfREAL] >>> ***/ |
| |
| typedef struct NamedSetOfREAL { |
| A_SET_OF(REAL_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } NamedSetOfREAL_t; |
| |
| /*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL; |
| |
| /*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_REAL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "name" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = { |
| sizeof(struct NamedSetOfREAL), |
| offsetof(struct NamedSetOfREAL, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = { |
| "NamedSetOfREAL", |
| "NamedSetOfREAL", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_NamedSetOfREAL_tags_1, |
| sizeof(asn_DEF_NamedSetOfREAL_tags_1) |
| /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */ |
| asn_DEF_NamedSetOfREAL_tags_1, /* Same as above */ |
| sizeof(asn_DEF_NamedSetOfREAL_tags_1) |
| /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_NamedSetOfREAL_1, |
| 1, /* Single element */ |
| &asn_SPC_NamedSetOfREAL_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [NamedSetOfEnums] >>> ***/ |
| |
| #include <ENUMERATED.h> |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< DEPS [NamedSetOfEnums] >>> ***/ |
| |
| typedef enum name { |
| name_one = 0, |
| name_oneMore = 1 |
| } e_name; |
| |
| /*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/ |
| |
| typedef struct NamedSetOfEnums { |
| A_SET_OF(ENUMERATED_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } NamedSetOfEnums_t; |
| |
| /*** <<< FUNC-DECLS [NamedSetOfEnums] >>> ***/ |
| |
| /* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */ |
| extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums; |
| |
| /*** <<< CODE [NamedSetOfEnums] >>> ***/ |
| |
| static int |
| name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, |
| asn_app_constraint_failed_f *ctfailcb, void *app_key) { |
| /* Replace with underlying type checker */ |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| return td->check_constraints(td, sptr, ctfailcb, app_key); |
| } |
| |
| /* |
| * This type is implemented using ENUMERATED, |
| * so here we adjust the DEF accordingly. |
| */ |
| static void |
| name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { |
| td->free_struct = asn_DEF_ENUMERATED.free_struct; |
| td->print_struct = asn_DEF_ENUMERATED.print_struct; |
| td->check_constraints = asn_DEF_ENUMERATED.check_constraints; |
| td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder; |
| td->der_encoder = asn_DEF_ENUMERATED.der_encoder; |
| td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder; |
| td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder; |
| td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder; |
| td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder; |
| if(!td->per_constraints) |
| td->per_constraints = asn_DEF_ENUMERATED.per_constraints; |
| td->elements = asn_DEF_ENUMERATED.elements; |
| td->elements_count = asn_DEF_ENUMERATED.elements_count; |
| /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */ |
| } |
| |
| static void |
| name_2_free(asn_TYPE_descriptor_t *td, |
| void *struct_ptr, int contents_only) { |
| name_2_inherit_TYPE_descriptor(td); |
| td->free_struct(td, struct_ptr, contents_only); |
| } |
| |
| static int |
| name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, |
| int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { |
| name_2_inherit_TYPE_descriptor(td); |
| return td->print_struct(td, struct_ptr, ilevel, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const void *bufptr, size_t size, int tag_mode) { |
| name_2_inherit_TYPE_descriptor(td); |
| return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); |
| } |
| |
| static asn_enc_rval_t |
| name_2_encode_der(asn_TYPE_descriptor_t *td, |
| void *structure, int tag_mode, ber_tlv_tag_t tag, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| name_2_inherit_TYPE_descriptor(td); |
| return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); |
| } |
| |
| static asn_dec_rval_t |
| name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, |
| void **structure, const char *opt_mname, const void *bufptr, size_t size) { |
| name_2_inherit_TYPE_descriptor(td); |
| return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); |
| } |
| |
| static asn_enc_rval_t |
| name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, |
| int ilevel, enum xer_encoder_flags_e flags, |
| asn_app_consume_bytes_f *cb, void *app_key) { |
| name_2_inherit_TYPE_descriptor(td); |
| return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); |
| } |
| |
| |
| /*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/ |
| |
| static const asn_INTEGER_enum_map_t asn_MAP_name_value2enum_2[] = { |
| { 0, 3, "one" }, |
| { 1, 7, "oneMore" } |
| }; |
| static const unsigned int asn_MAP_name_enum2value_2[] = { |
| 0, /* one(0) */ |
| 1 /* oneMore(1) */ |
| }; |
| static asn_INTEGER_specifics_t asn_SPC_name_specs_2 = { |
| asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */ |
| asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */ |
| 2, /* Number of elements in the maps */ |
| 0, /* Enumeration is not extensible */ |
| 1, /* Strict enumeration */ |
| 0, /* Native long size */ |
| 0 |
| }; |
| static const ber_tlv_tag_t asn_DEF_name_tags_2[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
| }; |
| static /* Use -fall-defs-global to expose */ |
| asn_TYPE_descriptor_t asn_DEF_name_2 = { |
| "ENUMERATED", |
| "ENUMERATED", |
| name_2_free, |
| name_2_print, |
| name_2_constraint, |
| name_2_decode_ber, |
| name_2_encode_der, |
| name_2_decode_xer, |
| name_2_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_name_tags_2, |
| sizeof(asn_DEF_name_tags_2) |
| /sizeof(asn_DEF_name_tags_2[0]), /* 1 */ |
| asn_DEF_name_tags_2, /* Same as above */ |
| sizeof(asn_DEF_name_tags_2) |
| /sizeof(asn_DEF_name_tags_2[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| 0, 0, /* Defined elsewhere */ |
| &asn_SPC_name_specs_2 /* Additional specs */ |
| }; |
| |
| static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_name_2, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "name" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = { |
| sizeof(struct NamedSetOfEnums), |
| offsetof(struct NamedSetOfEnums, _asn_ctx), |
| 1, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = { |
| "NamedSetOfEnums", |
| "NamedSetOfEnums", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_NamedSetOfEnums_tags_1, |
| sizeof(asn_DEF_NamedSetOfEnums_tags_1) |
| /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */ |
| asn_DEF_NamedSetOfEnums_tags_1, /* Same as above */ |
| sizeof(asn_DEF_NamedSetOfEnums_tags_1) |
| /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_NamedSetOfEnums_1, |
| 1, /* Single element */ |
| &asn_SPC_NamedSetOfEnums_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SequenceOf] >>> ***/ |
| |
| #include <INTEGER.h> |
| #include <asn_SEQUENCE_OF.h> |
| #include <constr_SEQUENCE_OF.h> |
| |
| /*** <<< TYPE-DECLS [SequenceOf] >>> ***/ |
| |
| typedef struct SequenceOf { |
| A_SEQUENCE_OF(INTEGER_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SequenceOf_t; |
| |
| /*** <<< FUNC-DECLS [SequenceOf] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; |
| |
| /*** <<< STAT-DEFS [SequenceOf] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "id" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = { |
| sizeof(struct SequenceOf), |
| offsetof(struct SequenceOf, _asn_ctx), |
| 0, /* XER encoding is XMLDelimitedItemList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SequenceOf = { |
| "SequenceOf", |
| "SequenceOf", |
| SEQUENCE_OF_free, |
| SEQUENCE_OF_print, |
| SEQUENCE_OF_constraint, |
| SEQUENCE_OF_decode_ber, |
| SEQUENCE_OF_encode_der, |
| SEQUENCE_OF_decode_xer, |
| SEQUENCE_OF_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SequenceOf_tags_1, |
| sizeof(asn_DEF_SequenceOf_tags_1) |
| /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ |
| asn_DEF_SequenceOf_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SequenceOf_tags_1) |
| /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SequenceOf_1, |
| 1, /* Single element */ |
| &asn_SPC_SequenceOf_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SeqOfZuka] >>> ***/ |
| |
| #include <NULL.h> |
| #include <asn_SEQUENCE_OF.h> |
| #include <constr_SEQUENCE_OF.h> |
| |
| /*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/ |
| |
| typedef struct SeqOfZuka { |
| A_SEQUENCE_OF(NULL_t) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SeqOfZuka_t; |
| |
| /*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka; |
| |
| /*** <<< STAT-DEFS [SeqOfZuka] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), |
| .tag_mode = 0, |
| .type = &asn_DEF_NULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "zuka" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = { |
| sizeof(struct SeqOfZuka), |
| offsetof(struct SeqOfZuka, _asn_ctx), |
| 1, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = { |
| "SeqOfZuka", |
| "SeqOfZuka", |
| SEQUENCE_OF_free, |
| SEQUENCE_OF_print, |
| SEQUENCE_OF_constraint, |
| SEQUENCE_OF_decode_ber, |
| SEQUENCE_OF_encode_der, |
| SEQUENCE_OF_decode_xer, |
| SEQUENCE_OF_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SeqOfZuka_tags_1, |
| sizeof(asn_DEF_SeqOfZuka_tags_1) |
| /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */ |
| asn_DEF_SeqOfZuka_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SeqOfZuka_tags_1) |
| /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SeqOfZuka_1, |
| 1, /* Single element */ |
| &asn_SPC_SeqOfZuka_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SetOfChoice] >>> ***/ |
| |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< FWD-DECLS [SetOfChoice] >>> ***/ |
| |
| struct SimpleChoice; |
| |
| /*** <<< TYPE-DECLS [SetOfChoice] >>> ***/ |
| |
| typedef struct SetOfChoice { |
| A_SET_OF(struct SimpleChoice) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SetOfChoice_t; |
| |
| /*** <<< FUNC-DECLS [SetOfChoice] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice; |
| |
| /*** <<< POST-INCLUDE [SetOfChoice] >>> ***/ |
| |
| #include "SimpleChoice.h" |
| |
| /*** <<< STAT-DEFS [SetOfChoice] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = -1 /* Ambiguous tag (CHOICE?) */, |
| .tag_mode = 0, |
| .type = &asn_DEF_SimpleChoice, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = { |
| sizeof(struct SetOfChoice), |
| offsetof(struct SetOfChoice, _asn_ctx), |
| 2, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SetOfChoice = { |
| "SetOfChoice", |
| "SetOfChoice", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_SetOfChoice_tags_1, |
| sizeof(asn_DEF_SetOfChoice_tags_1) |
| /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */ |
| asn_DEF_SetOfChoice_tags_1, /* Same as above */ |
| sizeof(asn_DEF_SetOfChoice_tags_1) |
| /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SetOfChoice_1, |
| 1, /* Single element */ |
| &asn_SPC_SetOfChoice_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [NamedSetOfChoice] >>> ***/ |
| |
| #include <asn_SET_OF.h> |
| #include <constr_SET_OF.h> |
| |
| /*** <<< FWD-DECLS [NamedSetOfChoice] >>> ***/ |
| |
| struct SimpleChoice; |
| |
| /*** <<< TYPE-DECLS [NamedSetOfChoice] >>> ***/ |
| |
| typedef struct NamedSetOfChoice { |
| A_SET_OF(struct SimpleChoice) list; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } NamedSetOfChoice_t; |
| |
| /*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice; |
| |
| /*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/ |
| |
| #include "SimpleChoice.h" |
| |
| /*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = { |
| { ATF_POINTER, 0, 0, |
| .tag = -1 /* Ambiguous tag (CHOICE?) */, |
| .tag_mode = 0, |
| .type = &asn_DEF_SimpleChoice, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "whatever" |
| }, |
| }; |
| static const ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = { |
| (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) |
| }; |
| static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = { |
| sizeof(struct NamedSetOfChoice), |
| offsetof(struct NamedSetOfChoice, _asn_ctx), |
| 2, /* XER encoding is XMLValueList */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = { |
| "NamedSetOfChoice", |
| "NamedSetOfChoice", |
| 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, 0, /* No PER support, use "-gen-PER" to enable */ |
| 0, /* Use generic outmost tag fetcher */ |
| asn_DEF_NamedSetOfChoice_tags_1, |
| sizeof(asn_DEF_NamedSetOfChoice_tags_1) |
| /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */ |
| asn_DEF_NamedSetOfChoice_tags_1, /* Same as above */ |
| sizeof(asn_DEF_NamedSetOfChoice_tags_1) |
| /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_NamedSetOfChoice_1, |
| 1, /* Single element */ |
| &asn_SPC_NamedSetOfChoice_specs_1 /* Additional specs */ |
| }; |
| |
| |
| /*** <<< INCLUDES [SimpleChoice] >>> ***/ |
| |
| #include <NULL.h> |
| #include <INTEGER.h> |
| #include <constr_CHOICE.h> |
| |
| /*** <<< DEPS [SimpleChoice] >>> ***/ |
| |
| typedef enum SimpleChoice_PR { |
| SimpleChoice_PR_NOTHING, /* No components present */ |
| SimpleChoice_PR_a, |
| SimpleChoice_PR_b |
| } SimpleChoice_PR; |
| |
| /*** <<< TYPE-DECLS [SimpleChoice] >>> ***/ |
| |
| typedef struct SimpleChoice { |
| SimpleChoice_PR present; |
| union SimpleChoice_u { |
| NULL_t a; |
| INTEGER_t b; |
| } choice; |
| |
| /* Context for parsing across buffer boundaries */ |
| asn_struct_ctx_t _asn_ctx; |
| } SimpleChoice_t; |
| |
| /*** <<< FUNC-DECLS [SimpleChoice] >>> ***/ |
| |
| extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice; |
| |
| /*** <<< STAT-DEFS [SimpleChoice] >>> ***/ |
| |
| static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = { |
| { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_NULL, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "a" |
| }, |
| { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.b), |
| .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
| .tag_mode = -1, /* IMPLICIT tag at current level */ |
| .type = &asn_DEF_INTEGER, |
| .memb_constraints = 0, /* Defer constraints checking to the member type */ |
| .per_constraints = 0, /* PER is not compiled, use -gen-PER */ |
| .default_value = 0, |
| .name = "b" |
| }, |
| }; |
| static const asn_TYPE_tag2member_t asn_MAP_SimpleChoice_tag2el_1[] = { |
| { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ |
| { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */ |
| }; |
| static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = { |
| sizeof(struct SimpleChoice), |
| offsetof(struct SimpleChoice, _asn_ctx), |
| offsetof(struct SimpleChoice, present), |
| sizeof(((struct SimpleChoice *)0)->present), |
| asn_MAP_SimpleChoice_tag2el_1, |
| 2, /* Count of tags in the map */ |
| .canonical_order = 0, |
| .ext_start = -1 /* Extensions start */ |
| }; |
| asn_TYPE_descriptor_t asn_DEF_SimpleChoice = { |
| "SimpleChoice", |
| "SimpleChoice", |
| CHOICE_free, |
| CHOICE_print, |
| CHOICE_constraint, |
| CHOICE_decode_ber, |
| CHOICE_encode_der, |
| CHOICE_decode_xer, |
| CHOICE_encode_xer, |
| 0, 0, /* No PER support, use "-gen-PER" to enable */ |
| CHOICE_outmost_tag, |
| 0, /* No effective tags (pointer) */ |
| 0, /* No effective tags (count) */ |
| 0, /* No tags (pointer) */ |
| 0, /* No tags (count) */ |
| 0, /* No PER visible constraints */ |
| asn_MBR_SimpleChoice_1, |
| 2, /* Elements count */ |
| &asn_SPC_SimpleChoice_specs_1 /* Additional specs */ |
| }; |
| |