[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / EventTriggerConfig.h
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 #ifndef _EventTriggerConfig_H_
9 #define _EventTriggerConfig_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "NR-RS-Type.h"
16 #include "ReportInterval.h"
17 #include <NativeEnumerated.h>
18 #include "MeasReportQuantity.h"
19 #include <NativeInteger.h>
20 #include <BOOLEAN.h>
21 #include "MeasTriggerQuantity.h"
22 #include "Hysteresis.h"
23 #include "TimeToTrigger.h"
24 #include <constr_SEQUENCE.h>
25 #include "MeasTriggerQuantityOffset.h"
26 #include <constr_CHOICE.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /* Dependencies */
33 typedef enum EventTriggerConfig__eventId_PR {
34         EventTriggerConfig__eventId_PR_NOTHING, /* No components present */
35         EventTriggerConfig__eventId_PR_eventA1,
36         EventTriggerConfig__eventId_PR_eventA2,
37         EventTriggerConfig__eventId_PR_eventA3,
38         EventTriggerConfig__eventId_PR_eventA4,
39         EventTriggerConfig__eventId_PR_eventA5,
40         EventTriggerConfig__eventId_PR_eventA6
41         /* Extensions may appear below */
42         
43 } EventTriggerConfig__eventId_PR;
44 typedef enum EventTriggerConfig__reportAmount {
45         EventTriggerConfig__reportAmount_r1     = 0,
46         EventTriggerConfig__reportAmount_r2     = 1,
47         EventTriggerConfig__reportAmount_r4     = 2,
48         EventTriggerConfig__reportAmount_r8     = 3,
49         EventTriggerConfig__reportAmount_r16    = 4,
50         EventTriggerConfig__reportAmount_r32    = 5,
51         EventTriggerConfig__reportAmount_r64    = 6,
52         EventTriggerConfig__reportAmount_infinity       = 7
53 } e_EventTriggerConfig__reportAmount;
54 typedef enum EventTriggerConfig__reportAddNeighMeas {
55         EventTriggerConfig__reportAddNeighMeas_setup    = 0
56 } e_EventTriggerConfig__reportAddNeighMeas;
57
58 /* Forward declarations */
59 struct MeasReportQuantity;
60
61 /* EventTriggerConfig */
62 typedef struct EventTriggerConfig {
63         struct EventTriggerConfig__eventId {
64                 EventTriggerConfig__eventId_PR present;
65                 union EventTriggerConfig__eventId_u {
66                         struct EventTriggerConfig__eventId__eventA1 {
67                                 MeasTriggerQuantity_t    a1_Threshold;
68                                 BOOLEAN_t        reportOnLeave;
69                                 Hysteresis_t     hysteresis;
70                                 TimeToTrigger_t  timeToTrigger;
71                                 
72                                 /* Context for parsing across buffer boundaries */
73                                 asn_struct_ctx_t _asn_ctx;
74                         } *eventA1;
75                         struct EventTriggerConfig__eventId__eventA2 {
76                                 MeasTriggerQuantity_t    a2_Threshold;
77                                 BOOLEAN_t        reportOnLeave;
78                                 Hysteresis_t     hysteresis;
79                                 TimeToTrigger_t  timeToTrigger;
80                                 
81                                 /* Context for parsing across buffer boundaries */
82                                 asn_struct_ctx_t _asn_ctx;
83                         } *eventA2;
84                         struct EventTriggerConfig__eventId__eventA3 {
85                                 MeasTriggerQuantityOffset_t      a3_Offset;
86                                 BOOLEAN_t        reportOnLeave;
87                                 Hysteresis_t     hysteresis;
88                                 TimeToTrigger_t  timeToTrigger;
89                                 BOOLEAN_t        useWhiteCellList;
90                                 
91                                 /* Context for parsing across buffer boundaries */
92                                 asn_struct_ctx_t _asn_ctx;
93                         } *eventA3;
94                         struct EventTriggerConfig__eventId__eventA4 {
95                                 MeasTriggerQuantity_t    a4_Threshold;
96                                 BOOLEAN_t        reportOnLeave;
97                                 Hysteresis_t     hysteresis;
98                                 TimeToTrigger_t  timeToTrigger;
99                                 BOOLEAN_t        useWhiteCellList;
100                                 
101                                 /* Context for parsing across buffer boundaries */
102                                 asn_struct_ctx_t _asn_ctx;
103                         } *eventA4;
104                         struct EventTriggerConfig__eventId__eventA5 {
105                                 MeasTriggerQuantity_t    a5_Threshold1;
106                                 MeasTriggerQuantity_t    a5_Threshold2;
107                                 BOOLEAN_t        reportOnLeave;
108                                 Hysteresis_t     hysteresis;
109                                 TimeToTrigger_t  timeToTrigger;
110                                 BOOLEAN_t        useWhiteCellList;
111                                 
112                                 /* Context for parsing across buffer boundaries */
113                                 asn_struct_ctx_t _asn_ctx;
114                         } *eventA5;
115                         struct EventTriggerConfig__eventId__eventA6 {
116                                 MeasTriggerQuantityOffset_t      a6_Offset;
117                                 BOOLEAN_t        reportOnLeave;
118                                 Hysteresis_t     hysteresis;
119                                 TimeToTrigger_t  timeToTrigger;
120                                 BOOLEAN_t        useWhiteCellList;
121                                 
122                                 /* Context for parsing across buffer boundaries */
123                                 asn_struct_ctx_t _asn_ctx;
124                         } *eventA6;
125                         /*
126                          * This type is extensible,
127                          * possible extensions are below.
128                          */
129                 } choice;
130                 
131                 /* Context for parsing across buffer boundaries */
132                 asn_struct_ctx_t _asn_ctx;
133         } eventId;
134         NR_RS_Type_t     rsType;
135         ReportInterval_t         reportInterval;
136         long     reportAmount;
137         MeasReportQuantity_t     reportQuantityCell;
138         long     maxReportCells;
139         struct MeasReportQuantity       *reportQuantityRS_Indexes;      /* OPTIONAL */
140         long    *maxNrofRS_IndexesToReport;     /* OPTIONAL */
141         BOOLEAN_t        includeBeamMeasurements;
142         long    *reportAddNeighMeas;    /* OPTIONAL */
143         /*
144          * This type is extensible,
145          * possible extensions are below.
146          */
147         
148         /* Context for parsing across buffer boundaries */
149         asn_struct_ctx_t _asn_ctx;
150 } EventTriggerConfig_t;
151
152 /* Implementation */
153 /* extern asn_TYPE_descriptor_t asn_DEF_reportAmount_41;        // (Use -fall-defs-global to expose) */
154 /* extern asn_TYPE_descriptor_t asn_DEF_reportAddNeighMeas_55;  // (Use -fall-defs-global to expose) */
155 extern asn_TYPE_descriptor_t asn_DEF_EventTriggerConfig;
156 extern asn_SEQUENCE_specifics_t asn_SPC_EventTriggerConfig_specs_1;
157 extern asn_TYPE_member_t asn_MBR_EventTriggerConfig_1[10];
158
159 #ifdef __cplusplus
160 }
161 #endif
162
163 #endif  /* _EventTriggerConfig_H_ */
164 #include <asn_internal.h>