2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #include "DelayBudgetReport.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
14 static asn_oer_constraints_t asn_OER_type_type1_constr_2 CC_NOTUSED = {
17 static asn_per_constraints_t asn_PER_type_type1_constr_2 CC_NOTUSED = {
18 { APC_CONSTRAINED, 5, 5, 0, 16 } /* (0..16) */,
19 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
20 0, 0 /* No PER value map */
22 static asn_oer_constraints_t asn_OER_type_DelayBudgetReport_constr_1 CC_NOTUSED = {
25 asn_per_constraints_t asn_PER_type_DelayBudgetReport_constr_1 CC_NOTUSED = {
26 { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
27 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
28 0, 0 /* No PER value map */
30 static const asn_INTEGER_enum_map_t asn_MAP_type1_value2enum_2[] = {
31 { 0, 11, "msMinus1280" },
32 { 1, 10, "msMinus640" },
33 { 2, 10, "msMinus320" },
34 { 3, 10, "msMinus160" },
35 { 4, 9, "msMinus80" },
36 { 5, 9, "msMinus60" },
37 { 6, 9, "msMinus40" },
38 { 7, 9, "msMinus20" },
49 static const unsigned int asn_MAP_type1_enum2value_2[] = {
59 0, /* msMinus1280(0) */
60 3, /* msMinus160(3) */
62 2, /* msMinus320(2) */
65 1, /* msMinus640(1) */
68 static const asn_INTEGER_specifics_t asn_SPC_type1_specs_2 = {
69 asn_MAP_type1_value2enum_2, /* "tag" => N; sorted by tag */
70 asn_MAP_type1_enum2value_2, /* N => "tag"; sorted by N */
71 17, /* Number of elements in the maps */
72 0, /* Enumeration is not extensible */
73 1, /* Strict enumeration */
74 0, /* Native long size */
77 static const ber_tlv_tag_t asn_DEF_type1_tags_2[] = {
78 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
79 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
81 static /* Use -fall-defs-global to expose */
82 asn_TYPE_descriptor_t asn_DEF_type1_2 = {
85 &asn_OP_NativeEnumerated,
87 sizeof(asn_DEF_type1_tags_2)
88 /sizeof(asn_DEF_type1_tags_2[0]) - 1, /* 1 */
89 asn_DEF_type1_tags_2, /* Same as above */
90 sizeof(asn_DEF_type1_tags_2)
91 /sizeof(asn_DEF_type1_tags_2[0]), /* 2 */
92 { &asn_OER_type_type1_constr_2, &asn_PER_type_type1_constr_2, NativeEnumerated_constraint },
93 0, 0, /* Defined elsewhere */
94 &asn_SPC_type1_specs_2 /* Additional specs */
97 asn_TYPE_member_t asn_MBR_DelayBudgetReport_1[] = {
98 { ATF_NOFLAGS, 0, offsetof(struct DelayBudgetReport, choice.type1),
99 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
100 -1, /* IMPLICIT tag at current level */
104 0, 0, /* No default value */
108 static const asn_TYPE_tag2member_t asn_MAP_DelayBudgetReport_tag2el_1[] = {
109 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type1 */
111 asn_CHOICE_specifics_t asn_SPC_DelayBudgetReport_specs_1 = {
112 sizeof(struct DelayBudgetReport),
113 offsetof(struct DelayBudgetReport, _asn_ctx),
114 offsetof(struct DelayBudgetReport, present),
115 sizeof(((struct DelayBudgetReport *)0)->present),
116 asn_MAP_DelayBudgetReport_tag2el_1,
117 1, /* Count of tags in the map */
119 1 /* Extensions start */
121 asn_TYPE_descriptor_t asn_DEF_DelayBudgetReport = {
125 0, /* No effective tags (pointer) */
126 0, /* No effective tags (count) */
127 0, /* No tags (pointer) */
128 0, /* No tags (count) */
129 { &asn_OER_type_DelayBudgetReport_constr_1, &asn_PER_type_DelayBudgetReport_constr_1, CHOICE_constraint },
130 asn_MBR_DelayBudgetReport_1,
131 1, /* Elements count */
132 &asn_SPC_DelayBudgetReport_specs_1 /* Additional specs */