[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / RACH-ConfigCommon.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 _RACH_ConfigCommon_H_
9 #define _RACH_ConfigCommon_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "RACH-ConfigGeneric.h"
16 #include <NativeInteger.h>
17 #include <NativeEnumerated.h>
18 #include "RSRP-Range.h"
19 #include "SubcarrierSpacing.h"
20 #include <constr_CHOICE.h>
21 #include <constr_SEQUENCE.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /* Dependencies */
28 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR {
29         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_NOTHING,        /* No components present */
30         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneEighth,
31         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneFourth,
32         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneHalf,
33         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one,
34         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_two,
35         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_four,
36         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_eight,
37         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_sixteen
38 } RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR;
39 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth {
40         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n4      = 0,
41         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n8      = 1,
42         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n12     = 2,
43         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n16     = 3,
44         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n20     = 4,
45         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n24     = 5,
46         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n28     = 6,
47         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n32     = 7,
48         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n36     = 8,
49         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n40     = 9,
50         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n44     = 10,
51         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n48     = 11,
52         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n52     = 12,
53         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n56     = 13,
54         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n60     = 14,
55         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n64     = 15
56 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth;
57 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth {
58         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n4      = 0,
59         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n8      = 1,
60         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n12     = 2,
61         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n16     = 3,
62         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n20     = 4,
63         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n24     = 5,
64         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n28     = 6,
65         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n32     = 7,
66         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n36     = 8,
67         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n40     = 9,
68         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n44     = 10,
69         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n48     = 11,
70         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n52     = 12,
71         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n56     = 13,
72         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n60     = 14,
73         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n64     = 15
74 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth;
75 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf {
76         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n4        = 0,
77         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n8        = 1,
78         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n12       = 2,
79         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n16       = 3,
80         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n20       = 4,
81         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n24       = 5,
82         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n28       = 6,
83         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n32       = 7,
84         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n36       = 8,
85         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n40       = 9,
86         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n44       = 10,
87         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n48       = 11,
88         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n52       = 12,
89         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n56       = 13,
90         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n60       = 14,
91         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n64       = 15
92 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf;
93 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one {
94         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n4    = 0,
95         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n8    = 1,
96         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n12   = 2,
97         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n16   = 3,
98         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n20   = 4,
99         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n24   = 5,
100         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n28   = 6,
101         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n32   = 7,
102         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n36   = 8,
103         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n40   = 9,
104         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n44   = 10,
105         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n48   = 11,
106         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n52   = 12,
107         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n56   = 13,
108         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n60   = 14,
109         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n64   = 15
110 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one;
111 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two {
112         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n4    = 0,
113         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n8    = 1,
114         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n12   = 2,
115         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n16   = 3,
116         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n20   = 4,
117         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n24   = 5,
118         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n28   = 6,
119         RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n32   = 7
120 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two;
121 typedef enum RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA {
122         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b56      = 0,
123         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b144     = 1,
124         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b208     = 2,
125         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b256     = 3,
126         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b282     = 4,
127         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b480     = 5,
128         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b640     = 6,
129         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b800     = 7,
130         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b1000    = 8,
131         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b72      = 9,
132         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare6   = 10,
133         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare5   = 11,
134         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare4   = 12,
135         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare3   = 13,
136         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare2   = 14,
137         RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare1   = 15
138 } e_RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA;
139 typedef enum RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB {
140         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_minusinfinity     = 0,
141         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB0       = 1,
142         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB5       = 2,
143         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB8       = 3,
144         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB10      = 4,
145         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB12      = 5,
146         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB15      = 6,
147         RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB18      = 7
148 } e_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB;
149 typedef enum RACH_ConfigCommon__ra_ContentionResolutionTimer {
150         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf8     = 0,
151         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf16    = 1,
152         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf24    = 2,
153         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf32    = 3,
154         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf40    = 4,
155         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf48    = 5,
156         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf56    = 6,
157         RACH_ConfigCommon__ra_ContentionResolutionTimer_sf64    = 7
158 } e_RACH_ConfigCommon__ra_ContentionResolutionTimer;
159 typedef enum RACH_ConfigCommon__prach_RootSequenceIndex_PR {
160         RACH_ConfigCommon__prach_RootSequenceIndex_PR_NOTHING,  /* No components present */
161         RACH_ConfigCommon__prach_RootSequenceIndex_PR_l839,
162         RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
163 } RACH_ConfigCommon__prach_RootSequenceIndex_PR;
164 typedef enum RACH_ConfigCommon__restrictedSetConfig {
165         RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet  = 0,
166         RACH_ConfigCommon__restrictedSetConfig_restrictedSetTypeA       = 1,
167         RACH_ConfigCommon__restrictedSetConfig_restrictedSetTypeB       = 2
168 } e_RACH_ConfigCommon__restrictedSetConfig;
169 typedef enum RACH_ConfigCommon__msg3_transformPrecoder {
170         RACH_ConfigCommon__msg3_transformPrecoder_enabled       = 0
171 } e_RACH_ConfigCommon__msg3_transformPrecoder;
172
173 /* RACH-ConfigCommon */
174 typedef struct RACH_ConfigCommon {
175         RACH_ConfigGeneric_t     rach_ConfigGeneric;
176         long    *totalNumberOfRA_Preambles;     /* OPTIONAL */
177         struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB {
178                 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR present;
179                 union RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_u {
180                         long     oneEighth;
181                         long     oneFourth;
182                         long     oneHalf;
183                         long     one;
184                         long     two;
185                         long     four;
186                         long     eight;
187                         long     sixteen;
188                 } choice;
189                 
190                 /* Context for parsing across buffer boundaries */
191                 asn_struct_ctx_t _asn_ctx;
192         } *ssb_perRACH_OccasionAndCB_PreamblesPerSSB;
193         struct RACH_ConfigCommon__groupBconfigured {
194                 long     ra_Msg3SizeGroupA;
195                 long     messagePowerOffsetGroupB;
196                 long     numberOfRA_PreamblesGroupA;
197                 
198                 /* Context for parsing across buffer boundaries */
199                 asn_struct_ctx_t _asn_ctx;
200         } *groupBconfigured;
201         long     ra_ContentionResolutionTimer;
202         RSRP_Range_t    *rsrp_ThresholdSSB;     /* OPTIONAL */
203         RSRP_Range_t    *rsrp_ThresholdSSB_SUL; /* OPTIONAL */
204         struct RACH_ConfigCommon__prach_RootSequenceIndex {
205                 RACH_ConfigCommon__prach_RootSequenceIndex_PR present;
206                 union RACH_ConfigCommon__prach_RootSequenceIndex_u {
207                         long     l839;
208                         long     l139;
209                 } choice;
210                 
211                 /* Context for parsing across buffer boundaries */
212                 asn_struct_ctx_t _asn_ctx;
213         } prach_RootSequenceIndex;
214         SubcarrierSpacing_t     *msg1_SubcarrierSpacing;        /* OPTIONAL */
215         long     restrictedSetConfig;
216         long    *msg3_transformPrecoder;        /* OPTIONAL */
217         /*
218          * This type is extensible,
219          * possible extensions are below.
220          */
221         
222         /* Context for parsing across buffer boundaries */
223         asn_struct_ctx_t _asn_ctx;
224 } RACH_ConfigCommon_t;
225
226 /* Implementation */
227 /* extern asn_TYPE_descriptor_t asn_DEF_oneEighth_5;    // (Use -fall-defs-global to expose) */
228 /* extern asn_TYPE_descriptor_t asn_DEF_oneFourth_22;   // (Use -fall-defs-global to expose) */
229 /* extern asn_TYPE_descriptor_t asn_DEF_oneHalf_39;     // (Use -fall-defs-global to expose) */
230 /* extern asn_TYPE_descriptor_t asn_DEF_one_56; // (Use -fall-defs-global to expose) */
231 /* extern asn_TYPE_descriptor_t asn_DEF_two_73; // (Use -fall-defs-global to expose) */
232 /* extern asn_TYPE_descriptor_t asn_DEF_ra_Msg3SizeGroupA_86;   // (Use -fall-defs-global to expose) */
233 /* extern asn_TYPE_descriptor_t asn_DEF_messagePowerOffsetGroupB_103;   // (Use -fall-defs-global to expose) */
234 /* extern asn_TYPE_descriptor_t asn_DEF_ra_ContentionResolutionTimer_113;       // (Use -fall-defs-global to expose) */
235 /* extern asn_TYPE_descriptor_t asn_DEF_restrictedSetConfig_128;        // (Use -fall-defs-global to expose) */
236 /* extern asn_TYPE_descriptor_t asn_DEF_msg3_transformPrecoder_132;     // (Use -fall-defs-global to expose) */
237 extern asn_TYPE_descriptor_t asn_DEF_RACH_ConfigCommon;
238 extern asn_SEQUENCE_specifics_t asn_SPC_RACH_ConfigCommon_specs_1;
239 extern asn_TYPE_member_t asn_MBR_RACH_ConfigCommon_1[11];
240
241 #ifdef __cplusplus
242 }
243 #endif
244
245 #endif  /* _RACH_ConfigCommon_H_ */
246 #include <asn_internal.h>