[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / CSI-MeasConfig.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 _CSI_MeasConfig_H_
9 #define _CSI_MeasConfig_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include <NativeInteger.h>
16 #include <asn_SEQUENCE_OF.h>
17 #include <constr_SEQUENCE_OF.h>
18 #include "NZP-CSI-RS-ResourceId.h"
19 #include "NZP-CSI-RS-ResourceSetId.h"
20 #include "CSI-IM-ResourceId.h"
21 #include "CSI-IM-ResourceSetId.h"
22 #include "CSI-SSB-ResourceSetId.h"
23 #include "CSI-ResourceConfigId.h"
24 #include "CSI-ReportConfigId.h"
25 #include <NULL.h>
26 #include <constr_CHOICE.h>
27 #include <constr_SEQUENCE.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /* Dependencies */
34 typedef enum CSI_MeasConfig__aperiodicTriggerStateList_PR {
35         CSI_MeasConfig__aperiodicTriggerStateList_PR_NOTHING,   /* No components present */
36         CSI_MeasConfig__aperiodicTriggerStateList_PR_release,
37         CSI_MeasConfig__aperiodicTriggerStateList_PR_setup
38 } CSI_MeasConfig__aperiodicTriggerStateList_PR;
39 typedef enum CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR {
40         CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR_NOTHING,      /* No components present */
41         CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR_release,
42         CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR_setup
43 } CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR;
44
45 /* Forward declarations */
46 struct NZP_CSI_RS_Resource;
47 struct NZP_CSI_RS_ResourceSet;
48 struct CSI_IM_Resource;
49 struct CSI_IM_ResourceSet;
50 struct CSI_SSB_ResourceSet;
51 struct CSI_ResourceConfig;
52 struct CSI_ReportConfig;
53 struct CSI_AperiodicTriggerStateList;
54 struct CSI_SemiPersistentOnPUSCH_TriggerStateList;
55
56 /* CSI-MeasConfig */
57 typedef struct CSI_MeasConfig {
58         struct CSI_MeasConfig__nzp_CSI_RS_ResourceToAddModList {
59                 A_SEQUENCE_OF(struct NZP_CSI_RS_Resource) list;
60                 
61                 /* Context for parsing across buffer boundaries */
62                 asn_struct_ctx_t _asn_ctx;
63         } *nzp_CSI_RS_ResourceToAddModList;
64         struct CSI_MeasConfig__nzp_CSI_RS_ResourceToReleaseList {
65                 A_SEQUENCE_OF(NZP_CSI_RS_ResourceId_t) list;
66                 
67                 /* Context for parsing across buffer boundaries */
68                 asn_struct_ctx_t _asn_ctx;
69         } *nzp_CSI_RS_ResourceToReleaseList;
70         struct CSI_MeasConfig__nzp_CSI_RS_ResourceSetToAddModList {
71                 A_SEQUENCE_OF(struct NZP_CSI_RS_ResourceSet) list;
72                 
73                 /* Context for parsing across buffer boundaries */
74                 asn_struct_ctx_t _asn_ctx;
75         } *nzp_CSI_RS_ResourceSetToAddModList;
76         struct CSI_MeasConfig__nzp_CSI_RS_ResourceSetToReleaseList {
77                 A_SEQUENCE_OF(NZP_CSI_RS_ResourceSetId_t) list;
78                 
79                 /* Context for parsing across buffer boundaries */
80                 asn_struct_ctx_t _asn_ctx;
81         } *nzp_CSI_RS_ResourceSetToReleaseList;
82         struct CSI_MeasConfig__csi_IM_ResourceToAddModList {
83                 A_SEQUENCE_OF(struct CSI_IM_Resource) list;
84                 
85                 /* Context for parsing across buffer boundaries */
86                 asn_struct_ctx_t _asn_ctx;
87         } *csi_IM_ResourceToAddModList;
88         struct CSI_MeasConfig__csi_IM_ResourceToReleaseList {
89                 A_SEQUENCE_OF(CSI_IM_ResourceId_t) list;
90                 
91                 /* Context for parsing across buffer boundaries */
92                 asn_struct_ctx_t _asn_ctx;
93         } *csi_IM_ResourceToReleaseList;
94         struct CSI_MeasConfig__csi_IM_ResourceSetToAddModList {
95                 A_SEQUENCE_OF(struct CSI_IM_ResourceSet) list;
96                 
97                 /* Context for parsing across buffer boundaries */
98                 asn_struct_ctx_t _asn_ctx;
99         } *csi_IM_ResourceSetToAddModList;
100         struct CSI_MeasConfig__csi_IM_ResourceSetToReleaseList {
101                 A_SEQUENCE_OF(CSI_IM_ResourceSetId_t) list;
102                 
103                 /* Context for parsing across buffer boundaries */
104                 asn_struct_ctx_t _asn_ctx;
105         } *csi_IM_ResourceSetToReleaseList;
106         struct CSI_MeasConfig__csi_SSB_ResourceSetToAddModList {
107                 A_SEQUENCE_OF(struct CSI_SSB_ResourceSet) list;
108                 
109                 /* Context for parsing across buffer boundaries */
110                 asn_struct_ctx_t _asn_ctx;
111         } *csi_SSB_ResourceSetToAddModList;
112         struct CSI_MeasConfig__csi_SSB_ResourceSetToAddReleaseList {
113                 A_SEQUENCE_OF(CSI_SSB_ResourceSetId_t) list;
114                 
115                 /* Context for parsing across buffer boundaries */
116                 asn_struct_ctx_t _asn_ctx;
117         } *csi_SSB_ResourceSetToAddReleaseList;
118         struct CSI_MeasConfig__csi_ResourceConfigToAddModList {
119                 A_SEQUENCE_OF(struct CSI_ResourceConfig) list;
120                 
121                 /* Context for parsing across buffer boundaries */
122                 asn_struct_ctx_t _asn_ctx;
123         } *csi_ResourceConfigToAddModList;
124         struct CSI_MeasConfig__csi_ResourceConfigToReleaseList {
125                 A_SEQUENCE_OF(CSI_ResourceConfigId_t) list;
126                 
127                 /* Context for parsing across buffer boundaries */
128                 asn_struct_ctx_t _asn_ctx;
129         } *csi_ResourceConfigToReleaseList;
130         struct CSI_MeasConfig__csi_ReportConfigToAddModList {
131                 A_SEQUENCE_OF(struct CSI_ReportConfig) list;
132                 
133                 /* Context for parsing across buffer boundaries */
134                 asn_struct_ctx_t _asn_ctx;
135         } *csi_ReportConfigToAddModList;
136         struct CSI_MeasConfig__csi_ReportConfigToReleaseList {
137                 A_SEQUENCE_OF(CSI_ReportConfigId_t) list;
138                 
139                 /* Context for parsing across buffer boundaries */
140                 asn_struct_ctx_t _asn_ctx;
141         } *csi_ReportConfigToReleaseList;
142         long    *reportTriggerSize;     /* OPTIONAL */
143         struct CSI_MeasConfig__aperiodicTriggerStateList {
144                 CSI_MeasConfig__aperiodicTriggerStateList_PR present;
145                 union CSI_MeasConfig__aperiodicTriggerStateList_u {
146                         NULL_t   release;
147                         struct CSI_AperiodicTriggerStateList    *setup;
148                 } choice;
149                 
150                 /* Context for parsing across buffer boundaries */
151                 asn_struct_ctx_t _asn_ctx;
152         } *aperiodicTriggerStateList;
153         struct CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList {
154                 CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_PR present;
155                 union CSI_MeasConfig__semiPersistentOnPUSCH_TriggerStateList_u {
156                         NULL_t   release;
157                         struct CSI_SemiPersistentOnPUSCH_TriggerStateList       *setup;
158                 } choice;
159                 
160                 /* Context for parsing across buffer boundaries */
161                 asn_struct_ctx_t _asn_ctx;
162         } *semiPersistentOnPUSCH_TriggerStateList;
163         /*
164          * This type is extensible,
165          * possible extensions are below.
166          */
167         
168         /* Context for parsing across buffer boundaries */
169         asn_struct_ctx_t _asn_ctx;
170 } CSI_MeasConfig_t;
171
172 /* Implementation */
173 extern asn_TYPE_descriptor_t asn_DEF_CSI_MeasConfig;
174 extern asn_SEQUENCE_specifics_t asn_SPC_CSI_MeasConfig_specs_1;
175 extern asn_TYPE_member_t asn_MBR_CSI_MeasConfig_1[17];
176
177 #ifdef __cplusplus
178 }
179 #endif
180
181 #endif  /* _CSI_MeasConfig_H_ */
182 #include <asn_internal.h>