[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / ServingCellConfigCommon.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 _ServingCellConfigCommon_H_
9 #define _ServingCellConfigCommon_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "PhysCellId.h"
16 #include <NativeEnumerated.h>
17 #include "SubcarrierSpacing.h"
18 #include <NativeInteger.h>
19 #include <BIT_STRING.h>
20 #include <constr_CHOICE.h>
21 #include <NULL.h>
22 #include <asn_SEQUENCE_OF.h>
23 #include <constr_SEQUENCE_OF.h>
24 #include "RateMatchPatternId.h"
25 #include <constr_SEQUENCE.h>
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /* Dependencies */
32 typedef enum ServingCellConfigCommon__n_TimingAdvanceOffset {
33         ServingCellConfigCommon__n_TimingAdvanceOffset_n0       = 0,
34         ServingCellConfigCommon__n_TimingAdvanceOffset_n25600   = 1,
35         ServingCellConfigCommon__n_TimingAdvanceOffset_n39936   = 2
36 } e_ServingCellConfigCommon__n_TimingAdvanceOffset;
37 typedef enum ServingCellConfigCommon__ssb_PositionsInBurst_PR {
38         ServingCellConfigCommon__ssb_PositionsInBurst_PR_NOTHING,       /* No components present */
39         ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap,
40         ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap,
41         ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap
42 } ServingCellConfigCommon__ssb_PositionsInBurst_PR;
43 typedef enum ServingCellConfigCommon__ssb_periodicityServingCell {
44         ServingCellConfigCommon__ssb_periodicityServingCell_ms5 = 0,
45         ServingCellConfigCommon__ssb_periodicityServingCell_ms10        = 1,
46         ServingCellConfigCommon__ssb_periodicityServingCell_ms20        = 2,
47         ServingCellConfigCommon__ssb_periodicityServingCell_ms40        = 3,
48         ServingCellConfigCommon__ssb_periodicityServingCell_ms80        = 4,
49         ServingCellConfigCommon__ssb_periodicityServingCell_ms160       = 5,
50         ServingCellConfigCommon__ssb_periodicityServingCell_spare2      = 6,
51         ServingCellConfigCommon__ssb_periodicityServingCell_spare1      = 7
52 } e_ServingCellConfigCommon__ssb_periodicityServingCell;
53 typedef enum ServingCellConfigCommon__dmrs_TypeA_Position {
54         ServingCellConfigCommon__dmrs_TypeA_Position_pos2       = 0,
55         ServingCellConfigCommon__dmrs_TypeA_Position_pos3       = 1
56 } e_ServingCellConfigCommon__dmrs_TypeA_Position;
57 typedef enum ServingCellConfigCommon__lte_CRS_ToMatchAround_PR {
58         ServingCellConfigCommon__lte_CRS_ToMatchAround_PR_NOTHING,      /* No components present */
59         ServingCellConfigCommon__lte_CRS_ToMatchAround_PR_release,
60         ServingCellConfigCommon__lte_CRS_ToMatchAround_PR_setup
61 } ServingCellConfigCommon__lte_CRS_ToMatchAround_PR;
62
63 /* Forward declarations */
64 struct DownlinkConfigCommon;
65 struct UplinkConfigCommon;
66 struct TDD_UL_DL_ConfigCommon;
67 struct RateMatchPatternLTE_CRS;
68 struct RateMatchPattern;
69
70 /* ServingCellConfigCommon */
71 typedef struct ServingCellConfigCommon {
72         PhysCellId_t    *physCellId;    /* OPTIONAL */
73         struct DownlinkConfigCommon     *downlinkConfigCommon;  /* OPTIONAL */
74         struct UplinkConfigCommon       *uplinkConfigCommon;    /* OPTIONAL */
75         struct UplinkConfigCommon       *supplementaryUplinkConfig;     /* OPTIONAL */
76         long    *n_TimingAdvanceOffset; /* OPTIONAL */
77         struct ServingCellConfigCommon__ssb_PositionsInBurst {
78                 ServingCellConfigCommon__ssb_PositionsInBurst_PR present;
79                 union ServingCellConfigCommon__ssb_PositionsInBurst_u {
80                         BIT_STRING_t     shortBitmap;
81                         BIT_STRING_t     mediumBitmap;
82                         BIT_STRING_t     longBitmap;
83                 } choice;
84                 
85                 /* Context for parsing across buffer boundaries */
86                 asn_struct_ctx_t _asn_ctx;
87         } *ssb_PositionsInBurst;
88         long    *ssb_periodicityServingCell;    /* OPTIONAL */
89         long     dmrs_TypeA_Position;
90         struct ServingCellConfigCommon__lte_CRS_ToMatchAround {
91                 ServingCellConfigCommon__lte_CRS_ToMatchAround_PR present;
92                 union ServingCellConfigCommon__lte_CRS_ToMatchAround_u {
93                         NULL_t   release;
94                         struct RateMatchPatternLTE_CRS  *setup;
95                 } choice;
96                 
97                 /* Context for parsing across buffer boundaries */
98                 asn_struct_ctx_t _asn_ctx;
99         } *lte_CRS_ToMatchAround;
100         struct ServingCellConfigCommon__rateMatchPatternToAddModList {
101                 A_SEQUENCE_OF(struct RateMatchPattern) list;
102                 
103                 /* Context for parsing across buffer boundaries */
104                 asn_struct_ctx_t _asn_ctx;
105         } *rateMatchPatternToAddModList;
106         struct ServingCellConfigCommon__rateMatchPatternToReleaseList {
107                 A_SEQUENCE_OF(RateMatchPatternId_t) list;
108                 
109                 /* Context for parsing across buffer boundaries */
110                 asn_struct_ctx_t _asn_ctx;
111         } *rateMatchPatternToReleaseList;
112         SubcarrierSpacing_t     *ssbSubcarrierSpacing;  /* OPTIONAL */
113         struct TDD_UL_DL_ConfigCommon   *tdd_UL_DL_ConfigurationCommon; /* OPTIONAL */
114         long     ss_PBCH_BlockPower;
115         /*
116          * This type is extensible,
117          * possible extensions are below.
118          */
119         
120         /* Context for parsing across buffer boundaries */
121         asn_struct_ctx_t _asn_ctx;
122 } ServingCellConfigCommon_t;
123
124 /* Implementation */
125 /* extern asn_TYPE_descriptor_t asn_DEF_n_TimingAdvanceOffset_6;        // (Use -fall-defs-global to expose) */
126 /* extern asn_TYPE_descriptor_t asn_DEF_ssb_periodicityServingCell_14;  // (Use -fall-defs-global to expose) */
127 /* extern asn_TYPE_descriptor_t asn_DEF_dmrs_TypeA_Position_23; // (Use -fall-defs-global to expose) */
128 extern asn_TYPE_descriptor_t asn_DEF_ServingCellConfigCommon;
129 extern asn_SEQUENCE_specifics_t asn_SPC_ServingCellConfigCommon_specs_1;
130 extern asn_TYPE_member_t asn_MBR_ServingCellConfigCommon_1[14];
131
132 #ifdef __cplusplus
133 }
134 #endif
135
136 #endif  /* _ServingCellConfigCommon_H_ */
137 #include <asn_internal.h>