2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "./22April22_Paging/rrc_15.3_asn.asn1"
5 * `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "Phy-ParametersXDD-Diff.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_dynamicSFI_constr_2 CC_NOTUSED = {
29 static asn_per_constraints_t asn_PER_type_dynamicSFI_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_twoPUCCH_F0_2_ConsecSymbols_constr_4 CC_NOTUSED = {
37 static asn_per_constraints_t asn_PER_type_twoPUCCH_F0_2_ConsecSymbols_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_twoDifferentTPC_Loop_PUSCH_constr_6 CC_NOTUSED = {
45 static asn_per_constraints_t asn_PER_type_twoDifferentTPC_Loop_PUSCH_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_twoDifferentTPC_Loop_PUCCH_constr_8 CC_NOTUSED = {
53 static asn_per_constraints_t asn_PER_type_twoDifferentTPC_Loop_PUCCH_constr_8 CC_NOTUSED = {
54 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
55 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
56 0, 0 /* No PER value map */
58 static const asn_INTEGER_enum_map_t asn_MAP_dynamicSFI_value2enum_2[] = {
61 static const unsigned int asn_MAP_dynamicSFI_enum2value_2[] = {
64 static const asn_INTEGER_specifics_t asn_SPC_dynamicSFI_specs_2 = {
65 asn_MAP_dynamicSFI_value2enum_2, /* "tag" => N; sorted by tag */
66 asn_MAP_dynamicSFI_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_dynamicSFI_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_dynamicSFI_2 = {
81 &asn_OP_NativeEnumerated,
82 asn_DEF_dynamicSFI_tags_2,
83 sizeof(asn_DEF_dynamicSFI_tags_2)
84 /sizeof(asn_DEF_dynamicSFI_tags_2[0]) - 1, /* 1 */
85 asn_DEF_dynamicSFI_tags_2, /* Same as above */
86 sizeof(asn_DEF_dynamicSFI_tags_2)
87 /sizeof(asn_DEF_dynamicSFI_tags_2[0]), /* 2 */
88 { &asn_OER_type_dynamicSFI_constr_2, &asn_PER_type_dynamicSFI_constr_2, NativeEnumerated_constraint },
89 0, 0, /* Defined elsewhere */
90 &asn_SPC_dynamicSFI_specs_2 /* Additional specs */
93 static const asn_INTEGER_enum_map_t asn_MAP_twoPUCCH_F0_2_ConsecSymbols_value2enum_4[] = {
96 static const unsigned int asn_MAP_twoPUCCH_F0_2_ConsecSymbols_enum2value_4[] = {
99 static const asn_INTEGER_specifics_t asn_SPC_twoPUCCH_F0_2_ConsecSymbols_specs_4 = {
100 asn_MAP_twoPUCCH_F0_2_ConsecSymbols_value2enum_4, /* "tag" => N; sorted by tag */
101 asn_MAP_twoPUCCH_F0_2_ConsecSymbols_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_twoPUCCH_F0_2_ConsecSymbols_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_twoPUCCH_F0_2_ConsecSymbols_4 = {
114 "twoPUCCH-F0-2-ConsecSymbols",
115 "twoPUCCH-F0-2-ConsecSymbols",
116 &asn_OP_NativeEnumerated,
117 asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4,
118 sizeof(asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4)
119 /sizeof(asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4[0]) - 1, /* 1 */
120 asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4, /* Same as above */
121 sizeof(asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4)
122 /sizeof(asn_DEF_twoPUCCH_F0_2_ConsecSymbols_tags_4[0]), /* 2 */
123 { &asn_OER_type_twoPUCCH_F0_2_ConsecSymbols_constr_4, &asn_PER_type_twoPUCCH_F0_2_ConsecSymbols_constr_4, NativeEnumerated_constraint },
124 0, 0, /* Defined elsewhere */
125 &asn_SPC_twoPUCCH_F0_2_ConsecSymbols_specs_4 /* Additional specs */
128 static const asn_INTEGER_enum_map_t asn_MAP_twoDifferentTPC_Loop_PUSCH_value2enum_6[] = {
129 { 0, 9, "supported" }
131 static const unsigned int asn_MAP_twoDifferentTPC_Loop_PUSCH_enum2value_6[] = {
134 static const asn_INTEGER_specifics_t asn_SPC_twoDifferentTPC_Loop_PUSCH_specs_6 = {
135 asn_MAP_twoDifferentTPC_Loop_PUSCH_value2enum_6, /* "tag" => N; sorted by tag */
136 asn_MAP_twoDifferentTPC_Loop_PUSCH_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_twoDifferentTPC_Loop_PUSCH_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_twoDifferentTPC_Loop_PUSCH_6 = {
149 "twoDifferentTPC-Loop-PUSCH",
150 "twoDifferentTPC-Loop-PUSCH",
151 &asn_OP_NativeEnumerated,
152 asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6,
153 sizeof(asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6)
154 /sizeof(asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6[0]) - 1, /* 1 */
155 asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6, /* Same as above */
156 sizeof(asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6)
157 /sizeof(asn_DEF_twoDifferentTPC_Loop_PUSCH_tags_6[0]), /* 2 */
158 { &asn_OER_type_twoDifferentTPC_Loop_PUSCH_constr_6, &asn_PER_type_twoDifferentTPC_Loop_PUSCH_constr_6, NativeEnumerated_constraint },
159 0, 0, /* Defined elsewhere */
160 &asn_SPC_twoDifferentTPC_Loop_PUSCH_specs_6 /* Additional specs */
163 static const asn_INTEGER_enum_map_t asn_MAP_twoDifferentTPC_Loop_PUCCH_value2enum_8[] = {
164 { 0, 9, "supported" }
166 static const unsigned int asn_MAP_twoDifferentTPC_Loop_PUCCH_enum2value_8[] = {
169 static const asn_INTEGER_specifics_t asn_SPC_twoDifferentTPC_Loop_PUCCH_specs_8 = {
170 asn_MAP_twoDifferentTPC_Loop_PUCCH_value2enum_8, /* "tag" => N; sorted by tag */
171 asn_MAP_twoDifferentTPC_Loop_PUCCH_enum2value_8, /* N => "tag"; sorted by N */
172 1, /* Number of elements in the maps */
173 0, /* Enumeration is not extensible */
174 1, /* Strict enumeration */
175 0, /* Native long size */
178 static const ber_tlv_tag_t asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8[] = {
179 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
180 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
182 static /* Use -fall-defs-global to expose */
183 asn_TYPE_descriptor_t asn_DEF_twoDifferentTPC_Loop_PUCCH_8 = {
184 "twoDifferentTPC-Loop-PUCCH",
185 "twoDifferentTPC-Loop-PUCCH",
186 &asn_OP_NativeEnumerated,
187 asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8,
188 sizeof(asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8)
189 /sizeof(asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8[0]) - 1, /* 1 */
190 asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8, /* Same as above */
191 sizeof(asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8)
192 /sizeof(asn_DEF_twoDifferentTPC_Loop_PUCCH_tags_8[0]), /* 2 */
193 { &asn_OER_type_twoDifferentTPC_Loop_PUCCH_constr_8, &asn_PER_type_twoDifferentTPC_Loop_PUCCH_constr_8, NativeEnumerated_constraint },
194 0, 0, /* Defined elsewhere */
195 &asn_SPC_twoDifferentTPC_Loop_PUCCH_specs_8 /* Additional specs */
198 asn_TYPE_member_t asn_MBR_Phy_ParametersXDD_Diff_1[] = {
199 { ATF_POINTER, 4, offsetof(struct Phy_ParametersXDD_Diff, dynamicSFI),
200 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
201 -1, /* IMPLICIT tag at current level */
202 &asn_DEF_dynamicSFI_2,
205 0, 0, /* No default value */
208 { ATF_POINTER, 3, offsetof(struct Phy_ParametersXDD_Diff, twoPUCCH_F0_2_ConsecSymbols),
209 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
210 -1, /* IMPLICIT tag at current level */
211 &asn_DEF_twoPUCCH_F0_2_ConsecSymbols_4,
214 0, 0, /* No default value */
215 "twoPUCCH-F0-2-ConsecSymbols"
217 { ATF_POINTER, 2, offsetof(struct Phy_ParametersXDD_Diff, twoDifferentTPC_Loop_PUSCH),
218 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
219 -1, /* IMPLICIT tag at current level */
220 &asn_DEF_twoDifferentTPC_Loop_PUSCH_6,
223 0, 0, /* No default value */
224 "twoDifferentTPC-Loop-PUSCH"
226 { ATF_POINTER, 1, offsetof(struct Phy_ParametersXDD_Diff, twoDifferentTPC_Loop_PUCCH),
227 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
228 -1, /* IMPLICIT tag at current level */
229 &asn_DEF_twoDifferentTPC_Loop_PUCCH_8,
232 0, 0, /* No default value */
233 "twoDifferentTPC-Loop-PUCCH"
236 static const int asn_MAP_Phy_ParametersXDD_Diff_oms_1[] = { 0, 1, 2, 3 };
237 static const ber_tlv_tag_t asn_DEF_Phy_ParametersXDD_Diff_tags_1[] = {
238 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
240 static const asn_TYPE_tag2member_t asn_MAP_Phy_ParametersXDD_Diff_tag2el_1[] = {
241 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dynamicSFI */
242 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* twoPUCCH-F0-2-ConsecSymbols */
243 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* twoDifferentTPC-Loop-PUSCH */
244 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* twoDifferentTPC-Loop-PUCCH */
246 asn_SEQUENCE_specifics_t asn_SPC_Phy_ParametersXDD_Diff_specs_1 = {
247 sizeof(struct Phy_ParametersXDD_Diff),
248 offsetof(struct Phy_ParametersXDD_Diff, _asn_ctx),
249 asn_MAP_Phy_ParametersXDD_Diff_tag2el_1,
250 4, /* Count of tags in the map */
251 asn_MAP_Phy_ParametersXDD_Diff_oms_1, /* Optional members */
252 4, 0, /* Root/Additions */
253 4, /* First extension addition */
255 asn_TYPE_descriptor_t asn_DEF_Phy_ParametersXDD_Diff = {
256 "Phy-ParametersXDD-Diff",
257 "Phy-ParametersXDD-Diff",
259 asn_DEF_Phy_ParametersXDD_Diff_tags_1,
260 sizeof(asn_DEF_Phy_ParametersXDD_Diff_tags_1)
261 /sizeof(asn_DEF_Phy_ParametersXDD_Diff_tags_1[0]), /* 1 */
262 asn_DEF_Phy_ParametersXDD_Diff_tags_1, /* Same as above */
263 sizeof(asn_DEF_Phy_ParametersXDD_Diff_tags_1)
264 /sizeof(asn_DEF_Phy_ParametersXDD_Diff_tags_1[0]), /* 1 */
265 { 0, 0, SEQUENCE_constraint },
266 asn_MBR_Phy_ParametersXDD_Diff_1,
267 4, /* Elements count */
268 &asn_SPC_Phy_ParametersXDD_Diff_specs_1 /* Additional specs */