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`
8 #ifndef _ConfiguredGrantConfig_H_
9 #define _ConfiguredGrantConfig_H_
12 #include <asn_application.h>
14 /* Including external dependencies */
15 #include <NativeEnumerated.h>
16 #include "DMRS-UplinkConfig.h"
17 #include "P0-PUSCH-AlphaSetId.h"
18 #include <NativeInteger.h>
20 #include <constr_CHOICE.h>
21 #include <BIT_STRING.h>
22 #include <constr_SEQUENCE.h>
29 typedef enum ConfiguredGrantConfig__frequencyHopping {
30 ConfiguredGrantConfig__frequencyHopping_intraSlot = 0,
31 ConfiguredGrantConfig__frequencyHopping_interSlot = 1
32 } e_ConfiguredGrantConfig__frequencyHopping;
33 typedef enum ConfiguredGrantConfig__mcs_Table {
34 ConfiguredGrantConfig__mcs_Table_qam256 = 0,
35 ConfiguredGrantConfig__mcs_Table_qam64LowSE = 1
36 } e_ConfiguredGrantConfig__mcs_Table;
37 typedef enum ConfiguredGrantConfig__mcs_TableTransformPrecoder {
38 ConfiguredGrantConfig__mcs_TableTransformPrecoder_qam256 = 0,
39 ConfiguredGrantConfig__mcs_TableTransformPrecoder_qam64LowSE = 1
40 } e_ConfiguredGrantConfig__mcs_TableTransformPrecoder;
41 typedef enum ConfiguredGrantConfig__uci_OnPUSCH_PR {
42 ConfiguredGrantConfig__uci_OnPUSCH_PR_NOTHING, /* No components present */
43 ConfiguredGrantConfig__uci_OnPUSCH_PR_release,
44 ConfiguredGrantConfig__uci_OnPUSCH_PR_setup
45 } ConfiguredGrantConfig__uci_OnPUSCH_PR;
46 typedef enum ConfiguredGrantConfig__resourceAllocation {
47 ConfiguredGrantConfig__resourceAllocation_resourceAllocationType0 = 0,
48 ConfiguredGrantConfig__resourceAllocation_resourceAllocationType1 = 1,
49 ConfiguredGrantConfig__resourceAllocation_dynamicSwitch = 2
50 } e_ConfiguredGrantConfig__resourceAllocation;
51 typedef enum ConfiguredGrantConfig__rbg_Size {
52 ConfiguredGrantConfig__rbg_Size_config2 = 0
53 } e_ConfiguredGrantConfig__rbg_Size;
54 typedef enum ConfiguredGrantConfig__powerControlLoopToUse {
55 ConfiguredGrantConfig__powerControlLoopToUse_n0 = 0,
56 ConfiguredGrantConfig__powerControlLoopToUse_n1 = 1
57 } e_ConfiguredGrantConfig__powerControlLoopToUse;
58 typedef enum ConfiguredGrantConfig__transformPrecoder {
59 ConfiguredGrantConfig__transformPrecoder_enabled = 0,
60 ConfiguredGrantConfig__transformPrecoder_disabled = 1
61 } e_ConfiguredGrantConfig__transformPrecoder;
62 typedef enum ConfiguredGrantConfig__repK {
63 ConfiguredGrantConfig__repK_n1 = 0,
64 ConfiguredGrantConfig__repK_n2 = 1,
65 ConfiguredGrantConfig__repK_n4 = 2,
66 ConfiguredGrantConfig__repK_n8 = 3
67 } e_ConfiguredGrantConfig__repK;
68 typedef enum ConfiguredGrantConfig__repK_RV {
69 ConfiguredGrantConfig__repK_RV_s1_0231 = 0,
70 ConfiguredGrantConfig__repK_RV_s2_0303 = 1,
71 ConfiguredGrantConfig__repK_RV_s3_0000 = 2
72 } e_ConfiguredGrantConfig__repK_RV;
73 typedef enum ConfiguredGrantConfig__periodicity {
74 ConfiguredGrantConfig__periodicity_sym2 = 0,
75 ConfiguredGrantConfig__periodicity_sym7 = 1,
76 ConfiguredGrantConfig__periodicity_sym1x14 = 2,
77 ConfiguredGrantConfig__periodicity_sym2x14 = 3,
78 ConfiguredGrantConfig__periodicity_sym4x14 = 4,
79 ConfiguredGrantConfig__periodicity_sym5x14 = 5,
80 ConfiguredGrantConfig__periodicity_sym8x14 = 6,
81 ConfiguredGrantConfig__periodicity_sym10x14 = 7,
82 ConfiguredGrantConfig__periodicity_sym16x14 = 8,
83 ConfiguredGrantConfig__periodicity_sym20x14 = 9,
84 ConfiguredGrantConfig__periodicity_sym32x14 = 10,
85 ConfiguredGrantConfig__periodicity_sym40x14 = 11,
86 ConfiguredGrantConfig__periodicity_sym64x14 = 12,
87 ConfiguredGrantConfig__periodicity_sym80x14 = 13,
88 ConfiguredGrantConfig__periodicity_sym128x14 = 14,
89 ConfiguredGrantConfig__periodicity_sym160x14 = 15,
90 ConfiguredGrantConfig__periodicity_sym256x14 = 16,
91 ConfiguredGrantConfig__periodicity_sym320x14 = 17,
92 ConfiguredGrantConfig__periodicity_sym512x14 = 18,
93 ConfiguredGrantConfig__periodicity_sym640x14 = 19,
94 ConfiguredGrantConfig__periodicity_sym1024x14 = 20,
95 ConfiguredGrantConfig__periodicity_sym1280x14 = 21,
96 ConfiguredGrantConfig__periodicity_sym2560x14 = 22,
97 ConfiguredGrantConfig__periodicity_sym5120x14 = 23,
98 ConfiguredGrantConfig__periodicity_sym6 = 24,
99 ConfiguredGrantConfig__periodicity_sym1x12 = 25,
100 ConfiguredGrantConfig__periodicity_sym2x12 = 26,
101 ConfiguredGrantConfig__periodicity_sym4x12 = 27,
102 ConfiguredGrantConfig__periodicity_sym5x12 = 28,
103 ConfiguredGrantConfig__periodicity_sym8x12 = 29,
104 ConfiguredGrantConfig__periodicity_sym10x12 = 30,
105 ConfiguredGrantConfig__periodicity_sym16x12 = 31,
106 ConfiguredGrantConfig__periodicity_sym20x12 = 32,
107 ConfiguredGrantConfig__periodicity_sym32x12 = 33,
108 ConfiguredGrantConfig__periodicity_sym40x12 = 34,
109 ConfiguredGrantConfig__periodicity_sym64x12 = 35,
110 ConfiguredGrantConfig__periodicity_sym80x12 = 36,
111 ConfiguredGrantConfig__periodicity_sym128x12 = 37,
112 ConfiguredGrantConfig__periodicity_sym160x12 = 38,
113 ConfiguredGrantConfig__periodicity_sym256x12 = 39,
114 ConfiguredGrantConfig__periodicity_sym320x12 = 40,
115 ConfiguredGrantConfig__periodicity_sym512x12 = 41,
116 ConfiguredGrantConfig__periodicity_sym640x12 = 42,
117 ConfiguredGrantConfig__periodicity_sym1280x12 = 43,
118 ConfiguredGrantConfig__periodicity_sym2560x12 = 44
119 } e_ConfiguredGrantConfig__periodicity;
121 /* Forward declarations */
122 struct CG_UCI_OnPUSCH;
124 /* ConfiguredGrantConfig */
125 typedef struct ConfiguredGrantConfig {
126 long *frequencyHopping; /* OPTIONAL */
127 DMRS_UplinkConfig_t cg_DMRS_Configuration;
128 long *mcs_Table; /* OPTIONAL */
129 long *mcs_TableTransformPrecoder; /* OPTIONAL */
130 struct ConfiguredGrantConfig__uci_OnPUSCH {
131 ConfiguredGrantConfig__uci_OnPUSCH_PR present;
132 union ConfiguredGrantConfig__uci_OnPUSCH_u {
134 struct CG_UCI_OnPUSCH *setup;
137 /* Context for parsing across buffer boundaries */
138 asn_struct_ctx_t _asn_ctx;
140 long resourceAllocation;
141 long *rbg_Size; /* OPTIONAL */
142 long powerControlLoopToUse;
143 P0_PUSCH_AlphaSetId_t p0_PUSCH_Alpha;
144 long *transformPrecoder; /* OPTIONAL */
145 long nrofHARQ_Processes;
147 long *repK_RV; /* OPTIONAL */
149 long *configuredGrantTimer; /* OPTIONAL */
150 struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant {
151 long timeDomainOffset;
152 long timeDomainAllocation;
153 BIT_STRING_t frequencyDomainAllocation;
155 long *dmrs_SeqInitialization; /* OPTIONAL */
156 long precodingAndNumberOfLayers;
157 long *srs_ResourceIndicator; /* OPTIONAL */
159 long *frequencyHoppingOffset; /* OPTIONAL */
160 long pathlossReferenceIndex;
162 * This type is extensible,
163 * possible extensions are below.
166 /* Context for parsing across buffer boundaries */
167 asn_struct_ctx_t _asn_ctx;
168 } *rrc_ConfiguredUplinkGrant;
170 * This type is extensible,
171 * possible extensions are below.
174 /* Context for parsing across buffer boundaries */
175 asn_struct_ctx_t _asn_ctx;
176 } ConfiguredGrantConfig_t;
179 /* extern asn_TYPE_descriptor_t asn_DEF_frequencyHopping_2; // (Use -fall-defs-global to expose) */
180 /* extern asn_TYPE_descriptor_t asn_DEF_mcs_Table_6; // (Use -fall-defs-global to expose) */
181 /* extern asn_TYPE_descriptor_t asn_DEF_mcs_TableTransformPrecoder_9; // (Use -fall-defs-global to expose) */
182 /* extern asn_TYPE_descriptor_t asn_DEF_resourceAllocation_15; // (Use -fall-defs-global to expose) */
183 /* extern asn_TYPE_descriptor_t asn_DEF_rbg_Size_19; // (Use -fall-defs-global to expose) */
184 /* extern asn_TYPE_descriptor_t asn_DEF_powerControlLoopToUse_21; // (Use -fall-defs-global to expose) */
185 /* extern asn_TYPE_descriptor_t asn_DEF_transformPrecoder_25; // (Use -fall-defs-global to expose) */
186 /* extern asn_TYPE_descriptor_t asn_DEF_repK_29; // (Use -fall-defs-global to expose) */
187 /* extern asn_TYPE_descriptor_t asn_DEF_repK_RV_34; // (Use -fall-defs-global to expose) */
188 /* extern asn_TYPE_descriptor_t asn_DEF_periodicity_38; // (Use -fall-defs-global to expose) */
189 extern asn_TYPE_descriptor_t asn_DEF_ConfiguredGrantConfig;
190 extern asn_SEQUENCE_specifics_t asn_SPC_ConfiguredGrantConfig_specs_1;
191 extern asn_TYPE_member_t asn_MBR_ConfiguredGrantConfig_1[16];
197 #endif /* _ConfiguredGrantConfig_H_ */
198 #include <asn_internal.h>