[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / ControlResourceSet.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 _ControlResourceSet_H_
9 #define _ControlResourceSet_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "ControlResourceSetId.h"
16 #include <BIT_STRING.h>
17 #include <NativeInteger.h>
18 #include <NativeEnumerated.h>
19 #include <NULL.h>
20 #include <constr_SEQUENCE.h>
21 #include <constr_CHOICE.h>
22 #include "TCI-StateId.h"
23 #include <asn_SEQUENCE_OF.h>
24 #include <constr_SEQUENCE_OF.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 /* Dependencies */
31 typedef enum ControlResourceSet__cce_REG_MappingType_PR {
32         ControlResourceSet__cce_REG_MappingType_PR_NOTHING,     /* No components present */
33         ControlResourceSet__cce_REG_MappingType_PR_interleaved,
34         ControlResourceSet__cce_REG_MappingType_PR_nonInterleaved
35 } ControlResourceSet__cce_REG_MappingType_PR;
36 typedef enum ControlResourceSet__cce_REG_MappingType__interleaved__reg_BundleSize {
37         ControlResourceSet__cce_REG_MappingType__interleaved__reg_BundleSize_n2 = 0,
38         ControlResourceSet__cce_REG_MappingType__interleaved__reg_BundleSize_n3 = 1,
39         ControlResourceSet__cce_REG_MappingType__interleaved__reg_BundleSize_n6 = 2
40 } e_ControlResourceSet__cce_REG_MappingType__interleaved__reg_BundleSize;
41 typedef enum ControlResourceSet__cce_REG_MappingType__interleaved__interleaverSize {
42         ControlResourceSet__cce_REG_MappingType__interleaved__interleaverSize_n2        = 0,
43         ControlResourceSet__cce_REG_MappingType__interleaved__interleaverSize_n3        = 1,
44         ControlResourceSet__cce_REG_MappingType__interleaved__interleaverSize_n6        = 2
45 } e_ControlResourceSet__cce_REG_MappingType__interleaved__interleaverSize;
46 typedef enum ControlResourceSet__precoderGranularity {
47         ControlResourceSet__precoderGranularity_sameAsREG_bundle        = 0,
48         ControlResourceSet__precoderGranularity_allContiguousRBs        = 1
49 } e_ControlResourceSet__precoderGranularity;
50 typedef enum ControlResourceSet__tci_PresentInDCI {
51         ControlResourceSet__tci_PresentInDCI_enabled    = 0
52 } e_ControlResourceSet__tci_PresentInDCI;
53
54 /* ControlResourceSet */
55 typedef struct ControlResourceSet {
56         ControlResourceSetId_t   controlResourceSetId;
57         BIT_STRING_t     frequencyDomainResources;
58         long     duration;
59         struct ControlResourceSet__cce_REG_MappingType {
60                 ControlResourceSet__cce_REG_MappingType_PR present;
61                 union ControlResourceSet__cce_REG_MappingType_u {
62                         struct ControlResourceSet__cce_REG_MappingType__interleaved {
63                                 long     reg_BundleSize;
64                                 long     interleaverSize;
65                                 long    *shiftIndex;    /* OPTIONAL */
66                                 
67                                 /* Context for parsing across buffer boundaries */
68                                 asn_struct_ctx_t _asn_ctx;
69                         } *interleaved;
70                         NULL_t   nonInterleaved;
71                 } choice;
72                 
73                 /* Context for parsing across buffer boundaries */
74                 asn_struct_ctx_t _asn_ctx;
75         } cce_REG_MappingType;
76         long     precoderGranularity;
77         struct ControlResourceSet__tci_StatesPDCCH_ToAddList {
78                 A_SEQUENCE_OF(TCI_StateId_t) list;
79                 
80                 /* Context for parsing across buffer boundaries */
81                 asn_struct_ctx_t _asn_ctx;
82         } *tci_StatesPDCCH_ToAddList;
83         struct ControlResourceSet__tci_StatesPDCCH_ToReleaseList {
84                 A_SEQUENCE_OF(TCI_StateId_t) list;
85                 
86                 /* Context for parsing across buffer boundaries */
87                 asn_struct_ctx_t _asn_ctx;
88         } *tci_StatesPDCCH_ToReleaseList;
89         long    *tci_PresentInDCI;      /* OPTIONAL */
90         long    *pdcch_DMRS_ScramblingID;       /* OPTIONAL */
91         /*
92          * This type is extensible,
93          * possible extensions are below.
94          */
95         
96         /* Context for parsing across buffer boundaries */
97         asn_struct_ctx_t _asn_ctx;
98 } ControlResourceSet_t;
99
100 /* Implementation */
101 /* extern asn_TYPE_descriptor_t asn_DEF_reg_BundleSize_7;       // (Use -fall-defs-global to expose) */
102 /* extern asn_TYPE_descriptor_t asn_DEF_interleaverSize_11;     // (Use -fall-defs-global to expose) */
103 /* extern asn_TYPE_descriptor_t asn_DEF_precoderGranularity_17; // (Use -fall-defs-global to expose) */
104 /* extern asn_TYPE_descriptor_t asn_DEF_tci_PresentInDCI_24;    // (Use -fall-defs-global to expose) */
105 extern asn_TYPE_descriptor_t asn_DEF_ControlResourceSet;
106 extern asn_SEQUENCE_specifics_t asn_SPC_ControlResourceSet_specs_1;
107 extern asn_TYPE_member_t asn_MBR_ControlResourceSet_1[9];
108
109 #ifdef __cplusplus
110 }
111 #endif
112
113 #endif  /* _ControlResourceSet_H_ */
114 #include <asn_internal.h>