Cell down alarm notification [Issue-Id: ODUHIGH-430]
[o-du/l2.git] / src / codec_utils / RRC / EventTriggerConfig.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 "EventTriggerConfig.h"
9
10 #include "MeasReportQuantity.h"
11 /*
12  * This type is implemented using NativeEnumerated,
13  * so here we adjust the DEF accordingly.
14  */
15 /*
16  * This type is implemented using NativeEnumerated,
17  * so here we adjust the DEF accordingly.
18  */
19 static int
20 memb_maxReportCells_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
21                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
22         long value;
23         
24         if(!sptr) {
25                 ASN__CTFAIL(app_key, td, sptr,
26                         "%s: value not given (%s:%d)",
27                         td->name, __FILE__, __LINE__);
28                 return -1;
29         }
30         
31         value = *(const long *)sptr;
32         
33         if((value >= 1 && value <= 8)) {
34                 /* Constraint check succeeded */
35                 return 0;
36         } else {
37                 ASN__CTFAIL(app_key, td, sptr,
38                         "%s: constraint failed (%s:%d)",
39                         td->name, __FILE__, __LINE__);
40                 return -1;
41         }
42 }
43
44 static int
45 memb_maxNrofRS_IndexesToReport_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
46                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
47         long value;
48         
49         if(!sptr) {
50                 ASN__CTFAIL(app_key, td, sptr,
51                         "%s: value not given (%s:%d)",
52                         td->name, __FILE__, __LINE__);
53                 return -1;
54         }
55         
56         value = *(const long *)sptr;
57         
58         if((value >= 1 && value <= 32)) {
59                 /* Constraint check succeeded */
60                 return 0;
61         } else {
62                 ASN__CTFAIL(app_key, td, sptr,
63                         "%s: constraint failed (%s:%d)",
64                         td->name, __FILE__, __LINE__);
65                 return -1;
66         }
67 }
68
69 static asn_oer_constraints_t asn_OER_type_eventId_constr_2 CC_NOTUSED = {
70         { 0, 0 },
71         -1};
72 static asn_per_constraints_t asn_PER_type_eventId_constr_2 CC_NOTUSED = {
73         { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  5 }    /* (0..5,...) */,
74         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
75         0, 0    /* No PER value map */
76 };
77 static asn_oer_constraints_t asn_OER_type_reportAmount_constr_41 CC_NOTUSED = {
78         { 0, 0 },
79         -1};
80 static asn_per_constraints_t asn_PER_type_reportAmount_constr_41 CC_NOTUSED = {
81         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
82         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
83         0, 0    /* No PER value map */
84 };
85 static asn_oer_constraints_t asn_OER_type_reportAddNeighMeas_constr_55 CC_NOTUSED = {
86         { 0, 0 },
87         -1};
88 static asn_per_constraints_t asn_PER_type_reportAddNeighMeas_constr_55 CC_NOTUSED = {
89         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
90         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
91         0, 0    /* No PER value map */
92 };
93 static asn_oer_constraints_t asn_OER_memb_maxReportCells_constr_51 CC_NOTUSED = {
94         { 1, 1 }        /* (1..8) */,
95         -1};
96 static asn_per_constraints_t asn_PER_memb_maxReportCells_constr_51 CC_NOTUSED = {
97         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (1..8) */,
98         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
99         0, 0    /* No PER value map */
100 };
101 static asn_oer_constraints_t asn_OER_memb_maxNrofRS_IndexesToReport_constr_53 CC_NOTUSED = {
102         { 1, 1 }        /* (1..32) */,
103         -1};
104 static asn_per_constraints_t asn_PER_memb_maxNrofRS_IndexesToReport_constr_53 CC_NOTUSED = {
105         { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (1..32) */,
106         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
107         0, 0    /* No PER value map */
108 };
109 static asn_TYPE_member_t asn_MBR_eventA1_3[] = {
110         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA1, a1_Threshold),
111                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
112                 +1,     /* EXPLICIT tag at current level */
113                 &asn_DEF_MeasTriggerQuantity,
114                 0,
115                 { 0, 0, 0 },
116                 0, 0, /* No default value */
117                 "a1-Threshold"
118                 },
119         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA1, reportOnLeave),
120                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
121                 -1,     /* IMPLICIT tag at current level */
122                 &asn_DEF_BOOLEAN,
123                 0,
124                 { 0, 0, 0 },
125                 0, 0, /* No default value */
126                 "reportOnLeave"
127                 },
128         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA1, hysteresis),
129                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
130                 -1,     /* IMPLICIT tag at current level */
131                 &asn_DEF_Hysteresis,
132                 0,
133                 { 0, 0, 0 },
134                 0, 0, /* No default value */
135                 "hysteresis"
136                 },
137         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA1, timeToTrigger),
138                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
139                 -1,     /* IMPLICIT tag at current level */
140                 &asn_DEF_TimeToTrigger,
141                 0,
142                 { 0, 0, 0 },
143                 0, 0, /* No default value */
144                 "timeToTrigger"
145                 },
146 };
147 static const ber_tlv_tag_t asn_DEF_eventA1_tags_3[] = {
148         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
149         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
150 };
151 static const asn_TYPE_tag2member_t asn_MAP_eventA1_tag2el_3[] = {
152     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a1-Threshold */
153     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
154     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
155     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* timeToTrigger */
156 };
157 static asn_SEQUENCE_specifics_t asn_SPC_eventA1_specs_3 = {
158         sizeof(struct EventTriggerConfig__eventId__eventA1),
159         offsetof(struct EventTriggerConfig__eventId__eventA1, _asn_ctx),
160         asn_MAP_eventA1_tag2el_3,
161         4,      /* Count of tags in the map */
162         0, 0, 0,        /* Optional elements (not needed) */
163         -1,     /* First extension addition */
164 };
165 static /* Use -fall-defs-global to expose */
166 asn_TYPE_descriptor_t asn_DEF_eventA1_3 = {
167         "eventA1",
168         "eventA1",
169         &asn_OP_SEQUENCE,
170         asn_DEF_eventA1_tags_3,
171         sizeof(asn_DEF_eventA1_tags_3)
172                 /sizeof(asn_DEF_eventA1_tags_3[0]) - 1, /* 1 */
173         asn_DEF_eventA1_tags_3, /* Same as above */
174         sizeof(asn_DEF_eventA1_tags_3)
175                 /sizeof(asn_DEF_eventA1_tags_3[0]), /* 2 */
176         { 0, 0, SEQUENCE_constraint },
177         asn_MBR_eventA1_3,
178         4,      /* Elements count */
179         &asn_SPC_eventA1_specs_3        /* Additional specs */
180 };
181
182 static asn_TYPE_member_t asn_MBR_eventA2_8[] = {
183         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA2, a2_Threshold),
184                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
185                 +1,     /* EXPLICIT tag at current level */
186                 &asn_DEF_MeasTriggerQuantity,
187                 0,
188                 { 0, 0, 0 },
189                 0, 0, /* No default value */
190                 "a2-Threshold"
191                 },
192         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA2, reportOnLeave),
193                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
194                 -1,     /* IMPLICIT tag at current level */
195                 &asn_DEF_BOOLEAN,
196                 0,
197                 { 0, 0, 0 },
198                 0, 0, /* No default value */
199                 "reportOnLeave"
200                 },
201         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA2, hysteresis),
202                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
203                 -1,     /* IMPLICIT tag at current level */
204                 &asn_DEF_Hysteresis,
205                 0,
206                 { 0, 0, 0 },
207                 0, 0, /* No default value */
208                 "hysteresis"
209                 },
210         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA2, timeToTrigger),
211                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
212                 -1,     /* IMPLICIT tag at current level */
213                 &asn_DEF_TimeToTrigger,
214                 0,
215                 { 0, 0, 0 },
216                 0, 0, /* No default value */
217                 "timeToTrigger"
218                 },
219 };
220 static const ber_tlv_tag_t asn_DEF_eventA2_tags_8[] = {
221         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
222         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
223 };
224 static const asn_TYPE_tag2member_t asn_MAP_eventA2_tag2el_8[] = {
225     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a2-Threshold */
226     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
227     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
228     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* timeToTrigger */
229 };
230 static asn_SEQUENCE_specifics_t asn_SPC_eventA2_specs_8 = {
231         sizeof(struct EventTriggerConfig__eventId__eventA2),
232         offsetof(struct EventTriggerConfig__eventId__eventA2, _asn_ctx),
233         asn_MAP_eventA2_tag2el_8,
234         4,      /* Count of tags in the map */
235         0, 0, 0,        /* Optional elements (not needed) */
236         -1,     /* First extension addition */
237 };
238 static /* Use -fall-defs-global to expose */
239 asn_TYPE_descriptor_t asn_DEF_eventA2_8 = {
240         "eventA2",
241         "eventA2",
242         &asn_OP_SEQUENCE,
243         asn_DEF_eventA2_tags_8,
244         sizeof(asn_DEF_eventA2_tags_8)
245                 /sizeof(asn_DEF_eventA2_tags_8[0]) - 1, /* 1 */
246         asn_DEF_eventA2_tags_8, /* Same as above */
247         sizeof(asn_DEF_eventA2_tags_8)
248                 /sizeof(asn_DEF_eventA2_tags_8[0]), /* 2 */
249         { 0, 0, SEQUENCE_constraint },
250         asn_MBR_eventA2_8,
251         4,      /* Elements count */
252         &asn_SPC_eventA2_specs_8        /* Additional specs */
253 };
254
255 static asn_TYPE_member_t asn_MBR_eventA3_13[] = {
256         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA3, a3_Offset),
257                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
258                 +1,     /* EXPLICIT tag at current level */
259                 &asn_DEF_MeasTriggerQuantityOffset,
260                 0,
261                 { 0, 0, 0 },
262                 0, 0, /* No default value */
263                 "a3-Offset"
264                 },
265         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA3, reportOnLeave),
266                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
267                 -1,     /* IMPLICIT tag at current level */
268                 &asn_DEF_BOOLEAN,
269                 0,
270                 { 0, 0, 0 },
271                 0, 0, /* No default value */
272                 "reportOnLeave"
273                 },
274         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA3, hysteresis),
275                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
276                 -1,     /* IMPLICIT tag at current level */
277                 &asn_DEF_Hysteresis,
278                 0,
279                 { 0, 0, 0 },
280                 0, 0, /* No default value */
281                 "hysteresis"
282                 },
283         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA3, timeToTrigger),
284                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
285                 -1,     /* IMPLICIT tag at current level */
286                 &asn_DEF_TimeToTrigger,
287                 0,
288                 { 0, 0, 0 },
289                 0, 0, /* No default value */
290                 "timeToTrigger"
291                 },
292         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA3, useWhiteCellList),
293                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
294                 -1,     /* IMPLICIT tag at current level */
295                 &asn_DEF_BOOLEAN,
296                 0,
297                 { 0, 0, 0 },
298                 0, 0, /* No default value */
299                 "useWhiteCellList"
300                 },
301 };
302 static const ber_tlv_tag_t asn_DEF_eventA3_tags_13[] = {
303         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
304         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
305 };
306 static const asn_TYPE_tag2member_t asn_MAP_eventA3_tag2el_13[] = {
307     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a3-Offset */
308     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
309     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
310     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* timeToTrigger */
311     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* useWhiteCellList */
312 };
313 static asn_SEQUENCE_specifics_t asn_SPC_eventA3_specs_13 = {
314         sizeof(struct EventTriggerConfig__eventId__eventA3),
315         offsetof(struct EventTriggerConfig__eventId__eventA3, _asn_ctx),
316         asn_MAP_eventA3_tag2el_13,
317         5,      /* Count of tags in the map */
318         0, 0, 0,        /* Optional elements (not needed) */
319         -1,     /* First extension addition */
320 };
321 static /* Use -fall-defs-global to expose */
322 asn_TYPE_descriptor_t asn_DEF_eventA3_13 = {
323         "eventA3",
324         "eventA3",
325         &asn_OP_SEQUENCE,
326         asn_DEF_eventA3_tags_13,
327         sizeof(asn_DEF_eventA3_tags_13)
328                 /sizeof(asn_DEF_eventA3_tags_13[0]) - 1, /* 1 */
329         asn_DEF_eventA3_tags_13,        /* Same as above */
330         sizeof(asn_DEF_eventA3_tags_13)
331                 /sizeof(asn_DEF_eventA3_tags_13[0]), /* 2 */
332         { 0, 0, SEQUENCE_constraint },
333         asn_MBR_eventA3_13,
334         5,      /* Elements count */
335         &asn_SPC_eventA3_specs_13       /* Additional specs */
336 };
337
338 static asn_TYPE_member_t asn_MBR_eventA4_19[] = {
339         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA4, a4_Threshold),
340                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
341                 +1,     /* EXPLICIT tag at current level */
342                 &asn_DEF_MeasTriggerQuantity,
343                 0,
344                 { 0, 0, 0 },
345                 0, 0, /* No default value */
346                 "a4-Threshold"
347                 },
348         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA4, reportOnLeave),
349                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
350                 -1,     /* IMPLICIT tag at current level */
351                 &asn_DEF_BOOLEAN,
352                 0,
353                 { 0, 0, 0 },
354                 0, 0, /* No default value */
355                 "reportOnLeave"
356                 },
357         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA4, hysteresis),
358                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
359                 -1,     /* IMPLICIT tag at current level */
360                 &asn_DEF_Hysteresis,
361                 0,
362                 { 0, 0, 0 },
363                 0, 0, /* No default value */
364                 "hysteresis"
365                 },
366         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA4, timeToTrigger),
367                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
368                 -1,     /* IMPLICIT tag at current level */
369                 &asn_DEF_TimeToTrigger,
370                 0,
371                 { 0, 0, 0 },
372                 0, 0, /* No default value */
373                 "timeToTrigger"
374                 },
375         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA4, useWhiteCellList),
376                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
377                 -1,     /* IMPLICIT tag at current level */
378                 &asn_DEF_BOOLEAN,
379                 0,
380                 { 0, 0, 0 },
381                 0, 0, /* No default value */
382                 "useWhiteCellList"
383                 },
384 };
385 static const ber_tlv_tag_t asn_DEF_eventA4_tags_19[] = {
386         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
387         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
388 };
389 static const asn_TYPE_tag2member_t asn_MAP_eventA4_tag2el_19[] = {
390     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a4-Threshold */
391     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
392     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
393     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* timeToTrigger */
394     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* useWhiteCellList */
395 };
396 static asn_SEQUENCE_specifics_t asn_SPC_eventA4_specs_19 = {
397         sizeof(struct EventTriggerConfig__eventId__eventA4),
398         offsetof(struct EventTriggerConfig__eventId__eventA4, _asn_ctx),
399         asn_MAP_eventA4_tag2el_19,
400         5,      /* Count of tags in the map */
401         0, 0, 0,        /* Optional elements (not needed) */
402         -1,     /* First extension addition */
403 };
404 static /* Use -fall-defs-global to expose */
405 asn_TYPE_descriptor_t asn_DEF_eventA4_19 = {
406         "eventA4",
407         "eventA4",
408         &asn_OP_SEQUENCE,
409         asn_DEF_eventA4_tags_19,
410         sizeof(asn_DEF_eventA4_tags_19)
411                 /sizeof(asn_DEF_eventA4_tags_19[0]) - 1, /* 1 */
412         asn_DEF_eventA4_tags_19,        /* Same as above */
413         sizeof(asn_DEF_eventA4_tags_19)
414                 /sizeof(asn_DEF_eventA4_tags_19[0]), /* 2 */
415         { 0, 0, SEQUENCE_constraint },
416         asn_MBR_eventA4_19,
417         5,      /* Elements count */
418         &asn_SPC_eventA4_specs_19       /* Additional specs */
419 };
420
421 static asn_TYPE_member_t asn_MBR_eventA5_25[] = {
422         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, a5_Threshold1),
423                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
424                 +1,     /* EXPLICIT tag at current level */
425                 &asn_DEF_MeasTriggerQuantity,
426                 0,
427                 { 0, 0, 0 },
428                 0, 0, /* No default value */
429                 "a5-Threshold1"
430                 },
431         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, a5_Threshold2),
432                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
433                 +1,     /* EXPLICIT tag at current level */
434                 &asn_DEF_MeasTriggerQuantity,
435                 0,
436                 { 0, 0, 0 },
437                 0, 0, /* No default value */
438                 "a5-Threshold2"
439                 },
440         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, reportOnLeave),
441                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
442                 -1,     /* IMPLICIT tag at current level */
443                 &asn_DEF_BOOLEAN,
444                 0,
445                 { 0, 0, 0 },
446                 0, 0, /* No default value */
447                 "reportOnLeave"
448                 },
449         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, hysteresis),
450                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
451                 -1,     /* IMPLICIT tag at current level */
452                 &asn_DEF_Hysteresis,
453                 0,
454                 { 0, 0, 0 },
455                 0, 0, /* No default value */
456                 "hysteresis"
457                 },
458         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, timeToTrigger),
459                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
460                 -1,     /* IMPLICIT tag at current level */
461                 &asn_DEF_TimeToTrigger,
462                 0,
463                 { 0, 0, 0 },
464                 0, 0, /* No default value */
465                 "timeToTrigger"
466                 },
467         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA5, useWhiteCellList),
468                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
469                 -1,     /* IMPLICIT tag at current level */
470                 &asn_DEF_BOOLEAN,
471                 0,
472                 { 0, 0, 0 },
473                 0, 0, /* No default value */
474                 "useWhiteCellList"
475                 },
476 };
477 static const ber_tlv_tag_t asn_DEF_eventA5_tags_25[] = {
478         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
479         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
480 };
481 static const asn_TYPE_tag2member_t asn_MAP_eventA5_tag2el_25[] = {
482     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a5-Threshold1 */
483     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a5-Threshold2 */
484     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reportOnLeave */
485     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hysteresis */
486     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* timeToTrigger */
487     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* useWhiteCellList */
488 };
489 static asn_SEQUENCE_specifics_t asn_SPC_eventA5_specs_25 = {
490         sizeof(struct EventTriggerConfig__eventId__eventA5),
491         offsetof(struct EventTriggerConfig__eventId__eventA5, _asn_ctx),
492         asn_MAP_eventA5_tag2el_25,
493         6,      /* Count of tags in the map */
494         0, 0, 0,        /* Optional elements (not needed) */
495         -1,     /* First extension addition */
496 };
497 static /* Use -fall-defs-global to expose */
498 asn_TYPE_descriptor_t asn_DEF_eventA5_25 = {
499         "eventA5",
500         "eventA5",
501         &asn_OP_SEQUENCE,
502         asn_DEF_eventA5_tags_25,
503         sizeof(asn_DEF_eventA5_tags_25)
504                 /sizeof(asn_DEF_eventA5_tags_25[0]) - 1, /* 1 */
505         asn_DEF_eventA5_tags_25,        /* Same as above */
506         sizeof(asn_DEF_eventA5_tags_25)
507                 /sizeof(asn_DEF_eventA5_tags_25[0]), /* 2 */
508         { 0, 0, SEQUENCE_constraint },
509         asn_MBR_eventA5_25,
510         6,      /* Elements count */
511         &asn_SPC_eventA5_specs_25       /* Additional specs */
512 };
513
514 static asn_TYPE_member_t asn_MBR_eventA6_32[] = {
515         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA6, a6_Offset),
516                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
517                 +1,     /* EXPLICIT tag at current level */
518                 &asn_DEF_MeasTriggerQuantityOffset,
519                 0,
520                 { 0, 0, 0 },
521                 0, 0, /* No default value */
522                 "a6-Offset"
523                 },
524         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA6, reportOnLeave),
525                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
526                 -1,     /* IMPLICIT tag at current level */
527                 &asn_DEF_BOOLEAN,
528                 0,
529                 { 0, 0, 0 },
530                 0, 0, /* No default value */
531                 "reportOnLeave"
532                 },
533         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA6, hysteresis),
534                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
535                 -1,     /* IMPLICIT tag at current level */
536                 &asn_DEF_Hysteresis,
537                 0,
538                 { 0, 0, 0 },
539                 0, 0, /* No default value */
540                 "hysteresis"
541                 },
542         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA6, timeToTrigger),
543                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
544                 -1,     /* IMPLICIT tag at current level */
545                 &asn_DEF_TimeToTrigger,
546                 0,
547                 { 0, 0, 0 },
548                 0, 0, /* No default value */
549                 "timeToTrigger"
550                 },
551         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig__eventId__eventA6, useWhiteCellList),
552                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
553                 -1,     /* IMPLICIT tag at current level */
554                 &asn_DEF_BOOLEAN,
555                 0,
556                 { 0, 0, 0 },
557                 0, 0, /* No default value */
558                 "useWhiteCellList"
559                 },
560 };
561 static const ber_tlv_tag_t asn_DEF_eventA6_tags_32[] = {
562         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
563         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
564 };
565 static const asn_TYPE_tag2member_t asn_MAP_eventA6_tag2el_32[] = {
566     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a6-Offset */
567     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
568     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
569     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* timeToTrigger */
570     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* useWhiteCellList */
571 };
572 static asn_SEQUENCE_specifics_t asn_SPC_eventA6_specs_32 = {
573         sizeof(struct EventTriggerConfig__eventId__eventA6),
574         offsetof(struct EventTriggerConfig__eventId__eventA6, _asn_ctx),
575         asn_MAP_eventA6_tag2el_32,
576         5,      /* Count of tags in the map */
577         0, 0, 0,        /* Optional elements (not needed) */
578         -1,     /* First extension addition */
579 };
580 static /* Use -fall-defs-global to expose */
581 asn_TYPE_descriptor_t asn_DEF_eventA6_32 = {
582         "eventA6",
583         "eventA6",
584         &asn_OP_SEQUENCE,
585         asn_DEF_eventA6_tags_32,
586         sizeof(asn_DEF_eventA6_tags_32)
587                 /sizeof(asn_DEF_eventA6_tags_32[0]) - 1, /* 1 */
588         asn_DEF_eventA6_tags_32,        /* Same as above */
589         sizeof(asn_DEF_eventA6_tags_32)
590                 /sizeof(asn_DEF_eventA6_tags_32[0]), /* 2 */
591         { 0, 0, SEQUENCE_constraint },
592         asn_MBR_eventA6_32,
593         5,      /* Elements count */
594         &asn_SPC_eventA6_specs_32       /* Additional specs */
595 };
596
597 static asn_TYPE_member_t asn_MBR_eventId_2[] = {
598         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA1),
599                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
600                 0,
601                 &asn_DEF_eventA1_3,
602                 0,
603                 { 0, 0, 0 },
604                 0, 0, /* No default value */
605                 "eventA1"
606                 },
607         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA2),
608                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
609                 0,
610                 &asn_DEF_eventA2_8,
611                 0,
612                 { 0, 0, 0 },
613                 0, 0, /* No default value */
614                 "eventA2"
615                 },
616         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA3),
617                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
618                 0,
619                 &asn_DEF_eventA3_13,
620                 0,
621                 { 0, 0, 0 },
622                 0, 0, /* No default value */
623                 "eventA3"
624                 },
625         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA4),
626                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
627                 0,
628                 &asn_DEF_eventA4_19,
629                 0,
630                 { 0, 0, 0 },
631                 0, 0, /* No default value */
632                 "eventA4"
633                 },
634         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA5),
635                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
636                 0,
637                 &asn_DEF_eventA5_25,
638                 0,
639                 { 0, 0, 0 },
640                 0, 0, /* No default value */
641                 "eventA5"
642                 },
643         { ATF_POINTER, 0, offsetof(struct EventTriggerConfig__eventId, choice.eventA6),
644                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
645                 0,
646                 &asn_DEF_eventA6_32,
647                 0,
648                 { 0, 0, 0 },
649                 0, 0, /* No default value */
650                 "eventA6"
651                 },
652 };
653 static const asn_TYPE_tag2member_t asn_MAP_eventId_tag2el_2[] = {
654     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventA1 */
655     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventA2 */
656     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eventA3 */
657     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eventA4 */
658     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* eventA5 */
659     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* eventA6 */
660 };
661 static asn_CHOICE_specifics_t asn_SPC_eventId_specs_2 = {
662         sizeof(struct EventTriggerConfig__eventId),
663         offsetof(struct EventTriggerConfig__eventId, _asn_ctx),
664         offsetof(struct EventTriggerConfig__eventId, present),
665         sizeof(((struct EventTriggerConfig__eventId *)0)->present),
666         asn_MAP_eventId_tag2el_2,
667         6,      /* Count of tags in the map */
668         0, 0,
669         6       /* Extensions start */
670 };
671 static /* Use -fall-defs-global to expose */
672 asn_TYPE_descriptor_t asn_DEF_eventId_2 = {
673         "eventId",
674         "eventId",
675         &asn_OP_CHOICE,
676         0,      /* No effective tags (pointer) */
677         0,      /* No effective tags (count) */
678         0,      /* No tags (pointer) */
679         0,      /* No tags (count) */
680         { &asn_OER_type_eventId_constr_2, &asn_PER_type_eventId_constr_2, CHOICE_constraint },
681         asn_MBR_eventId_2,
682         6,      /* Elements count */
683         &asn_SPC_eventId_specs_2        /* Additional specs */
684 };
685
686 static const asn_INTEGER_enum_map_t asn_MAP_reportAmount_value2enum_41[] = {
687         { 0,    2,      "r1" },
688         { 1,    2,      "r2" },
689         { 2,    2,      "r4" },
690         { 3,    2,      "r8" },
691         { 4,    3,      "r16" },
692         { 5,    3,      "r32" },
693         { 6,    3,      "r64" },
694         { 7,    8,      "infinity" }
695 };
696 static const unsigned int asn_MAP_reportAmount_enum2value_41[] = {
697         7,      /* infinity(7) */
698         0,      /* r1(0) */
699         4,      /* r16(4) */
700         1,      /* r2(1) */
701         5,      /* r32(5) */
702         2,      /* r4(2) */
703         6,      /* r64(6) */
704         3       /* r8(3) */
705 };
706 static const asn_INTEGER_specifics_t asn_SPC_reportAmount_specs_41 = {
707         asn_MAP_reportAmount_value2enum_41,     /* "tag" => N; sorted by tag */
708         asn_MAP_reportAmount_enum2value_41,     /* N => "tag"; sorted by N */
709         8,      /* Number of elements in the maps */
710         0,      /* Enumeration is not extensible */
711         1,      /* Strict enumeration */
712         0,      /* Native long size */
713         0
714 };
715 static const ber_tlv_tag_t asn_DEF_reportAmount_tags_41[] = {
716         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
717         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
718 };
719 static /* Use -fall-defs-global to expose */
720 asn_TYPE_descriptor_t asn_DEF_reportAmount_41 = {
721         "reportAmount",
722         "reportAmount",
723         &asn_OP_NativeEnumerated,
724         asn_DEF_reportAmount_tags_41,
725         sizeof(asn_DEF_reportAmount_tags_41)
726                 /sizeof(asn_DEF_reportAmount_tags_41[0]) - 1, /* 1 */
727         asn_DEF_reportAmount_tags_41,   /* Same as above */
728         sizeof(asn_DEF_reportAmount_tags_41)
729                 /sizeof(asn_DEF_reportAmount_tags_41[0]), /* 2 */
730         { &asn_OER_type_reportAmount_constr_41, &asn_PER_type_reportAmount_constr_41, NativeEnumerated_constraint },
731         0, 0,   /* Defined elsewhere */
732         &asn_SPC_reportAmount_specs_41  /* Additional specs */
733 };
734
735 static const asn_INTEGER_enum_map_t asn_MAP_reportAddNeighMeas_value2enum_55[] = {
736         { 0,    5,      "setup" }
737 };
738 static const unsigned int asn_MAP_reportAddNeighMeas_enum2value_55[] = {
739         0       /* setup(0) */
740 };
741 static const asn_INTEGER_specifics_t asn_SPC_reportAddNeighMeas_specs_55 = {
742         asn_MAP_reportAddNeighMeas_value2enum_55,       /* "tag" => N; sorted by tag */
743         asn_MAP_reportAddNeighMeas_enum2value_55,       /* N => "tag"; sorted by N */
744         1,      /* Number of elements in the maps */
745         0,      /* Enumeration is not extensible */
746         1,      /* Strict enumeration */
747         0,      /* Native long size */
748         0
749 };
750 static const ber_tlv_tag_t asn_DEF_reportAddNeighMeas_tags_55[] = {
751         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
752         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
753 };
754 static /* Use -fall-defs-global to expose */
755 asn_TYPE_descriptor_t asn_DEF_reportAddNeighMeas_55 = {
756         "reportAddNeighMeas",
757         "reportAddNeighMeas",
758         &asn_OP_NativeEnumerated,
759         asn_DEF_reportAddNeighMeas_tags_55,
760         sizeof(asn_DEF_reportAddNeighMeas_tags_55)
761                 /sizeof(asn_DEF_reportAddNeighMeas_tags_55[0]) - 1, /* 1 */
762         asn_DEF_reportAddNeighMeas_tags_55,     /* Same as above */
763         sizeof(asn_DEF_reportAddNeighMeas_tags_55)
764                 /sizeof(asn_DEF_reportAddNeighMeas_tags_55[0]), /* 2 */
765         { &asn_OER_type_reportAddNeighMeas_constr_55, &asn_PER_type_reportAddNeighMeas_constr_55, NativeEnumerated_constraint },
766         0, 0,   /* Defined elsewhere */
767         &asn_SPC_reportAddNeighMeas_specs_55    /* Additional specs */
768 };
769
770 asn_TYPE_member_t asn_MBR_EventTriggerConfig_1[] = {
771         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, eventId),
772                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
773                 +1,     /* EXPLICIT tag at current level */
774                 &asn_DEF_eventId_2,
775                 0,
776                 { 0, 0, 0 },
777                 0, 0, /* No default value */
778                 "eventId"
779                 },
780         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, rsType),
781                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
782                 -1,     /* IMPLICIT tag at current level */
783                 &asn_DEF_NR_RS_Type,
784                 0,
785                 { 0, 0, 0 },
786                 0, 0, /* No default value */
787                 "rsType"
788                 },
789         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, reportInterval),
790                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
791                 -1,     /* IMPLICIT tag at current level */
792                 &asn_DEF_ReportInterval,
793                 0,
794                 { 0, 0, 0 },
795                 0, 0, /* No default value */
796                 "reportInterval"
797                 },
798         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, reportAmount),
799                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
800                 -1,     /* IMPLICIT tag at current level */
801                 &asn_DEF_reportAmount_41,
802                 0,
803                 { 0, 0, 0 },
804                 0, 0, /* No default value */
805                 "reportAmount"
806                 },
807         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, reportQuantityCell),
808                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
809                 -1,     /* IMPLICIT tag at current level */
810                 &asn_DEF_MeasReportQuantity,
811                 0,
812                 { 0, 0, 0 },
813                 0, 0, /* No default value */
814                 "reportQuantityCell"
815                 },
816         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, maxReportCells),
817                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
818                 -1,     /* IMPLICIT tag at current level */
819                 &asn_DEF_NativeInteger,
820                 0,
821                 { &asn_OER_memb_maxReportCells_constr_51, &asn_PER_memb_maxReportCells_constr_51,  memb_maxReportCells_constraint_1 },
822                 0, 0, /* No default value */
823                 "maxReportCells"
824                 },
825         { ATF_POINTER, 2, offsetof(struct EventTriggerConfig, reportQuantityRS_Indexes),
826                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
827                 -1,     /* IMPLICIT tag at current level */
828                 &asn_DEF_MeasReportQuantity,
829                 0,
830                 { 0, 0, 0 },
831                 0, 0, /* No default value */
832                 "reportQuantityRS-Indexes"
833                 },
834         { ATF_POINTER, 1, offsetof(struct EventTriggerConfig, maxNrofRS_IndexesToReport),
835                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
836                 -1,     /* IMPLICIT tag at current level */
837                 &asn_DEF_NativeInteger,
838                 0,
839                 { &asn_OER_memb_maxNrofRS_IndexesToReport_constr_53, &asn_PER_memb_maxNrofRS_IndexesToReport_constr_53,  memb_maxNrofRS_IndexesToReport_constraint_1 },
840                 0, 0, /* No default value */
841                 "maxNrofRS-IndexesToReport"
842                 },
843         { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfig, includeBeamMeasurements),
844                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
845                 -1,     /* IMPLICIT tag at current level */
846                 &asn_DEF_BOOLEAN,
847                 0,
848                 { 0, 0, 0 },
849                 0, 0, /* No default value */
850                 "includeBeamMeasurements"
851                 },
852         { ATF_POINTER, 1, offsetof(struct EventTriggerConfig, reportAddNeighMeas),
853                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
854                 -1,     /* IMPLICIT tag at current level */
855                 &asn_DEF_reportAddNeighMeas_55,
856                 0,
857                 { 0, 0, 0 },
858                 0, 0, /* No default value */
859                 "reportAddNeighMeas"
860                 },
861 };
862 static const int asn_MAP_EventTriggerConfig_oms_1[] = { 6, 7, 9 };
863 static const ber_tlv_tag_t asn_DEF_EventTriggerConfig_tags_1[] = {
864         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
865 };
866 static const asn_TYPE_tag2member_t asn_MAP_EventTriggerConfig_tag2el_1[] = {
867     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventId */
868     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsType */
869     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reportInterval */
870     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* reportAmount */
871     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* reportQuantityCell */
872     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* maxReportCells */
873     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* reportQuantityRS-Indexes */
874     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* maxNrofRS-IndexesToReport */
875     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* includeBeamMeasurements */
876     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* reportAddNeighMeas */
877 };
878 asn_SEQUENCE_specifics_t asn_SPC_EventTriggerConfig_specs_1 = {
879         sizeof(struct EventTriggerConfig),
880         offsetof(struct EventTriggerConfig, _asn_ctx),
881         asn_MAP_EventTriggerConfig_tag2el_1,
882         10,     /* Count of tags in the map */
883         asn_MAP_EventTriggerConfig_oms_1,       /* Optional members */
884         3, 0,   /* Root/Additions */
885         10,     /* First extension addition */
886 };
887 asn_TYPE_descriptor_t asn_DEF_EventTriggerConfig = {
888         "EventTriggerConfig",
889         "EventTriggerConfig",
890         &asn_OP_SEQUENCE,
891         asn_DEF_EventTriggerConfig_tags_1,
892         sizeof(asn_DEF_EventTriggerConfig_tags_1)
893                 /sizeof(asn_DEF_EventTriggerConfig_tags_1[0]), /* 1 */
894         asn_DEF_EventTriggerConfig_tags_1,      /* Same as above */
895         sizeof(asn_DEF_EventTriggerConfig_tags_1)
896                 /sizeof(asn_DEF_EventTriggerConfig_tags_1[0]), /* 1 */
897         { 0, 0, SEQUENCE_constraint },
898         asn_MBR_EventTriggerConfig_1,
899         10,     /* Elements count */
900         &asn_SPC_EventTriggerConfig_specs_1     /* Additional specs */
901 };
902