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`
8 #include "DMRS-UplinkConfig.h"
10 #include "PTRS-UplinkConfig.h"
12 * This type is implemented using NativeEnumerated,
13 * so here we adjust the DEF accordingly.
16 * This type is implemented using NativeEnumerated,
17 * so here we adjust the DEF accordingly.
20 * This type is implemented using NativeEnumerated,
21 * so here we adjust the DEF accordingly.
24 memb_scramblingID0_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr,
25 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
29 ASN__CTFAIL(app_key, td, sptr,
30 "%s: value not given (%s:%d)",
31 td->name, __FILE__, __LINE__);
35 value = *(const long *)sptr;
37 if((value >= 0 && value <= 65535)) {
38 /* Constraint check succeeded */
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: constraint failed (%s:%d)",
43 td->name, __FILE__, __LINE__);
49 memb_scramblingID1_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr,
50 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
54 ASN__CTFAIL(app_key, td, sptr,
55 "%s: value not given (%s:%d)",
56 td->name, __FILE__, __LINE__);
60 value = *(const long *)sptr;
62 if((value >= 0 && value <= 65535)) {
63 /* Constraint check succeeded */
66 ASN__CTFAIL(app_key, td, sptr,
67 "%s: constraint failed (%s:%d)",
68 td->name, __FILE__, __LINE__);
74 * This type is implemented using NativeEnumerated,
75 * so here we adjust the DEF accordingly.
78 * This type is implemented using NativeEnumerated,
79 * so here we adjust the DEF accordingly.
82 memb_nPUSCH_Identity_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr,
83 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
87 ASN__CTFAIL(app_key, td, sptr,
88 "%s: value not given (%s:%d)",
89 td->name, __FILE__, __LINE__);
93 value = *(const long *)sptr;
95 if((value >= 0 && value <= 1007)) {
96 /* Constraint check succeeded */
99 ASN__CTFAIL(app_key, td, sptr,
100 "%s: constraint failed (%s:%d)",
101 td->name, __FILE__, __LINE__);
106 static asn_oer_constraints_t asn_OER_type_dmrs_Type_constr_2 CC_NOTUSED = {
109 static asn_per_constraints_t asn_PER_type_dmrs_Type_constr_2 CC_NOTUSED = {
110 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
111 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
112 0, 0 /* No PER value map */
114 static asn_oer_constraints_t asn_OER_type_dmrs_AdditionalPosition_constr_4 CC_NOTUSED = {
117 static asn_per_constraints_t asn_PER_type_dmrs_AdditionalPosition_constr_4 CC_NOTUSED = {
118 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
119 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
120 0, 0 /* No PER value map */
122 static asn_oer_constraints_t asn_OER_type_phaseTrackingRS_constr_8 CC_NOTUSED = {
125 static asn_per_constraints_t asn_PER_type_phaseTrackingRS_constr_8 CC_NOTUSED = {
126 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
127 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
128 0, 0 /* No PER value map */
130 static asn_oer_constraints_t asn_OER_type_maxLength_constr_11 CC_NOTUSED = {
133 static asn_per_constraints_t asn_PER_type_maxLength_constr_11 CC_NOTUSED = {
134 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
135 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
136 0, 0 /* No PER value map */
138 static asn_oer_constraints_t asn_OER_memb_scramblingID0_constr_14 CC_NOTUSED = {
139 { 2, 1 } /* (0..65535) */,
141 static asn_per_constraints_t asn_PER_memb_scramblingID0_constr_14 CC_NOTUSED = {
142 { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
143 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
144 0, 0 /* No PER value map */
146 static asn_oer_constraints_t asn_OER_memb_scramblingID1_constr_15 CC_NOTUSED = {
147 { 2, 1 } /* (0..65535) */,
149 static asn_per_constraints_t asn_PER_memb_scramblingID1_constr_15 CC_NOTUSED = {
150 { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
151 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
152 0, 0 /* No PER value map */
154 static asn_oer_constraints_t asn_OER_type_sequenceGroupHopping_constr_19 CC_NOTUSED = {
157 static asn_per_constraints_t asn_PER_type_sequenceGroupHopping_constr_19 CC_NOTUSED = {
158 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
159 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
160 0, 0 /* No PER value map */
162 static asn_oer_constraints_t asn_OER_type_sequenceHopping_constr_21 CC_NOTUSED = {
165 static asn_per_constraints_t asn_PER_type_sequenceHopping_constr_21 CC_NOTUSED = {
166 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
167 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
168 0, 0 /* No PER value map */
170 static asn_oer_constraints_t asn_OER_memb_nPUSCH_Identity_constr_18 CC_NOTUSED = {
171 { 2, 1 } /* (0..1007) */,
173 static asn_per_constraints_t asn_PER_memb_nPUSCH_Identity_constr_18 CC_NOTUSED = {
174 { APC_CONSTRAINED, 10, 10, 0, 1007 } /* (0..1007) */,
175 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
176 0, 0 /* No PER value map */
178 static const asn_INTEGER_enum_map_t asn_MAP_dmrs_Type_value2enum_2[] = {
181 static const unsigned int asn_MAP_dmrs_Type_enum2value_2[] = {
184 static const asn_INTEGER_specifics_t asn_SPC_dmrs_Type_specs_2 = {
185 asn_MAP_dmrs_Type_value2enum_2, /* "tag" => N; sorted by tag */
186 asn_MAP_dmrs_Type_enum2value_2, /* N => "tag"; sorted by N */
187 1, /* Number of elements in the maps */
188 0, /* Enumeration is not extensible */
189 1, /* Strict enumeration */
190 0, /* Native long size */
193 static const ber_tlv_tag_t asn_DEF_dmrs_Type_tags_2[] = {
194 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
195 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
197 static /* Use -fall-defs-global to expose */
198 asn_TYPE_descriptor_t asn_DEF_dmrs_Type_2 = {
201 &asn_OP_NativeEnumerated,
202 asn_DEF_dmrs_Type_tags_2,
203 sizeof(asn_DEF_dmrs_Type_tags_2)
204 /sizeof(asn_DEF_dmrs_Type_tags_2[0]) - 1, /* 1 */
205 asn_DEF_dmrs_Type_tags_2, /* Same as above */
206 sizeof(asn_DEF_dmrs_Type_tags_2)
207 /sizeof(asn_DEF_dmrs_Type_tags_2[0]), /* 2 */
208 { &asn_OER_type_dmrs_Type_constr_2, &asn_PER_type_dmrs_Type_constr_2, NativeEnumerated_constraint },
209 0, 0, /* Defined elsewhere */
210 &asn_SPC_dmrs_Type_specs_2 /* Additional specs */
213 static const asn_INTEGER_enum_map_t asn_MAP_dmrs_AdditionalPosition_value2enum_4[] = {
218 static const unsigned int asn_MAP_dmrs_AdditionalPosition_enum2value_4[] = {
223 static const asn_INTEGER_specifics_t asn_SPC_dmrs_AdditionalPosition_specs_4 = {
224 asn_MAP_dmrs_AdditionalPosition_value2enum_4, /* "tag" => N; sorted by tag */
225 asn_MAP_dmrs_AdditionalPosition_enum2value_4, /* N => "tag"; sorted by N */
226 3, /* 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_dmrs_AdditionalPosition_tags_4[] = {
233 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
234 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_dmrs_AdditionalPosition_4 = {
238 "dmrs-AdditionalPosition",
239 "dmrs-AdditionalPosition",
240 &asn_OP_NativeEnumerated,
241 asn_DEF_dmrs_AdditionalPosition_tags_4,
242 sizeof(asn_DEF_dmrs_AdditionalPosition_tags_4)
243 /sizeof(asn_DEF_dmrs_AdditionalPosition_tags_4[0]) - 1, /* 1 */
244 asn_DEF_dmrs_AdditionalPosition_tags_4, /* Same as above */
245 sizeof(asn_DEF_dmrs_AdditionalPosition_tags_4)
246 /sizeof(asn_DEF_dmrs_AdditionalPosition_tags_4[0]), /* 2 */
247 { &asn_OER_type_dmrs_AdditionalPosition_constr_4, &asn_PER_type_dmrs_AdditionalPosition_constr_4, NativeEnumerated_constraint },
248 0, 0, /* Defined elsewhere */
249 &asn_SPC_dmrs_AdditionalPosition_specs_4 /* Additional specs */
252 static asn_TYPE_member_t asn_MBR_phaseTrackingRS_8[] = {
253 { ATF_NOFLAGS, 0, offsetof(struct DMRS_UplinkConfig__phaseTrackingRS, choice.release),
254 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
255 -1, /* IMPLICIT tag at current level */
259 0, 0, /* No default value */
262 { ATF_POINTER, 0, offsetof(struct DMRS_UplinkConfig__phaseTrackingRS, choice.setup),
263 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
264 -1, /* IMPLICIT tag at current level */
265 &asn_DEF_PTRS_UplinkConfig,
268 0, 0, /* No default value */
272 static const asn_TYPE_tag2member_t asn_MAP_phaseTrackingRS_tag2el_8[] = {
273 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
274 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
276 static asn_CHOICE_specifics_t asn_SPC_phaseTrackingRS_specs_8 = {
277 sizeof(struct DMRS_UplinkConfig__phaseTrackingRS),
278 offsetof(struct DMRS_UplinkConfig__phaseTrackingRS, _asn_ctx),
279 offsetof(struct DMRS_UplinkConfig__phaseTrackingRS, present),
280 sizeof(((struct DMRS_UplinkConfig__phaseTrackingRS *)0)->present),
281 asn_MAP_phaseTrackingRS_tag2el_8,
282 2, /* Count of tags in the map */
284 -1 /* Extensions start */
286 static /* Use -fall-defs-global to expose */
287 asn_TYPE_descriptor_t asn_DEF_phaseTrackingRS_8 = {
291 0, /* No effective tags (pointer) */
292 0, /* No effective tags (count) */
293 0, /* No tags (pointer) */
294 0, /* No tags (count) */
295 { &asn_OER_type_phaseTrackingRS_constr_8, &asn_PER_type_phaseTrackingRS_constr_8, CHOICE_constraint },
296 asn_MBR_phaseTrackingRS_8,
297 2, /* Elements count */
298 &asn_SPC_phaseTrackingRS_specs_8 /* Additional specs */
301 static const asn_INTEGER_enum_map_t asn_MAP_maxLength_value2enum_11[] = {
304 static const unsigned int asn_MAP_maxLength_enum2value_11[] = {
307 static const asn_INTEGER_specifics_t asn_SPC_maxLength_specs_11 = {
308 asn_MAP_maxLength_value2enum_11, /* "tag" => N; sorted by tag */
309 asn_MAP_maxLength_enum2value_11, /* N => "tag"; sorted by N */
310 1, /* Number of elements in the maps */
311 0, /* Enumeration is not extensible */
312 1, /* Strict enumeration */
313 0, /* Native long size */
316 static const ber_tlv_tag_t asn_DEF_maxLength_tags_11[] = {
317 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
318 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
320 static /* Use -fall-defs-global to expose */
321 asn_TYPE_descriptor_t asn_DEF_maxLength_11 = {
324 &asn_OP_NativeEnumerated,
325 asn_DEF_maxLength_tags_11,
326 sizeof(asn_DEF_maxLength_tags_11)
327 /sizeof(asn_DEF_maxLength_tags_11[0]) - 1, /* 1 */
328 asn_DEF_maxLength_tags_11, /* Same as above */
329 sizeof(asn_DEF_maxLength_tags_11)
330 /sizeof(asn_DEF_maxLength_tags_11[0]), /* 2 */
331 { &asn_OER_type_maxLength_constr_11, &asn_PER_type_maxLength_constr_11, NativeEnumerated_constraint },
332 0, 0, /* Defined elsewhere */
333 &asn_SPC_maxLength_specs_11 /* Additional specs */
336 static asn_TYPE_member_t asn_MBR_transformPrecodingDisabled_13[] = {
337 { ATF_POINTER, 2, offsetof(struct DMRS_UplinkConfig__transformPrecodingDisabled, scramblingID0),
338 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
339 -1, /* IMPLICIT tag at current level */
340 &asn_DEF_NativeInteger,
342 { &asn_OER_memb_scramblingID0_constr_14, &asn_PER_memb_scramblingID0_constr_14, memb_scramblingID0_constraint_13 },
343 0, 0, /* No default value */
346 { ATF_POINTER, 1, offsetof(struct DMRS_UplinkConfig__transformPrecodingDisabled, scramblingID1),
347 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
348 -1, /* IMPLICIT tag at current level */
349 &asn_DEF_NativeInteger,
351 { &asn_OER_memb_scramblingID1_constr_15, &asn_PER_memb_scramblingID1_constr_15, memb_scramblingID1_constraint_13 },
352 0, 0, /* No default value */
356 static const int asn_MAP_transformPrecodingDisabled_oms_13[] = { 0, 1 };
357 static const ber_tlv_tag_t asn_DEF_transformPrecodingDisabled_tags_13[] = {
358 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
359 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
361 static const asn_TYPE_tag2member_t asn_MAP_transformPrecodingDisabled_tag2el_13[] = {
362 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scramblingID0 */
363 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scramblingID1 */
365 static asn_SEQUENCE_specifics_t asn_SPC_transformPrecodingDisabled_specs_13 = {
366 sizeof(struct DMRS_UplinkConfig__transformPrecodingDisabled),
367 offsetof(struct DMRS_UplinkConfig__transformPrecodingDisabled, _asn_ctx),
368 asn_MAP_transformPrecodingDisabled_tag2el_13,
369 2, /* Count of tags in the map */
370 asn_MAP_transformPrecodingDisabled_oms_13, /* Optional members */
371 2, 0, /* Root/Additions */
372 2, /* First extension addition */
374 static /* Use -fall-defs-global to expose */
375 asn_TYPE_descriptor_t asn_DEF_transformPrecodingDisabled_13 = {
376 "transformPrecodingDisabled",
377 "transformPrecodingDisabled",
379 asn_DEF_transformPrecodingDisabled_tags_13,
380 sizeof(asn_DEF_transformPrecodingDisabled_tags_13)
381 /sizeof(asn_DEF_transformPrecodingDisabled_tags_13[0]) - 1, /* 1 */
382 asn_DEF_transformPrecodingDisabled_tags_13, /* Same as above */
383 sizeof(asn_DEF_transformPrecodingDisabled_tags_13)
384 /sizeof(asn_DEF_transformPrecodingDisabled_tags_13[0]), /* 2 */
385 { 0, 0, SEQUENCE_constraint },
386 asn_MBR_transformPrecodingDisabled_13,
387 2, /* Elements count */
388 &asn_SPC_transformPrecodingDisabled_specs_13 /* Additional specs */
391 static const asn_INTEGER_enum_map_t asn_MAP_sequenceGroupHopping_value2enum_19[] = {
394 static const unsigned int asn_MAP_sequenceGroupHopping_enum2value_19[] = {
397 static const asn_INTEGER_specifics_t asn_SPC_sequenceGroupHopping_specs_19 = {
398 asn_MAP_sequenceGroupHopping_value2enum_19, /* "tag" => N; sorted by tag */
399 asn_MAP_sequenceGroupHopping_enum2value_19, /* N => "tag"; sorted by N */
400 1, /* Number of elements in the maps */
401 0, /* Enumeration is not extensible */
402 1, /* Strict enumeration */
403 0, /* Native long size */
406 static const ber_tlv_tag_t asn_DEF_sequenceGroupHopping_tags_19[] = {
407 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
408 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
410 static /* Use -fall-defs-global to expose */
411 asn_TYPE_descriptor_t asn_DEF_sequenceGroupHopping_19 = {
412 "sequenceGroupHopping",
413 "sequenceGroupHopping",
414 &asn_OP_NativeEnumerated,
415 asn_DEF_sequenceGroupHopping_tags_19,
416 sizeof(asn_DEF_sequenceGroupHopping_tags_19)
417 /sizeof(asn_DEF_sequenceGroupHopping_tags_19[0]) - 1, /* 1 */
418 asn_DEF_sequenceGroupHopping_tags_19, /* Same as above */
419 sizeof(asn_DEF_sequenceGroupHopping_tags_19)
420 /sizeof(asn_DEF_sequenceGroupHopping_tags_19[0]), /* 2 */
421 { &asn_OER_type_sequenceGroupHopping_constr_19, &asn_PER_type_sequenceGroupHopping_constr_19, NativeEnumerated_constraint },
422 0, 0, /* Defined elsewhere */
423 &asn_SPC_sequenceGroupHopping_specs_19 /* Additional specs */
426 static const asn_INTEGER_enum_map_t asn_MAP_sequenceHopping_value2enum_21[] = {
429 static const unsigned int asn_MAP_sequenceHopping_enum2value_21[] = {
432 static const asn_INTEGER_specifics_t asn_SPC_sequenceHopping_specs_21 = {
433 asn_MAP_sequenceHopping_value2enum_21, /* "tag" => N; sorted by tag */
434 asn_MAP_sequenceHopping_enum2value_21, /* N => "tag"; sorted by N */
435 1, /* Number of elements in the maps */
436 0, /* Enumeration is not extensible */
437 1, /* Strict enumeration */
438 0, /* Native long size */
441 static const ber_tlv_tag_t asn_DEF_sequenceHopping_tags_21[] = {
442 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
443 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
445 static /* Use -fall-defs-global to expose */
446 asn_TYPE_descriptor_t asn_DEF_sequenceHopping_21 = {
449 &asn_OP_NativeEnumerated,
450 asn_DEF_sequenceHopping_tags_21,
451 sizeof(asn_DEF_sequenceHopping_tags_21)
452 /sizeof(asn_DEF_sequenceHopping_tags_21[0]) - 1, /* 1 */
453 asn_DEF_sequenceHopping_tags_21, /* Same as above */
454 sizeof(asn_DEF_sequenceHopping_tags_21)
455 /sizeof(asn_DEF_sequenceHopping_tags_21[0]), /* 2 */
456 { &asn_OER_type_sequenceHopping_constr_21, &asn_PER_type_sequenceHopping_constr_21, NativeEnumerated_constraint },
457 0, 0, /* Defined elsewhere */
458 &asn_SPC_sequenceHopping_specs_21 /* Additional specs */
461 static asn_TYPE_member_t asn_MBR_transformPrecodingEnabled_17[] = {
462 { ATF_POINTER, 3, offsetof(struct DMRS_UplinkConfig__transformPrecodingEnabled, nPUSCH_Identity),
463 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
464 -1, /* IMPLICIT tag at current level */
465 &asn_DEF_NativeInteger,
467 { &asn_OER_memb_nPUSCH_Identity_constr_18, &asn_PER_memb_nPUSCH_Identity_constr_18, memb_nPUSCH_Identity_constraint_17 },
468 0, 0, /* No default value */
471 { ATF_POINTER, 2, offsetof(struct DMRS_UplinkConfig__transformPrecodingEnabled, sequenceGroupHopping),
472 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
473 -1, /* IMPLICIT tag at current level */
474 &asn_DEF_sequenceGroupHopping_19,
477 0, 0, /* No default value */
478 "sequenceGroupHopping"
480 { ATF_POINTER, 1, offsetof(struct DMRS_UplinkConfig__transformPrecodingEnabled, sequenceHopping),
481 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
482 -1, /* IMPLICIT tag at current level */
483 &asn_DEF_sequenceHopping_21,
486 0, 0, /* No default value */
490 static const int asn_MAP_transformPrecodingEnabled_oms_17[] = { 0, 1, 2 };
491 static const ber_tlv_tag_t asn_DEF_transformPrecodingEnabled_tags_17[] = {
492 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
493 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
495 static const asn_TYPE_tag2member_t asn_MAP_transformPrecodingEnabled_tag2el_17[] = {
496 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nPUSCH-Identity */
497 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequenceGroupHopping */
498 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sequenceHopping */
500 static asn_SEQUENCE_specifics_t asn_SPC_transformPrecodingEnabled_specs_17 = {
501 sizeof(struct DMRS_UplinkConfig__transformPrecodingEnabled),
502 offsetof(struct DMRS_UplinkConfig__transformPrecodingEnabled, _asn_ctx),
503 asn_MAP_transformPrecodingEnabled_tag2el_17,
504 3, /* Count of tags in the map */
505 asn_MAP_transformPrecodingEnabled_oms_17, /* Optional members */
506 3, 0, /* Root/Additions */
507 3, /* First extension addition */
509 static /* Use -fall-defs-global to expose */
510 asn_TYPE_descriptor_t asn_DEF_transformPrecodingEnabled_17 = {
511 "transformPrecodingEnabled",
512 "transformPrecodingEnabled",
514 asn_DEF_transformPrecodingEnabled_tags_17,
515 sizeof(asn_DEF_transformPrecodingEnabled_tags_17)
516 /sizeof(asn_DEF_transformPrecodingEnabled_tags_17[0]) - 1, /* 1 */
517 asn_DEF_transformPrecodingEnabled_tags_17, /* Same as above */
518 sizeof(asn_DEF_transformPrecodingEnabled_tags_17)
519 /sizeof(asn_DEF_transformPrecodingEnabled_tags_17[0]), /* 2 */
520 { 0, 0, SEQUENCE_constraint },
521 asn_MBR_transformPrecodingEnabled_17,
522 3, /* Elements count */
523 &asn_SPC_transformPrecodingEnabled_specs_17 /* Additional specs */
526 asn_TYPE_member_t asn_MBR_DMRS_UplinkConfig_1[] = {
527 { ATF_POINTER, 6, offsetof(struct DMRS_UplinkConfig, dmrs_Type),
528 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
529 -1, /* IMPLICIT tag at current level */
530 &asn_DEF_dmrs_Type_2,
533 0, 0, /* No default value */
536 { ATF_POINTER, 5, offsetof(struct DMRS_UplinkConfig, dmrs_AdditionalPosition),
537 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
538 -1, /* IMPLICIT tag at current level */
539 &asn_DEF_dmrs_AdditionalPosition_4,
542 0, 0, /* No default value */
543 "dmrs-AdditionalPosition"
545 { ATF_POINTER, 4, offsetof(struct DMRS_UplinkConfig, phaseTrackingRS),
546 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
547 +1, /* EXPLICIT tag at current level */
548 &asn_DEF_phaseTrackingRS_8,
551 0, 0, /* No default value */
554 { ATF_POINTER, 3, offsetof(struct DMRS_UplinkConfig, maxLength),
555 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
556 -1, /* IMPLICIT tag at current level */
557 &asn_DEF_maxLength_11,
560 0, 0, /* No default value */
563 { ATF_POINTER, 2, offsetof(struct DMRS_UplinkConfig, transformPrecodingDisabled),
564 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
566 &asn_DEF_transformPrecodingDisabled_13,
569 0, 0, /* No default value */
570 "transformPrecodingDisabled"
572 { ATF_POINTER, 1, offsetof(struct DMRS_UplinkConfig, transformPrecodingEnabled),
573 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
575 &asn_DEF_transformPrecodingEnabled_17,
578 0, 0, /* No default value */
579 "transformPrecodingEnabled"
582 static const int asn_MAP_DMRS_UplinkConfig_oms_1[] = { 0, 1, 2, 3, 4, 5 };
583 static const ber_tlv_tag_t asn_DEF_DMRS_UplinkConfig_tags_1[] = {
584 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
586 static const asn_TYPE_tag2member_t asn_MAP_DMRS_UplinkConfig_tag2el_1[] = {
587 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dmrs-Type */
588 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dmrs-AdditionalPosition */
589 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* phaseTrackingRS */
590 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxLength */
591 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* transformPrecodingDisabled */
592 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* transformPrecodingEnabled */
594 asn_SEQUENCE_specifics_t asn_SPC_DMRS_UplinkConfig_specs_1 = {
595 sizeof(struct DMRS_UplinkConfig),
596 offsetof(struct DMRS_UplinkConfig, _asn_ctx),
597 asn_MAP_DMRS_UplinkConfig_tag2el_1,
598 6, /* Count of tags in the map */
599 asn_MAP_DMRS_UplinkConfig_oms_1, /* Optional members */
600 6, 0, /* Root/Additions */
601 6, /* First extension addition */
603 asn_TYPE_descriptor_t asn_DEF_DMRS_UplinkConfig = {
607 asn_DEF_DMRS_UplinkConfig_tags_1,
608 sizeof(asn_DEF_DMRS_UplinkConfig_tags_1)
609 /sizeof(asn_DEF_DMRS_UplinkConfig_tags_1[0]), /* 1 */
610 asn_DEF_DMRS_UplinkConfig_tags_1, /* Same as above */
611 sizeof(asn_DEF_DMRS_UplinkConfig_tags_1)
612 /sizeof(asn_DEF_DMRS_UplinkConfig_tags_1[0]), /* 1 */
613 { 0, 0, SEQUENCE_constraint },
614 asn_MBR_DMRS_UplinkConfig_1,
615 6, /* Elements count */
616 &asn_SPC_DMRS_UplinkConfig_specs_1 /* Additional specs */