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 "Phy-ParametersFR1.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 * 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.
26 static asn_oer_constraints_t asn_OER_type_pdcchMonitoringSingleOccasion_constr_2 CC_NOTUSED = {
29 static asn_per_constraints_t asn_PER_type_pdcchMonitoringSingleOccasion_constr_2 CC_NOTUSED = {
30 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
31 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
32 0, 0 /* No PER value map */
34 static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_4 CC_NOTUSED = {
37 static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_4 CC_NOTUSED = {
38 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
39 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
40 0, 0 /* No PER value map */
42 static asn_oer_constraints_t asn_OER_type_pdsch_256QAM_FR1_constr_6 CC_NOTUSED = {
45 static asn_per_constraints_t asn_PER_type_pdsch_256QAM_FR1_constr_6 CC_NOTUSED = {
46 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
47 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
48 0, 0 /* No PER value map */
50 static asn_oer_constraints_t asn_OER_type_pdsch_RE_MappingFR1_PerSymbol_constr_8 CC_NOTUSED = {
53 static asn_per_constraints_t asn_PER_type_pdsch_RE_MappingFR1_PerSymbol_constr_8 CC_NOTUSED = {
54 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
55 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
56 0, 0 /* No PER value map */
58 static const asn_INTEGER_enum_map_t asn_MAP_pdcchMonitoringSingleOccasion_value2enum_2[] = {
61 static const unsigned int asn_MAP_pdcchMonitoringSingleOccasion_enum2value_2[] = {
64 static const asn_INTEGER_specifics_t asn_SPC_pdcchMonitoringSingleOccasion_specs_2 = {
65 asn_MAP_pdcchMonitoringSingleOccasion_value2enum_2, /* "tag" => N; sorted by tag */
66 asn_MAP_pdcchMonitoringSingleOccasion_enum2value_2, /* N => "tag"; sorted by N */
67 1, /* Number of elements in the maps */
68 0, /* Enumeration is not extensible */
69 1, /* Strict enumeration */
70 0, /* Native long size */
73 static const ber_tlv_tag_t asn_DEF_pdcchMonitoringSingleOccasion_tags_2[] = {
74 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
75 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
77 static /* Use -fall-defs-global to expose */
78 asn_TYPE_descriptor_t asn_DEF_pdcchMonitoringSingleOccasion_2 = {
79 "pdcchMonitoringSingleOccasion",
80 "pdcchMonitoringSingleOccasion",
81 &asn_OP_NativeEnumerated,
82 asn_DEF_pdcchMonitoringSingleOccasion_tags_2,
83 sizeof(asn_DEF_pdcchMonitoringSingleOccasion_tags_2)
84 /sizeof(asn_DEF_pdcchMonitoringSingleOccasion_tags_2[0]) - 1, /* 1 */
85 asn_DEF_pdcchMonitoringSingleOccasion_tags_2, /* Same as above */
86 sizeof(asn_DEF_pdcchMonitoringSingleOccasion_tags_2)
87 /sizeof(asn_DEF_pdcchMonitoringSingleOccasion_tags_2[0]), /* 2 */
88 { &asn_OER_type_pdcchMonitoringSingleOccasion_constr_2, &asn_PER_type_pdcchMonitoringSingleOccasion_constr_2, NativeEnumerated_constraint },
89 0, 0, /* Defined elsewhere */
90 &asn_SPC_pdcchMonitoringSingleOccasion_specs_2 /* Additional specs */
93 static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_4[] = {
96 static const unsigned int asn_MAP_scs_60kHz_enum2value_4[] = {
99 static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_4 = {
100 asn_MAP_scs_60kHz_value2enum_4, /* "tag" => N; sorted by tag */
101 asn_MAP_scs_60kHz_enum2value_4, /* N => "tag"; sorted by N */
102 1, /* Number of elements in the maps */
103 0, /* Enumeration is not extensible */
104 1, /* Strict enumeration */
105 0, /* Native long size */
108 static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_4[] = {
109 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
110 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
112 static /* Use -fall-defs-global to expose */
113 asn_TYPE_descriptor_t asn_DEF_scs_60kHz_4 = {
116 &asn_OP_NativeEnumerated,
117 asn_DEF_scs_60kHz_tags_4,
118 sizeof(asn_DEF_scs_60kHz_tags_4)
119 /sizeof(asn_DEF_scs_60kHz_tags_4[0]) - 1, /* 1 */
120 asn_DEF_scs_60kHz_tags_4, /* Same as above */
121 sizeof(asn_DEF_scs_60kHz_tags_4)
122 /sizeof(asn_DEF_scs_60kHz_tags_4[0]), /* 2 */
123 { &asn_OER_type_scs_60kHz_constr_4, &asn_PER_type_scs_60kHz_constr_4, NativeEnumerated_constraint },
124 0, 0, /* Defined elsewhere */
125 &asn_SPC_scs_60kHz_specs_4 /* Additional specs */
128 static const asn_INTEGER_enum_map_t asn_MAP_pdsch_256QAM_FR1_value2enum_6[] = {
129 { 0, 9, "supported" }
131 static const unsigned int asn_MAP_pdsch_256QAM_FR1_enum2value_6[] = {
134 static const asn_INTEGER_specifics_t asn_SPC_pdsch_256QAM_FR1_specs_6 = {
135 asn_MAP_pdsch_256QAM_FR1_value2enum_6, /* "tag" => N; sorted by tag */
136 asn_MAP_pdsch_256QAM_FR1_enum2value_6, /* N => "tag"; sorted by N */
137 1, /* Number of elements in the maps */
138 0, /* Enumeration is not extensible */
139 1, /* Strict enumeration */
140 0, /* Native long size */
143 static const ber_tlv_tag_t asn_DEF_pdsch_256QAM_FR1_tags_6[] = {
144 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
145 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
147 static /* Use -fall-defs-global to expose */
148 asn_TYPE_descriptor_t asn_DEF_pdsch_256QAM_FR1_6 = {
151 &asn_OP_NativeEnumerated,
152 asn_DEF_pdsch_256QAM_FR1_tags_6,
153 sizeof(asn_DEF_pdsch_256QAM_FR1_tags_6)
154 /sizeof(asn_DEF_pdsch_256QAM_FR1_tags_6[0]) - 1, /* 1 */
155 asn_DEF_pdsch_256QAM_FR1_tags_6, /* Same as above */
156 sizeof(asn_DEF_pdsch_256QAM_FR1_tags_6)
157 /sizeof(asn_DEF_pdsch_256QAM_FR1_tags_6[0]), /* 2 */
158 { &asn_OER_type_pdsch_256QAM_FR1_constr_6, &asn_PER_type_pdsch_256QAM_FR1_constr_6, NativeEnumerated_constraint },
159 0, 0, /* Defined elsewhere */
160 &asn_SPC_pdsch_256QAM_FR1_specs_6 /* Additional specs */
163 static const asn_INTEGER_enum_map_t asn_MAP_pdsch_RE_MappingFR1_PerSymbol_value2enum_8[] = {
167 static const unsigned int asn_MAP_pdsch_RE_MappingFR1_PerSymbol_enum2value_8[] = {
171 static const asn_INTEGER_specifics_t asn_SPC_pdsch_RE_MappingFR1_PerSymbol_specs_8 = {
172 asn_MAP_pdsch_RE_MappingFR1_PerSymbol_value2enum_8, /* "tag" => N; sorted by tag */
173 asn_MAP_pdsch_RE_MappingFR1_PerSymbol_enum2value_8, /* N => "tag"; sorted by N */
174 2, /* Number of elements in the maps */
175 0, /* Enumeration is not extensible */
176 1, /* Strict enumeration */
177 0, /* Native long size */
180 static const ber_tlv_tag_t asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8[] = {
181 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
182 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
184 static /* Use -fall-defs-global to expose */
185 asn_TYPE_descriptor_t asn_DEF_pdsch_RE_MappingFR1_PerSymbol_8 = {
186 "pdsch-RE-MappingFR1-PerSymbol",
187 "pdsch-RE-MappingFR1-PerSymbol",
188 &asn_OP_NativeEnumerated,
189 asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8,
190 sizeof(asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8)
191 /sizeof(asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8[0]) - 1, /* 1 */
192 asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8, /* Same as above */
193 sizeof(asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8)
194 /sizeof(asn_DEF_pdsch_RE_MappingFR1_PerSymbol_tags_8[0]), /* 2 */
195 { &asn_OER_type_pdsch_RE_MappingFR1_PerSymbol_constr_8, &asn_PER_type_pdsch_RE_MappingFR1_PerSymbol_constr_8, NativeEnumerated_constraint },
196 0, 0, /* Defined elsewhere */
197 &asn_SPC_pdsch_RE_MappingFR1_PerSymbol_specs_8 /* Additional specs */
200 asn_TYPE_member_t asn_MBR_Phy_ParametersFR1_1[] = {
201 { ATF_POINTER, 4, offsetof(struct Phy_ParametersFR1, pdcchMonitoringSingleOccasion),
202 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
203 -1, /* IMPLICIT tag at current level */
204 &asn_DEF_pdcchMonitoringSingleOccasion_2,
207 0, 0, /* No default value */
208 "pdcchMonitoringSingleOccasion"
210 { ATF_POINTER, 3, offsetof(struct Phy_ParametersFR1, scs_60kHz),
211 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
212 -1, /* IMPLICIT tag at current level */
213 &asn_DEF_scs_60kHz_4,
216 0, 0, /* No default value */
219 { ATF_POINTER, 2, offsetof(struct Phy_ParametersFR1, pdsch_256QAM_FR1),
220 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
221 -1, /* IMPLICIT tag at current level */
222 &asn_DEF_pdsch_256QAM_FR1_6,
225 0, 0, /* No default value */
228 { ATF_POINTER, 1, offsetof(struct Phy_ParametersFR1, pdsch_RE_MappingFR1_PerSymbol),
229 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
230 -1, /* IMPLICIT tag at current level */
231 &asn_DEF_pdsch_RE_MappingFR1_PerSymbol_8,
234 0, 0, /* No default value */
235 "pdsch-RE-MappingFR1-PerSymbol"
238 static const int asn_MAP_Phy_ParametersFR1_oms_1[] = { 0, 1, 2, 3 };
239 static const ber_tlv_tag_t asn_DEF_Phy_ParametersFR1_tags_1[] = {
240 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
242 static const asn_TYPE_tag2member_t asn_MAP_Phy_ParametersFR1_tag2el_1[] = {
243 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pdcchMonitoringSingleOccasion */
244 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-60kHz */
245 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pdsch-256QAM-FR1 */
246 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* pdsch-RE-MappingFR1-PerSymbol */
248 asn_SEQUENCE_specifics_t asn_SPC_Phy_ParametersFR1_specs_1 = {
249 sizeof(struct Phy_ParametersFR1),
250 offsetof(struct Phy_ParametersFR1, _asn_ctx),
251 asn_MAP_Phy_ParametersFR1_tag2el_1,
252 4, /* Count of tags in the map */
253 asn_MAP_Phy_ParametersFR1_oms_1, /* Optional members */
254 4, 0, /* Root/Additions */
255 4, /* First extension addition */
257 asn_TYPE_descriptor_t asn_DEF_Phy_ParametersFR1 = {
261 asn_DEF_Phy_ParametersFR1_tags_1,
262 sizeof(asn_DEF_Phy_ParametersFR1_tags_1)
263 /sizeof(asn_DEF_Phy_ParametersFR1_tags_1[0]), /* 1 */
264 asn_DEF_Phy_ParametersFR1_tags_1, /* Same as above */
265 sizeof(asn_DEF_Phy_ParametersFR1_tags_1)
266 /sizeof(asn_DEF_Phy_ParametersFR1_tags_1[0]), /* 1 */
267 { 0, 0, SEQUENCE_constraint },
268 asn_MBR_Phy_ParametersFR1_1,
269 4, /* Elements count */
270 &asn_SPC_Phy_ParametersFR1_specs_1 /* Additional specs */