[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / SRS-Resource.h
1 /*
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`
6  */
7
8 #ifndef _SRS_Resource_H_
9 #define _SRS_Resource_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "SRS-ResourceId.h"
16 #include <NativeEnumerated.h>
17 #include <NativeInteger.h>
18 #include <constr_SEQUENCE.h>
19 #include <constr_CHOICE.h>
20 #include "SRS-PeriodicityAndOffset.h"
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /* Dependencies */
27 typedef enum SRS_Resource__nrofSRS_Ports {
28         SRS_Resource__nrofSRS_Ports_port1       = 0,
29         SRS_Resource__nrofSRS_Ports_ports2      = 1,
30         SRS_Resource__nrofSRS_Ports_ports4      = 2
31 } e_SRS_Resource__nrofSRS_Ports;
32 typedef enum SRS_Resource__ptrs_PortIndex {
33         SRS_Resource__ptrs_PortIndex_n0 = 0,
34         SRS_Resource__ptrs_PortIndex_n1 = 1
35 } e_SRS_Resource__ptrs_PortIndex;
36 typedef enum SRS_Resource__transmissionComb_PR {
37         SRS_Resource__transmissionComb_PR_NOTHING,      /* No components present */
38         SRS_Resource__transmissionComb_PR_n2,
39         SRS_Resource__transmissionComb_PR_n4
40 } SRS_Resource__transmissionComb_PR;
41 typedef enum SRS_Resource__resourceMapping__nrofSymbols {
42         SRS_Resource__resourceMapping__nrofSymbols_n1   = 0,
43         SRS_Resource__resourceMapping__nrofSymbols_n2   = 1,
44         SRS_Resource__resourceMapping__nrofSymbols_n4   = 2
45 } e_SRS_Resource__resourceMapping__nrofSymbols;
46 typedef enum SRS_Resource__resourceMapping__repetitionFactor {
47         SRS_Resource__resourceMapping__repetitionFactor_n1      = 0,
48         SRS_Resource__resourceMapping__repetitionFactor_n2      = 1,
49         SRS_Resource__resourceMapping__repetitionFactor_n4      = 2
50 } e_SRS_Resource__resourceMapping__repetitionFactor;
51 typedef enum SRS_Resource__groupOrSequenceHopping {
52         SRS_Resource__groupOrSequenceHopping_neither    = 0,
53         SRS_Resource__groupOrSequenceHopping_groupHopping       = 1,
54         SRS_Resource__groupOrSequenceHopping_sequenceHopping    = 2
55 } e_SRS_Resource__groupOrSequenceHopping;
56 typedef enum SRS_Resource__resourceType_PR {
57         SRS_Resource__resourceType_PR_NOTHING,  /* No components present */
58         SRS_Resource__resourceType_PR_aperiodic,
59         SRS_Resource__resourceType_PR_semi_persistent,
60         SRS_Resource__resourceType_PR_periodic
61 } SRS_Resource__resourceType_PR;
62
63 /* Forward declarations */
64 struct SRS_SpatialRelationInfo;
65
66 /* SRS-Resource */
67 typedef struct SRS_Resource {
68         SRS_ResourceId_t         srs_ResourceId;
69         long     nrofSRS_Ports;
70         long    *ptrs_PortIndex;        /* OPTIONAL */
71         struct SRS_Resource__transmissionComb {
72                 SRS_Resource__transmissionComb_PR present;
73                 union SRS_Resource__transmissionComb_u {
74                         struct SRS_Resource__transmissionComb__n2 {
75                                 long     combOffset_n2;
76                                 long     cyclicShift_n2;
77                                 
78                                 /* Context for parsing across buffer boundaries */
79                                 asn_struct_ctx_t _asn_ctx;
80                         } *n2;
81                         struct SRS_Resource__transmissionComb__n4 {
82                                 long     combOffset_n4;
83                                 long     cyclicShift_n4;
84                                 
85                                 /* Context for parsing across buffer boundaries */
86                                 asn_struct_ctx_t _asn_ctx;
87                         } *n4;
88                 } choice;
89                 
90                 /* Context for parsing across buffer boundaries */
91                 asn_struct_ctx_t _asn_ctx;
92         } transmissionComb;
93         struct SRS_Resource__resourceMapping {
94                 long     startPosition;
95                 long     nrofSymbols;
96                 long     repetitionFactor;
97                 
98                 /* Context for parsing across buffer boundaries */
99                 asn_struct_ctx_t _asn_ctx;
100         } resourceMapping;
101         long     freqDomainPosition;
102         long     freqDomainShift;
103         struct SRS_Resource__freqHopping {
104                 long     c_SRS;
105                 long     b_SRS;
106                 long     b_hop;
107                 
108                 /* Context for parsing across buffer boundaries */
109                 asn_struct_ctx_t _asn_ctx;
110         } freqHopping;
111         long     groupOrSequenceHopping;
112         struct SRS_Resource__resourceType {
113                 SRS_Resource__resourceType_PR present;
114                 union SRS_Resource__resourceType_u {
115                         struct SRS_Resource__resourceType__aperiodic {
116                                 /*
117                                  * This type is extensible,
118                                  * possible extensions are below.
119                                  */
120                                 
121                                 /* Context for parsing across buffer boundaries */
122                                 asn_struct_ctx_t _asn_ctx;
123                         } *aperiodic;
124                         struct SRS_Resource__resourceType__semi_persistent {
125                                 SRS_PeriodicityAndOffset_t       periodicityAndOffset_sp;
126                                 /*
127                                  * This type is extensible,
128                                  * possible extensions are below.
129                                  */
130                                 
131                                 /* Context for parsing across buffer boundaries */
132                                 asn_struct_ctx_t _asn_ctx;
133                         } *semi_persistent;
134                         struct SRS_Resource__resourceType__periodic {
135                                 SRS_PeriodicityAndOffset_t       periodicityAndOffset_p;
136                                 /*
137                                  * This type is extensible,
138                                  * possible extensions are below.
139                                  */
140                                 
141                                 /* Context for parsing across buffer boundaries */
142                                 asn_struct_ctx_t _asn_ctx;
143                         } *periodic;
144                 } choice;
145                 
146                 /* Context for parsing across buffer boundaries */
147                 asn_struct_ctx_t _asn_ctx;
148         } resourceType;
149         long     sequenceId;
150         struct SRS_SpatialRelationInfo  *spatialRelationInfo;   /* OPTIONAL */
151         /*
152          * This type is extensible,
153          * possible extensions are below.
154          */
155         
156         /* Context for parsing across buffer boundaries */
157         asn_struct_ctx_t _asn_ctx;
158 } SRS_Resource_t;
159
160 /* Implementation */
161 /* extern asn_TYPE_descriptor_t asn_DEF_nrofSRS_Ports_3;        // (Use -fall-defs-global to expose) */
162 /* extern asn_TYPE_descriptor_t asn_DEF_ptrs_PortIndex_7;       // (Use -fall-defs-global to expose) */
163 /* extern asn_TYPE_descriptor_t asn_DEF_nrofSymbols_19; // (Use -fall-defs-global to expose) */
164 /* extern asn_TYPE_descriptor_t asn_DEF_repetitionFactor_23;    // (Use -fall-defs-global to expose) */
165 /* extern asn_TYPE_descriptor_t asn_DEF_groupOrSequenceHopping_33;      // (Use -fall-defs-global to expose) */
166 extern asn_TYPE_descriptor_t asn_DEF_SRS_Resource;
167 extern asn_SEQUENCE_specifics_t asn_SPC_SRS_Resource_specs_1;
168 extern asn_TYPE_member_t asn_MBR_SRS_Resource_1[12];
169
170 #ifdef __cplusplus
171 }
172 #endif
173
174 #endif  /* _SRS_Resource_H_ */
175 #include <asn_internal.h>