Merge "[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-437] Establishing communication betwee...
[o-du/l2.git] / src / codec_utils / RRC / MeasObjectNR.c
1 /*
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`
6  */
7
8 #include "MeasObjectNR.h"
9
10 #include "SSB-MTC.h"
11 #include "SSB-MTC2.h"
12 #include "ThresholdNR.h"
13 #include "PCI-List.h"
14 #include "CellsToAddModList.h"
15 #include "PCI-RangeIndexList.h"
16 #include "PCI-RangeElement.h"
17 /*
18  * This type is implemented using NativeEnumerated,
19  * so here we adjust the DEF accordingly.
20  */
21 static int
22 memb_nrofSS_BlocksToAverage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
23                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
24         long value;
25         
26         if(!sptr) {
27                 ASN__CTFAIL(app_key, td, sptr,
28                         "%s: value not given (%s:%d)",
29                         td->name, __FILE__, __LINE__);
30                 return -1;
31         }
32         
33         value = *(const long *)sptr;
34         
35         if((value >= 2 && value <= 16)) {
36                 /* Constraint check succeeded */
37                 return 0;
38         } else {
39                 ASN__CTFAIL(app_key, td, sptr,
40                         "%s: constraint failed (%s:%d)",
41                         td->name, __FILE__, __LINE__);
42                 return -1;
43         }
44 }
45
46 static int
47 memb_nrofCSI_RS_ResourcesToAverage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
48                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
49         long value;
50         
51         if(!sptr) {
52                 ASN__CTFAIL(app_key, td, sptr,
53                         "%s: value not given (%s:%d)",
54                         td->name, __FILE__, __LINE__);
55                 return -1;
56         }
57         
58         value = *(const long *)sptr;
59         
60         if((value >= 2 && value <= 16)) {
61                 /* Constraint check succeeded */
62                 return 0;
63         } else {
64                 ASN__CTFAIL(app_key, td, sptr,
65                         "%s: constraint failed (%s:%d)",
66                         td->name, __FILE__, __LINE__);
67                 return -1;
68         }
69 }
70
71 static int
72 memb_quantityConfigIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
73                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
74         long value;
75         
76         if(!sptr) {
77                 ASN__CTFAIL(app_key, td, sptr,
78                         "%s: value not given (%s:%d)",
79                         td->name, __FILE__, __LINE__);
80                 return -1;
81         }
82         
83         value = *(const long *)sptr;
84         
85         if((value >= 1 && value <= 2)) {
86                 /* Constraint check succeeded */
87                 return 0;
88         } else {
89                 ASN__CTFAIL(app_key, td, sptr,
90                         "%s: constraint failed (%s:%d)",
91                         td->name, __FILE__, __LINE__);
92                 return -1;
93         }
94 }
95
96 static int
97 memb_blackCellsToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
98                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
99         size_t size;
100         
101         if(!sptr) {
102                 ASN__CTFAIL(app_key, td, sptr,
103                         "%s: value not given (%s:%d)",
104                         td->name, __FILE__, __LINE__);
105                 return -1;
106         }
107         
108         /* Determine the number of elements */
109         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
110         
111         if((size >= 1 && size <= 8)) {
112                 /* Perform validation of the inner elements */
113                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
114         } else {
115                 ASN__CTFAIL(app_key, td, sptr,
116                         "%s: constraint failed (%s:%d)",
117                         td->name, __FILE__, __LINE__);
118                 return -1;
119         }
120 }
121
122 static int
123 memb_whiteCellsToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
124                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
125         size_t size;
126         
127         if(!sptr) {
128                 ASN__CTFAIL(app_key, td, sptr,
129                         "%s: value not given (%s:%d)",
130                         td->name, __FILE__, __LINE__);
131                 return -1;
132         }
133         
134         /* Determine the number of elements */
135         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
136         
137         if((size >= 1 && size <= 8)) {
138                 /* Perform validation of the inner elements */
139                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
140         } else {
141                 ASN__CTFAIL(app_key, td, sptr,
142                         "%s: constraint failed (%s:%d)",
143                         td->name, __FILE__, __LINE__);
144                 return -1;
145         }
146 }
147
148 static asn_oer_constraints_t asn_OER_type_blackCellsToAddModList_constr_17 CC_NOTUSED = {
149         { 0, 0 },
150         -1      /* (SIZE(1..8)) */};
151 static asn_per_constraints_t asn_PER_type_blackCellsToAddModList_constr_17 CC_NOTUSED = {
152         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
153         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
154         0, 0    /* No PER value map */
155 };
156 static asn_oer_constraints_t asn_OER_type_whiteCellsToAddModList_constr_20 CC_NOTUSED = {
157         { 0, 0 },
158         -1      /* (SIZE(1..8)) */};
159 static asn_per_constraints_t asn_PER_type_whiteCellsToAddModList_constr_20 CC_NOTUSED = {
160         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
161         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
162         0, 0    /* No PER value map */
163 };
164 static asn_oer_constraints_t asn_OER_type_measCycleSCell_v1530_constr_25 CC_NOTUSED = {
165         { 0, 0 },
166         -1};
167 static asn_per_constraints_t asn_PER_type_measCycleSCell_v1530_constr_25 CC_NOTUSED = {
168         { APC_CONSTRAINED,       3,  3,  0,  6 }        /* (0..6) */,
169         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
170         0, 0    /* No PER value map */
171 };
172 static asn_oer_constraints_t asn_OER_memb_nrofSS_BlocksToAverage_constr_10 CC_NOTUSED = {
173         { 1, 1 }        /* (2..16) */,
174         -1};
175 static asn_per_constraints_t asn_PER_memb_nrofSS_BlocksToAverage_constr_10 CC_NOTUSED = {
176         { APC_CONSTRAINED,       4,  4,  2,  16 }       /* (2..16) */,
177         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
178         0, 0    /* No PER value map */
179 };
180 static asn_oer_constraints_t asn_OER_memb_nrofCSI_RS_ResourcesToAverage_constr_11 CC_NOTUSED = {
181         { 1, 1 }        /* (2..16) */,
182         -1};
183 static asn_per_constraints_t asn_PER_memb_nrofCSI_RS_ResourcesToAverage_constr_11 CC_NOTUSED = {
184         { APC_CONSTRAINED,       4,  4,  2,  16 }       /* (2..16) */,
185         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
186         0, 0    /* No PER value map */
187 };
188 static asn_oer_constraints_t asn_OER_memb_quantityConfigIndex_constr_12 CC_NOTUSED = {
189         { 1, 1 }        /* (1..2) */,
190         -1};
191 static asn_per_constraints_t asn_PER_memb_quantityConfigIndex_constr_12 CC_NOTUSED = {
192         { APC_CONSTRAINED,       1,  1,  1,  2 }        /* (1..2) */,
193         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
194         0, 0    /* No PER value map */
195 };
196 static asn_oer_constraints_t asn_OER_memb_blackCellsToAddModList_constr_17 CC_NOTUSED = {
197         { 0, 0 },
198         -1      /* (SIZE(1..8)) */};
199 static asn_per_constraints_t asn_PER_memb_blackCellsToAddModList_constr_17 CC_NOTUSED = {
200         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
201         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
202         0, 0    /* No PER value map */
203 };
204 static asn_oer_constraints_t asn_OER_memb_whiteCellsToAddModList_constr_20 CC_NOTUSED = {
205         { 0, 0 },
206         -1      /* (SIZE(1..8)) */};
207 static asn_per_constraints_t asn_PER_memb_whiteCellsToAddModList_constr_20 CC_NOTUSED = {
208         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
209         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
210         0, 0    /* No PER value map */
211 };
212 static asn_TYPE_member_t asn_MBR_blackCellsToAddModList_17[] = {
213         { ATF_POINTER, 0, 0,
214                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
215                 0,
216                 &asn_DEF_PCI_RangeElement,
217                 0,
218                 { 0, 0, 0 },
219                 0, 0, /* No default value */
220                 ""
221                 },
222 };
223 static const ber_tlv_tag_t asn_DEF_blackCellsToAddModList_tags_17[] = {
224         (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
225         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
226 };
227 static asn_SET_OF_specifics_t asn_SPC_blackCellsToAddModList_specs_17 = {
228         sizeof(struct MeasObjectNR__blackCellsToAddModList),
229         offsetof(struct MeasObjectNR__blackCellsToAddModList, _asn_ctx),
230         0,      /* XER encoding is XMLDelimitedItemList */
231 };
232 static /* Use -fall-defs-global to expose */
233 asn_TYPE_descriptor_t asn_DEF_blackCellsToAddModList_17 = {
234         "blackCellsToAddModList",
235         "blackCellsToAddModList",
236         &asn_OP_SEQUENCE_OF,
237         asn_DEF_blackCellsToAddModList_tags_17,
238         sizeof(asn_DEF_blackCellsToAddModList_tags_17)
239                 /sizeof(asn_DEF_blackCellsToAddModList_tags_17[0]) - 1, /* 1 */
240         asn_DEF_blackCellsToAddModList_tags_17, /* Same as above */
241         sizeof(asn_DEF_blackCellsToAddModList_tags_17)
242                 /sizeof(asn_DEF_blackCellsToAddModList_tags_17[0]), /* 2 */
243         { &asn_OER_type_blackCellsToAddModList_constr_17, &asn_PER_type_blackCellsToAddModList_constr_17, SEQUENCE_OF_constraint },
244         asn_MBR_blackCellsToAddModList_17,
245         1,      /* Single element */
246         &asn_SPC_blackCellsToAddModList_specs_17        /* Additional specs */
247 };
248
249 static asn_TYPE_member_t asn_MBR_whiteCellsToAddModList_20[] = {
250         { ATF_POINTER, 0, 0,
251                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
252                 0,
253                 &asn_DEF_PCI_RangeElement,
254                 0,
255                 { 0, 0, 0 },
256                 0, 0, /* No default value */
257                 ""
258                 },
259 };
260 static const ber_tlv_tag_t asn_DEF_whiteCellsToAddModList_tags_20[] = {
261         (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
262         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
263 };
264 static asn_SET_OF_specifics_t asn_SPC_whiteCellsToAddModList_specs_20 = {
265         sizeof(struct MeasObjectNR__whiteCellsToAddModList),
266         offsetof(struct MeasObjectNR__whiteCellsToAddModList, _asn_ctx),
267         0,      /* XER encoding is XMLDelimitedItemList */
268 };
269 static /* Use -fall-defs-global to expose */
270 asn_TYPE_descriptor_t asn_DEF_whiteCellsToAddModList_20 = {
271         "whiteCellsToAddModList",
272         "whiteCellsToAddModList",
273         &asn_OP_SEQUENCE_OF,
274         asn_DEF_whiteCellsToAddModList_tags_20,
275         sizeof(asn_DEF_whiteCellsToAddModList_tags_20)
276                 /sizeof(asn_DEF_whiteCellsToAddModList_tags_20[0]) - 1, /* 1 */
277         asn_DEF_whiteCellsToAddModList_tags_20, /* Same as above */
278         sizeof(asn_DEF_whiteCellsToAddModList_tags_20)
279                 /sizeof(asn_DEF_whiteCellsToAddModList_tags_20[0]), /* 2 */
280         { &asn_OER_type_whiteCellsToAddModList_constr_20, &asn_PER_type_whiteCellsToAddModList_constr_20, SEQUENCE_OF_constraint },
281         asn_MBR_whiteCellsToAddModList_20,
282         1,      /* Single element */
283         &asn_SPC_whiteCellsToAddModList_specs_20        /* Additional specs */
284 };
285
286 static const asn_INTEGER_enum_map_t asn_MAP_measCycleSCell_v1530_value2enum_25[] = {
287         { 0,    5,      "sf160" },
288         { 1,    5,      "sf256" },
289         { 2,    5,      "sf320" },
290         { 3,    5,      "sf512" },
291         { 4,    5,      "sf640" },
292         { 5,    6,      "sf1024" },
293         { 6,    6,      "sf1280" }
294 };
295 static const unsigned int asn_MAP_measCycleSCell_v1530_enum2value_25[] = {
296         5,      /* sf1024(5) */
297         6,      /* sf1280(6) */
298         0,      /* sf160(0) */
299         1,      /* sf256(1) */
300         2,      /* sf320(2) */
301         3,      /* sf512(3) */
302         4       /* sf640(4) */
303 };
304 static const asn_INTEGER_specifics_t asn_SPC_measCycleSCell_v1530_specs_25 = {
305         asn_MAP_measCycleSCell_v1530_value2enum_25,     /* "tag" => N; sorted by tag */
306         asn_MAP_measCycleSCell_v1530_enum2value_25,     /* N => "tag"; sorted by N */
307         7,      /* Number of elements in the maps */
308         0,      /* Enumeration is not extensible */
309         1,      /* Strict enumeration */
310         0,      /* Native long size */
311         0
312 };
313 static const ber_tlv_tag_t asn_DEF_measCycleSCell_v1530_tags_25[] = {
314         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
315         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
316 };
317 static /* Use -fall-defs-global to expose */
318 asn_TYPE_descriptor_t asn_DEF_measCycleSCell_v1530_25 = {
319         "measCycleSCell-v1530",
320         "measCycleSCell-v1530",
321         &asn_OP_NativeEnumerated,
322         asn_DEF_measCycleSCell_v1530_tags_25,
323         sizeof(asn_DEF_measCycleSCell_v1530_tags_25)
324                 /sizeof(asn_DEF_measCycleSCell_v1530_tags_25[0]) - 1, /* 1 */
325         asn_DEF_measCycleSCell_v1530_tags_25,   /* Same as above */
326         sizeof(asn_DEF_measCycleSCell_v1530_tags_25)
327                 /sizeof(asn_DEF_measCycleSCell_v1530_tags_25[0]), /* 2 */
328         { &asn_OER_type_measCycleSCell_v1530_constr_25, &asn_PER_type_measCycleSCell_v1530_constr_25, NativeEnumerated_constraint },
329         0, 0,   /* Defined elsewhere */
330         &asn_SPC_measCycleSCell_v1530_specs_25  /* Additional specs */
331 };
332
333 static asn_TYPE_member_t asn_MBR_ext1_23[] = {
334         { ATF_POINTER, 2, offsetof(struct MeasObjectNR__ext1, freqBandIndicatorNR_v1530),
335                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
336                 -1,     /* IMPLICIT tag at current level */
337                 &asn_DEF_FreqBandIndicatorNR,
338                 0,
339                 { 0, 0, 0 },
340                 0, 0, /* No default value */
341                 "freqBandIndicatorNR-v1530"
342                 },
343         { ATF_POINTER, 1, offsetof(struct MeasObjectNR__ext1, measCycleSCell_v1530),
344                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
345                 -1,     /* IMPLICIT tag at current level */
346                 &asn_DEF_measCycleSCell_v1530_25,
347                 0,
348                 { 0, 0, 0 },
349                 0, 0, /* No default value */
350                 "measCycleSCell-v1530"
351                 },
352 };
353 static const int asn_MAP_ext1_oms_23[] = { 0, 1 };
354 static const ber_tlv_tag_t asn_DEF_ext1_tags_23[] = {
355         (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
356         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
357 };
358 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_23[] = {
359     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicatorNR-v1530 */
360     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measCycleSCell-v1530 */
361 };
362 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_23 = {
363         sizeof(struct MeasObjectNR__ext1),
364         offsetof(struct MeasObjectNR__ext1, _asn_ctx),
365         asn_MAP_ext1_tag2el_23,
366         2,      /* Count of tags in the map */
367         asn_MAP_ext1_oms_23,    /* Optional members */
368         2, 0,   /* Root/Additions */
369         -1,     /* First extension addition */
370 };
371 static /* Use -fall-defs-global to expose */
372 asn_TYPE_descriptor_t asn_DEF_ext1_23 = {
373         "ext1",
374         "ext1",
375         &asn_OP_SEQUENCE,
376         asn_DEF_ext1_tags_23,
377         sizeof(asn_DEF_ext1_tags_23)
378                 /sizeof(asn_DEF_ext1_tags_23[0]) - 1, /* 1 */
379         asn_DEF_ext1_tags_23,   /* Same as above */
380         sizeof(asn_DEF_ext1_tags_23)
381                 /sizeof(asn_DEF_ext1_tags_23[0]), /* 2 */
382         { 0, 0, SEQUENCE_constraint },
383         asn_MBR_ext1_23,
384         2,      /* Elements count */
385         &asn_SPC_ext1_specs_23  /* Additional specs */
386 };
387
388 asn_TYPE_member_t asn_MBR_MeasObjectNR_1[] = {
389         { ATF_POINTER, 5, offsetof(struct MeasObjectNR, ssbFrequency),
390                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
391                 -1,     /* IMPLICIT tag at current level */
392                 &asn_DEF_ARFCN_ValueNR,
393                 0,
394                 { 0, 0, 0 },
395                 0, 0, /* No default value */
396                 "ssbFrequency"
397                 },
398         { ATF_POINTER, 4, offsetof(struct MeasObjectNR, ssbSubcarrierSpacing),
399                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
400                 -1,     /* IMPLICIT tag at current level */
401                 &asn_DEF_SubcarrierSpacing,
402                 0,
403                 { 0, 0, 0 },
404                 0, 0, /* No default value */
405                 "ssbSubcarrierSpacing"
406                 },
407         { ATF_POINTER, 3, offsetof(struct MeasObjectNR, smtc1),
408                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
409                 -1,     /* IMPLICIT tag at current level */
410                 &asn_DEF_SSB_MTC,
411                 0,
412                 { 0, 0, 0 },
413                 0, 0, /* No default value */
414                 "smtc1"
415                 },
416         { ATF_POINTER, 2, offsetof(struct MeasObjectNR, smtc2),
417                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
418                 -1,     /* IMPLICIT tag at current level */
419                 &asn_DEF_SSB_MTC2,
420                 0,
421                 { 0, 0, 0 },
422                 0, 0, /* No default value */
423                 "smtc2"
424                 },
425         { ATF_POINTER, 1, offsetof(struct MeasObjectNR, refFreqCSI_RS),
426                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
427                 -1,     /* IMPLICIT tag at current level */
428                 &asn_DEF_ARFCN_ValueNR,
429                 0,
430                 { 0, 0, 0 },
431                 0, 0, /* No default value */
432                 "refFreqCSI-RS"
433                 },
434         { ATF_NOFLAGS, 0, offsetof(struct MeasObjectNR, referenceSignalConfig),
435                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
436                 -1,     /* IMPLICIT tag at current level */
437                 &asn_DEF_ReferenceSignalConfig,
438                 0,
439                 { 0, 0, 0 },
440                 0, 0, /* No default value */
441                 "referenceSignalConfig"
442                 },
443         { ATF_POINTER, 4, offsetof(struct MeasObjectNR, absThreshSS_BlocksConsolidation),
444                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
445                 -1,     /* IMPLICIT tag at current level */
446                 &asn_DEF_ThresholdNR,
447                 0,
448                 { 0, 0, 0 },
449                 0, 0, /* No default value */
450                 "absThreshSS-BlocksConsolidation"
451                 },
452         { ATF_POINTER, 3, offsetof(struct MeasObjectNR, absThreshCSI_RS_Consolidation),
453                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
454                 -1,     /* IMPLICIT tag at current level */
455                 &asn_DEF_ThresholdNR,
456                 0,
457                 { 0, 0, 0 },
458                 0, 0, /* No default value */
459                 "absThreshCSI-RS-Consolidation"
460                 },
461         { ATF_POINTER, 2, offsetof(struct MeasObjectNR, nrofSS_BlocksToAverage),
462                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
463                 -1,     /* IMPLICIT tag at current level */
464                 &asn_DEF_NativeInteger,
465                 0,
466                 { &asn_OER_memb_nrofSS_BlocksToAverage_constr_10, &asn_PER_memb_nrofSS_BlocksToAverage_constr_10,  memb_nrofSS_BlocksToAverage_constraint_1 },
467                 0, 0, /* No default value */
468                 "nrofSS-BlocksToAverage"
469                 },
470         { ATF_POINTER, 1, offsetof(struct MeasObjectNR, nrofCSI_RS_ResourcesToAverage),
471                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
472                 -1,     /* IMPLICIT tag at current level */
473                 &asn_DEF_NativeInteger,
474                 0,
475                 { &asn_OER_memb_nrofCSI_RS_ResourcesToAverage_constr_11, &asn_PER_memb_nrofCSI_RS_ResourcesToAverage_constr_11,  memb_nrofCSI_RS_ResourcesToAverage_constraint_1 },
476                 0, 0, /* No default value */
477                 "nrofCSI-RS-ResourcesToAverage"
478                 },
479         { ATF_NOFLAGS, 0, offsetof(struct MeasObjectNR, quantityConfigIndex),
480                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
481                 -1,     /* IMPLICIT tag at current level */
482                 &asn_DEF_NativeInteger,
483                 0,
484                 { &asn_OER_memb_quantityConfigIndex_constr_12, &asn_PER_memb_quantityConfigIndex_constr_12,  memb_quantityConfigIndex_constraint_1 },
485                 0, 0, /* No default value */
486                 "quantityConfigIndex"
487                 },
488         { ATF_NOFLAGS, 0, offsetof(struct MeasObjectNR, offsetMO),
489                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
490                 -1,     /* IMPLICIT tag at current level */
491                 &asn_DEF_Q_OffsetRangeList,
492                 0,
493                 { 0, 0, 0 },
494                 0, 0, /* No default value */
495                 "offsetMO"
496                 },
497         { ATF_POINTER, 7, offsetof(struct MeasObjectNR, cellsToRemoveList),
498                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
499                 -1,     /* IMPLICIT tag at current level */
500                 &asn_DEF_PCI_List,
501                 0,
502                 { 0, 0, 0 },
503                 0, 0, /* No default value */
504                 "cellsToRemoveList"
505                 },
506         { ATF_POINTER, 6, offsetof(struct MeasObjectNR, cellsToAddModList),
507                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
508                 -1,     /* IMPLICIT tag at current level */
509                 &asn_DEF_CellsToAddModList,
510                 0,
511                 { 0, 0, 0 },
512                 0, 0, /* No default value */
513                 "cellsToAddModList"
514                 },
515         { ATF_POINTER, 5, offsetof(struct MeasObjectNR, blackCellsToRemoveList),
516                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
517                 -1,     /* IMPLICIT tag at current level */
518                 &asn_DEF_PCI_RangeIndexList,
519                 0,
520                 { 0, 0, 0 },
521                 0, 0, /* No default value */
522                 "blackCellsToRemoveList"
523                 },
524         { ATF_POINTER, 4, offsetof(struct MeasObjectNR, blackCellsToAddModList),
525                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
526                 0,
527                 &asn_DEF_blackCellsToAddModList_17,
528                 0,
529                 { &asn_OER_memb_blackCellsToAddModList_constr_17, &asn_PER_memb_blackCellsToAddModList_constr_17,  memb_blackCellsToAddModList_constraint_1 },
530                 0, 0, /* No default value */
531                 "blackCellsToAddModList"
532                 },
533         { ATF_POINTER, 3, offsetof(struct MeasObjectNR, whiteCellsToRemoveList),
534                 (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
535                 -1,     /* IMPLICIT tag at current level */
536                 &asn_DEF_PCI_RangeIndexList,
537                 0,
538                 { 0, 0, 0 },
539                 0, 0, /* No default value */
540                 "whiteCellsToRemoveList"
541                 },
542         { ATF_POINTER, 2, offsetof(struct MeasObjectNR, whiteCellsToAddModList),
543                 (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
544                 0,
545                 &asn_DEF_whiteCellsToAddModList_20,
546                 0,
547                 { &asn_OER_memb_whiteCellsToAddModList_constr_20, &asn_PER_memb_whiteCellsToAddModList_constr_20,  memb_whiteCellsToAddModList_constraint_1 },
548                 0, 0, /* No default value */
549                 "whiteCellsToAddModList"
550                 },
551         { ATF_POINTER, 1, offsetof(struct MeasObjectNR, ext1),
552                 (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
553                 0,
554                 &asn_DEF_ext1_23,
555                 0,
556                 { 0, 0, 0 },
557                 0, 0, /* No default value */
558                 "ext1"
559                 },
560 };
561 static const int asn_MAP_MeasObjectNR_oms_1[] = { 0, 1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18 };
562 static const ber_tlv_tag_t asn_DEF_MeasObjectNR_tags_1[] = {
563         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
564 };
565 static const asn_TYPE_tag2member_t asn_MAP_MeasObjectNR_tag2el_1[] = {
566     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssbFrequency */
567     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ssbSubcarrierSpacing */
568     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* smtc1 */
569     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* smtc2 */
570     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* refFreqCSI-RS */
571     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* referenceSignalConfig */
572     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* absThreshSS-BlocksConsolidation */
573     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* absThreshCSI-RS-Consolidation */
574     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* nrofSS-BlocksToAverage */
575     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* nrofCSI-RS-ResourcesToAverage */
576     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* quantityConfigIndex */
577     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* offsetMO */
578     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* cellsToRemoveList */
579     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* cellsToAddModList */
580     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* blackCellsToRemoveList */
581     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* blackCellsToAddModList */
582     { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* whiteCellsToRemoveList */
583     { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* whiteCellsToAddModList */
584     { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 } /* ext1 */
585 };
586 asn_SEQUENCE_specifics_t asn_SPC_MeasObjectNR_specs_1 = {
587         sizeof(struct MeasObjectNR),
588         offsetof(struct MeasObjectNR, _asn_ctx),
589         asn_MAP_MeasObjectNR_tag2el_1,
590         19,     /* Count of tags in the map */
591         asn_MAP_MeasObjectNR_oms_1,     /* Optional members */
592         15, 1,  /* Root/Additions */
593         18,     /* First extension addition */
594 };
595 asn_TYPE_descriptor_t asn_DEF_MeasObjectNR = {
596         "MeasObjectNR",
597         "MeasObjectNR",
598         &asn_OP_SEQUENCE,
599         asn_DEF_MeasObjectNR_tags_1,
600         sizeof(asn_DEF_MeasObjectNR_tags_1)
601                 /sizeof(asn_DEF_MeasObjectNR_tags_1[0]), /* 1 */
602         asn_DEF_MeasObjectNR_tags_1,    /* Same as above */
603         sizeof(asn_DEF_MeasObjectNR_tags_1)
604                 /sizeof(asn_DEF_MeasObjectNR_tags_1[0]), /* 1 */
605         { 0, 0, SEQUENCE_constraint },
606         asn_MBR_MeasObjectNR_1,
607         19,     /* Elements count */
608         &asn_SPC_MeasObjectNR_specs_1   /* Additional specs */
609 };
610