2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #ifndef _RACH_ConfigCommon_H_
9 #define _RACH_ConfigCommon_H_
12 #include <asn_application.h>
14 /* Including external dependencies */
15 #include "RACH-ConfigGeneric.h"
16 #include <NativeInteger.h>
17 #include <NativeEnumerated.h>
18 #include "RSRP-Range.h"
19 #include "SubcarrierSpacing.h"
20 #include <constr_CHOICE.h>
21 #include <constr_SEQUENCE.h>
28 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR {
29 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_NOTHING, /* No components present */
30 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneEighth,
31 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneFourth,
32 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneHalf,
33 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one,
34 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_two,
35 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_four,
36 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_eight,
37 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_sixteen
38 } RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR;
39 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth {
40 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n4 = 0,
41 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n8 = 1,
42 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n12 = 2,
43 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n16 = 3,
44 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n20 = 4,
45 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n24 = 5,
46 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n28 = 6,
47 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n32 = 7,
48 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n36 = 8,
49 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n40 = 9,
50 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n44 = 10,
51 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n48 = 11,
52 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n52 = 12,
53 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n56 = 13,
54 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n60 = 14,
55 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth_n64 = 15
56 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneEighth;
57 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth {
58 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n4 = 0,
59 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n8 = 1,
60 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n12 = 2,
61 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n16 = 3,
62 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n20 = 4,
63 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n24 = 5,
64 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n28 = 6,
65 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n32 = 7,
66 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n36 = 8,
67 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n40 = 9,
68 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n44 = 10,
69 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n48 = 11,
70 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n52 = 12,
71 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n56 = 13,
72 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n60 = 14,
73 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth_n64 = 15
74 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneFourth;
75 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf {
76 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n4 = 0,
77 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n8 = 1,
78 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n12 = 2,
79 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n16 = 3,
80 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n20 = 4,
81 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n24 = 5,
82 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n28 = 6,
83 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n32 = 7,
84 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n36 = 8,
85 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n40 = 9,
86 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n44 = 10,
87 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n48 = 11,
88 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n52 = 12,
89 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n56 = 13,
90 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n60 = 14,
91 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf_n64 = 15
92 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__oneHalf;
93 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one {
94 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n4 = 0,
95 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n8 = 1,
96 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n12 = 2,
97 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n16 = 3,
98 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n20 = 4,
99 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n24 = 5,
100 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n28 = 6,
101 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n32 = 7,
102 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n36 = 8,
103 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n40 = 9,
104 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n44 = 10,
105 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n48 = 11,
106 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n52 = 12,
107 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n56 = 13,
108 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n60 = 14,
109 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n64 = 15
110 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one;
111 typedef enum RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two {
112 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n4 = 0,
113 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n8 = 1,
114 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n12 = 2,
115 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n16 = 3,
116 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n20 = 4,
117 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n24 = 5,
118 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n28 = 6,
119 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two_n32 = 7
120 } e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__two;
121 typedef enum RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA {
122 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b56 = 0,
123 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b144 = 1,
124 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b208 = 2,
125 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b256 = 3,
126 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b282 = 4,
127 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b480 = 5,
128 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b640 = 6,
129 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b800 = 7,
130 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b1000 = 8,
131 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_b72 = 9,
132 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare6 = 10,
133 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare5 = 11,
134 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare4 = 12,
135 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare3 = 13,
136 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare2 = 14,
137 RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA_spare1 = 15
138 } e_RACH_ConfigCommon__groupBconfigured__ra_Msg3SizeGroupA;
139 typedef enum RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB {
140 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_minusinfinity = 0,
141 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB0 = 1,
142 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB5 = 2,
143 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB8 = 3,
144 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB10 = 4,
145 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB12 = 5,
146 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB15 = 6,
147 RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB_dB18 = 7
148 } e_RACH_ConfigCommon__groupBconfigured__messagePowerOffsetGroupB;
149 typedef enum RACH_ConfigCommon__ra_ContentionResolutionTimer {
150 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf8 = 0,
151 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf16 = 1,
152 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf24 = 2,
153 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf32 = 3,
154 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf40 = 4,
155 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf48 = 5,
156 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf56 = 6,
157 RACH_ConfigCommon__ra_ContentionResolutionTimer_sf64 = 7
158 } e_RACH_ConfigCommon__ra_ContentionResolutionTimer;
159 typedef enum RACH_ConfigCommon__prach_RootSequenceIndex_PR {
160 RACH_ConfigCommon__prach_RootSequenceIndex_PR_NOTHING, /* No components present */
161 RACH_ConfigCommon__prach_RootSequenceIndex_PR_l839,
162 RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
163 } RACH_ConfigCommon__prach_RootSequenceIndex_PR;
164 typedef enum RACH_ConfigCommon__restrictedSetConfig {
165 RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet = 0,
166 RACH_ConfigCommon__restrictedSetConfig_restrictedSetTypeA = 1,
167 RACH_ConfigCommon__restrictedSetConfig_restrictedSetTypeB = 2
168 } e_RACH_ConfigCommon__restrictedSetConfig;
169 typedef enum RACH_ConfigCommon__msg3_transformPrecoder {
170 RACH_ConfigCommon__msg3_transformPrecoder_enabled = 0
171 } e_RACH_ConfigCommon__msg3_transformPrecoder;
173 /* RACH-ConfigCommon */
174 typedef struct RACH_ConfigCommon {
175 RACH_ConfigGeneric_t rach_ConfigGeneric;
176 long *totalNumberOfRA_Preambles; /* OPTIONAL */
177 struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB {
178 RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR present;
179 union RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_u {
190 /* Context for parsing across buffer boundaries */
191 asn_struct_ctx_t _asn_ctx;
192 } *ssb_perRACH_OccasionAndCB_PreamblesPerSSB;
193 struct RACH_ConfigCommon__groupBconfigured {
194 long ra_Msg3SizeGroupA;
195 long messagePowerOffsetGroupB;
196 long numberOfRA_PreamblesGroupA;
198 /* Context for parsing across buffer boundaries */
199 asn_struct_ctx_t _asn_ctx;
201 long ra_ContentionResolutionTimer;
202 RSRP_Range_t *rsrp_ThresholdSSB; /* OPTIONAL */
203 RSRP_Range_t *rsrp_ThresholdSSB_SUL; /* OPTIONAL */
204 struct RACH_ConfigCommon__prach_RootSequenceIndex {
205 RACH_ConfigCommon__prach_RootSequenceIndex_PR present;
206 union RACH_ConfigCommon__prach_RootSequenceIndex_u {
211 /* Context for parsing across buffer boundaries */
212 asn_struct_ctx_t _asn_ctx;
213 } prach_RootSequenceIndex;
214 SubcarrierSpacing_t *msg1_SubcarrierSpacing; /* OPTIONAL */
215 long restrictedSetConfig;
216 long *msg3_transformPrecoder; /* OPTIONAL */
218 * This type is extensible,
219 * possible extensions are below.
222 /* Context for parsing across buffer boundaries */
223 asn_struct_ctx_t _asn_ctx;
224 } RACH_ConfigCommon_t;
227 /* extern asn_TYPE_descriptor_t asn_DEF_oneEighth_5; // (Use -fall-defs-global to expose) */
228 /* extern asn_TYPE_descriptor_t asn_DEF_oneFourth_22; // (Use -fall-defs-global to expose) */
229 /* extern asn_TYPE_descriptor_t asn_DEF_oneHalf_39; // (Use -fall-defs-global to expose) */
230 /* extern asn_TYPE_descriptor_t asn_DEF_one_56; // (Use -fall-defs-global to expose) */
231 /* extern asn_TYPE_descriptor_t asn_DEF_two_73; // (Use -fall-defs-global to expose) */
232 /* extern asn_TYPE_descriptor_t asn_DEF_ra_Msg3SizeGroupA_86; // (Use -fall-defs-global to expose) */
233 /* extern asn_TYPE_descriptor_t asn_DEF_messagePowerOffsetGroupB_103; // (Use -fall-defs-global to expose) */
234 /* extern asn_TYPE_descriptor_t asn_DEF_ra_ContentionResolutionTimer_113; // (Use -fall-defs-global to expose) */
235 /* extern asn_TYPE_descriptor_t asn_DEF_restrictedSetConfig_128; // (Use -fall-defs-global to expose) */
236 /* extern asn_TYPE_descriptor_t asn_DEF_msg3_transformPrecoder_132; // (Use -fall-defs-global to expose) */
237 extern asn_TYPE_descriptor_t asn_DEF_RACH_ConfigCommon;
238 extern asn_SEQUENCE_specifics_t asn_SPC_RACH_ConfigCommon_specs_1;
239 extern asn_TYPE_member_t asn_MBR_RACH_ConfigCommon_1[11];
245 #endif /* _RACH_ConfigCommon_H_ */
246 #include <asn_internal.h>