srsLTE/lte/rrc/asn/MeasurementReport.c

285 lines
9.7 KiB
C

/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "MeasurementReport.h"
static asn_per_constraints_t asn_PER_type_c1_constr_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_criticalExtensions_constr_2 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_c1_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.measurementReport_r8),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MeasurementReport_r8_IEs,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"measurementReport-r8"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare7),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare7"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare6),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare6"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare5),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare5"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare4),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare4"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare3),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare3"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare2),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare2"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions__c1, choice.spare1),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare1"
},
};
static asn_TYPE_tag2member_t asn_MAP_c1_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementReport-r8 at 413 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* spare7 at 414 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* spare6 at 415 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* spare5 at 415 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* spare4 at 415 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* spare3 at 416 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* spare2 at 416 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* spare1 at 416 */
};
static asn_CHOICE_specifics_t asn_SPC_c1_specs_3 = {
sizeof(struct MeasurementReport__criticalExtensions__c1),
offsetof(struct MeasurementReport__criticalExtensions__c1, _asn_ctx),
offsetof(struct MeasurementReport__criticalExtensions__c1, present),
sizeof(((struct MeasurementReport__criticalExtensions__c1 *)0)->present),
asn_MAP_c1_tag2el_3,
8, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_c1_3 = {
"c1",
"c1",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_c1_constr_3,
asn_MBR_c1_3,
8, /* Elements count */
&asn_SPC_c1_specs_3 /* Additional specs */
};
static ber_tlv_tag_t asn_DEF_criticalExtensionsFuture_tags_12[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SEQUENCE_specifics_t asn_SPC_criticalExtensionsFuture_specs_12 = {
sizeof(struct MeasurementReport__criticalExtensions__criticalExtensionsFuture),
offsetof(struct MeasurementReport__criticalExtensions__criticalExtensionsFuture, _asn_ctx),
0, /* No top level tags */
0, /* No tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_criticalExtensionsFuture_12 = {
"criticalExtensionsFuture",
"criticalExtensionsFuture",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_criticalExtensionsFuture_tags_12,
sizeof(asn_DEF_criticalExtensionsFuture_tags_12)
/sizeof(asn_DEF_criticalExtensionsFuture_tags_12[0]) - 1, /* 1 */
asn_DEF_criticalExtensionsFuture_tags_12, /* Same as above */
sizeof(asn_DEF_criticalExtensionsFuture_tags_12)
/sizeof(asn_DEF_criticalExtensionsFuture_tags_12[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_criticalExtensionsFuture_specs_12 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_criticalExtensions_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions, choice.c1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_c1_3,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"c1"
},
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport__criticalExtensions, choice.criticalExtensionsFuture),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_criticalExtensionsFuture_12,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticalExtensionsFuture"
},
};
static asn_TYPE_tag2member_t asn_MAP_criticalExtensions_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c1 at 413 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* criticalExtensionsFuture at 418 */
};
static asn_CHOICE_specifics_t asn_SPC_criticalExtensions_specs_2 = {
sizeof(struct MeasurementReport__criticalExtensions),
offsetof(struct MeasurementReport__criticalExtensions, _asn_ctx),
offsetof(struct MeasurementReport__criticalExtensions, present),
sizeof(((struct MeasurementReport__criticalExtensions *)0)->present),
asn_MAP_criticalExtensions_tag2el_2,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_criticalExtensions_2 = {
"criticalExtensions",
"criticalExtensions",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_criticalExtensions_constr_2,
asn_MBR_criticalExtensions_2,
2, /* Elements count */
&asn_SPC_criticalExtensions_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_MeasurementReport_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct MeasurementReport, criticalExtensions),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_criticalExtensions_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticalExtensions"
},
};
static ber_tlv_tag_t asn_DEF_MeasurementReport_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_MeasurementReport_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* criticalExtensions at 417 */
};
static asn_SEQUENCE_specifics_t asn_SPC_MeasurementReport_specs_1 = {
sizeof(struct MeasurementReport),
offsetof(struct MeasurementReport, _asn_ctx),
asn_MAP_MeasurementReport_tag2el_1,
1, /* 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_MeasurementReport = {
"MeasurementReport",
"MeasurementReport",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_MeasurementReport_tags_1,
sizeof(asn_DEF_MeasurementReport_tags_1)
/sizeof(asn_DEF_MeasurementReport_tags_1[0]), /* 1 */
asn_DEF_MeasurementReport_tags_1, /* Same as above */
sizeof(asn_DEF_MeasurementReport_tags_1)
/sizeof(asn_DEF_MeasurementReport_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_MeasurementReport_1,
1, /* Elements count */
&asn_SPC_MeasurementReport_specs_1 /* Additional specs */
};