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 "SRS-Config.h"
10 #include "SRS-ResourceSet.h"
11 #include "SRS-Resource.h"
13 * This type is implemented using NativeEnumerated,
14 * so here we adjust the DEF accordingly.
17 memb_srs_ResourceSetToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
18 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
22 ASN__CTFAIL(app_key, td, sptr,
23 "%s: value not given (%s:%d)",
24 td->name, __FILE__, __LINE__);
28 /* Determine the number of elements */
29 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
31 if((size >= 1 && size <= 16)) {
32 /* Perform validation of the inner elements */
33 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
35 ASN__CTFAIL(app_key, td, sptr,
36 "%s: constraint failed (%s:%d)",
37 td->name, __FILE__, __LINE__);
43 memb_srs_ResourceSetToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
44 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
48 ASN__CTFAIL(app_key, td, sptr,
49 "%s: value not given (%s:%d)",
50 td->name, __FILE__, __LINE__);
54 /* Determine the number of elements */
55 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
57 if((size >= 1 && size <= 16)) {
58 /* Perform validation of the inner elements */
59 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
61 ASN__CTFAIL(app_key, td, sptr,
62 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
69 memb_srs_ResourceToReleaseList_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 /* Determine the number of elements */
81 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
83 if((size >= 1 && size <= 64)) {
84 /* Perform validation of the inner elements */
85 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
87 ASN__CTFAIL(app_key, td, sptr,
88 "%s: constraint failed (%s:%d)",
89 td->name, __FILE__, __LINE__);
95 memb_srs_ResourceToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
96 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
100 ASN__CTFAIL(app_key, td, sptr,
101 "%s: value not given (%s:%d)",
102 td->name, __FILE__, __LINE__);
106 /* Determine the number of elements */
107 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
109 if((size >= 1 && size <= 64)) {
110 /* Perform validation of the inner elements */
111 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
113 ASN__CTFAIL(app_key, td, sptr,
114 "%s: constraint failed (%s:%d)",
115 td->name, __FILE__, __LINE__);
120 static asn_oer_constraints_t asn_OER_type_srs_ResourceSetToReleaseList_constr_2 CC_NOTUSED = {
122 -1 /* (SIZE(1..16)) */};
123 static asn_per_constraints_t asn_PER_type_srs_ResourceSetToReleaseList_constr_2 CC_NOTUSED = {
124 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
125 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
126 0, 0 /* No PER value map */
128 static asn_oer_constraints_t asn_OER_type_srs_ResourceSetToAddModList_constr_4 CC_NOTUSED = {
130 -1 /* (SIZE(1..16)) */};
131 static asn_per_constraints_t asn_PER_type_srs_ResourceSetToAddModList_constr_4 CC_NOTUSED = {
132 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
133 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
134 0, 0 /* No PER value map */
136 static asn_oer_constraints_t asn_OER_type_srs_ResourceToReleaseList_constr_6 CC_NOTUSED = {
138 -1 /* (SIZE(1..64)) */};
139 static asn_per_constraints_t asn_PER_type_srs_ResourceToReleaseList_constr_6 CC_NOTUSED = {
140 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
141 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
142 0, 0 /* No PER value map */
144 static asn_oer_constraints_t asn_OER_type_srs_ResourceToAddModList_constr_8 CC_NOTUSED = {
146 -1 /* (SIZE(1..64)) */};
147 static asn_per_constraints_t asn_PER_type_srs_ResourceToAddModList_constr_8 CC_NOTUSED = {
148 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
149 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
150 0, 0 /* No PER value map */
152 static asn_oer_constraints_t asn_OER_type_tpc_Accumulation_constr_10 CC_NOTUSED = {
155 static asn_per_constraints_t asn_PER_type_tpc_Accumulation_constr_10 CC_NOTUSED = {
156 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
157 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
158 0, 0 /* No PER value map */
160 static asn_oer_constraints_t asn_OER_memb_srs_ResourceSetToReleaseList_constr_2 CC_NOTUSED = {
162 -1 /* (SIZE(1..16)) */};
163 static asn_per_constraints_t asn_PER_memb_srs_ResourceSetToReleaseList_constr_2 CC_NOTUSED = {
164 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
165 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
166 0, 0 /* No PER value map */
168 static asn_oer_constraints_t asn_OER_memb_srs_ResourceSetToAddModList_constr_4 CC_NOTUSED = {
170 -1 /* (SIZE(1..16)) */};
171 static asn_per_constraints_t asn_PER_memb_srs_ResourceSetToAddModList_constr_4 CC_NOTUSED = {
172 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
173 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
174 0, 0 /* No PER value map */
176 static asn_oer_constraints_t asn_OER_memb_srs_ResourceToReleaseList_constr_6 CC_NOTUSED = {
178 -1 /* (SIZE(1..64)) */};
179 static asn_per_constraints_t asn_PER_memb_srs_ResourceToReleaseList_constr_6 CC_NOTUSED = {
180 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
181 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
182 0, 0 /* No PER value map */
184 static asn_oer_constraints_t asn_OER_memb_srs_ResourceToAddModList_constr_8 CC_NOTUSED = {
186 -1 /* (SIZE(1..64)) */};
187 static asn_per_constraints_t asn_PER_memb_srs_ResourceToAddModList_constr_8 CC_NOTUSED = {
188 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
189 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
190 0, 0 /* No PER value map */
192 static asn_TYPE_member_t asn_MBR_srs_ResourceSetToReleaseList_2[] = {
194 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
196 &asn_DEF_SRS_ResourceSetId,
199 0, 0, /* No default value */
203 static const ber_tlv_tag_t asn_DEF_srs_ResourceSetToReleaseList_tags_2[] = {
204 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
205 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
207 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceSetToReleaseList_specs_2 = {
208 sizeof(struct SRS_Config__srs_ResourceSetToReleaseList),
209 offsetof(struct SRS_Config__srs_ResourceSetToReleaseList, _asn_ctx),
210 0, /* XER encoding is XMLDelimitedItemList */
212 static /* Use -fall-defs-global to expose */
213 asn_TYPE_descriptor_t asn_DEF_srs_ResourceSetToReleaseList_2 = {
214 "srs-ResourceSetToReleaseList",
215 "srs-ResourceSetToReleaseList",
217 asn_DEF_srs_ResourceSetToReleaseList_tags_2,
218 sizeof(asn_DEF_srs_ResourceSetToReleaseList_tags_2)
219 /sizeof(asn_DEF_srs_ResourceSetToReleaseList_tags_2[0]) - 1, /* 1 */
220 asn_DEF_srs_ResourceSetToReleaseList_tags_2, /* Same as above */
221 sizeof(asn_DEF_srs_ResourceSetToReleaseList_tags_2)
222 /sizeof(asn_DEF_srs_ResourceSetToReleaseList_tags_2[0]), /* 2 */
223 { &asn_OER_type_srs_ResourceSetToReleaseList_constr_2, &asn_PER_type_srs_ResourceSetToReleaseList_constr_2, SEQUENCE_OF_constraint },
224 asn_MBR_srs_ResourceSetToReleaseList_2,
225 1, /* Single element */
226 &asn_SPC_srs_ResourceSetToReleaseList_specs_2 /* Additional specs */
229 static asn_TYPE_member_t asn_MBR_srs_ResourceSetToAddModList_4[] = {
231 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
233 &asn_DEF_SRS_ResourceSet,
236 0, 0, /* No default value */
240 static const ber_tlv_tag_t asn_DEF_srs_ResourceSetToAddModList_tags_4[] = {
241 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
242 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
244 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceSetToAddModList_specs_4 = {
245 sizeof(struct SRS_Config__srs_ResourceSetToAddModList),
246 offsetof(struct SRS_Config__srs_ResourceSetToAddModList, _asn_ctx),
247 0, /* XER encoding is XMLDelimitedItemList */
249 static /* Use -fall-defs-global to expose */
250 asn_TYPE_descriptor_t asn_DEF_srs_ResourceSetToAddModList_4 = {
251 "srs-ResourceSetToAddModList",
252 "srs-ResourceSetToAddModList",
254 asn_DEF_srs_ResourceSetToAddModList_tags_4,
255 sizeof(asn_DEF_srs_ResourceSetToAddModList_tags_4)
256 /sizeof(asn_DEF_srs_ResourceSetToAddModList_tags_4[0]) - 1, /* 1 */
257 asn_DEF_srs_ResourceSetToAddModList_tags_4, /* Same as above */
258 sizeof(asn_DEF_srs_ResourceSetToAddModList_tags_4)
259 /sizeof(asn_DEF_srs_ResourceSetToAddModList_tags_4[0]), /* 2 */
260 { &asn_OER_type_srs_ResourceSetToAddModList_constr_4, &asn_PER_type_srs_ResourceSetToAddModList_constr_4, SEQUENCE_OF_constraint },
261 asn_MBR_srs_ResourceSetToAddModList_4,
262 1, /* Single element */
263 &asn_SPC_srs_ResourceSetToAddModList_specs_4 /* Additional specs */
266 static asn_TYPE_member_t asn_MBR_srs_ResourceToReleaseList_6[] = {
268 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
270 &asn_DEF_SRS_ResourceId,
273 0, 0, /* No default value */
277 static const ber_tlv_tag_t asn_DEF_srs_ResourceToReleaseList_tags_6[] = {
278 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
279 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
281 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceToReleaseList_specs_6 = {
282 sizeof(struct SRS_Config__srs_ResourceToReleaseList),
283 offsetof(struct SRS_Config__srs_ResourceToReleaseList, _asn_ctx),
284 0, /* XER encoding is XMLDelimitedItemList */
286 static /* Use -fall-defs-global to expose */
287 asn_TYPE_descriptor_t asn_DEF_srs_ResourceToReleaseList_6 = {
288 "srs-ResourceToReleaseList",
289 "srs-ResourceToReleaseList",
291 asn_DEF_srs_ResourceToReleaseList_tags_6,
292 sizeof(asn_DEF_srs_ResourceToReleaseList_tags_6)
293 /sizeof(asn_DEF_srs_ResourceToReleaseList_tags_6[0]) - 1, /* 1 */
294 asn_DEF_srs_ResourceToReleaseList_tags_6, /* Same as above */
295 sizeof(asn_DEF_srs_ResourceToReleaseList_tags_6)
296 /sizeof(asn_DEF_srs_ResourceToReleaseList_tags_6[0]), /* 2 */
297 { &asn_OER_type_srs_ResourceToReleaseList_constr_6, &asn_PER_type_srs_ResourceToReleaseList_constr_6, SEQUENCE_OF_constraint },
298 asn_MBR_srs_ResourceToReleaseList_6,
299 1, /* Single element */
300 &asn_SPC_srs_ResourceToReleaseList_specs_6 /* Additional specs */
303 static asn_TYPE_member_t asn_MBR_srs_ResourceToAddModList_8[] = {
305 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
307 &asn_DEF_SRS_Resource,
310 0, 0, /* No default value */
314 static const ber_tlv_tag_t asn_DEF_srs_ResourceToAddModList_tags_8[] = {
315 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
316 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
318 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceToAddModList_specs_8 = {
319 sizeof(struct SRS_Config__srs_ResourceToAddModList),
320 offsetof(struct SRS_Config__srs_ResourceToAddModList, _asn_ctx),
321 0, /* XER encoding is XMLDelimitedItemList */
323 static /* Use -fall-defs-global to expose */
324 asn_TYPE_descriptor_t asn_DEF_srs_ResourceToAddModList_8 = {
325 "srs-ResourceToAddModList",
326 "srs-ResourceToAddModList",
328 asn_DEF_srs_ResourceToAddModList_tags_8,
329 sizeof(asn_DEF_srs_ResourceToAddModList_tags_8)
330 /sizeof(asn_DEF_srs_ResourceToAddModList_tags_8[0]) - 1, /* 1 */
331 asn_DEF_srs_ResourceToAddModList_tags_8, /* Same as above */
332 sizeof(asn_DEF_srs_ResourceToAddModList_tags_8)
333 /sizeof(asn_DEF_srs_ResourceToAddModList_tags_8[0]), /* 2 */
334 { &asn_OER_type_srs_ResourceToAddModList_constr_8, &asn_PER_type_srs_ResourceToAddModList_constr_8, SEQUENCE_OF_constraint },
335 asn_MBR_srs_ResourceToAddModList_8,
336 1, /* Single element */
337 &asn_SPC_srs_ResourceToAddModList_specs_8 /* Additional specs */
340 static const asn_INTEGER_enum_map_t asn_MAP_tpc_Accumulation_value2enum_10[] = {
343 static const unsigned int asn_MAP_tpc_Accumulation_enum2value_10[] = {
346 static const asn_INTEGER_specifics_t asn_SPC_tpc_Accumulation_specs_10 = {
347 asn_MAP_tpc_Accumulation_value2enum_10, /* "tag" => N; sorted by tag */
348 asn_MAP_tpc_Accumulation_enum2value_10, /* N => "tag"; sorted by N */
349 1, /* Number of elements in the maps */
350 0, /* Enumeration is not extensible */
351 1, /* Strict enumeration */
352 0, /* Native long size */
355 static const ber_tlv_tag_t asn_DEF_tpc_Accumulation_tags_10[] = {
356 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
357 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
359 static /* Use -fall-defs-global to expose */
360 asn_TYPE_descriptor_t asn_DEF_tpc_Accumulation_10 = {
363 &asn_OP_NativeEnumerated,
364 asn_DEF_tpc_Accumulation_tags_10,
365 sizeof(asn_DEF_tpc_Accumulation_tags_10)
366 /sizeof(asn_DEF_tpc_Accumulation_tags_10[0]) - 1, /* 1 */
367 asn_DEF_tpc_Accumulation_tags_10, /* Same as above */
368 sizeof(asn_DEF_tpc_Accumulation_tags_10)
369 /sizeof(asn_DEF_tpc_Accumulation_tags_10[0]), /* 2 */
370 { &asn_OER_type_tpc_Accumulation_constr_10, &asn_PER_type_tpc_Accumulation_constr_10, NativeEnumerated_constraint },
371 0, 0, /* Defined elsewhere */
372 &asn_SPC_tpc_Accumulation_specs_10 /* Additional specs */
375 asn_TYPE_member_t asn_MBR_SRS_Config_1[] = {
376 { ATF_POINTER, 5, offsetof(struct SRS_Config, srs_ResourceSetToReleaseList),
377 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
379 &asn_DEF_srs_ResourceSetToReleaseList_2,
381 { &asn_OER_memb_srs_ResourceSetToReleaseList_constr_2, &asn_PER_memb_srs_ResourceSetToReleaseList_constr_2, memb_srs_ResourceSetToReleaseList_constraint_1 },
382 0, 0, /* No default value */
383 "srs-ResourceSetToReleaseList"
385 { ATF_POINTER, 4, offsetof(struct SRS_Config, srs_ResourceSetToAddModList),
386 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
388 &asn_DEF_srs_ResourceSetToAddModList_4,
390 { &asn_OER_memb_srs_ResourceSetToAddModList_constr_4, &asn_PER_memb_srs_ResourceSetToAddModList_constr_4, memb_srs_ResourceSetToAddModList_constraint_1 },
391 0, 0, /* No default value */
392 "srs-ResourceSetToAddModList"
394 { ATF_POINTER, 3, offsetof(struct SRS_Config, srs_ResourceToReleaseList),
395 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
397 &asn_DEF_srs_ResourceToReleaseList_6,
399 { &asn_OER_memb_srs_ResourceToReleaseList_constr_6, &asn_PER_memb_srs_ResourceToReleaseList_constr_6, memb_srs_ResourceToReleaseList_constraint_1 },
400 0, 0, /* No default value */
401 "srs-ResourceToReleaseList"
403 { ATF_POINTER, 2, offsetof(struct SRS_Config, srs_ResourceToAddModList),
404 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
406 &asn_DEF_srs_ResourceToAddModList_8,
408 { &asn_OER_memb_srs_ResourceToAddModList_constr_8, &asn_PER_memb_srs_ResourceToAddModList_constr_8, memb_srs_ResourceToAddModList_constraint_1 },
409 0, 0, /* No default value */
410 "srs-ResourceToAddModList"
412 { ATF_POINTER, 1, offsetof(struct SRS_Config, tpc_Accumulation),
413 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
414 -1, /* IMPLICIT tag at current level */
415 &asn_DEF_tpc_Accumulation_10,
418 0, 0, /* No default value */
422 static const int asn_MAP_SRS_Config_oms_1[] = { 0, 1, 2, 3, 4 };
423 static const ber_tlv_tag_t asn_DEF_SRS_Config_tags_1[] = {
424 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
426 static const asn_TYPE_tag2member_t asn_MAP_SRS_Config_tag2el_1[] = {
427 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* srs-ResourceSetToReleaseList */
428 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* srs-ResourceSetToAddModList */
429 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* srs-ResourceToReleaseList */
430 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* srs-ResourceToAddModList */
431 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* tpc-Accumulation */
433 asn_SEQUENCE_specifics_t asn_SPC_SRS_Config_specs_1 = {
434 sizeof(struct SRS_Config),
435 offsetof(struct SRS_Config, _asn_ctx),
436 asn_MAP_SRS_Config_tag2el_1,
437 5, /* Count of tags in the map */
438 asn_MAP_SRS_Config_oms_1, /* Optional members */
439 5, 0, /* Root/Additions */
440 5, /* First extension addition */
442 asn_TYPE_descriptor_t asn_DEF_SRS_Config = {
446 asn_DEF_SRS_Config_tags_1,
447 sizeof(asn_DEF_SRS_Config_tags_1)
448 /sizeof(asn_DEF_SRS_Config_tags_1[0]), /* 1 */
449 asn_DEF_SRS_Config_tags_1, /* Same as above */
450 sizeof(asn_DEF_SRS_Config_tags_1)
451 /sizeof(asn_DEF_SRS_Config_tags_1[0]), /* 1 */
452 { 0, 0, SEQUENCE_constraint },
453 asn_MBR_SRS_Config_1,
454 5, /* Elements count */
455 &asn_SPC_SRS_Config_specs_1 /* Additional specs */