[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / CSI-IM-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 _CSI_IM_Resource_H_
9 #define _CSI_IM_Resource_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "CSI-IM-ResourceId.h"
16 #include <NativeEnumerated.h>
17 #include <NativeInteger.h>
18 #include <constr_SEQUENCE.h>
19 #include <constr_CHOICE.h>
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 /* Dependencies */
26 typedef enum CSI_IM_Resource__csi_IM_ResourceElementPattern_PR {
27         CSI_IM_Resource__csi_IM_ResourceElementPattern_PR_NOTHING,      /* No components present */
28         CSI_IM_Resource__csi_IM_ResourceElementPattern_PR_pattern0,
29         CSI_IM_Resource__csi_IM_ResourceElementPattern_PR_pattern1
30 } CSI_IM_Resource__csi_IM_ResourceElementPattern_PR;
31 typedef enum CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0 {
32         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s0      = 0,
33         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s2      = 1,
34         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s4      = 2,
35         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s6      = 3,
36         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s8      = 4,
37         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0_s10     = 5
38 } e_CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0__subcarrierLocation_p0;
39 typedef enum CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1 {
40         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1_s0      = 0,
41         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1_s4      = 1,
42         CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1_s8      = 2
43 } e_CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1;
44
45 /* Forward declarations */
46 struct CSI_FrequencyOccupation;
47 struct CSI_ResourcePeriodicityAndOffset;
48
49 /* CSI-IM-Resource */
50 typedef struct CSI_IM_Resource {
51         CSI_IM_ResourceId_t      csi_IM_ResourceId;
52         struct CSI_IM_Resource__csi_IM_ResourceElementPattern {
53                 CSI_IM_Resource__csi_IM_ResourceElementPattern_PR present;
54                 union CSI_IM_Resource__csi_IM_ResourceElementPattern_u {
55                         struct CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern0 {
56                                 long     subcarrierLocation_p0;
57                                 long     symbolLocation_p0;
58                                 
59                                 /* Context for parsing across buffer boundaries */
60                                 asn_struct_ctx_t _asn_ctx;
61                         } *pattern0;
62                         struct CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1 {
63                                 long     subcarrierLocation_p1;
64                                 long     symbolLocation_p1;
65                                 
66                                 /* Context for parsing across buffer boundaries */
67                                 asn_struct_ctx_t _asn_ctx;
68                         } *pattern1;
69                 } choice;
70                 
71                 /* Context for parsing across buffer boundaries */
72                 asn_struct_ctx_t _asn_ctx;
73         } *csi_IM_ResourceElementPattern;
74         struct CSI_FrequencyOccupation  *freqBand;      /* OPTIONAL */
75         struct CSI_ResourcePeriodicityAndOffset *periodicityAndOffset;  /* OPTIONAL */
76         /*
77          * This type is extensible,
78          * possible extensions are below.
79          */
80         
81         /* Context for parsing across buffer boundaries */
82         asn_struct_ctx_t _asn_ctx;
83 } CSI_IM_Resource_t;
84
85 /* Implementation */
86 /* extern asn_TYPE_descriptor_t asn_DEF_subcarrierLocation_p0_5;        // (Use -fall-defs-global to expose) */
87 /* extern asn_TYPE_descriptor_t asn_DEF_subcarrierLocation_p1_14;       // (Use -fall-defs-global to expose) */
88 extern asn_TYPE_descriptor_t asn_DEF_CSI_IM_Resource;
89 extern asn_SEQUENCE_specifics_t asn_SPC_CSI_IM_Resource_specs_1;
90 extern asn_TYPE_member_t asn_MBR_CSI_IM_Resource_1[4];
91
92 #ifdef __cplusplus
93 }
94 #endif
95
96 #endif  /* _CSI_IM_Resource_H_ */
97 #include <asn_internal.h>