2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #ifndef _PDSCH_Config_H_
9 #define _PDSCH_Config_H_
12 #include <asn_application.h>
14 /* Including external dependencies */
15 #include <NativeInteger.h>
16 #include <NativeEnumerated.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"
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;
98 /* Forward declarations */
99 struct RateMatchPatternGroup;
100 struct DMRS_DownlinkConfig;
102 struct PDSCH_TimeDomainResourceAllocationList;
103 struct RateMatchPattern;
104 struct ZP_CSI_RS_Resource;
105 struct ZP_CSI_RS_ResourceSet;
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 {
114 struct DMRS_DownlinkConfig *setup;
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 {
124 struct DMRS_DownlinkConfig *setup;
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;
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;
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 {
148 struct PDSCH_TimeDomainResourceAllocationList *setup;
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;
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;
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 */
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 */
178 /* Context for parsing across buffer boundaries */
179 asn_struct_ctx_t _asn_ctx;
181 struct PDSCH_Config__prb_BundlingType__dynamicBundling {
182 long *bundleSizeSet1; /* OPTIONAL */
183 long *bundleSizeSet2; /* OPTIONAL */
185 /* Context for parsing across buffer boundaries */
186 asn_struct_ctx_t _asn_ctx;
190 /* Context for parsing across buffer boundaries */
191 asn_struct_ctx_t _asn_ctx;
193 struct PDSCH_Config__zp_CSI_RS_ResourceToAddModList {
194 A_SEQUENCE_OF(struct ZP_CSI_RS_Resource) list;
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;
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;
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;
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;
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;
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 {
233 struct ZP_CSI_RS_ResourceSet *setup;
236 /* Context for parsing across buffer boundaries */
237 asn_struct_ctx_t _asn_ctx;
238 } *p_ZP_CSI_RS_ResourceSet;
240 * This type is extensible,
241 * possible extensions are below.
244 /* Context for parsing across buffer boundaries */
245 asn_struct_ctx_t _asn_ctx;
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];
266 #endif /* _PDSCH_Config_H_ */
267 #include <asn_internal.h>