[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / PDSCH-Config.h
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #ifndef _PDSCH_Config_H_
9 #define _PDSCH_Config_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include <NativeInteger.h>
16 #include <NativeEnumerated.h>
17 #include <NULL.h>
18 #include <constr_CHOICE.h>
19 #include <asn_SEQUENCE_OF.h>
20 #include <constr_SEQUENCE_OF.h>
21 #include "TCI-StateId.h"
22 #include "RateMatchPatternId.h"
23 #include <constr_SEQUENCE.h>
24 #include "ZP-CSI-RS-ResourceId.h"
25 #include "ZP-CSI-RS-ResourceSetId.h"
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /* Dependencies */
32 typedef enum PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR {
33         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR_NOTHING,    /* No components present */
34         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR_release,
35         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR_setup
36 } PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR;
37 typedef enum PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR {
38         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR_NOTHING,    /* No components present */
39         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR_release,
40         PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR_setup
41 } PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR;
42 typedef enum PDSCH_Config__vrb_ToPRB_Interleaver {
43         PDSCH_Config__vrb_ToPRB_Interleaver_n2  = 0,
44         PDSCH_Config__vrb_ToPRB_Interleaver_n4  = 1
45 } e_PDSCH_Config__vrb_ToPRB_Interleaver;
46 typedef enum PDSCH_Config__resourceAllocation {
47         PDSCH_Config__resourceAllocation_resourceAllocationType0        = 0,
48         PDSCH_Config__resourceAllocation_resourceAllocationType1        = 1,
49         PDSCH_Config__resourceAllocation_dynamicSwitch  = 2
50 } e_PDSCH_Config__resourceAllocation;
51 typedef enum PDSCH_Config__pdsch_TimeDomainAllocationList_PR {
52         PDSCH_Config__pdsch_TimeDomainAllocationList_PR_NOTHING,        /* No components present */
53         PDSCH_Config__pdsch_TimeDomainAllocationList_PR_release,
54         PDSCH_Config__pdsch_TimeDomainAllocationList_PR_setup
55 } PDSCH_Config__pdsch_TimeDomainAllocationList_PR;
56 typedef enum PDSCH_Config__pdsch_AggregationFactor {
57         PDSCH_Config__pdsch_AggregationFactor_n2        = 0,
58         PDSCH_Config__pdsch_AggregationFactor_n4        = 1,
59         PDSCH_Config__pdsch_AggregationFactor_n8        = 2
60 } e_PDSCH_Config__pdsch_AggregationFactor;
61 typedef enum PDSCH_Config__rbg_Size {
62         PDSCH_Config__rbg_Size_config1  = 0,
63         PDSCH_Config__rbg_Size_config2  = 1
64 } e_PDSCH_Config__rbg_Size;
65 typedef enum PDSCH_Config__mcs_Table {
66         PDSCH_Config__mcs_Table_qam256  = 0,
67         PDSCH_Config__mcs_Table_qam64LowSE      = 1
68 } e_PDSCH_Config__mcs_Table;
69 typedef enum PDSCH_Config__maxNrofCodeWordsScheduledByDCI {
70         PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1 = 0,
71         PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n2 = 1
72 } e_PDSCH_Config__maxNrofCodeWordsScheduledByDCI;
73 typedef enum PDSCH_Config__prb_BundlingType_PR {
74         PDSCH_Config__prb_BundlingType_PR_NOTHING,      /* No components present */
75         PDSCH_Config__prb_BundlingType_PR_staticBundling,
76         PDSCH_Config__prb_BundlingType_PR_dynamicBundling
77 } PDSCH_Config__prb_BundlingType_PR;
78 typedef enum PDSCH_Config__prb_BundlingType__staticBundling__bundleSize {
79         PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_n4   = 0,
80         PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband     = 1
81 } e_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize;
82 typedef enum PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1 {
83         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1_n4      = 0,
84         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1_wideband        = 1,
85         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1_n2_wideband     = 2,
86         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1_n4_wideband     = 3
87 } e_PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet1;
88 typedef enum PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet2 {
89         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet2_n4      = 0,
90         PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet2_wideband        = 1
91 } e_PDSCH_Config__prb_BundlingType__dynamicBundling__bundleSizeSet2;
92 typedef enum PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR {
93         PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR_NOTHING,       /* No components present */
94         PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR_release,
95         PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR_setup
96 } PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR;
97
98 /* Forward declarations */
99 struct RateMatchPatternGroup;
100 struct DMRS_DownlinkConfig;
101 struct TCI_State;
102 struct PDSCH_TimeDomainResourceAllocationList;
103 struct RateMatchPattern;
104 struct ZP_CSI_RS_Resource;
105 struct ZP_CSI_RS_ResourceSet;
106
107 /* PDSCH-Config */
108 typedef struct PDSCH_Config {
109         long    *dataScramblingIdentityPDSCH;   /* OPTIONAL */
110         struct PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA {
111                 PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_PR present;
112                 union PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA_u {
113                         NULL_t   release;
114                         struct DMRS_DownlinkConfig      *setup;
115                 } choice;
116                 
117                 /* Context for parsing across buffer boundaries */
118                 asn_struct_ctx_t _asn_ctx;
119         } *dmrs_DownlinkForPDSCH_MappingTypeA;
120         struct PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB {
121                 PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_PR present;
122                 union PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeB_u {
123                         NULL_t   release;
124                         struct DMRS_DownlinkConfig      *setup;
125                 } choice;
126                 
127                 /* Context for parsing across buffer boundaries */
128                 asn_struct_ctx_t _asn_ctx;
129         } *dmrs_DownlinkForPDSCH_MappingTypeB;
130         struct PDSCH_Config__tci_StatesToAddModList {
131                 A_SEQUENCE_OF(struct TCI_State) list;
132                 
133                 /* Context for parsing across buffer boundaries */
134                 asn_struct_ctx_t _asn_ctx;
135         } *tci_StatesToAddModList;
136         struct PDSCH_Config__tci_StatesToReleaseList {
137                 A_SEQUENCE_OF(TCI_StateId_t) list;
138                 
139                 /* Context for parsing across buffer boundaries */
140                 asn_struct_ctx_t _asn_ctx;
141         } *tci_StatesToReleaseList;
142         long    *vrb_ToPRB_Interleaver; /* OPTIONAL */
143         long     resourceAllocation;
144         struct PDSCH_Config__pdsch_TimeDomainAllocationList {
145                 PDSCH_Config__pdsch_TimeDomainAllocationList_PR present;
146                 union PDSCH_Config__pdsch_TimeDomainAllocationList_u {
147                         NULL_t   release;
148                         struct PDSCH_TimeDomainResourceAllocationList   *setup;
149                 } choice;
150                 
151                 /* Context for parsing across buffer boundaries */
152                 asn_struct_ctx_t _asn_ctx;
153         } *pdsch_TimeDomainAllocationList;
154         long    *pdsch_AggregationFactor;       /* OPTIONAL */
155         struct PDSCH_Config__rateMatchPatternToAddModList {
156                 A_SEQUENCE_OF(struct RateMatchPattern) list;
157                 
158                 /* Context for parsing across buffer boundaries */
159                 asn_struct_ctx_t _asn_ctx;
160         } *rateMatchPatternToAddModList;
161         struct PDSCH_Config__rateMatchPatternToReleaseList {
162                 A_SEQUENCE_OF(RateMatchPatternId_t) list;
163                 
164                 /* Context for parsing across buffer boundaries */
165                 asn_struct_ctx_t _asn_ctx;
166         } *rateMatchPatternToReleaseList;
167         struct RateMatchPatternGroup    *rateMatchPatternGroup1;        /* OPTIONAL */
168         struct RateMatchPatternGroup    *rateMatchPatternGroup2;        /* OPTIONAL */
169         long     rbg_Size;
170         long    *mcs_Table;     /* OPTIONAL */
171         long    *maxNrofCodeWordsScheduledByDCI;        /* OPTIONAL */
172         struct PDSCH_Config__prb_BundlingType {
173                 PDSCH_Config__prb_BundlingType_PR present;
174                 union PDSCH_Config__prb_BundlingType_u {
175                         struct PDSCH_Config__prb_BundlingType__staticBundling {
176                                 long    *bundleSize;    /* OPTIONAL */
177                                 
178                                 /* Context for parsing across buffer boundaries */
179                                 asn_struct_ctx_t _asn_ctx;
180                         } *staticBundling;
181                         struct PDSCH_Config__prb_BundlingType__dynamicBundling {
182                                 long    *bundleSizeSet1;        /* OPTIONAL */
183                                 long    *bundleSizeSet2;        /* OPTIONAL */
184                                 
185                                 /* Context for parsing across buffer boundaries */
186                                 asn_struct_ctx_t _asn_ctx;
187                         } *dynamicBundling;
188                 } choice;
189                 
190                 /* Context for parsing across buffer boundaries */
191                 asn_struct_ctx_t _asn_ctx;
192         } prb_BundlingType;
193         struct PDSCH_Config__zp_CSI_RS_ResourceToAddModList {
194                 A_SEQUENCE_OF(struct ZP_CSI_RS_Resource) list;
195                 
196                 /* Context for parsing across buffer boundaries */
197                 asn_struct_ctx_t _asn_ctx;
198         } *zp_CSI_RS_ResourceToAddModList;
199         struct PDSCH_Config__zp_CSI_RS_ResourceToReleaseList {
200                 A_SEQUENCE_OF(ZP_CSI_RS_ResourceId_t) list;
201                 
202                 /* Context for parsing across buffer boundaries */
203                 asn_struct_ctx_t _asn_ctx;
204         } *zp_CSI_RS_ResourceToReleaseList;
205         struct PDSCH_Config__aperiodic_ZP_CSI_RS_ResourceSetsToAddModList {
206                 A_SEQUENCE_OF(struct ZP_CSI_RS_ResourceSet) list;
207                 
208                 /* Context for parsing across buffer boundaries */
209                 asn_struct_ctx_t _asn_ctx;
210         } *aperiodic_ZP_CSI_RS_ResourceSetsToAddModList;
211         struct PDSCH_Config__aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList {
212                 A_SEQUENCE_OF(ZP_CSI_RS_ResourceSetId_t) list;
213                 
214                 /* Context for parsing across buffer boundaries */
215                 asn_struct_ctx_t _asn_ctx;
216         } *aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList;
217         struct PDSCH_Config__sp_ZP_CSI_RS_ResourceSetsToAddModList {
218                 A_SEQUENCE_OF(struct ZP_CSI_RS_ResourceSet) list;
219                 
220                 /* Context for parsing across buffer boundaries */
221                 asn_struct_ctx_t _asn_ctx;
222         } *sp_ZP_CSI_RS_ResourceSetsToAddModList;
223         struct PDSCH_Config__sp_ZP_CSI_RS_ResourceSetsToReleaseList {
224                 A_SEQUENCE_OF(ZP_CSI_RS_ResourceSetId_t) list;
225                 
226                 /* Context for parsing across buffer boundaries */
227                 asn_struct_ctx_t _asn_ctx;
228         } *sp_ZP_CSI_RS_ResourceSetsToReleaseList;
229         struct PDSCH_Config__p_ZP_CSI_RS_ResourceSet {
230                 PDSCH_Config__p_ZP_CSI_RS_ResourceSet_PR present;
231                 union PDSCH_Config__p_ZP_CSI_RS_ResourceSet_u {
232                         NULL_t   release;
233                         struct ZP_CSI_RS_ResourceSet    *setup;
234                 } choice;
235                 
236                 /* Context for parsing across buffer boundaries */
237                 asn_struct_ctx_t _asn_ctx;
238         } *p_ZP_CSI_RS_ResourceSet;
239         /*
240          * This type is extensible,
241          * possible extensions are below.
242          */
243         
244         /* Context for parsing across buffer boundaries */
245         asn_struct_ctx_t _asn_ctx;
246 } PDSCH_Config_t;
247
248 /* Implementation */
249 /* extern asn_TYPE_descriptor_t asn_DEF_vrb_ToPRB_Interleaver_13;       // (Use -fall-defs-global to expose) */
250 /* extern asn_TYPE_descriptor_t asn_DEF_resourceAllocation_16;  // (Use -fall-defs-global to expose) */
251 /* extern asn_TYPE_descriptor_t asn_DEF_pdsch_AggregationFactor_23;     // (Use -fall-defs-global to expose) */
252 /* extern asn_TYPE_descriptor_t asn_DEF_rbg_Size_33;    // (Use -fall-defs-global to expose) */
253 /* extern asn_TYPE_descriptor_t asn_DEF_mcs_Table_36;   // (Use -fall-defs-global to expose) */
254 /* extern asn_TYPE_descriptor_t asn_DEF_maxNrofCodeWordsScheduledByDCI_39;      // (Use -fall-defs-global to expose) */
255 /* extern asn_TYPE_descriptor_t asn_DEF_bundleSize_44;  // (Use -fall-defs-global to expose) */
256 /* extern asn_TYPE_descriptor_t asn_DEF_bundleSizeSet1_48;      // (Use -fall-defs-global to expose) */
257 /* extern asn_TYPE_descriptor_t asn_DEF_bundleSizeSet2_53;      // (Use -fall-defs-global to expose) */
258 extern asn_TYPE_descriptor_t asn_DEF_PDSCH_Config;
259 extern asn_SEQUENCE_specifics_t asn_SPC_PDSCH_Config_specs_1;
260 extern asn_TYPE_member_t asn_MBR_PDSCH_Config_1[24];
261
262 #ifdef __cplusplus
263 }
264 #endif
265
266 #endif  /* _PDSCH_Config_H_ */
267 #include <asn_internal.h>