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 "RateMatchPatternLTE-CRS.h"
10 #include "EUTRA-MBSFN-SubframeConfigList.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_carrierFreqDL_constraint_1(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 <= 16383)) {
38 /* Constraint check succeeded */
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: constraint failed (%s:%d)",
43 td->name, __FILE__, __LINE__);
48 static asn_oer_constraints_t asn_OER_type_carrierBandwidthDL_constr_3 CC_NOTUSED = {
51 static asn_per_constraints_t asn_PER_type_carrierBandwidthDL_constr_3 CC_NOTUSED = {
52 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
53 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
54 0, 0 /* No PER value map */
56 static asn_oer_constraints_t asn_OER_type_nrofCRS_Ports_constr_13 CC_NOTUSED = {
59 static asn_per_constraints_t asn_PER_type_nrofCRS_Ports_constr_13 CC_NOTUSED = {
60 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
61 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
62 0, 0 /* No PER value map */
64 static asn_oer_constraints_t asn_OER_type_v_Shift_constr_17 CC_NOTUSED = {
67 static asn_per_constraints_t asn_PER_type_v_Shift_constr_17 CC_NOTUSED = {
68 { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */,
69 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
70 0, 0 /* No PER value map */
72 static asn_oer_constraints_t asn_OER_memb_carrierFreqDL_constr_2 CC_NOTUSED = {
73 { 2, 1 } /* (0..16383) */,
75 static asn_per_constraints_t asn_PER_memb_carrierFreqDL_constr_2 CC_NOTUSED = {
76 { APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */,
77 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
78 0, 0 /* No PER value map */
80 static const asn_INTEGER_enum_map_t asn_MAP_carrierBandwidthDL_value2enum_3[] = {
90 static const unsigned int asn_MAP_carrierBandwidthDL_enum2value_3[] = {
100 static const asn_INTEGER_specifics_t asn_SPC_carrierBandwidthDL_specs_3 = {
101 asn_MAP_carrierBandwidthDL_value2enum_3, /* "tag" => N; sorted by tag */
102 asn_MAP_carrierBandwidthDL_enum2value_3, /* N => "tag"; sorted by N */
103 8, /* Number of elements in the maps */
104 0, /* Enumeration is not extensible */
105 1, /* Strict enumeration */
106 0, /* Native long size */
109 static const ber_tlv_tag_t asn_DEF_carrierBandwidthDL_tags_3[] = {
110 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
111 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
113 static /* Use -fall-defs-global to expose */
114 asn_TYPE_descriptor_t asn_DEF_carrierBandwidthDL_3 = {
115 "carrierBandwidthDL",
116 "carrierBandwidthDL",
117 &asn_OP_NativeEnumerated,
118 asn_DEF_carrierBandwidthDL_tags_3,
119 sizeof(asn_DEF_carrierBandwidthDL_tags_3)
120 /sizeof(asn_DEF_carrierBandwidthDL_tags_3[0]) - 1, /* 1 */
121 asn_DEF_carrierBandwidthDL_tags_3, /* Same as above */
122 sizeof(asn_DEF_carrierBandwidthDL_tags_3)
123 /sizeof(asn_DEF_carrierBandwidthDL_tags_3[0]), /* 2 */
124 { &asn_OER_type_carrierBandwidthDL_constr_3, &asn_PER_type_carrierBandwidthDL_constr_3, NativeEnumerated_constraint },
125 0, 0, /* Defined elsewhere */
126 &asn_SPC_carrierBandwidthDL_specs_3 /* Additional specs */
129 static const asn_INTEGER_enum_map_t asn_MAP_nrofCRS_Ports_value2enum_13[] = {
134 static const unsigned int asn_MAP_nrofCRS_Ports_enum2value_13[] = {
139 static const asn_INTEGER_specifics_t asn_SPC_nrofCRS_Ports_specs_13 = {
140 asn_MAP_nrofCRS_Ports_value2enum_13, /* "tag" => N; sorted by tag */
141 asn_MAP_nrofCRS_Ports_enum2value_13, /* N => "tag"; sorted by N */
142 3, /* Number of elements in the maps */
143 0, /* Enumeration is not extensible */
144 1, /* Strict enumeration */
145 0, /* Native long size */
148 static const ber_tlv_tag_t asn_DEF_nrofCRS_Ports_tags_13[] = {
149 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
150 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
152 static /* Use -fall-defs-global to expose */
153 asn_TYPE_descriptor_t asn_DEF_nrofCRS_Ports_13 = {
156 &asn_OP_NativeEnumerated,
157 asn_DEF_nrofCRS_Ports_tags_13,
158 sizeof(asn_DEF_nrofCRS_Ports_tags_13)
159 /sizeof(asn_DEF_nrofCRS_Ports_tags_13[0]) - 1, /* 1 */
160 asn_DEF_nrofCRS_Ports_tags_13, /* Same as above */
161 sizeof(asn_DEF_nrofCRS_Ports_tags_13)
162 /sizeof(asn_DEF_nrofCRS_Ports_tags_13[0]), /* 2 */
163 { &asn_OER_type_nrofCRS_Ports_constr_13, &asn_PER_type_nrofCRS_Ports_constr_13, NativeEnumerated_constraint },
164 0, 0, /* Defined elsewhere */
165 &asn_SPC_nrofCRS_Ports_specs_13 /* Additional specs */
168 static const asn_INTEGER_enum_map_t asn_MAP_v_Shift_value2enum_17[] = {
176 static const unsigned int asn_MAP_v_Shift_enum2value_17[] = {
184 static const asn_INTEGER_specifics_t asn_SPC_v_Shift_specs_17 = {
185 asn_MAP_v_Shift_value2enum_17, /* "tag" => N; sorted by tag */
186 asn_MAP_v_Shift_enum2value_17, /* N => "tag"; sorted by N */
187 6, /* 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_v_Shift_tags_17[] = {
194 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
195 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
197 static /* Use -fall-defs-global to expose */
198 asn_TYPE_descriptor_t asn_DEF_v_Shift_17 = {
201 &asn_OP_NativeEnumerated,
202 asn_DEF_v_Shift_tags_17,
203 sizeof(asn_DEF_v_Shift_tags_17)
204 /sizeof(asn_DEF_v_Shift_tags_17[0]) - 1, /* 1 */
205 asn_DEF_v_Shift_tags_17, /* Same as above */
206 sizeof(asn_DEF_v_Shift_tags_17)
207 /sizeof(asn_DEF_v_Shift_tags_17[0]), /* 2 */
208 { &asn_OER_type_v_Shift_constr_17, &asn_PER_type_v_Shift_constr_17, NativeEnumerated_constraint },
209 0, 0, /* Defined elsewhere */
210 &asn_SPC_v_Shift_specs_17 /* Additional specs */
213 asn_TYPE_member_t asn_MBR_RateMatchPatternLTE_CRS_1[] = {
214 { ATF_NOFLAGS, 0, offsetof(struct RateMatchPatternLTE_CRS, carrierFreqDL),
215 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
216 -1, /* IMPLICIT tag at current level */
217 &asn_DEF_NativeInteger,
219 { &asn_OER_memb_carrierFreqDL_constr_2, &asn_PER_memb_carrierFreqDL_constr_2, memb_carrierFreqDL_constraint_1 },
220 0, 0, /* No default value */
223 { ATF_NOFLAGS, 0, offsetof(struct RateMatchPatternLTE_CRS, carrierBandwidthDL),
224 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
225 -1, /* IMPLICIT tag at current level */
226 &asn_DEF_carrierBandwidthDL_3,
229 0, 0, /* No default value */
232 { ATF_POINTER, 1, offsetof(struct RateMatchPatternLTE_CRS, mbsfn_SubframeConfigList),
233 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
234 -1, /* IMPLICIT tag at current level */
235 &asn_DEF_EUTRA_MBSFN_SubframeConfigList,
238 0, 0, /* No default value */
239 "mbsfn-SubframeConfigList"
241 { ATF_NOFLAGS, 0, offsetof(struct RateMatchPatternLTE_CRS, nrofCRS_Ports),
242 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
243 -1, /* IMPLICIT tag at current level */
244 &asn_DEF_nrofCRS_Ports_13,
247 0, 0, /* No default value */
250 { ATF_NOFLAGS, 0, offsetof(struct RateMatchPatternLTE_CRS, v_Shift),
251 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
252 -1, /* IMPLICIT tag at current level */
256 0, 0, /* No default value */
260 static const int asn_MAP_RateMatchPatternLTE_CRS_oms_1[] = { 2 };
261 static const ber_tlv_tag_t asn_DEF_RateMatchPatternLTE_CRS_tags_1[] = {
262 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
264 static const asn_TYPE_tag2member_t asn_MAP_RateMatchPatternLTE_CRS_tag2el_1[] = {
265 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* carrierFreqDL */
266 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* carrierBandwidthDL */
267 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mbsfn-SubframeConfigList */
268 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nrofCRS-Ports */
269 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* v-Shift */
271 asn_SEQUENCE_specifics_t asn_SPC_RateMatchPatternLTE_CRS_specs_1 = {
272 sizeof(struct RateMatchPatternLTE_CRS),
273 offsetof(struct RateMatchPatternLTE_CRS, _asn_ctx),
274 asn_MAP_RateMatchPatternLTE_CRS_tag2el_1,
275 5, /* Count of tags in the map */
276 asn_MAP_RateMatchPatternLTE_CRS_oms_1, /* Optional members */
277 1, 0, /* Root/Additions */
278 -1, /* First extension addition */
280 asn_TYPE_descriptor_t asn_DEF_RateMatchPatternLTE_CRS = {
281 "RateMatchPatternLTE-CRS",
282 "RateMatchPatternLTE-CRS",
284 asn_DEF_RateMatchPatternLTE_CRS_tags_1,
285 sizeof(asn_DEF_RateMatchPatternLTE_CRS_tags_1)
286 /sizeof(asn_DEF_RateMatchPatternLTE_CRS_tags_1[0]), /* 1 */
287 asn_DEF_RateMatchPatternLTE_CRS_tags_1, /* Same as above */
288 sizeof(asn_DEF_RateMatchPatternLTE_CRS_tags_1)
289 /sizeof(asn_DEF_RateMatchPatternLTE_CRS_tags_1[0]), /* 1 */
290 { 0, 0, SEQUENCE_constraint },
291 asn_MBR_RateMatchPatternLTE_CRS_1,
292 5, /* Elements count */
293 &asn_SPC_RateMatchPatternLTE_CRS_specs_1 /* Additional specs */