2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.3_asn.asn1"
5 * `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
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 * This type is implemented using NativeEnumerated,
20 * so here we adjust the DEF accordingly.
23 * This type is implemented using NativeEnumerated,
24 * so here we adjust the DEF accordingly.
27 memb_systemFrameNumber_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
28 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
29 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
33 ASN__CTFAIL(app_key, td, sptr,
34 "%s: value not given (%s:%d)",
35 td->name, __FILE__, __LINE__);
41 size = 8 * st->size - (st->bits_unused & 0x07);
47 /* Constraint check succeeded */
50 ASN__CTFAIL(app_key, td, sptr,
51 "%s: constraint failed (%s:%d)",
52 td->name, __FILE__, __LINE__);
58 memb_ssb_SubcarrierOffset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
59 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
63 ASN__CTFAIL(app_key, td, sptr,
64 "%s: value not given (%s:%d)",
65 td->name, __FILE__, __LINE__);
69 value = *(const long *)sptr;
71 if((value >= 0 && value <= 15)) {
72 /* Constraint check succeeded */
75 ASN__CTFAIL(app_key, td, sptr,
76 "%s: constraint failed (%s:%d)",
77 td->name, __FILE__, __LINE__);
83 memb_spare_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
84 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
85 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
89 ASN__CTFAIL(app_key, td, sptr,
90 "%s: value not given (%s:%d)",
91 td->name, __FILE__, __LINE__);
97 size = 8 * st->size - (st->bits_unused & 0x07);
103 /* Constraint check succeeded */
106 ASN__CTFAIL(app_key, td, sptr,
107 "%s: constraint failed (%s:%d)",
108 td->name, __FILE__, __LINE__);
113 static asn_oer_constraints_t asn_OER_type_subCarrierSpacingCommon_constr_3 CC_NOTUSED = {
116 static asn_per_constraints_t asn_PER_type_subCarrierSpacingCommon_constr_3 CC_NOTUSED = {
117 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
118 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
119 0, 0 /* No PER value map */
121 static asn_oer_constraints_t asn_OER_type_dmrs_TypeA_Position_constr_7 CC_NOTUSED = {
124 static asn_per_constraints_t asn_PER_type_dmrs_TypeA_Position_constr_7 CC_NOTUSED = {
125 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
126 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
127 0, 0 /* No PER value map */
129 static asn_oer_constraints_t asn_OER_type_cellBarred_constr_11 CC_NOTUSED = {
132 static asn_per_constraints_t asn_PER_type_cellBarred_constr_11 CC_NOTUSED = {
133 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
134 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
135 0, 0 /* No PER value map */
137 static asn_oer_constraints_t asn_OER_type_intraFreqReselection_constr_14 CC_NOTUSED = {
140 static asn_per_constraints_t asn_PER_type_intraFreqReselection_constr_14 CC_NOTUSED = {
141 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
142 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
143 0, 0 /* No PER value map */
145 static asn_oer_constraints_t asn_OER_memb_systemFrameNumber_constr_2 CC_NOTUSED = {
147 6 /* (SIZE(6..6)) */};
148 static asn_per_constraints_t asn_PER_memb_systemFrameNumber_constr_2 CC_NOTUSED = {
149 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
150 { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
151 0, 0 /* No PER value map */
153 static asn_oer_constraints_t asn_OER_memb_ssb_SubcarrierOffset_constr_6 CC_NOTUSED = {
154 { 1, 1 } /* (0..15) */,
156 static asn_per_constraints_t asn_PER_memb_ssb_SubcarrierOffset_constr_6 CC_NOTUSED = {
157 { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
158 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
159 0, 0 /* No PER value map */
161 static asn_oer_constraints_t asn_OER_memb_spare_constr_17 CC_NOTUSED = {
163 1 /* (SIZE(1..1)) */};
164 static asn_per_constraints_t asn_PER_memb_spare_constr_17 CC_NOTUSED = {
165 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
166 { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */,
167 0, 0 /* No PER value map */
169 static const asn_INTEGER_enum_map_t asn_MAP_subCarrierSpacingCommon_value2enum_3[] = {
170 { 0, 9, "scs15or60" },
171 { 1, 10, "scs30or120" }
173 static const unsigned int asn_MAP_subCarrierSpacingCommon_enum2value_3[] = {
174 0, /* scs15or60(0) */
175 1 /* scs30or120(1) */
177 static const asn_INTEGER_specifics_t asn_SPC_subCarrierSpacingCommon_specs_3 = {
178 asn_MAP_subCarrierSpacingCommon_value2enum_3, /* "tag" => N; sorted by tag */
179 asn_MAP_subCarrierSpacingCommon_enum2value_3, /* N => "tag"; sorted by N */
180 2, /* Number of elements in the maps */
181 0, /* Enumeration is not extensible */
182 1, /* Strict enumeration */
183 0, /* Native long size */
186 static const ber_tlv_tag_t asn_DEF_subCarrierSpacingCommon_tags_3[] = {
187 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
188 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
190 static /* Use -fall-defs-global to expose */
191 asn_TYPE_descriptor_t asn_DEF_subCarrierSpacingCommon_3 = {
192 "subCarrierSpacingCommon",
193 "subCarrierSpacingCommon",
194 &asn_OP_NativeEnumerated,
195 asn_DEF_subCarrierSpacingCommon_tags_3,
196 sizeof(asn_DEF_subCarrierSpacingCommon_tags_3)
197 /sizeof(asn_DEF_subCarrierSpacingCommon_tags_3[0]) - 1, /* 1 */
198 asn_DEF_subCarrierSpacingCommon_tags_3, /* Same as above */
199 sizeof(asn_DEF_subCarrierSpacingCommon_tags_3)
200 /sizeof(asn_DEF_subCarrierSpacingCommon_tags_3[0]), /* 2 */
201 { &asn_OER_type_subCarrierSpacingCommon_constr_3, &asn_PER_type_subCarrierSpacingCommon_constr_3, NativeEnumerated_constraint },
202 0, 0, /* Defined elsewhere */
203 &asn_SPC_subCarrierSpacingCommon_specs_3 /* Additional specs */
206 static const asn_INTEGER_enum_map_t asn_MAP_dmrs_TypeA_Position_value2enum_7[] = {
210 static const unsigned int asn_MAP_dmrs_TypeA_Position_enum2value_7[] = {
214 static const asn_INTEGER_specifics_t asn_SPC_dmrs_TypeA_Position_specs_7 = {
215 asn_MAP_dmrs_TypeA_Position_value2enum_7, /* "tag" => N; sorted by tag */
216 asn_MAP_dmrs_TypeA_Position_enum2value_7, /* N => "tag"; sorted by N */
217 2, /* Number of elements in the maps */
218 0, /* Enumeration is not extensible */
219 1, /* Strict enumeration */
220 0, /* Native long size */
223 static const ber_tlv_tag_t asn_DEF_dmrs_TypeA_Position_tags_7[] = {
224 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
225 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
227 static /* Use -fall-defs-global to expose */
228 asn_TYPE_descriptor_t asn_DEF_dmrs_TypeA_Position_7 = {
229 "dmrs-TypeA-Position",
230 "dmrs-TypeA-Position",
231 &asn_OP_NativeEnumerated,
232 asn_DEF_dmrs_TypeA_Position_tags_7,
233 sizeof(asn_DEF_dmrs_TypeA_Position_tags_7)
234 /sizeof(asn_DEF_dmrs_TypeA_Position_tags_7[0]) - 1, /* 1 */
235 asn_DEF_dmrs_TypeA_Position_tags_7, /* Same as above */
236 sizeof(asn_DEF_dmrs_TypeA_Position_tags_7)
237 /sizeof(asn_DEF_dmrs_TypeA_Position_tags_7[0]), /* 2 */
238 { &asn_OER_type_dmrs_TypeA_Position_constr_7, &asn_PER_type_dmrs_TypeA_Position_constr_7, NativeEnumerated_constraint },
239 0, 0, /* Defined elsewhere */
240 &asn_SPC_dmrs_TypeA_Position_specs_7 /* Additional specs */
243 static const asn_INTEGER_enum_map_t asn_MAP_cellBarred_value2enum_11[] = {
245 { 1, 9, "notBarred" }
247 static const unsigned int asn_MAP_cellBarred_enum2value_11[] = {
251 static const asn_INTEGER_specifics_t asn_SPC_cellBarred_specs_11 = {
252 asn_MAP_cellBarred_value2enum_11, /* "tag" => N; sorted by tag */
253 asn_MAP_cellBarred_enum2value_11, /* N => "tag"; sorted by N */
254 2, /* Number of elements in the maps */
255 0, /* Enumeration is not extensible */
256 1, /* Strict enumeration */
257 0, /* Native long size */
260 static const ber_tlv_tag_t asn_DEF_cellBarred_tags_11[] = {
261 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
262 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
264 static /* Use -fall-defs-global to expose */
265 asn_TYPE_descriptor_t asn_DEF_cellBarred_11 = {
268 &asn_OP_NativeEnumerated,
269 asn_DEF_cellBarred_tags_11,
270 sizeof(asn_DEF_cellBarred_tags_11)
271 /sizeof(asn_DEF_cellBarred_tags_11[0]) - 1, /* 1 */
272 asn_DEF_cellBarred_tags_11, /* Same as above */
273 sizeof(asn_DEF_cellBarred_tags_11)
274 /sizeof(asn_DEF_cellBarred_tags_11[0]), /* 2 */
275 { &asn_OER_type_cellBarred_constr_11, &asn_PER_type_cellBarred_constr_11, NativeEnumerated_constraint },
276 0, 0, /* Defined elsewhere */
277 &asn_SPC_cellBarred_specs_11 /* Additional specs */
280 static const asn_INTEGER_enum_map_t asn_MAP_intraFreqReselection_value2enum_14[] = {
282 { 1, 10, "notAllowed" }
284 static const unsigned int asn_MAP_intraFreqReselection_enum2value_14[] = {
286 1 /* notAllowed(1) */
288 static const asn_INTEGER_specifics_t asn_SPC_intraFreqReselection_specs_14 = {
289 asn_MAP_intraFreqReselection_value2enum_14, /* "tag" => N; sorted by tag */
290 asn_MAP_intraFreqReselection_enum2value_14, /* N => "tag"; sorted by N */
291 2, /* Number of elements in the maps */
292 0, /* Enumeration is not extensible */
293 1, /* Strict enumeration */
294 0, /* Native long size */
297 static const ber_tlv_tag_t asn_DEF_intraFreqReselection_tags_14[] = {
298 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
299 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
301 static /* Use -fall-defs-global to expose */
302 asn_TYPE_descriptor_t asn_DEF_intraFreqReselection_14 = {
303 "intraFreqReselection",
304 "intraFreqReselection",
305 &asn_OP_NativeEnumerated,
306 asn_DEF_intraFreqReselection_tags_14,
307 sizeof(asn_DEF_intraFreqReselection_tags_14)
308 /sizeof(asn_DEF_intraFreqReselection_tags_14[0]) - 1, /* 1 */
309 asn_DEF_intraFreqReselection_tags_14, /* Same as above */
310 sizeof(asn_DEF_intraFreqReselection_tags_14)
311 /sizeof(asn_DEF_intraFreqReselection_tags_14[0]), /* 2 */
312 { &asn_OER_type_intraFreqReselection_constr_14, &asn_PER_type_intraFreqReselection_constr_14, NativeEnumerated_constraint },
313 0, 0, /* Defined elsewhere */
314 &asn_SPC_intraFreqReselection_specs_14 /* Additional specs */
317 asn_TYPE_member_t asn_MBR_MIB_1[] = {
318 { ATF_NOFLAGS, 0, offsetof(struct MIB, systemFrameNumber),
319 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
320 -1, /* IMPLICIT tag at current level */
323 { &asn_OER_memb_systemFrameNumber_constr_2, &asn_PER_memb_systemFrameNumber_constr_2, memb_systemFrameNumber_constraint_1 },
324 0, 0, /* No default value */
327 { ATF_NOFLAGS, 0, offsetof(struct MIB, subCarrierSpacingCommon),
328 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
329 -1, /* IMPLICIT tag at current level */
330 &asn_DEF_subCarrierSpacingCommon_3,
333 0, 0, /* No default value */
334 "subCarrierSpacingCommon"
336 { ATF_NOFLAGS, 0, offsetof(struct MIB, ssb_SubcarrierOffset),
337 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
338 -1, /* IMPLICIT tag at current level */
339 &asn_DEF_NativeInteger,
341 { &asn_OER_memb_ssb_SubcarrierOffset_constr_6, &asn_PER_memb_ssb_SubcarrierOffset_constr_6, memb_ssb_SubcarrierOffset_constraint_1 },
342 0, 0, /* No default value */
343 "ssb-SubcarrierOffset"
345 { ATF_NOFLAGS, 0, offsetof(struct MIB, dmrs_TypeA_Position),
346 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
347 -1, /* IMPLICIT tag at current level */
348 &asn_DEF_dmrs_TypeA_Position_7,
351 0, 0, /* No default value */
352 "dmrs-TypeA-Position"
354 { ATF_NOFLAGS, 0, offsetof(struct MIB, pdcch_ConfigSIB1),
355 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
356 -1, /* IMPLICIT tag at current level */
357 &asn_DEF_PDCCH_ConfigSIB1,
360 0, 0, /* No default value */
363 { ATF_NOFLAGS, 0, offsetof(struct MIB, cellBarred),
364 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
365 -1, /* IMPLICIT tag at current level */
366 &asn_DEF_cellBarred_11,
369 0, 0, /* No default value */
372 { ATF_NOFLAGS, 0, offsetof(struct MIB, intraFreqReselection),
373 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
374 -1, /* IMPLICIT tag at current level */
375 &asn_DEF_intraFreqReselection_14,
378 0, 0, /* No default value */
379 "intraFreqReselection"
381 { ATF_NOFLAGS, 0, offsetof(struct MIB, spare),
382 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
383 -1, /* IMPLICIT tag at current level */
386 { &asn_OER_memb_spare_constr_17, &asn_PER_memb_spare_constr_17, memb_spare_constraint_1 },
387 0, 0, /* No default value */
391 static const ber_tlv_tag_t asn_DEF_MIB_tags_1[] = {
392 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
394 static const asn_TYPE_tag2member_t asn_MAP_MIB_tag2el_1[] = {
395 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* systemFrameNumber */
396 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subCarrierSpacingCommon */
397 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ssb-SubcarrierOffset */
398 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dmrs-TypeA-Position */
399 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pdcch-ConfigSIB1 */
400 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* cellBarred */
401 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* intraFreqReselection */
402 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* spare */
404 asn_SEQUENCE_specifics_t asn_SPC_MIB_specs_1 = {
406 offsetof(struct MIB, _asn_ctx),
407 asn_MAP_MIB_tag2el_1,
408 8, /* Count of tags in the map */
409 0, 0, 0, /* Optional elements (not needed) */
410 -1, /* First extension addition */
412 asn_TYPE_descriptor_t asn_DEF_MIB = {
417 sizeof(asn_DEF_MIB_tags_1)
418 /sizeof(asn_DEF_MIB_tags_1[0]), /* 1 */
419 asn_DEF_MIB_tags_1, /* Same as above */
420 sizeof(asn_DEF_MIB_tags_1)
421 /sizeof(asn_DEF_MIB_tags_1[0]), /* 1 */
422 { 0, 0, SEQUENCE_constraint },
424 8, /* Elements count */
425 &asn_SPC_MIB_specs_1 /* Additional specs */