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 "MeasObjectEUTRA.h"
10 #include "EUTRA-CellIndexList.h"
11 #include "EUTRA-Cell.h"
12 #include "EUTRA-BlackCell.h"
14 memb_cellsToAddModListEUTRAN_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 /* Determine the number of elements */
26 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
28 if((size >= 1 && size <= 32)) {
29 /* Perform validation of the inner elements */
30 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: constraint failed (%s:%d)",
34 td->name, __FILE__, __LINE__);
40 memb_blackCellsToAddModListEUTRAN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
41 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
45 ASN__CTFAIL(app_key, td, sptr,
46 "%s: value not given (%s:%d)",
47 td->name, __FILE__, __LINE__);
51 /* Determine the number of elements */
52 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
54 if((size >= 1 && size <= 32)) {
55 /* Perform validation of the inner elements */
56 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
58 ASN__CTFAIL(app_key, td, sptr,
59 "%s: constraint failed (%s:%d)",
60 td->name, __FILE__, __LINE__);
65 static asn_oer_constraints_t asn_OER_type_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
67 -1 /* (SIZE(1..32)) */};
68 static asn_per_constraints_t asn_PER_type_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
69 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
70 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
71 0, 0 /* No PER value map */
73 static asn_oer_constraints_t asn_OER_type_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
75 -1 /* (SIZE(1..32)) */};
76 static asn_per_constraints_t asn_PER_type_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
77 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
78 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
79 0, 0 /* No PER value map */
81 static asn_oer_constraints_t asn_OER_memb_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
83 -1 /* (SIZE(1..32)) */};
84 static asn_per_constraints_t asn_PER_memb_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
85 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
86 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
87 0, 0 /* No PER value map */
89 static asn_oer_constraints_t asn_OER_memb_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
91 -1 /* (SIZE(1..32)) */};
92 static asn_per_constraints_t asn_PER_memb_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
93 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
94 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
95 0, 0 /* No PER value map */
97 static asn_TYPE_member_t asn_MBR_cellsToAddModListEUTRAN_5[] = {
99 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
104 0, 0, /* No default value */
108 static const ber_tlv_tag_t asn_DEF_cellsToAddModListEUTRAN_tags_5[] = {
109 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
110 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
112 static asn_SET_OF_specifics_t asn_SPC_cellsToAddModListEUTRAN_specs_5 = {
113 sizeof(struct MeasObjectEUTRA__cellsToAddModListEUTRAN),
114 offsetof(struct MeasObjectEUTRA__cellsToAddModListEUTRAN, _asn_ctx),
115 0, /* XER encoding is XMLDelimitedItemList */
117 static /* Use -fall-defs-global to expose */
118 asn_TYPE_descriptor_t asn_DEF_cellsToAddModListEUTRAN_5 = {
119 "cellsToAddModListEUTRAN",
120 "cellsToAddModListEUTRAN",
122 asn_DEF_cellsToAddModListEUTRAN_tags_5,
123 sizeof(asn_DEF_cellsToAddModListEUTRAN_tags_5)
124 /sizeof(asn_DEF_cellsToAddModListEUTRAN_tags_5[0]) - 1, /* 1 */
125 asn_DEF_cellsToAddModListEUTRAN_tags_5, /* Same as above */
126 sizeof(asn_DEF_cellsToAddModListEUTRAN_tags_5)
127 /sizeof(asn_DEF_cellsToAddModListEUTRAN_tags_5[0]), /* 2 */
128 { &asn_OER_type_cellsToAddModListEUTRAN_constr_5, &asn_PER_type_cellsToAddModListEUTRAN_constr_5, SEQUENCE_OF_constraint },
129 asn_MBR_cellsToAddModListEUTRAN_5,
130 1, /* Single element */
131 &asn_SPC_cellsToAddModListEUTRAN_specs_5 /* Additional specs */
134 static asn_TYPE_member_t asn_MBR_blackCellsToAddModListEUTRAN_8[] = {
136 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
138 &asn_DEF_EUTRA_BlackCell,
141 0, 0, /* No default value */
145 static const ber_tlv_tag_t asn_DEF_blackCellsToAddModListEUTRAN_tags_8[] = {
146 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
147 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
149 static asn_SET_OF_specifics_t asn_SPC_blackCellsToAddModListEUTRAN_specs_8 = {
150 sizeof(struct MeasObjectEUTRA__blackCellsToAddModListEUTRAN),
151 offsetof(struct MeasObjectEUTRA__blackCellsToAddModListEUTRAN, _asn_ctx),
152 0, /* XER encoding is XMLDelimitedItemList */
154 static /* Use -fall-defs-global to expose */
155 asn_TYPE_descriptor_t asn_DEF_blackCellsToAddModListEUTRAN_8 = {
156 "blackCellsToAddModListEUTRAN",
157 "blackCellsToAddModListEUTRAN",
159 asn_DEF_blackCellsToAddModListEUTRAN_tags_8,
160 sizeof(asn_DEF_blackCellsToAddModListEUTRAN_tags_8)
161 /sizeof(asn_DEF_blackCellsToAddModListEUTRAN_tags_8[0]) - 1, /* 1 */
162 asn_DEF_blackCellsToAddModListEUTRAN_tags_8, /* Same as above */
163 sizeof(asn_DEF_blackCellsToAddModListEUTRAN_tags_8)
164 /sizeof(asn_DEF_blackCellsToAddModListEUTRAN_tags_8[0]), /* 2 */
165 { &asn_OER_type_blackCellsToAddModListEUTRAN_constr_8, &asn_PER_type_blackCellsToAddModListEUTRAN_constr_8, SEQUENCE_OF_constraint },
166 asn_MBR_blackCellsToAddModListEUTRAN_8,
167 1, /* Single element */
168 &asn_SPC_blackCellsToAddModListEUTRAN_specs_8 /* Additional specs */
171 asn_TYPE_member_t asn_MBR_MeasObjectEUTRA_1[] = {
172 { ATF_NOFLAGS, 0, offsetof(struct MeasObjectEUTRA, carrierFreq),
173 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
174 -1, /* IMPLICIT tag at current level */
175 &asn_DEF_ARFCN_ValueEUTRA,
178 0, 0, /* No default value */
181 { ATF_NOFLAGS, 0, offsetof(struct MeasObjectEUTRA, allowedMeasBandwidth),
182 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
183 -1, /* IMPLICIT tag at current level */
184 &asn_DEF_EUTRA_AllowedMeasBandwidth,
187 0, 0, /* No default value */
188 "allowedMeasBandwidth"
190 { ATF_POINTER, 4, offsetof(struct MeasObjectEUTRA, cellsToRemoveListEUTRAN),
191 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
192 -1, /* IMPLICIT tag at current level */
193 &asn_DEF_EUTRA_CellIndexList,
196 0, 0, /* No default value */
197 "cellsToRemoveListEUTRAN"
199 { ATF_POINTER, 3, offsetof(struct MeasObjectEUTRA, cellsToAddModListEUTRAN),
200 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
202 &asn_DEF_cellsToAddModListEUTRAN_5,
204 { &asn_OER_memb_cellsToAddModListEUTRAN_constr_5, &asn_PER_memb_cellsToAddModListEUTRAN_constr_5, memb_cellsToAddModListEUTRAN_constraint_1 },
205 0, 0, /* No default value */
206 "cellsToAddModListEUTRAN"
208 { ATF_POINTER, 2, offsetof(struct MeasObjectEUTRA, blackCellsToRemoveListEUTRAN),
209 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
210 -1, /* IMPLICIT tag at current level */
211 &asn_DEF_EUTRA_CellIndexList,
214 0, 0, /* No default value */
215 "blackCellsToRemoveListEUTRAN"
217 { ATF_POINTER, 1, offsetof(struct MeasObjectEUTRA, blackCellsToAddModListEUTRAN),
218 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
220 &asn_DEF_blackCellsToAddModListEUTRAN_8,
222 { &asn_OER_memb_blackCellsToAddModListEUTRAN_constr_8, &asn_PER_memb_blackCellsToAddModListEUTRAN_constr_8, memb_blackCellsToAddModListEUTRAN_constraint_1 },
223 0, 0, /* No default value */
224 "blackCellsToAddModListEUTRAN"
226 { ATF_NOFLAGS, 0, offsetof(struct MeasObjectEUTRA, eutra_PresenceAntennaPort1),
227 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
228 -1, /* IMPLICIT tag at current level */
229 &asn_DEF_EUTRA_PresenceAntennaPort1,
232 0, 0, /* No default value */
233 "eutra-PresenceAntennaPort1"
235 { ATF_POINTER, 1, offsetof(struct MeasObjectEUTRA, eutra_Q_OffsetRange),
236 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
237 -1, /* IMPLICIT tag at current level */
238 &asn_DEF_EUTRA_Q_OffsetRange,
241 0, 0, /* No default value */
242 "eutra-Q-OffsetRange"
244 { ATF_NOFLAGS, 0, offsetof(struct MeasObjectEUTRA, widebandRSRQ_Meas),
245 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
246 -1, /* IMPLICIT tag at current level */
250 0, 0, /* No default value */
254 static const int asn_MAP_MeasObjectEUTRA_oms_1[] = { 2, 3, 4, 5, 7 };
255 static const ber_tlv_tag_t asn_DEF_MeasObjectEUTRA_tags_1[] = {
256 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
258 static const asn_TYPE_tag2member_t asn_MAP_MeasObjectEUTRA_tag2el_1[] = {
259 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* carrierFreq */
260 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* allowedMeasBandwidth */
261 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cellsToRemoveListEUTRAN */
262 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* cellsToAddModListEUTRAN */
263 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* blackCellsToRemoveListEUTRAN */
264 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* blackCellsToAddModListEUTRAN */
265 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eutra-PresenceAntennaPort1 */
266 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* eutra-Q-OffsetRange */
267 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* widebandRSRQ-Meas */
269 asn_SEQUENCE_specifics_t asn_SPC_MeasObjectEUTRA_specs_1 = {
270 sizeof(struct MeasObjectEUTRA),
271 offsetof(struct MeasObjectEUTRA, _asn_ctx),
272 asn_MAP_MeasObjectEUTRA_tag2el_1,
273 9, /* Count of tags in the map */
274 asn_MAP_MeasObjectEUTRA_oms_1, /* Optional members */
275 5, 0, /* Root/Additions */
276 9, /* First extension addition */
278 asn_TYPE_descriptor_t asn_DEF_MeasObjectEUTRA = {
282 asn_DEF_MeasObjectEUTRA_tags_1,
283 sizeof(asn_DEF_MeasObjectEUTRA_tags_1)
284 /sizeof(asn_DEF_MeasObjectEUTRA_tags_1[0]), /* 1 */
285 asn_DEF_MeasObjectEUTRA_tags_1, /* Same as above */
286 sizeof(asn_DEF_MeasObjectEUTRA_tags_1)
287 /sizeof(asn_DEF_MeasObjectEUTRA_tags_1[0]), /* 1 */
288 { 0, 0, SEQUENCE_constraint },
289 asn_MBR_MeasObjectEUTRA_1,
290 9, /* Elements count */
291 &asn_SPC_MeasObjectEUTRA_specs_1 /* Additional specs */