2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
11 memb_sf5_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
22 value = *(const long *)sptr;
24 if((value >= 0 && value <= 4)) {
25 /* Constraint check succeeded */
28 ASN__CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
36 memb_sf10_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
37 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: value not given (%s:%d)",
43 td->name, __FILE__, __LINE__);
47 value = *(const long *)sptr;
49 if((value >= 0 && value <= 9)) {
50 /* Constraint check succeeded */
53 ASN__CTFAIL(app_key, td, sptr,
54 "%s: constraint failed (%s:%d)",
55 td->name, __FILE__, __LINE__);
61 memb_sf20_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
62 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
66 ASN__CTFAIL(app_key, td, sptr,
67 "%s: value not given (%s:%d)",
68 td->name, __FILE__, __LINE__);
72 value = *(const long *)sptr;
74 if((value >= 0 && value <= 19)) {
75 /* Constraint check succeeded */
78 ASN__CTFAIL(app_key, td, sptr,
79 "%s: constraint failed (%s:%d)",
80 td->name, __FILE__, __LINE__);
86 memb_sf40_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
87 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
91 ASN__CTFAIL(app_key, td, sptr,
92 "%s: value not given (%s:%d)",
93 td->name, __FILE__, __LINE__);
97 value = *(const long *)sptr;
99 if((value >= 0 && value <= 39)) {
100 /* Constraint check succeeded */
103 ASN__CTFAIL(app_key, td, sptr,
104 "%s: constraint failed (%s:%d)",
105 td->name, __FILE__, __LINE__);
111 memb_sf80_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
112 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
116 ASN__CTFAIL(app_key, td, sptr,
117 "%s: value not given (%s:%d)",
118 td->name, __FILE__, __LINE__);
122 value = *(const long *)sptr;
124 if((value >= 0 && value <= 79)) {
125 /* Constraint check succeeded */
128 ASN__CTFAIL(app_key, td, sptr,
129 "%s: constraint failed (%s:%d)",
130 td->name, __FILE__, __LINE__);
136 memb_sf160_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
137 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
141 ASN__CTFAIL(app_key, td, sptr,
142 "%s: value not given (%s:%d)",
143 td->name, __FILE__, __LINE__);
147 value = *(const long *)sptr;
149 if((value >= 0 && value <= 159)) {
150 /* Constraint check succeeded */
153 ASN__CTFAIL(app_key, td, sptr,
154 "%s: constraint failed (%s:%d)",
155 td->name, __FILE__, __LINE__);
161 * This type is implemented using NativeEnumerated,
162 * so here we adjust the DEF accordingly.
164 static asn_oer_constraints_t asn_OER_memb_sf5_constr_3 CC_NOTUSED = {
165 { 1, 1 } /* (0..4) */,
167 static asn_per_constraints_t asn_PER_memb_sf5_constr_3 CC_NOTUSED = {
168 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
169 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
170 0, 0 /* No PER value map */
172 static asn_oer_constraints_t asn_OER_memb_sf10_constr_4 CC_NOTUSED = {
173 { 1, 1 } /* (0..9) */,
175 static asn_per_constraints_t asn_PER_memb_sf10_constr_4 CC_NOTUSED = {
176 { APC_CONSTRAINED, 4, 4, 0, 9 } /* (0..9) */,
177 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
178 0, 0 /* No PER value map */
180 static asn_oer_constraints_t asn_OER_memb_sf20_constr_5 CC_NOTUSED = {
181 { 1, 1 } /* (0..19) */,
183 static asn_per_constraints_t asn_PER_memb_sf20_constr_5 CC_NOTUSED = {
184 { APC_CONSTRAINED, 5, 5, 0, 19 } /* (0..19) */,
185 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
186 0, 0 /* No PER value map */
188 static asn_oer_constraints_t asn_OER_memb_sf40_constr_6 CC_NOTUSED = {
189 { 1, 1 } /* (0..39) */,
191 static asn_per_constraints_t asn_PER_memb_sf40_constr_6 CC_NOTUSED = {
192 { APC_CONSTRAINED, 6, 6, 0, 39 } /* (0..39) */,
193 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
194 0, 0 /* No PER value map */
196 static asn_oer_constraints_t asn_OER_memb_sf80_constr_7 CC_NOTUSED = {
197 { 1, 1 } /* (0..79) */,
199 static asn_per_constraints_t asn_PER_memb_sf80_constr_7 CC_NOTUSED = {
200 { APC_CONSTRAINED, 7, 7, 0, 79 } /* (0..79) */,
201 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
202 0, 0 /* No PER value map */
204 static asn_oer_constraints_t asn_OER_memb_sf160_constr_8 CC_NOTUSED = {
205 { 1, 1 } /* (0..159) */,
207 static asn_per_constraints_t asn_PER_memb_sf160_constr_8 CC_NOTUSED = {
208 { APC_CONSTRAINED, 8, 8, 0, 159 } /* (0..159) */,
209 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
210 0, 0 /* No PER value map */
212 static asn_oer_constraints_t asn_OER_type_periodicityAndOffset_constr_2 CC_NOTUSED = {
215 static asn_per_constraints_t asn_PER_type_periodicityAndOffset_constr_2 CC_NOTUSED = {
216 { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */,
217 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
218 0, 0 /* No PER value map */
220 static asn_oer_constraints_t asn_OER_type_duration_constr_9 CC_NOTUSED = {
223 static asn_per_constraints_t asn_PER_type_duration_constr_9 CC_NOTUSED = {
224 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
225 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
226 0, 0 /* No PER value map */
228 static asn_TYPE_member_t asn_MBR_periodicityAndOffset_2[] = {
229 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf5),
230 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
231 -1, /* IMPLICIT tag at current level */
232 &asn_DEF_NativeInteger,
234 { &asn_OER_memb_sf5_constr_3, &asn_PER_memb_sf5_constr_3, memb_sf5_constraint_2 },
235 0, 0, /* No default value */
238 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf10),
239 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
240 -1, /* IMPLICIT tag at current level */
241 &asn_DEF_NativeInteger,
243 { &asn_OER_memb_sf10_constr_4, &asn_PER_memb_sf10_constr_4, memb_sf10_constraint_2 },
244 0, 0, /* No default value */
247 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf20),
248 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
249 -1, /* IMPLICIT tag at current level */
250 &asn_DEF_NativeInteger,
252 { &asn_OER_memb_sf20_constr_5, &asn_PER_memb_sf20_constr_5, memb_sf20_constraint_2 },
253 0, 0, /* No default value */
256 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf40),
257 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
258 -1, /* IMPLICIT tag at current level */
259 &asn_DEF_NativeInteger,
261 { &asn_OER_memb_sf40_constr_6, &asn_PER_memb_sf40_constr_6, memb_sf40_constraint_2 },
262 0, 0, /* No default value */
265 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf80),
266 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
267 -1, /* IMPLICIT tag at current level */
268 &asn_DEF_NativeInteger,
270 { &asn_OER_memb_sf80_constr_7, &asn_PER_memb_sf80_constr_7, memb_sf80_constraint_2 },
271 0, 0, /* No default value */
274 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC__periodicityAndOffset, choice.sf160),
275 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
276 -1, /* IMPLICIT tag at current level */
277 &asn_DEF_NativeInteger,
279 { &asn_OER_memb_sf160_constr_8, &asn_PER_memb_sf160_constr_8, memb_sf160_constraint_2 },
280 0, 0, /* No default value */
284 static const asn_TYPE_tag2member_t asn_MAP_periodicityAndOffset_tag2el_2[] = {
285 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sf5 */
286 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sf10 */
287 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sf20 */
288 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sf40 */
289 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sf80 */
290 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* sf160 */
292 static asn_CHOICE_specifics_t asn_SPC_periodicityAndOffset_specs_2 = {
293 sizeof(struct SSB_MTC__periodicityAndOffset),
294 offsetof(struct SSB_MTC__periodicityAndOffset, _asn_ctx),
295 offsetof(struct SSB_MTC__periodicityAndOffset, present),
296 sizeof(((struct SSB_MTC__periodicityAndOffset *)0)->present),
297 asn_MAP_periodicityAndOffset_tag2el_2,
298 6, /* Count of tags in the map */
300 -1 /* Extensions start */
302 static /* Use -fall-defs-global to expose */
303 asn_TYPE_descriptor_t asn_DEF_periodicityAndOffset_2 = {
304 "periodicityAndOffset",
305 "periodicityAndOffset",
307 0, /* No effective tags (pointer) */
308 0, /* No effective tags (count) */
309 0, /* No tags (pointer) */
310 0, /* No tags (count) */
311 { &asn_OER_type_periodicityAndOffset_constr_2, &asn_PER_type_periodicityAndOffset_constr_2, CHOICE_constraint },
312 asn_MBR_periodicityAndOffset_2,
313 6, /* Elements count */
314 &asn_SPC_periodicityAndOffset_specs_2 /* Additional specs */
317 static const asn_INTEGER_enum_map_t asn_MAP_duration_value2enum_9[] = {
324 static const unsigned int asn_MAP_duration_enum2value_9[] = {
331 static const asn_INTEGER_specifics_t asn_SPC_duration_specs_9 = {
332 asn_MAP_duration_value2enum_9, /* "tag" => N; sorted by tag */
333 asn_MAP_duration_enum2value_9, /* N => "tag"; sorted by N */
334 5, /* Number of elements in the maps */
335 0, /* Enumeration is not extensible */
336 1, /* Strict enumeration */
337 0, /* Native long size */
340 static const ber_tlv_tag_t asn_DEF_duration_tags_9[] = {
341 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
342 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
344 static /* Use -fall-defs-global to expose */
345 asn_TYPE_descriptor_t asn_DEF_duration_9 = {
348 &asn_OP_NativeEnumerated,
349 asn_DEF_duration_tags_9,
350 sizeof(asn_DEF_duration_tags_9)
351 /sizeof(asn_DEF_duration_tags_9[0]) - 1, /* 1 */
352 asn_DEF_duration_tags_9, /* Same as above */
353 sizeof(asn_DEF_duration_tags_9)
354 /sizeof(asn_DEF_duration_tags_9[0]), /* 2 */
355 { &asn_OER_type_duration_constr_9, &asn_PER_type_duration_constr_9, NativeEnumerated_constraint },
356 0, 0, /* Defined elsewhere */
357 &asn_SPC_duration_specs_9 /* Additional specs */
360 asn_TYPE_member_t asn_MBR_SSB_MTC_1[] = {
361 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC, periodicityAndOffset),
362 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
363 +1, /* EXPLICIT tag at current level */
364 &asn_DEF_periodicityAndOffset_2,
367 0, 0, /* No default value */
368 "periodicityAndOffset"
370 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC, duration),
371 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
372 -1, /* IMPLICIT tag at current level */
376 0, 0, /* No default value */
380 static const ber_tlv_tag_t asn_DEF_SSB_MTC_tags_1[] = {
381 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
383 static const asn_TYPE_tag2member_t asn_MAP_SSB_MTC_tag2el_1[] = {
384 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodicityAndOffset */
385 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* duration */
387 asn_SEQUENCE_specifics_t asn_SPC_SSB_MTC_specs_1 = {
388 sizeof(struct SSB_MTC),
389 offsetof(struct SSB_MTC, _asn_ctx),
390 asn_MAP_SSB_MTC_tag2el_1,
391 2, /* Count of tags in the map */
392 0, 0, 0, /* Optional elements (not needed) */
393 -1, /* First extension addition */
395 asn_TYPE_descriptor_t asn_DEF_SSB_MTC = {
399 asn_DEF_SSB_MTC_tags_1,
400 sizeof(asn_DEF_SSB_MTC_tags_1)
401 /sizeof(asn_DEF_SSB_MTC_tags_1[0]), /* 1 */
402 asn_DEF_SSB_MTC_tags_1, /* Same as above */
403 sizeof(asn_DEF_SSB_MTC_tags_1)
404 /sizeof(asn_DEF_SSB_MTC_tags_1[0]), /* 1 */
405 { 0, 0, SEQUENCE_constraint },
407 2, /* Elements count */
408 &asn_SPC_SSB_MTC_specs_1 /* Additional specs */