2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.3_asn.asn1"
5 * `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "CarrierFreqEUTRA.h"
10 #include "EUTRA-MultiBandInfoList.h"
11 #include "EUTRA-FreqNeighCellList.h"
12 #include "EUTRA-FreqBlackCellList.h"
14 memb_q_RxLevMin_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
15 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
19 ASN__CTFAIL(app_key, td, sptr,
20 "%s: value not given (%s:%d)",
21 td->name, __FILE__, __LINE__);
25 value = *(const long *)sptr;
27 if((value >= -70 && value <= -22)) {
28 /* Constraint check succeeded */
31 ASN__CTFAIL(app_key, td, sptr,
32 "%s: constraint failed (%s:%d)",
33 td->name, __FILE__, __LINE__);
39 memb_q_QualMin_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
40 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
44 ASN__CTFAIL(app_key, td, sptr,
45 "%s: value not given (%s:%d)",
46 td->name, __FILE__, __LINE__);
50 value = *(const long *)sptr;
52 if((value >= -34 && value <= -3)) {
53 /* Constraint check succeeded */
56 ASN__CTFAIL(app_key, td, sptr,
57 "%s: constraint failed (%s:%d)",
58 td->name, __FILE__, __LINE__);
64 memb_p_MaxEUTRA_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
65 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
69 ASN__CTFAIL(app_key, td, sptr,
70 "%s: value not given (%s:%d)",
71 td->name, __FILE__, __LINE__);
75 value = *(const long *)sptr;
77 if((value >= -30 && value <= 33)) {
78 /* Constraint check succeeded */
81 ASN__CTFAIL(app_key, td, sptr,
82 "%s: constraint failed (%s:%d)",
83 td->name, __FILE__, __LINE__);
88 static asn_oer_constraints_t asn_OER_memb_q_RxLevMin_constr_12 CC_NOTUSED = {
89 { 1, 0 } /* (-70..-22) */,
91 static asn_per_constraints_t asn_PER_memb_q_RxLevMin_constr_12 CC_NOTUSED = {
92 { APC_CONSTRAINED, 6, 6, -70, -22 } /* (-70..-22) */,
93 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
94 0, 0 /* No PER value map */
96 static asn_oer_constraints_t asn_OER_memb_q_QualMin_constr_13 CC_NOTUSED = {
97 { 1, 0 } /* (-34..-3) */,
99 static asn_per_constraints_t asn_PER_memb_q_QualMin_constr_13 CC_NOTUSED = {
100 { APC_CONSTRAINED, 5, 5, -34, -3 } /* (-34..-3) */,
101 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
102 0, 0 /* No PER value map */
104 static asn_oer_constraints_t asn_OER_memb_p_MaxEUTRA_constr_14 CC_NOTUSED = {
105 { 1, 0 } /* (-30..33) */,
107 static asn_per_constraints_t asn_PER_memb_p_MaxEUTRA_constr_14 CC_NOTUSED = {
108 { APC_CONSTRAINED, 6, 6, -30, 33 } /* (-30..33) */,
109 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
110 0, 0 /* No PER value map */
112 static asn_TYPE_member_t asn_MBR_threshX_Q_15[] = {
113 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA__threshX_Q, threshX_HighQ),
114 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
115 -1, /* IMPLICIT tag at current level */
116 &asn_DEF_ReselectionThresholdQ,
119 0, 0, /* No default value */
122 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA__threshX_Q, threshX_LowQ),
123 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
124 -1, /* IMPLICIT tag at current level */
125 &asn_DEF_ReselectionThresholdQ,
128 0, 0, /* No default value */
132 static const ber_tlv_tag_t asn_DEF_threshX_Q_tags_15[] = {
133 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
134 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
136 static const asn_TYPE_tag2member_t asn_MAP_threshX_Q_tag2el_15[] = {
137 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* threshX-HighQ */
138 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* threshX-LowQ */
140 static asn_SEQUENCE_specifics_t asn_SPC_threshX_Q_specs_15 = {
141 sizeof(struct CarrierFreqEUTRA__threshX_Q),
142 offsetof(struct CarrierFreqEUTRA__threshX_Q, _asn_ctx),
143 asn_MAP_threshX_Q_tag2el_15,
144 2, /* Count of tags in the map */
145 0, 0, 0, /* Optional elements (not needed) */
146 -1, /* First extension addition */
148 static /* Use -fall-defs-global to expose */
149 asn_TYPE_descriptor_t asn_DEF_threshX_Q_15 = {
153 asn_DEF_threshX_Q_tags_15,
154 sizeof(asn_DEF_threshX_Q_tags_15)
155 /sizeof(asn_DEF_threshX_Q_tags_15[0]) - 1, /* 1 */
156 asn_DEF_threshX_Q_tags_15, /* Same as above */
157 sizeof(asn_DEF_threshX_Q_tags_15)
158 /sizeof(asn_DEF_threshX_Q_tags_15[0]), /* 2 */
159 { 0, 0, SEQUENCE_constraint },
160 asn_MBR_threshX_Q_15,
161 2, /* Elements count */
162 &asn_SPC_threshX_Q_specs_15 /* Additional specs */
165 asn_TYPE_member_t asn_MBR_CarrierFreqEUTRA_1[] = {
166 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, carrierFreq),
167 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
168 -1, /* IMPLICIT tag at current level */
169 &asn_DEF_ARFCN_ValueEUTRA,
172 0, 0, /* No default value */
175 { ATF_POINTER, 3, offsetof(struct CarrierFreqEUTRA, eutra_multiBandInfoList),
176 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
177 -1, /* IMPLICIT tag at current level */
178 &asn_DEF_EUTRA_MultiBandInfoList,
181 0, 0, /* No default value */
182 "eutra-multiBandInfoList"
184 { ATF_POINTER, 2, offsetof(struct CarrierFreqEUTRA, eutra_FreqNeighCellList),
185 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
186 -1, /* IMPLICIT tag at current level */
187 &asn_DEF_EUTRA_FreqNeighCellList,
190 0, 0, /* No default value */
191 "eutra-FreqNeighCellList"
193 { ATF_POINTER, 1, offsetof(struct CarrierFreqEUTRA, eutra_BlackCellList),
194 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
195 -1, /* IMPLICIT tag at current level */
196 &asn_DEF_EUTRA_FreqBlackCellList,
199 0, 0, /* No default value */
200 "eutra-BlackCellList"
202 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, allowedMeasBandwidth),
203 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
204 -1, /* IMPLICIT tag at current level */
205 &asn_DEF_EUTRA_AllowedMeasBandwidth,
208 0, 0, /* No default value */
209 "allowedMeasBandwidth"
211 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, presenceAntennaPort1),
212 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
213 -1, /* IMPLICIT tag at current level */
214 &asn_DEF_EUTRA_PresenceAntennaPort1,
217 0, 0, /* No default value */
218 "presenceAntennaPort1"
220 { ATF_POINTER, 2, offsetof(struct CarrierFreqEUTRA, cellReselectionPriority),
221 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
222 -1, /* IMPLICIT tag at current level */
223 &asn_DEF_CellReselectionPriority,
226 0, 0, /* No default value */
227 "cellReselectionPriority"
229 { ATF_POINTER, 1, offsetof(struct CarrierFreqEUTRA, cellReselectionSubPriority),
230 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
231 -1, /* IMPLICIT tag at current level */
232 &asn_DEF_CellReselectionSubPriority,
235 0, 0, /* No default value */
236 "cellReselectionSubPriority"
238 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, threshX_High),
239 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
240 -1, /* IMPLICIT tag at current level */
241 &asn_DEF_ReselectionThreshold,
244 0, 0, /* No default value */
247 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, threshX_Low),
248 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
249 -1, /* IMPLICIT tag at current level */
250 &asn_DEF_ReselectionThreshold,
253 0, 0, /* No default value */
256 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, q_RxLevMin),
257 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
258 -1, /* IMPLICIT tag at current level */
259 &asn_DEF_NativeInteger,
261 { &asn_OER_memb_q_RxLevMin_constr_12, &asn_PER_memb_q_RxLevMin_constr_12, memb_q_RxLevMin_constraint_1 },
262 0, 0, /* No default value */
265 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, q_QualMin),
266 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
267 -1, /* IMPLICIT tag at current level */
268 &asn_DEF_NativeInteger,
270 { &asn_OER_memb_q_QualMin_constr_13, &asn_PER_memb_q_QualMin_constr_13, memb_q_QualMin_constraint_1 },
271 0, 0, /* No default value */
274 { ATF_NOFLAGS, 0, offsetof(struct CarrierFreqEUTRA, p_MaxEUTRA),
275 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
276 -1, /* IMPLICIT tag at current level */
277 &asn_DEF_NativeInteger,
279 { &asn_OER_memb_p_MaxEUTRA_constr_14, &asn_PER_memb_p_MaxEUTRA_constr_14, memb_p_MaxEUTRA_constraint_1 },
280 0, 0, /* No default value */
283 { ATF_POINTER, 1, offsetof(struct CarrierFreqEUTRA, threshX_Q),
284 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
286 &asn_DEF_threshX_Q_15,
289 0, 0, /* No default value */
293 static const int asn_MAP_CarrierFreqEUTRA_oms_1[] = { 1, 2, 3, 6, 7, 13 };
294 static const ber_tlv_tag_t asn_DEF_CarrierFreqEUTRA_tags_1[] = {
295 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
297 static const asn_TYPE_tag2member_t asn_MAP_CarrierFreqEUTRA_tag2el_1[] = {
298 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* carrierFreq */
299 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eutra-multiBandInfoList */
300 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eutra-FreqNeighCellList */
301 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eutra-BlackCellList */
302 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* allowedMeasBandwidth */
303 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* presenceAntennaPort1 */
304 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* cellReselectionPriority */
305 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* cellReselectionSubPriority */
306 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* threshX-High */
307 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* threshX-Low */
308 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* q-RxLevMin */
309 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* q-QualMin */
310 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* p-MaxEUTRA */
311 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 } /* threshX-Q */
313 asn_SEQUENCE_specifics_t asn_SPC_CarrierFreqEUTRA_specs_1 = {
314 sizeof(struct CarrierFreqEUTRA),
315 offsetof(struct CarrierFreqEUTRA, _asn_ctx),
316 asn_MAP_CarrierFreqEUTRA_tag2el_1,
317 14, /* Count of tags in the map */
318 asn_MAP_CarrierFreqEUTRA_oms_1, /* Optional members */
319 6, 0, /* Root/Additions */
320 -1, /* First extension addition */
322 asn_TYPE_descriptor_t asn_DEF_CarrierFreqEUTRA = {
326 asn_DEF_CarrierFreqEUTRA_tags_1,
327 sizeof(asn_DEF_CarrierFreqEUTRA_tags_1)
328 /sizeof(asn_DEF_CarrierFreqEUTRA_tags_1[0]), /* 1 */
329 asn_DEF_CarrierFreqEUTRA_tags_1, /* Same as above */
330 sizeof(asn_DEF_CarrierFreqEUTRA_tags_1)
331 /sizeof(asn_DEF_CarrierFreqEUTRA_tags_1[0]), /* 1 */
332 { 0, 0, SEQUENCE_constraint },
333 asn_MBR_CarrierFreqEUTRA_1,
334 14, /* Elements count */
335 &asn_SPC_CarrierFreqEUTRA_specs_1 /* Additional specs */