[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / ServingCellConfig.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 _ServingCellConfig_H_
9 #define _ServingCellConfig_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "BWP-Id.h"
16 #include <NativeEnumerated.h>
17 #include "TAG-Id.h"
18 #include "MeasObjectId.h"
19 #include <asn_SEQUENCE_OF.h>
20 #include <constr_SEQUENCE_OF.h>
21 #include <NULL.h>
22 #include <constr_CHOICE.h>
23 #include "RateMatchPatternId.h"
24 #include <constr_SEQUENCE.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 /* Dependencies */
31 typedef enum ServingCellConfig__bwp_InactivityTimer {
32         ServingCellConfig__bwp_InactivityTimer_ms2      = 0,
33         ServingCellConfig__bwp_InactivityTimer_ms3      = 1,
34         ServingCellConfig__bwp_InactivityTimer_ms4      = 2,
35         ServingCellConfig__bwp_InactivityTimer_ms5      = 3,
36         ServingCellConfig__bwp_InactivityTimer_ms6      = 4,
37         ServingCellConfig__bwp_InactivityTimer_ms8      = 5,
38         ServingCellConfig__bwp_InactivityTimer_ms10     = 6,
39         ServingCellConfig__bwp_InactivityTimer_ms20     = 7,
40         ServingCellConfig__bwp_InactivityTimer_ms30     = 8,
41         ServingCellConfig__bwp_InactivityTimer_ms40     = 9,
42         ServingCellConfig__bwp_InactivityTimer_ms50     = 10,
43         ServingCellConfig__bwp_InactivityTimer_ms60     = 11,
44         ServingCellConfig__bwp_InactivityTimer_ms80     = 12,
45         ServingCellConfig__bwp_InactivityTimer_ms100    = 13,
46         ServingCellConfig__bwp_InactivityTimer_ms200    = 14,
47         ServingCellConfig__bwp_InactivityTimer_ms300    = 15,
48         ServingCellConfig__bwp_InactivityTimer_ms500    = 16,
49         ServingCellConfig__bwp_InactivityTimer_ms750    = 17,
50         ServingCellConfig__bwp_InactivityTimer_ms1280   = 18,
51         ServingCellConfig__bwp_InactivityTimer_ms1920   = 19,
52         ServingCellConfig__bwp_InactivityTimer_ms2560   = 20,
53         ServingCellConfig__bwp_InactivityTimer_spare10  = 21,
54         ServingCellConfig__bwp_InactivityTimer_spare9   = 22,
55         ServingCellConfig__bwp_InactivityTimer_spare8   = 23,
56         ServingCellConfig__bwp_InactivityTimer_spare7   = 24,
57         ServingCellConfig__bwp_InactivityTimer_spare6   = 25,
58         ServingCellConfig__bwp_InactivityTimer_spare5   = 26,
59         ServingCellConfig__bwp_InactivityTimer_spare4   = 27,
60         ServingCellConfig__bwp_InactivityTimer_spare3   = 28,
61         ServingCellConfig__bwp_InactivityTimer_spare2   = 29,
62         ServingCellConfig__bwp_InactivityTimer_spare1   = 30
63 } e_ServingCellConfig__bwp_InactivityTimer;
64 typedef enum ServingCellConfig__pdcch_ServingCellConfig_PR {
65         ServingCellConfig__pdcch_ServingCellConfig_PR_NOTHING,  /* No components present */
66         ServingCellConfig__pdcch_ServingCellConfig_PR_release,
67         ServingCellConfig__pdcch_ServingCellConfig_PR_setup
68 } ServingCellConfig__pdcch_ServingCellConfig_PR;
69 typedef enum ServingCellConfig__pdsch_ServingCellConfig_PR {
70         ServingCellConfig__pdsch_ServingCellConfig_PR_NOTHING,  /* No components present */
71         ServingCellConfig__pdsch_ServingCellConfig_PR_release,
72         ServingCellConfig__pdsch_ServingCellConfig_PR_setup
73 } ServingCellConfig__pdsch_ServingCellConfig_PR;
74 typedef enum ServingCellConfig__csi_MeasConfig_PR {
75         ServingCellConfig__csi_MeasConfig_PR_NOTHING,   /* No components present */
76         ServingCellConfig__csi_MeasConfig_PR_release,
77         ServingCellConfig__csi_MeasConfig_PR_setup
78 } ServingCellConfig__csi_MeasConfig_PR;
79 typedef enum ServingCellConfig__sCellDeactivationTimer {
80         ServingCellConfig__sCellDeactivationTimer_ms20  = 0,
81         ServingCellConfig__sCellDeactivationTimer_ms40  = 1,
82         ServingCellConfig__sCellDeactivationTimer_ms80  = 2,
83         ServingCellConfig__sCellDeactivationTimer_ms160 = 3,
84         ServingCellConfig__sCellDeactivationTimer_ms200 = 4,
85         ServingCellConfig__sCellDeactivationTimer_ms240 = 5,
86         ServingCellConfig__sCellDeactivationTimer_ms320 = 6,
87         ServingCellConfig__sCellDeactivationTimer_ms400 = 7,
88         ServingCellConfig__sCellDeactivationTimer_ms480 = 8,
89         ServingCellConfig__sCellDeactivationTimer_ms520 = 9,
90         ServingCellConfig__sCellDeactivationTimer_ms640 = 10,
91         ServingCellConfig__sCellDeactivationTimer_ms720 = 11,
92         ServingCellConfig__sCellDeactivationTimer_ms840 = 12,
93         ServingCellConfig__sCellDeactivationTimer_ms1280        = 13,
94         ServingCellConfig__sCellDeactivationTimer_spare2        = 14,
95         ServingCellConfig__sCellDeactivationTimer_spare1        = 15
96 } e_ServingCellConfig__sCellDeactivationTimer;
97 typedef enum ServingCellConfig__dummy {
98         ServingCellConfig__dummy_enabled        = 0
99 } e_ServingCellConfig__dummy;
100 typedef enum ServingCellConfig__pathlossReferenceLinking {
101         ServingCellConfig__pathlossReferenceLinking_pCell       = 0,
102         ServingCellConfig__pathlossReferenceLinking_sCell       = 1
103 } e_ServingCellConfig__pathlossReferenceLinking;
104 typedef enum ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR {
105         ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR_NOTHING,      /* No components present */
106         ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR_release,
107         ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR_setup
108 } ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR;
109
110 /* Forward declarations */
111 struct TDD_UL_DL_ConfigDedicated;
112 struct BWP_DownlinkDedicated;
113 struct UplinkConfig;
114 struct CrossCarrierSchedulingConfig;
115 struct BWP_Downlink;
116 struct PDCCH_ServingCellConfig;
117 struct PDSCH_ServingCellConfig;
118 struct CSI_MeasConfig;
119 struct RateMatchPatternLTE_CRS;
120 struct RateMatchPattern;
121 struct SCS_SpecificCarrier;
122
123 /* ServingCellConfig */
124 typedef struct ServingCellConfig {
125         struct TDD_UL_DL_ConfigDedicated        *tdd_UL_DL_ConfigurationDedicated;      /* OPTIONAL */
126         struct BWP_DownlinkDedicated    *initialDownlinkBWP;    /* OPTIONAL */
127         struct ServingCellConfig__downlinkBWP_ToReleaseList {
128                 A_SEQUENCE_OF(BWP_Id_t) list;
129                 
130                 /* Context for parsing across buffer boundaries */
131                 asn_struct_ctx_t _asn_ctx;
132         } *downlinkBWP_ToReleaseList;
133         struct ServingCellConfig__downlinkBWP_ToAddModList {
134                 A_SEQUENCE_OF(struct BWP_Downlink) list;
135                 
136                 /* Context for parsing across buffer boundaries */
137                 asn_struct_ctx_t _asn_ctx;
138         } *downlinkBWP_ToAddModList;
139         BWP_Id_t        *firstActiveDownlinkBWP_Id;     /* OPTIONAL */
140         long    *bwp_InactivityTimer;   /* OPTIONAL */
141         BWP_Id_t        *defaultDownlinkBWP_Id; /* OPTIONAL */
142         struct UplinkConfig     *uplinkConfig;  /* OPTIONAL */
143         struct UplinkConfig     *supplementaryUplink;   /* OPTIONAL */
144         struct ServingCellConfig__pdcch_ServingCellConfig {
145                 ServingCellConfig__pdcch_ServingCellConfig_PR present;
146                 union ServingCellConfig__pdcch_ServingCellConfig_u {
147                         NULL_t   release;
148                         struct PDCCH_ServingCellConfig  *setup;
149                 } choice;
150                 
151                 /* Context for parsing across buffer boundaries */
152                 asn_struct_ctx_t _asn_ctx;
153         } *pdcch_ServingCellConfig;
154         struct ServingCellConfig__pdsch_ServingCellConfig {
155                 ServingCellConfig__pdsch_ServingCellConfig_PR present;
156                 union ServingCellConfig__pdsch_ServingCellConfig_u {
157                         NULL_t   release;
158                         struct PDSCH_ServingCellConfig  *setup;
159                 } choice;
160                 
161                 /* Context for parsing across buffer boundaries */
162                 asn_struct_ctx_t _asn_ctx;
163         } *pdsch_ServingCellConfig;
164         struct ServingCellConfig__csi_MeasConfig {
165                 ServingCellConfig__csi_MeasConfig_PR present;
166                 union ServingCellConfig__csi_MeasConfig_u {
167                         NULL_t   release;
168                         struct CSI_MeasConfig   *setup;
169                 } choice;
170                 
171                 /* Context for parsing across buffer boundaries */
172                 asn_struct_ctx_t _asn_ctx;
173         } *csi_MeasConfig;
174         long    *sCellDeactivationTimer;        /* OPTIONAL */
175         struct CrossCarrierSchedulingConfig     *crossCarrierSchedulingConfig;  /* OPTIONAL */
176         TAG_Id_t         tag_Id;
177         long    *dummy; /* OPTIONAL */
178         long    *pathlossReferenceLinking;      /* OPTIONAL */
179         MeasObjectId_t  *servingCellMO; /* OPTIONAL */
180         /*
181          * This type is extensible,
182          * possible extensions are below.
183          */
184         struct ServingCellConfig__ext1 {
185                 struct ServingCellConfig__ext1__lte_CRS_ToMatchAround {
186                         ServingCellConfig__ext1__lte_CRS_ToMatchAround_PR present;
187                         union ServingCellConfig__ext1__lte_CRS_ToMatchAround_u {
188                                 NULL_t   release;
189                                 struct RateMatchPatternLTE_CRS  *setup;
190                         } choice;
191                         
192                         /* Context for parsing across buffer boundaries */
193                         asn_struct_ctx_t _asn_ctx;
194                 } *lte_CRS_ToMatchAround;
195                 struct ServingCellConfig__ext1__rateMatchPatternToAddModList {
196                         A_SEQUENCE_OF(struct RateMatchPattern) list;
197                         
198                         /* Context for parsing across buffer boundaries */
199                         asn_struct_ctx_t _asn_ctx;
200                 } *rateMatchPatternToAddModList;
201                 struct ServingCellConfig__ext1__rateMatchPatternToReleaseList {
202                         A_SEQUENCE_OF(RateMatchPatternId_t) list;
203                         
204                         /* Context for parsing across buffer boundaries */
205                         asn_struct_ctx_t _asn_ctx;
206                 } *rateMatchPatternToReleaseList;
207                 struct ServingCellConfig__ext1__downlinkChannelBW_PerSCS_List {
208                         A_SEQUENCE_OF(struct SCS_SpecificCarrier) list;
209                         
210                         /* Context for parsing across buffer boundaries */
211                         asn_struct_ctx_t _asn_ctx;
212                 } *downlinkChannelBW_PerSCS_List;
213                 
214                 /* Context for parsing across buffer boundaries */
215                 asn_struct_ctx_t _asn_ctx;
216         } *ext1;
217         
218         /* Context for parsing across buffer boundaries */
219         asn_struct_ctx_t _asn_ctx;
220 } ServingCellConfig_t;
221
222 /* Implementation */
223 /* extern asn_TYPE_descriptor_t asn_DEF_bwp_InactivityTimer_9;  // (Use -fall-defs-global to expose) */
224 /* extern asn_TYPE_descriptor_t asn_DEF_sCellDeactivationTimer_53;      // (Use -fall-defs-global to expose) */
225 /* extern asn_TYPE_descriptor_t asn_DEF_dummy_72;       // (Use -fall-defs-global to expose) */
226 /* extern asn_TYPE_descriptor_t asn_DEF_pathlossReferenceLinking_74;    // (Use -fall-defs-global to expose) */
227 extern asn_TYPE_descriptor_t asn_DEF_ServingCellConfig;
228 extern asn_SEQUENCE_specifics_t asn_SPC_ServingCellConfig_specs_1;
229 extern asn_TYPE_member_t asn_MBR_ServingCellConfig_1[19];
230
231 #ifdef __cplusplus
232 }
233 #endif
234
235 #endif  /* _ServingCellConfig_H_ */
236 #include <asn_internal.h>