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 "MobilityStateParameters.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 memb_n_CellChangeMedium_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
20 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
24 ASN__CTFAIL(app_key, td, sptr,
25 "%s: value not given (%s:%d)",
26 td->name, __FILE__, __LINE__);
30 value = *(const long *)sptr;
32 if((value >= 1 && value <= 16)) {
33 /* Constraint check succeeded */
36 ASN__CTFAIL(app_key, td, sptr,
37 "%s: constraint failed (%s:%d)",
38 td->name, __FILE__, __LINE__);
44 memb_n_CellChangeHigh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
45 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
49 ASN__CTFAIL(app_key, td, sptr,
50 "%s: value not given (%s:%d)",
51 td->name, __FILE__, __LINE__);
55 value = *(const long *)sptr;
57 if((value >= 1 && value <= 16)) {
58 /* Constraint check succeeded */
61 ASN__CTFAIL(app_key, td, sptr,
62 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
68 static asn_oer_constraints_t asn_OER_type_t_Evaluation_constr_2 CC_NOTUSED = {
71 static asn_per_constraints_t asn_PER_type_t_Evaluation_constr_2 CC_NOTUSED = {
72 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
73 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
74 0, 0 /* No PER value map */
76 static asn_oer_constraints_t asn_OER_type_t_HystNormal_constr_11 CC_NOTUSED = {
79 static asn_per_constraints_t asn_PER_type_t_HystNormal_constr_11 CC_NOTUSED = {
80 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
81 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
82 0, 0 /* No PER value map */
84 static asn_oer_constraints_t asn_OER_memb_n_CellChangeMedium_constr_20 CC_NOTUSED = {
85 { 1, 1 } /* (1..16) */,
87 static asn_per_constraints_t asn_PER_memb_n_CellChangeMedium_constr_20 CC_NOTUSED = {
88 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */,
89 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
90 0, 0 /* No PER value map */
92 static asn_oer_constraints_t asn_OER_memb_n_CellChangeHigh_constr_21 CC_NOTUSED = {
93 { 1, 1 } /* (1..16) */,
95 static asn_per_constraints_t asn_PER_memb_n_CellChangeHigh_constr_21 CC_NOTUSED = {
96 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */,
97 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
98 0, 0 /* No PER value map */
100 static const asn_INTEGER_enum_map_t asn_MAP_t_Evaluation_value2enum_2[] = {
110 static const unsigned int asn_MAP_t_Evaluation_enum2value_2[] = {
120 static const asn_INTEGER_specifics_t asn_SPC_t_Evaluation_specs_2 = {
121 asn_MAP_t_Evaluation_value2enum_2, /* "tag" => N; sorted by tag */
122 asn_MAP_t_Evaluation_enum2value_2, /* N => "tag"; sorted by N */
123 8, /* Number of elements in the maps */
124 0, /* Enumeration is not extensible */
125 1, /* Strict enumeration */
126 0, /* Native long size */
129 static const ber_tlv_tag_t asn_DEF_t_Evaluation_tags_2[] = {
130 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
131 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
133 static /* Use -fall-defs-global to expose */
134 asn_TYPE_descriptor_t asn_DEF_t_Evaluation_2 = {
137 &asn_OP_NativeEnumerated,
138 asn_DEF_t_Evaluation_tags_2,
139 sizeof(asn_DEF_t_Evaluation_tags_2)
140 /sizeof(asn_DEF_t_Evaluation_tags_2[0]) - 1, /* 1 */
141 asn_DEF_t_Evaluation_tags_2, /* Same as above */
142 sizeof(asn_DEF_t_Evaluation_tags_2)
143 /sizeof(asn_DEF_t_Evaluation_tags_2[0]), /* 2 */
144 { &asn_OER_type_t_Evaluation_constr_2, &asn_PER_type_t_Evaluation_constr_2, NativeEnumerated_constraint },
145 0, 0, /* Defined elsewhere */
146 &asn_SPC_t_Evaluation_specs_2 /* Additional specs */
149 static const asn_INTEGER_enum_map_t asn_MAP_t_HystNormal_value2enum_11[] = {
159 static const unsigned int asn_MAP_t_HystNormal_enum2value_11[] = {
169 static const asn_INTEGER_specifics_t asn_SPC_t_HystNormal_specs_11 = {
170 asn_MAP_t_HystNormal_value2enum_11, /* "tag" => N; sorted by tag */
171 asn_MAP_t_HystNormal_enum2value_11, /* N => "tag"; sorted by N */
172 8, /* Number of elements in the maps */
173 0, /* Enumeration is not extensible */
174 1, /* Strict enumeration */
175 0, /* Native long size */
178 static const ber_tlv_tag_t asn_DEF_t_HystNormal_tags_11[] = {
179 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
180 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
182 static /* Use -fall-defs-global to expose */
183 asn_TYPE_descriptor_t asn_DEF_t_HystNormal_11 = {
186 &asn_OP_NativeEnumerated,
187 asn_DEF_t_HystNormal_tags_11,
188 sizeof(asn_DEF_t_HystNormal_tags_11)
189 /sizeof(asn_DEF_t_HystNormal_tags_11[0]) - 1, /* 1 */
190 asn_DEF_t_HystNormal_tags_11, /* Same as above */
191 sizeof(asn_DEF_t_HystNormal_tags_11)
192 /sizeof(asn_DEF_t_HystNormal_tags_11[0]), /* 2 */
193 { &asn_OER_type_t_HystNormal_constr_11, &asn_PER_type_t_HystNormal_constr_11, NativeEnumerated_constraint },
194 0, 0, /* Defined elsewhere */
195 &asn_SPC_t_HystNormal_specs_11 /* Additional specs */
198 asn_TYPE_member_t asn_MBR_MobilityStateParameters_1[] = {
199 { ATF_NOFLAGS, 0, offsetof(struct MobilityStateParameters, t_Evaluation),
200 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
201 -1, /* IMPLICIT tag at current level */
202 &asn_DEF_t_Evaluation_2,
205 0, 0, /* No default value */
208 { ATF_NOFLAGS, 0, offsetof(struct MobilityStateParameters, t_HystNormal),
209 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
210 -1, /* IMPLICIT tag at current level */
211 &asn_DEF_t_HystNormal_11,
214 0, 0, /* No default value */
217 { ATF_NOFLAGS, 0, offsetof(struct MobilityStateParameters, n_CellChangeMedium),
218 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
219 -1, /* IMPLICIT tag at current level */
220 &asn_DEF_NativeInteger,
222 { &asn_OER_memb_n_CellChangeMedium_constr_20, &asn_PER_memb_n_CellChangeMedium_constr_20, memb_n_CellChangeMedium_constraint_1 },
223 0, 0, /* No default value */
226 { ATF_NOFLAGS, 0, offsetof(struct MobilityStateParameters, n_CellChangeHigh),
227 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
228 -1, /* IMPLICIT tag at current level */
229 &asn_DEF_NativeInteger,
231 { &asn_OER_memb_n_CellChangeHigh_constr_21, &asn_PER_memb_n_CellChangeHigh_constr_21, memb_n_CellChangeHigh_constraint_1 },
232 0, 0, /* No default value */
236 static const ber_tlv_tag_t asn_DEF_MobilityStateParameters_tags_1[] = {
237 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
239 static const asn_TYPE_tag2member_t asn_MAP_MobilityStateParameters_tag2el_1[] = {
240 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* t-Evaluation */
241 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* t-HystNormal */
242 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* n-CellChangeMedium */
243 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* n-CellChangeHigh */
245 asn_SEQUENCE_specifics_t asn_SPC_MobilityStateParameters_specs_1 = {
246 sizeof(struct MobilityStateParameters),
247 offsetof(struct MobilityStateParameters, _asn_ctx),
248 asn_MAP_MobilityStateParameters_tag2el_1,
249 4, /* Count of tags in the map */
250 0, 0, 0, /* Optional elements (not needed) */
251 -1, /* First extension addition */
253 asn_TYPE_descriptor_t asn_DEF_MobilityStateParameters = {
254 "MobilityStateParameters",
255 "MobilityStateParameters",
257 asn_DEF_MobilityStateParameters_tags_1,
258 sizeof(asn_DEF_MobilityStateParameters_tags_1)
259 /sizeof(asn_DEF_MobilityStateParameters_tags_1[0]), /* 1 */
260 asn_DEF_MobilityStateParameters_tags_1, /* Same as above */
261 sizeof(asn_DEF_MobilityStateParameters_tags_1)
262 /sizeof(asn_DEF_MobilityStateParameters_tags_1[0]), /* 1 */
263 { 0, 0, SEQUENCE_constraint },
264 asn_MBR_MobilityStateParameters_1,
265 4, /* Elements count */
266 &asn_SPC_MobilityStateParameters_specs_1 /* Additional specs */