Merge "[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-437] Establishing communication betwee...
[o-du/l2.git] / src / codec_utils / RRC / ConfiguredGrantConfig.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 _ConfiguredGrantConfig_H_
9 #define _ConfiguredGrantConfig_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include <NativeEnumerated.h>
16 #include "DMRS-UplinkConfig.h"
17 #include "P0-PUSCH-AlphaSetId.h"
18 #include <NativeInteger.h>
19 #include <NULL.h>
20 #include <constr_CHOICE.h>
21 #include <BIT_STRING.h>
22 #include <constr_SEQUENCE.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 /* Dependencies */
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;
120
121 /* Forward declarations */
122 struct CG_UCI_OnPUSCH;
123
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 {
133                         NULL_t   release;
134                         struct CG_UCI_OnPUSCH   *setup;
135                 } choice;
136                 
137                 /* Context for parsing across buffer boundaries */
138                 asn_struct_ctx_t _asn_ctx;
139         } *uci_OnPUSCH;
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;
146         long     repK;
147         long    *repK_RV;       /* OPTIONAL */
148         long     periodicity;
149         long    *configuredGrantTimer;  /* OPTIONAL */
150         struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant {
151                 long     timeDomainOffset;
152                 long     timeDomainAllocation;
153                 BIT_STRING_t     frequencyDomainAllocation;
154                 long     antennaPort;
155                 long    *dmrs_SeqInitialization;        /* OPTIONAL */
156                 long     precodingAndNumberOfLayers;
157                 long    *srs_ResourceIndicator; /* OPTIONAL */
158                 long     mcsAndTBS;
159                 long    *frequencyHoppingOffset;        /* OPTIONAL */
160                 long     pathlossReferenceIndex;
161                 /*
162                  * This type is extensible,
163                  * possible extensions are below.
164                  */
165                 
166                 /* Context for parsing across buffer boundaries */
167                 asn_struct_ctx_t _asn_ctx;
168         } *rrc_ConfiguredUplinkGrant;
169         /*
170          * This type is extensible,
171          * possible extensions are below.
172          */
173         
174         /* Context for parsing across buffer boundaries */
175         asn_struct_ctx_t _asn_ctx;
176 } ConfiguredGrantConfig_t;
177
178 /* Implementation */
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];
192
193 #ifdef __cplusplus
194 }
195 #endif
196
197 #endif  /* _ConfiguredGrantConfig_H_ */
198 #include <asn_internal.h>