[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-437] Establishing communication between Sourc...
[o-du/l2.git] / src / codec_utils / RRC / MeasObjectEUTRA.c
1 /*
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`
6  */
7
8 #include "MeasObjectEUTRA.h"
9
10 #include "EUTRA-CellIndexList.h"
11 #include "EUTRA-Cell.h"
12 #include "EUTRA-BlackCell.h"
13 static int
14 memb_cellsToAddModListEUTRAN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
15                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16         size_t size;
17         
18         if(!sptr) {
19                 ASN__CTFAIL(app_key, td, sptr,
20                         "%s: value not given (%s:%d)",
21                         td->name, __FILE__, __LINE__);
22                 return -1;
23         }
24         
25         /* Determine the number of elements */
26         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
27         
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);
31         } else {
32                 ASN__CTFAIL(app_key, td, sptr,
33                         "%s: constraint failed (%s:%d)",
34                         td->name, __FILE__, __LINE__);
35                 return -1;
36         }
37 }
38
39 static int
40 memb_blackCellsToAddModListEUTRAN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
41                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
42         size_t size;
43         
44         if(!sptr) {
45                 ASN__CTFAIL(app_key, td, sptr,
46                         "%s: value not given (%s:%d)",
47                         td->name, __FILE__, __LINE__);
48                 return -1;
49         }
50         
51         /* Determine the number of elements */
52         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
53         
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);
57         } else {
58                 ASN__CTFAIL(app_key, td, sptr,
59                         "%s: constraint failed (%s:%d)",
60                         td->name, __FILE__, __LINE__);
61                 return -1;
62         }
63 }
64
65 static asn_oer_constraints_t asn_OER_type_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
66         { 0, 0 },
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 */
72 };
73 static asn_oer_constraints_t asn_OER_type_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
74         { 0, 0 },
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 */
80 };
81 static asn_oer_constraints_t asn_OER_memb_cellsToAddModListEUTRAN_constr_5 CC_NOTUSED = {
82         { 0, 0 },
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 */
88 };
89 static asn_oer_constraints_t asn_OER_memb_blackCellsToAddModListEUTRAN_constr_8 CC_NOTUSED = {
90         { 0, 0 },
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 */
96 };
97 static asn_TYPE_member_t asn_MBR_cellsToAddModListEUTRAN_5[] = {
98         { ATF_POINTER, 0, 0,
99                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
100                 0,
101                 &asn_DEF_EUTRA_Cell,
102                 0,
103                 { 0, 0, 0 },
104                 0, 0, /* No default value */
105                 ""
106                 },
107 };
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))
111 };
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 */
116 };
117 static /* Use -fall-defs-global to expose */
118 asn_TYPE_descriptor_t asn_DEF_cellsToAddModListEUTRAN_5 = {
119         "cellsToAddModListEUTRAN",
120         "cellsToAddModListEUTRAN",
121         &asn_OP_SEQUENCE_OF,
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 */
132 };
133
134 static asn_TYPE_member_t asn_MBR_blackCellsToAddModListEUTRAN_8[] = {
135         { ATF_POINTER, 0, 0,
136                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
137                 0,
138                 &asn_DEF_EUTRA_BlackCell,
139                 0,
140                 { 0, 0, 0 },
141                 0, 0, /* No default value */
142                 ""
143                 },
144 };
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))
148 };
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 */
153 };
154 static /* Use -fall-defs-global to expose */
155 asn_TYPE_descriptor_t asn_DEF_blackCellsToAddModListEUTRAN_8 = {
156         "blackCellsToAddModListEUTRAN",
157         "blackCellsToAddModListEUTRAN",
158         &asn_OP_SEQUENCE_OF,
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 */
169 };
170
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,
176                 0,
177                 { 0, 0, 0 },
178                 0, 0, /* No default value */
179                 "carrierFreq"
180                 },
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,
185                 0,
186                 { 0, 0, 0 },
187                 0, 0, /* No default value */
188                 "allowedMeasBandwidth"
189                 },
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,
194                 0,
195                 { 0, 0, 0 },
196                 0, 0, /* No default value */
197                 "cellsToRemoveListEUTRAN"
198                 },
199         { ATF_POINTER, 3, offsetof(struct MeasObjectEUTRA, cellsToAddModListEUTRAN),
200                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
201                 0,
202                 &asn_DEF_cellsToAddModListEUTRAN_5,
203                 0,
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"
207                 },
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,
212                 0,
213                 { 0, 0, 0 },
214                 0, 0, /* No default value */
215                 "blackCellsToRemoveListEUTRAN"
216                 },
217         { ATF_POINTER, 1, offsetof(struct MeasObjectEUTRA, blackCellsToAddModListEUTRAN),
218                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
219                 0,
220                 &asn_DEF_blackCellsToAddModListEUTRAN_8,
221                 0,
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"
225                 },
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,
230                 0,
231                 { 0, 0, 0 },
232                 0, 0, /* No default value */
233                 "eutra-PresenceAntennaPort1"
234                 },
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,
239                 0,
240                 { 0, 0, 0 },
241                 0, 0, /* No default value */
242                 "eutra-Q-OffsetRange"
243                 },
244         { ATF_NOFLAGS, 0, offsetof(struct MeasObjectEUTRA, widebandRSRQ_Meas),
245                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
246                 -1,     /* IMPLICIT tag at current level */
247                 &asn_DEF_BOOLEAN,
248                 0,
249                 { 0, 0, 0 },
250                 0, 0, /* No default value */
251                 "widebandRSRQ-Meas"
252                 },
253 };
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))
257 };
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 */
268 };
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 */
277 };
278 asn_TYPE_descriptor_t asn_DEF_MeasObjectEUTRA = {
279         "MeasObjectEUTRA",
280         "MeasObjectEUTRA",
281         &asn_OP_SEQUENCE,
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 */
292 };
293