2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../mib_sib1.asn1"
5 * `asn1c -D ./new_out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "TDD-UL-DL-Pattern.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_nrofDownlinkSlots_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 >= 0 && value <= 320)) {
33 /* Constraint check succeeded */
36 ASN__CTFAIL(app_key, td, sptr,
37 "%s: constraint failed (%s:%d)",
38 td->name, __FILE__, __LINE__);
44 memb_nrofDownlinkSymbols_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 >= 0 && value <= 13)) {
58 /* Constraint check succeeded */
61 ASN__CTFAIL(app_key, td, sptr,
62 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
69 memb_nrofUplinkSlots_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
70 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
74 ASN__CTFAIL(app_key, td, sptr,
75 "%s: value not given (%s:%d)",
76 td->name, __FILE__, __LINE__);
80 value = *(const long *)sptr;
82 if((value >= 0 && value <= 320)) {
83 /* Constraint check succeeded */
86 ASN__CTFAIL(app_key, td, sptr,
87 "%s: constraint failed (%s:%d)",
88 td->name, __FILE__, __LINE__);
94 memb_nrofUplinkSymbols_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
95 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
99 ASN__CTFAIL(app_key, td, sptr,
100 "%s: value not given (%s:%d)",
101 td->name, __FILE__, __LINE__);
105 value = *(const long *)sptr;
107 if((value >= 0 && value <= 13)) {
108 /* Constraint check succeeded */
111 ASN__CTFAIL(app_key, td, sptr,
112 "%s: constraint failed (%s:%d)",
113 td->name, __FILE__, __LINE__);
118 static asn_oer_constraints_t asn_OER_type_dl_UL_TransmissionPeriodicity_constr_2 CC_NOTUSED = {
121 static asn_per_constraints_t asn_PER_type_dl_UL_TransmissionPeriodicity_constr_2 CC_NOTUSED = {
122 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
123 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
124 0, 0 /* No PER value map */
126 static asn_oer_constraints_t asn_OER_type_dl_UL_TransmissionPeriodicity_v1530_constr_17 CC_NOTUSED = {
129 static asn_per_constraints_t asn_PER_type_dl_UL_TransmissionPeriodicity_v1530_constr_17 CC_NOTUSED = {
130 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
131 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
132 0, 0 /* No PER value map */
134 static asn_oer_constraints_t asn_OER_memb_nrofDownlinkSlots_constr_11 CC_NOTUSED = {
135 { 2, 1 } /* (0..320) */,
137 static asn_per_constraints_t asn_PER_memb_nrofDownlinkSlots_constr_11 CC_NOTUSED = {
138 { APC_CONSTRAINED, 9, 9, 0, 320 } /* (0..320) */,
139 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
140 0, 0 /* No PER value map */
142 static asn_oer_constraints_t asn_OER_memb_nrofDownlinkSymbols_constr_12 CC_NOTUSED = {
143 { 1, 1 } /* (0..13) */,
145 static asn_per_constraints_t asn_PER_memb_nrofDownlinkSymbols_constr_12 CC_NOTUSED = {
146 { APC_CONSTRAINED, 4, 4, 0, 13 } /* (0..13) */,
147 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
148 0, 0 /* No PER value map */
150 static asn_oer_constraints_t asn_OER_memb_nrofUplinkSlots_constr_13 CC_NOTUSED = {
151 { 2, 1 } /* (0..320) */,
153 static asn_per_constraints_t asn_PER_memb_nrofUplinkSlots_constr_13 CC_NOTUSED = {
154 { APC_CONSTRAINED, 9, 9, 0, 320 } /* (0..320) */,
155 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
156 0, 0 /* No PER value map */
158 static asn_oer_constraints_t asn_OER_memb_nrofUplinkSymbols_constr_14 CC_NOTUSED = {
159 { 1, 1 } /* (0..13) */,
161 static asn_per_constraints_t asn_PER_memb_nrofUplinkSymbols_constr_14 CC_NOTUSED = {
162 { APC_CONSTRAINED, 4, 4, 0, 13 } /* (0..13) */,
163 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
164 0, 0 /* No PER value map */
166 static const asn_INTEGER_enum_map_t asn_MAP_dl_UL_TransmissionPeriodicity_value2enum_2[] = {
176 static const unsigned int asn_MAP_dl_UL_TransmissionPeriodicity_enum2value_2[] = {
186 static const asn_INTEGER_specifics_t asn_SPC_dl_UL_TransmissionPeriodicity_specs_2 = {
187 asn_MAP_dl_UL_TransmissionPeriodicity_value2enum_2, /* "tag" => N; sorted by tag */
188 asn_MAP_dl_UL_TransmissionPeriodicity_enum2value_2, /* N => "tag"; sorted by N */
189 8, /* Number of elements in the maps */
190 0, /* Enumeration is not extensible */
191 1, /* Strict enumeration */
192 0, /* Native long size */
195 static const ber_tlv_tag_t asn_DEF_dl_UL_TransmissionPeriodicity_tags_2[] = {
196 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
197 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
199 static /* Use -fall-defs-global to expose */
200 asn_TYPE_descriptor_t asn_DEF_dl_UL_TransmissionPeriodicity_2 = {
201 "dl-UL-TransmissionPeriodicity",
202 "dl-UL-TransmissionPeriodicity",
203 &asn_OP_NativeEnumerated,
204 asn_DEF_dl_UL_TransmissionPeriodicity_tags_2,
205 sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_tags_2)
206 /sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_tags_2[0]) - 1, /* 1 */
207 asn_DEF_dl_UL_TransmissionPeriodicity_tags_2, /* Same as above */
208 sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_tags_2)
209 /sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_tags_2[0]), /* 2 */
210 { &asn_OER_type_dl_UL_TransmissionPeriodicity_constr_2, &asn_PER_type_dl_UL_TransmissionPeriodicity_constr_2, NativeEnumerated_constraint },
211 0, 0, /* Defined elsewhere */
212 &asn_SPC_dl_UL_TransmissionPeriodicity_specs_2 /* Additional specs */
215 static const asn_INTEGER_enum_map_t asn_MAP_dl_UL_TransmissionPeriodicity_v1530_value2enum_17[] = {
219 static const unsigned int asn_MAP_dl_UL_TransmissionPeriodicity_v1530_enum2value_17[] = {
223 static const asn_INTEGER_specifics_t asn_SPC_dl_UL_TransmissionPeriodicity_v1530_specs_17 = {
224 asn_MAP_dl_UL_TransmissionPeriodicity_v1530_value2enum_17, /* "tag" => N; sorted by tag */
225 asn_MAP_dl_UL_TransmissionPeriodicity_v1530_enum2value_17, /* N => "tag"; sorted by N */
226 2, /* Number of elements in the maps */
227 0, /* Enumeration is not extensible */
228 1, /* Strict enumeration */
229 0, /* Native long size */
232 static const ber_tlv_tag_t asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17[] = {
233 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
234 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_dl_UL_TransmissionPeriodicity_v1530_17 = {
238 "dl-UL-TransmissionPeriodicity-v1530",
239 "dl-UL-TransmissionPeriodicity-v1530",
240 &asn_OP_NativeEnumerated,
241 asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17,
242 sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17)
243 /sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17[0]) - 1, /* 1 */
244 asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17, /* Same as above */
245 sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17)
246 /sizeof(asn_DEF_dl_UL_TransmissionPeriodicity_v1530_tags_17[0]), /* 2 */
247 { &asn_OER_type_dl_UL_TransmissionPeriodicity_v1530_constr_17, &asn_PER_type_dl_UL_TransmissionPeriodicity_v1530_constr_17, NativeEnumerated_constraint },
248 0, 0, /* Defined elsewhere */
249 &asn_SPC_dl_UL_TransmissionPeriodicity_v1530_specs_17 /* Additional specs */
252 static asn_TYPE_member_t asn_MBR_ext1_16[] = {
253 { ATF_POINTER, 1, offsetof(struct TDD_UL_DL_Pattern__ext1, dl_UL_TransmissionPeriodicity_v1530),
254 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
255 -1, /* IMPLICIT tag at current level */
256 &asn_DEF_dl_UL_TransmissionPeriodicity_v1530_17,
259 0, 0, /* No default value */
260 "dl-UL-TransmissionPeriodicity-v1530"
263 static const int asn_MAP_ext1_oms_16[] = { 0 };
264 static const ber_tlv_tag_t asn_DEF_ext1_tags_16[] = {
265 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
266 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
268 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_16[] = {
269 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* dl-UL-TransmissionPeriodicity-v1530 */
271 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_16 = {
272 sizeof(struct TDD_UL_DL_Pattern__ext1),
273 offsetof(struct TDD_UL_DL_Pattern__ext1, _asn_ctx),
274 asn_MAP_ext1_tag2el_16,
275 1, /* Count of tags in the map */
276 asn_MAP_ext1_oms_16, /* Optional members */
277 1, 0, /* Root/Additions */
278 -1, /* First extension addition */
280 static /* Use -fall-defs-global to expose */
281 asn_TYPE_descriptor_t asn_DEF_ext1_16 = {
285 asn_DEF_ext1_tags_16,
286 sizeof(asn_DEF_ext1_tags_16)
287 /sizeof(asn_DEF_ext1_tags_16[0]) - 1, /* 1 */
288 asn_DEF_ext1_tags_16, /* Same as above */
289 sizeof(asn_DEF_ext1_tags_16)
290 /sizeof(asn_DEF_ext1_tags_16[0]), /* 2 */
291 { 0, 0, SEQUENCE_constraint },
293 1, /* Elements count */
294 &asn_SPC_ext1_specs_16 /* Additional specs */
297 asn_TYPE_member_t asn_MBR_TDD_UL_DL_Pattern_1[] = {
298 { ATF_NOFLAGS, 0, offsetof(struct TDD_UL_DL_Pattern, dl_UL_TransmissionPeriodicity),
299 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
300 -1, /* IMPLICIT tag at current level */
301 &asn_DEF_dl_UL_TransmissionPeriodicity_2,
304 0, 0, /* No default value */
305 "dl-UL-TransmissionPeriodicity"
307 { ATF_NOFLAGS, 0, offsetof(struct TDD_UL_DL_Pattern, nrofDownlinkSlots),
308 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
309 -1, /* IMPLICIT tag at current level */
310 &asn_DEF_NativeInteger,
312 { &asn_OER_memb_nrofDownlinkSlots_constr_11, &asn_PER_memb_nrofDownlinkSlots_constr_11, memb_nrofDownlinkSlots_constraint_1 },
313 0, 0, /* No default value */
316 { ATF_NOFLAGS, 0, offsetof(struct TDD_UL_DL_Pattern, nrofDownlinkSymbols),
317 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
318 -1, /* IMPLICIT tag at current level */
319 &asn_DEF_NativeInteger,
321 { &asn_OER_memb_nrofDownlinkSymbols_constr_12, &asn_PER_memb_nrofDownlinkSymbols_constr_12, memb_nrofDownlinkSymbols_constraint_1 },
322 0, 0, /* No default value */
323 "nrofDownlinkSymbols"
325 { ATF_NOFLAGS, 0, offsetof(struct TDD_UL_DL_Pattern, nrofUplinkSlots),
326 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
327 -1, /* IMPLICIT tag at current level */
328 &asn_DEF_NativeInteger,
330 { &asn_OER_memb_nrofUplinkSlots_constr_13, &asn_PER_memb_nrofUplinkSlots_constr_13, memb_nrofUplinkSlots_constraint_1 },
331 0, 0, /* No default value */
334 { ATF_NOFLAGS, 0, offsetof(struct TDD_UL_DL_Pattern, nrofUplinkSymbols),
335 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
336 -1, /* IMPLICIT tag at current level */
337 &asn_DEF_NativeInteger,
339 { &asn_OER_memb_nrofUplinkSymbols_constr_14, &asn_PER_memb_nrofUplinkSymbols_constr_14, memb_nrofUplinkSymbols_constraint_1 },
340 0, 0, /* No default value */
343 { ATF_POINTER, 1, offsetof(struct TDD_UL_DL_Pattern, ext1),
344 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
349 0, 0, /* No default value */
353 static const int asn_MAP_TDD_UL_DL_Pattern_oms_1[] = { 5 };
354 static const ber_tlv_tag_t asn_DEF_TDD_UL_DL_Pattern_tags_1[] = {
355 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
357 static const asn_TYPE_tag2member_t asn_MAP_TDD_UL_DL_Pattern_tag2el_1[] = {
358 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dl-UL-TransmissionPeriodicity */
359 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrofDownlinkSlots */
360 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* nrofDownlinkSymbols */
361 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nrofUplinkSlots */
362 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* nrofUplinkSymbols */
363 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* ext1 */
365 asn_SEQUENCE_specifics_t asn_SPC_TDD_UL_DL_Pattern_specs_1 = {
366 sizeof(struct TDD_UL_DL_Pattern),
367 offsetof(struct TDD_UL_DL_Pattern, _asn_ctx),
368 asn_MAP_TDD_UL_DL_Pattern_tag2el_1,
369 6, /* Count of tags in the map */
370 asn_MAP_TDD_UL_DL_Pattern_oms_1, /* Optional members */
371 0, 1, /* Root/Additions */
372 5, /* First extension addition */
374 asn_TYPE_descriptor_t asn_DEF_TDD_UL_DL_Pattern = {
378 asn_DEF_TDD_UL_DL_Pattern_tags_1,
379 sizeof(asn_DEF_TDD_UL_DL_Pattern_tags_1)
380 /sizeof(asn_DEF_TDD_UL_DL_Pattern_tags_1[0]), /* 1 */
381 asn_DEF_TDD_UL_DL_Pattern_tags_1, /* Same as above */
382 sizeof(asn_DEF_TDD_UL_DL_Pattern_tags_1)
383 /sizeof(asn_DEF_TDD_UL_DL_Pattern_tags_1[0]), /* 1 */
384 { 0, 0, SEQUENCE_constraint },
385 asn_MBR_TDD_UL_DL_Pattern_1,
386 6, /* Elements count */
387 &asn_SPC_TDD_UL_DL_Pattern_specs_1 /* Additional specs */