--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "kpmv2.asn"
+ * `asn1c -pdu=auto -fincludes-quoted -fcompound-names -findirect-choice -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "TestCond-Type.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_per_constraints_t asn_PER_type_gBR_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_aMBR_constr_5 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_isStat_constr_8 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_isCatM_constr_11 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_rSRP_constr_14 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_rSRQ_constr_17 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_per_constraints_t asn_PER_type_TestCond_Type_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_gBR_value2enum_2[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_gBR_enum2value_2[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_gBR_specs_2 = {
+ asn_MAP_gBR_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_gBR_enum2value_2, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_gBR_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_gBR_2 = {
+ "gBR",
+ "gBR",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_gBR_tags_2,
+ sizeof(asn_DEF_gBR_tags_2)
+ /sizeof(asn_DEF_gBR_tags_2[0]) - 1, /* 1 */
+ asn_DEF_gBR_tags_2, /* Same as above */
+ sizeof(asn_DEF_gBR_tags_2)
+ /sizeof(asn_DEF_gBR_tags_2[0]), /* 2 */
+ { 0, &asn_PER_type_gBR_constr_2, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_gBR_specs_2 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_aMBR_value2enum_5[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_aMBR_enum2value_5[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_aMBR_specs_5 = {
+ asn_MAP_aMBR_value2enum_5, /* "tag" => N; sorted by tag */
+ asn_MAP_aMBR_enum2value_5, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_aMBR_tags_5[] = {
+ (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_aMBR_5 = {
+ "aMBR",
+ "aMBR",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_aMBR_tags_5,
+ sizeof(asn_DEF_aMBR_tags_5)
+ /sizeof(asn_DEF_aMBR_tags_5[0]) - 1, /* 1 */
+ asn_DEF_aMBR_tags_5, /* Same as above */
+ sizeof(asn_DEF_aMBR_tags_5)
+ /sizeof(asn_DEF_aMBR_tags_5[0]), /* 2 */
+ { 0, &asn_PER_type_aMBR_constr_5, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_aMBR_specs_5 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_isStat_value2enum_8[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_isStat_enum2value_8[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_isStat_specs_8 = {
+ asn_MAP_isStat_value2enum_8, /* "tag" => N; sorted by tag */
+ asn_MAP_isStat_enum2value_8, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_isStat_tags_8[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_isStat_8 = {
+ "isStat",
+ "isStat",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_isStat_tags_8,
+ sizeof(asn_DEF_isStat_tags_8)
+ /sizeof(asn_DEF_isStat_tags_8[0]) - 1, /* 1 */
+ asn_DEF_isStat_tags_8, /* Same as above */
+ sizeof(asn_DEF_isStat_tags_8)
+ /sizeof(asn_DEF_isStat_tags_8[0]), /* 2 */
+ { 0, &asn_PER_type_isStat_constr_8, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_isStat_specs_8 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_isCatM_value2enum_11[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_isCatM_enum2value_11[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_isCatM_specs_11 = {
+ asn_MAP_isCatM_value2enum_11, /* "tag" => N; sorted by tag */
+ asn_MAP_isCatM_enum2value_11, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_isCatM_tags_11[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_isCatM_11 = {
+ "isCatM",
+ "isCatM",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_isCatM_tags_11,
+ sizeof(asn_DEF_isCatM_tags_11)
+ /sizeof(asn_DEF_isCatM_tags_11[0]) - 1, /* 1 */
+ asn_DEF_isCatM_tags_11, /* Same as above */
+ sizeof(asn_DEF_isCatM_tags_11)
+ /sizeof(asn_DEF_isCatM_tags_11[0]), /* 2 */
+ { 0, &asn_PER_type_isCatM_constr_11, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_isCatM_specs_11 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_rSRP_value2enum_14[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_rSRP_enum2value_14[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_rSRP_specs_14 = {
+ asn_MAP_rSRP_value2enum_14, /* "tag" => N; sorted by tag */
+ asn_MAP_rSRP_enum2value_14, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_rSRP_tags_14[] = {
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rSRP_14 = {
+ "rSRP",
+ "rSRP",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_rSRP_tags_14,
+ sizeof(asn_DEF_rSRP_tags_14)
+ /sizeof(asn_DEF_rSRP_tags_14[0]) - 1, /* 1 */
+ asn_DEF_rSRP_tags_14, /* Same as above */
+ sizeof(asn_DEF_rSRP_tags_14)
+ /sizeof(asn_DEF_rSRP_tags_14[0]), /* 2 */
+ { 0, &asn_PER_type_rSRP_constr_14, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_rSRP_specs_14 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_rSRQ_value2enum_17[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_rSRQ_enum2value_17[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_rSRQ_specs_17 = {
+ asn_MAP_rSRQ_value2enum_17, /* "tag" => N; sorted by tag */
+ asn_MAP_rSRQ_enum2value_17, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_rSRQ_tags_17[] = {
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rSRQ_17 = {
+ "rSRQ",
+ "rSRQ",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_rSRQ_tags_17,
+ sizeof(asn_DEF_rSRQ_tags_17)
+ /sizeof(asn_DEF_rSRQ_tags_17[0]) - 1, /* 1 */
+ asn_DEF_rSRQ_tags_17, /* Same as above */
+ sizeof(asn_DEF_rSRQ_tags_17)
+ /sizeof(asn_DEF_rSRQ_tags_17[0]), /* 2 */
+ { 0, &asn_PER_type_rSRQ_constr_17, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_rSRQ_specs_17 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_TestCond_Type_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.gBR),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_gBR_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gBR"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.aMBR),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_aMBR_5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aMBR"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.isStat),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_isStat_8,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "isStat"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.isCatM),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_isCatM_11,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "isCatM"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.rSRP),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_rSRP_14,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rSRP"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct TestCond_Type, choice.rSRQ),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_rSRQ_17,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rSRQ"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_TestCond_Type_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gBR */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aMBR */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* isStat */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* isCatM */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* rSRP */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* rSRQ */
+};
+asn_CHOICE_specifics_t asn_SPC_TestCond_Type_specs_1 = {
+ sizeof(struct TestCond_Type),
+ offsetof(struct TestCond_Type, _asn_ctx),
+ offsetof(struct TestCond_Type, present),
+ sizeof(((struct TestCond_Type *)0)->present),
+ asn_MAP_TestCond_Type_tag2el_1,
+ 6, /* Count of tags in the map */
+ 0, 0,
+ 6 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_TestCond_Type = {
+ "TestCond-Type",
+ "TestCond-Type",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, &asn_PER_type_TestCond_Type_constr_1, CHOICE_constraint },
+ asn_MBR_TestCond_Type_1,
+ 6, /* Elements count */
+ &asn_SPC_TestCond_Type_specs_1 /* Additional specs */
+};
+