2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #ifndef _CodebookConfig_H_
9 #define _CodebookConfig_H_
12 #include <asn_application.h>
14 /* Including external dependencies */
15 #include <NativeInteger.h>
16 #include <BIT_STRING.h>
17 #include <constr_SEQUENCE.h>
18 #include <constr_CHOICE.h>
19 #include <NativeEnumerated.h>
27 typedef enum CodebookConfig__codebookType_PR {
28 CodebookConfig__codebookType_PR_NOTHING, /* No components present */
29 CodebookConfig__codebookType_PR_type1,
30 CodebookConfig__codebookType_PR_type2
31 } CodebookConfig__codebookType_PR;
32 typedef enum CodebookConfig__codebookType__type1__subType_PR {
33 CodebookConfig__codebookType__type1__subType_PR_NOTHING, /* No components present */
34 CodebookConfig__codebookType__type1__subType_PR_typeI_SinglePanel,
35 CodebookConfig__codebookType__type1__subType_PR_typeI_MultiPanel
36 } CodebookConfig__codebookType__type1__subType_PR;
37 typedef enum CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR {
38 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR_NOTHING, /* No components present */
39 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR_two,
40 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR_moreThanTwo
41 } CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR;
42 typedef enum CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR {
43 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_NOTHING, /* No components present */
44 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_two_one_TypeI_SinglePanel_Restriction,
45 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_two_two_TypeI_SinglePanel_Restriction,
46 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_four_one_TypeI_SinglePanel_Restriction,
47 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_three_two_TypeI_SinglePanel_Restriction,
48 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_six_one_TypeI_SinglePanel_Restriction,
49 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_four_two_TypeI_SinglePanel_Restriction,
50 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_eight_one_TypeI_SinglePanel_Restriction,
51 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_four_three_TypeI_SinglePanel_Restriction,
52 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_six_two_TypeI_SinglePanel_Restriction,
53 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_twelve_one_TypeI_SinglePanel_Restriction,
54 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_four_four_TypeI_SinglePanel_Restriction,
55 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_eight_two_TypeI_SinglePanel_Restriction,
56 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR_sixteen_one_TypeI_SinglePanel_Restriction
57 } CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR;
58 typedef enum CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR {
59 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_NOTHING, /* No components present */
60 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_two_two_one_TypeI_MultiPanel_Restriction,
61 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_two_four_one_TypeI_MultiPanel_Restriction,
62 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_four_two_one_TypeI_MultiPanel_Restriction,
63 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_two_two_two_TypeI_MultiPanel_Restriction,
64 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_two_eight_one_TypeI_MultiPanel_Restriction,
65 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_four_four_one_TypeI_MultiPanel_Restriction,
66 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_two_four_two_TypeI_MultiPanel_Restriction,
67 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR_four_two_two_TypeI_MultiPanel_Restriction
68 } CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR;
69 typedef enum CodebookConfig__codebookType__type2__subType_PR {
70 CodebookConfig__codebookType__type2__subType_PR_NOTHING, /* No components present */
71 CodebookConfig__codebookType__type2__subType_PR_typeII,
72 CodebookConfig__codebookType__type2__subType_PR_typeII_PortSelection
73 } CodebookConfig__codebookType__type2__subType_PR;
74 typedef enum CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR {
75 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_NOTHING, /* No components present */
76 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_two_one,
77 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_two_two,
78 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_four_one,
79 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_three_two,
80 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_six_one,
81 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_four_two,
82 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_eight_one,
83 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_four_three,
84 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_six_two,
85 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_twelve_one,
86 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_four_four,
87 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_eight_two,
88 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR_sixteen_one
89 } CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR;
90 typedef enum CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize {
91 CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize_n1 = 0,
92 CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize_n2 = 1,
93 CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize_n3 = 2,
94 CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize_n4 = 3
95 } e_CodebookConfig__codebookType__type2__subType__typeII_PortSelection__portSelectionSamplingSize;
96 typedef enum CodebookConfig__codebookType__type2__phaseAlphabetSize {
97 CodebookConfig__codebookType__type2__phaseAlphabetSize_n4 = 0,
98 CodebookConfig__codebookType__type2__phaseAlphabetSize_n8 = 1
99 } e_CodebookConfig__codebookType__type2__phaseAlphabetSize;
100 typedef enum CodebookConfig__codebookType__type2__numberOfBeams {
101 CodebookConfig__codebookType__type2__numberOfBeams_two = 0,
102 CodebookConfig__codebookType__type2__numberOfBeams_three = 1,
103 CodebookConfig__codebookType__type2__numberOfBeams_four = 2
104 } e_CodebookConfig__codebookType__type2__numberOfBeams;
107 typedef struct CodebookConfig {
108 struct CodebookConfig__codebookType {
109 CodebookConfig__codebookType_PR present;
110 union CodebookConfig__codebookType_u {
111 struct CodebookConfig__codebookType__type1 {
112 struct CodebookConfig__codebookType__type1__subType {
113 CodebookConfig__codebookType__type1__subType_PR present;
114 union CodebookConfig__codebookType__type1__subType_u {
115 struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel {
116 struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts {
117 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR present;
118 union CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_u {
119 struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__two {
120 BIT_STRING_t twoTX_CodebookSubsetRestriction;
122 /* Context for parsing across buffer boundaries */
123 asn_struct_ctx_t _asn_ctx;
125 struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo {
126 struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2 {
127 CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_PR present;
128 union CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2_u {
129 BIT_STRING_t two_one_TypeI_SinglePanel_Restriction;
130 BIT_STRING_t two_two_TypeI_SinglePanel_Restriction;
131 BIT_STRING_t four_one_TypeI_SinglePanel_Restriction;
132 BIT_STRING_t three_two_TypeI_SinglePanel_Restriction;
133 BIT_STRING_t six_one_TypeI_SinglePanel_Restriction;
134 BIT_STRING_t four_two_TypeI_SinglePanel_Restriction;
135 BIT_STRING_t eight_one_TypeI_SinglePanel_Restriction;
136 BIT_STRING_t four_three_TypeI_SinglePanel_Restriction;
137 BIT_STRING_t six_two_TypeI_SinglePanel_Restriction;
138 BIT_STRING_t twelve_one_TypeI_SinglePanel_Restriction;
139 BIT_STRING_t four_four_TypeI_SinglePanel_Restriction;
140 BIT_STRING_t eight_two_TypeI_SinglePanel_Restriction;
141 BIT_STRING_t sixteen_one_TypeI_SinglePanel_Restriction;
144 /* Context for parsing across buffer boundaries */
145 asn_struct_ctx_t _asn_ctx;
147 BIT_STRING_t *typeI_SinglePanel_codebookSubsetRestriction_i2; /* OPTIONAL */
149 /* Context for parsing across buffer boundaries */
150 asn_struct_ctx_t _asn_ctx;
154 /* Context for parsing across buffer boundaries */
155 asn_struct_ctx_t _asn_ctx;
157 BIT_STRING_t typeI_SinglePanel_ri_Restriction;
159 /* Context for parsing across buffer boundaries */
160 asn_struct_ctx_t _asn_ctx;
161 } *typeI_SinglePanel;
162 struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel {
163 struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2 {
164 CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_PR present;
165 union CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2_u {
166 BIT_STRING_t two_two_one_TypeI_MultiPanel_Restriction;
167 BIT_STRING_t two_four_one_TypeI_MultiPanel_Restriction;
168 BIT_STRING_t four_two_one_TypeI_MultiPanel_Restriction;
169 BIT_STRING_t two_two_two_TypeI_MultiPanel_Restriction;
170 BIT_STRING_t two_eight_one_TypeI_MultiPanel_Restriction;
171 BIT_STRING_t four_four_one_TypeI_MultiPanel_Restriction;
172 BIT_STRING_t two_four_two_TypeI_MultiPanel_Restriction;
173 BIT_STRING_t four_two_two_TypeI_MultiPanel_Restriction;
176 /* Context for parsing across buffer boundaries */
177 asn_struct_ctx_t _asn_ctx;
179 BIT_STRING_t ri_Restriction;
181 /* Context for parsing across buffer boundaries */
182 asn_struct_ctx_t _asn_ctx;
186 /* Context for parsing across buffer boundaries */
187 asn_struct_ctx_t _asn_ctx;
191 /* Context for parsing across buffer boundaries */
192 asn_struct_ctx_t _asn_ctx;
194 struct CodebookConfig__codebookType__type2 {
195 struct CodebookConfig__codebookType__type2__subType {
196 CodebookConfig__codebookType__type2__subType_PR present;
197 union CodebookConfig__codebookType__type2__subType_u {
198 struct CodebookConfig__codebookType__type2__subType__typeII {
199 struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction {
200 CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_PR present;
201 union CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction_u {
202 BIT_STRING_t two_one;
203 BIT_STRING_t two_two;
204 BIT_STRING_t four_one;
205 BIT_STRING_t three_two;
206 BIT_STRING_t six_one;
207 BIT_STRING_t four_two;
208 BIT_STRING_t eight_one;
209 BIT_STRING_t four_three;
210 BIT_STRING_t six_two;
211 BIT_STRING_t twelve_one;
212 BIT_STRING_t four_four;
213 BIT_STRING_t eight_two;
214 BIT_STRING_t sixteen_one;
217 /* Context for parsing across buffer boundaries */
218 asn_struct_ctx_t _asn_ctx;
219 } n1_n2_codebookSubsetRestriction;
220 BIT_STRING_t typeII_RI_Restriction;
222 /* Context for parsing across buffer boundaries */
223 asn_struct_ctx_t _asn_ctx;
225 struct CodebookConfig__codebookType__type2__subType__typeII_PortSelection {
226 long *portSelectionSamplingSize; /* OPTIONAL */
227 BIT_STRING_t typeII_PortSelectionRI_Restriction;
229 /* Context for parsing across buffer boundaries */
230 asn_struct_ctx_t _asn_ctx;
231 } *typeII_PortSelection;
234 /* Context for parsing across buffer boundaries */
235 asn_struct_ctx_t _asn_ctx;
237 long phaseAlphabetSize;
238 BOOLEAN_t subbandAmplitude;
241 /* Context for parsing across buffer boundaries */
242 asn_struct_ctx_t _asn_ctx;
246 /* Context for parsing across buffer boundaries */
247 asn_struct_ctx_t _asn_ctx;
250 /* Context for parsing across buffer boundaries */
251 asn_struct_ctx_t _asn_ctx;
255 /* extern asn_TYPE_descriptor_t asn_DEF_portSelectionSamplingSize_57; // (Use -fall-defs-global to expose) */
256 /* extern asn_TYPE_descriptor_t asn_DEF_phaseAlphabetSize_63; // (Use -fall-defs-global to expose) */
257 /* extern asn_TYPE_descriptor_t asn_DEF_numberOfBeams_67; // (Use -fall-defs-global to expose) */
258 extern asn_TYPE_descriptor_t asn_DEF_CodebookConfig;
259 extern asn_SEQUENCE_specifics_t asn_SPC_CodebookConfig_specs_1;
260 extern asn_TYPE_member_t asn_MBR_CodebookConfig_1[1];
266 #endif /* _CodebookConfig_H_ */
267 #include <asn_internal.h>