[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / CSI-RS-ResourceMapping.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_RS_ResourceMapping_H_
9 #define _CSI_RS_ResourceMapping_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include <NativeEnumerated.h>
16 #include <NativeInteger.h>
17 #include "CSI-FrequencyOccupation.h"
18 #include <BIT_STRING.h>
19 #include <constr_CHOICE.h>
20 #include <NULL.h>
21 #include <constr_SEQUENCE.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /* Dependencies */
28 typedef enum CSI_RS_ResourceMapping__frequencyDomainAllocation_PR {
29         CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_NOTHING,   /* No components present */
30         CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1,
31         CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row2,
32         CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row4,
33         CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_other
34 } CSI_RS_ResourceMapping__frequencyDomainAllocation_PR;
35 typedef enum CSI_RS_ResourceMapping__nrofPorts {
36         CSI_RS_ResourceMapping__nrofPorts_p1    = 0,
37         CSI_RS_ResourceMapping__nrofPorts_p2    = 1,
38         CSI_RS_ResourceMapping__nrofPorts_p4    = 2,
39         CSI_RS_ResourceMapping__nrofPorts_p8    = 3,
40         CSI_RS_ResourceMapping__nrofPorts_p12   = 4,
41         CSI_RS_ResourceMapping__nrofPorts_p16   = 5,
42         CSI_RS_ResourceMapping__nrofPorts_p24   = 6,
43         CSI_RS_ResourceMapping__nrofPorts_p32   = 7
44 } e_CSI_RS_ResourceMapping__nrofPorts;
45 typedef enum CSI_RS_ResourceMapping__cdm_Type {
46         CSI_RS_ResourceMapping__cdm_Type_noCDM  = 0,
47         CSI_RS_ResourceMapping__cdm_Type_fd_CDM2        = 1,
48         CSI_RS_ResourceMapping__cdm_Type_cdm4_FD2_TD2   = 2,
49         CSI_RS_ResourceMapping__cdm_Type_cdm8_FD2_TD4   = 3
50 } e_CSI_RS_ResourceMapping__cdm_Type;
51 typedef enum CSI_RS_ResourceMapping__density_PR {
52         CSI_RS_ResourceMapping__density_PR_NOTHING,     /* No components present */
53         CSI_RS_ResourceMapping__density_PR_dot5,
54         CSI_RS_ResourceMapping__density_PR_one,
55         CSI_RS_ResourceMapping__density_PR_three,
56         CSI_RS_ResourceMapping__density_PR_spare
57 } CSI_RS_ResourceMapping__density_PR;
58 typedef enum CSI_RS_ResourceMapping__density__dot5 {
59         CSI_RS_ResourceMapping__density__dot5_evenPRBs  = 0,
60         CSI_RS_ResourceMapping__density__dot5_oddPRBs   = 1
61 } e_CSI_RS_ResourceMapping__density__dot5;
62
63 /* CSI-RS-ResourceMapping */
64 typedef struct CSI_RS_ResourceMapping {
65         struct CSI_RS_ResourceMapping__frequencyDomainAllocation {
66                 CSI_RS_ResourceMapping__frequencyDomainAllocation_PR present;
67                 union CSI_RS_ResourceMapping__frequencyDomainAllocation_u {
68                         BIT_STRING_t     row1;
69                         BIT_STRING_t     row2;
70                         BIT_STRING_t     row4;
71                         BIT_STRING_t     other;
72                 } choice;
73                 
74                 /* Context for parsing across buffer boundaries */
75                 asn_struct_ctx_t _asn_ctx;
76         } frequencyDomainAllocation;
77         long     nrofPorts;
78         long     firstOFDMSymbolInTimeDomain;
79         long    *firstOFDMSymbolInTimeDomain2;  /* OPTIONAL */
80         long     cdm_Type;
81         struct CSI_RS_ResourceMapping__density {
82                 CSI_RS_ResourceMapping__density_PR present;
83                 union CSI_RS_ResourceMapping__density_u {
84                         long     dot5;
85                         NULL_t   one;
86                         NULL_t   three;
87                         NULL_t   spare;
88                 } choice;
89                 
90                 /* Context for parsing across buffer boundaries */
91                 asn_struct_ctx_t _asn_ctx;
92         } density;
93         CSI_FrequencyOccupation_t        freqBand;
94         /*
95          * This type is extensible,
96          * possible extensions are below.
97          */
98         
99         /* Context for parsing across buffer boundaries */
100         asn_struct_ctx_t _asn_ctx;
101 } CSI_RS_ResourceMapping_t;
102
103 /* Implementation */
104 /* extern asn_TYPE_descriptor_t asn_DEF_nrofPorts_7;    // (Use -fall-defs-global to expose) */
105 /* extern asn_TYPE_descriptor_t asn_DEF_cdm_Type_18;    // (Use -fall-defs-global to expose) */
106 /* extern asn_TYPE_descriptor_t asn_DEF_dot5_24;        // (Use -fall-defs-global to expose) */
107 extern asn_TYPE_descriptor_t asn_DEF_CSI_RS_ResourceMapping;
108 extern asn_SEQUENCE_specifics_t asn_SPC_CSI_RS_ResourceMapping_specs_1;
109 extern asn_TYPE_member_t asn_MBR_CSI_RS_ResourceMapping_1[7];
110
111 #ifdef __cplusplus
112 }
113 #endif
114
115 #endif  /* _CSI_RS_ResourceMapping_H_ */
116 #include <asn_internal.h>