[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / SIB2.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 _SIB2_H_
9 #define _SIB2_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include <NativeInteger.h>
16 #include "RangeToBestCell.h"
17 #include <NativeEnumerated.h>
18 #include "MobilityStateParameters.h"
19 #include <constr_SEQUENCE.h>
20 #include "ReselectionThreshold.h"
21 #include "ReselectionThresholdQ.h"
22 #include "CellReselectionPriority.h"
23 #include "CellReselectionSubPriority.h"
24 #include "Q-RxLevMin.h"
25 #include "Q-QualMin.h"
26 #include "T-Reselection.h"
27 #include "P-Max.h"
28 #include <BOOLEAN.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 /* Dependencies */
35 typedef enum SIB2__cellReselectionInfoCommon__q_Hyst {
36         SIB2__cellReselectionInfoCommon__q_Hyst_dB0     = 0,
37         SIB2__cellReselectionInfoCommon__q_Hyst_dB1     = 1,
38         SIB2__cellReselectionInfoCommon__q_Hyst_dB2     = 2,
39         SIB2__cellReselectionInfoCommon__q_Hyst_dB3     = 3,
40         SIB2__cellReselectionInfoCommon__q_Hyst_dB4     = 4,
41         SIB2__cellReselectionInfoCommon__q_Hyst_dB5     = 5,
42         SIB2__cellReselectionInfoCommon__q_Hyst_dB6     = 6,
43         SIB2__cellReselectionInfoCommon__q_Hyst_dB8     = 7,
44         SIB2__cellReselectionInfoCommon__q_Hyst_dB10    = 8,
45         SIB2__cellReselectionInfoCommon__q_Hyst_dB12    = 9,
46         SIB2__cellReselectionInfoCommon__q_Hyst_dB14    = 10,
47         SIB2__cellReselectionInfoCommon__q_Hyst_dB16    = 11,
48         SIB2__cellReselectionInfoCommon__q_Hyst_dB18    = 12,
49         SIB2__cellReselectionInfoCommon__q_Hyst_dB20    = 13,
50         SIB2__cellReselectionInfoCommon__q_Hyst_dB22    = 14,
51         SIB2__cellReselectionInfoCommon__q_Hyst_dB24    = 15
52 } e_SIB2__cellReselectionInfoCommon__q_Hyst;
53 typedef enum SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium {
54         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium_dB_6    = 0,
55         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium_dB_4    = 1,
56         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium_dB_2    = 2,
57         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium_dB0     = 3
58 } e_SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_Medium;
59 typedef enum SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High {
60         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High_dB_6      = 0,
61         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High_dB_4      = 1,
62         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High_dB_2      = 2,
63         SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High_dB0       = 3
64 } e_SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF__sf_High;
65
66 /* Forward declarations */
67 struct ThresholdNR;
68 struct MultiFrequencyBandListNR_SIB;
69 struct SSB_MTC;
70 struct SS_RSSI_Measurement;
71 struct SSB_ToMeasure;
72 struct SpeedStateScaleFactors;
73
74 /* SIB2 */
75 typedef struct SIB2 {
76         struct SIB2__cellReselectionInfoCommon {
77                 long    *nrofSS_BlocksToAverage;        /* OPTIONAL */
78                 struct ThresholdNR      *absThreshSS_BlocksConsolidation;       /* OPTIONAL */
79                 RangeToBestCell_t       *rangeToBestCell;       /* OPTIONAL */
80                 long     q_Hyst;
81                 struct SIB2__cellReselectionInfoCommon__speedStateReselectionPars {
82                         MobilityStateParameters_t        mobilityStateParameters;
83                         struct SIB2__cellReselectionInfoCommon__speedStateReselectionPars__q_HystSF {
84                                 long     sf_Medium;
85                                 long     sf_High;
86                                 
87                                 /* Context for parsing across buffer boundaries */
88                                 asn_struct_ctx_t _asn_ctx;
89                         } q_HystSF;
90                         
91                         /* Context for parsing across buffer boundaries */
92                         asn_struct_ctx_t _asn_ctx;
93                 } *speedStateReselectionPars;
94                 /*
95                  * This type is extensible,
96                  * possible extensions are below.
97                  */
98                 
99                 /* Context for parsing across buffer boundaries */
100                 asn_struct_ctx_t _asn_ctx;
101         } cellReselectionInfoCommon;
102         struct SIB2__cellReselectionServingFreqInfo {
103                 ReselectionThreshold_t  *s_NonIntraSearchP;     /* OPTIONAL */
104                 ReselectionThresholdQ_t *s_NonIntraSearchQ;     /* OPTIONAL */
105                 ReselectionThreshold_t   threshServingLowP;
106                 ReselectionThresholdQ_t *threshServingLowQ;     /* OPTIONAL */
107                 CellReselectionPriority_t        cellReselectionPriority;
108                 CellReselectionSubPriority_t    *cellReselectionSubPriority;    /* OPTIONAL */
109                 /*
110                  * This type is extensible,
111                  * possible extensions are below.
112                  */
113                 
114                 /* Context for parsing across buffer boundaries */
115                 asn_struct_ctx_t _asn_ctx;
116         } cellReselectionServingFreqInfo;
117         struct SIB2__intraFreqCellReselectionInfo {
118                 Q_RxLevMin_t     q_RxLevMin;
119                 Q_RxLevMin_t    *q_RxLevMinSUL; /* OPTIONAL */
120                 Q_QualMin_t     *q_QualMin;     /* OPTIONAL */
121                 ReselectionThreshold_t   s_IntraSearchP;
122                 ReselectionThresholdQ_t *s_IntraSearchQ;        /* OPTIONAL */
123                 T_Reselection_t  t_ReselectionNR;
124                 struct MultiFrequencyBandListNR_SIB     *frequencyBandList;     /* OPTIONAL */
125                 struct MultiFrequencyBandListNR_SIB     *frequencyBandListSUL;  /* OPTIONAL */
126                 P_Max_t *p_Max; /* OPTIONAL */
127                 struct SSB_MTC  *smtc;  /* OPTIONAL */
128                 struct SS_RSSI_Measurement      *ss_RSSI_Measurement;   /* OPTIONAL */
129                 struct SSB_ToMeasure    *ssb_ToMeasure; /* OPTIONAL */
130                 BOOLEAN_t        deriveSSB_IndexFromCell;
131                 /*
132                  * This type is extensible,
133                  * possible extensions are below.
134                  */
135                 struct SIB2__intraFreqCellReselectionInfo__ext1 {
136                         struct SpeedStateScaleFactors   *t_ReselectionNR_SF;    /* OPTIONAL */
137                         
138                         /* Context for parsing across buffer boundaries */
139                         asn_struct_ctx_t _asn_ctx;
140                 } *ext1;
141                 
142                 /* Context for parsing across buffer boundaries */
143                 asn_struct_ctx_t _asn_ctx;
144         } intraFreqCellReselectionInfo;
145         /*
146          * This type is extensible,
147          * possible extensions are below.
148          */
149         
150         /* Context for parsing across buffer boundaries */
151         asn_struct_ctx_t _asn_ctx;
152 } SIB2_t;
153
154 /* Implementation */
155 /* extern asn_TYPE_descriptor_t asn_DEF_q_Hyst_6;       // (Use -fall-defs-global to expose) */
156 /* extern asn_TYPE_descriptor_t asn_DEF_sf_Medium_26;   // (Use -fall-defs-global to expose) */
157 /* extern asn_TYPE_descriptor_t asn_DEF_sf_High_31;     // (Use -fall-defs-global to expose) */
158 extern asn_TYPE_descriptor_t asn_DEF_SIB2;
159 extern asn_SEQUENCE_specifics_t asn_SPC_SIB2_specs_1;
160 extern asn_TYPE_member_t asn_MBR_SIB2_1[3];
161
162 #ifdef __cplusplus
163 }
164 #endif
165
166 #endif  /* _SIB2_H_ */
167 #include <asn_internal.h>