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 _PUCCH_Config_H_
9 #define _PUCCH_Config_H_
12 #include <asn_application.h>
14 /* Including external dependencies */
15 #include <asn_SEQUENCE_OF.h>
16 #include <constr_SEQUENCE_OF.h>
17 #include "PUCCH-ResourceSetId.h"
18 #include "PUCCH-ResourceId.h"
20 #include <constr_CHOICE.h>
21 #include "SchedulingRequestResourceId.h"
22 #include <NativeInteger.h>
23 #include "PUCCH-SpatialRelationInfoId.h"
24 #include <constr_SEQUENCE.h>
31 typedef enum PUCCH_Config__format1_PR {
32 PUCCH_Config__format1_PR_NOTHING, /* No components present */
33 PUCCH_Config__format1_PR_release,
34 PUCCH_Config__format1_PR_setup
35 } PUCCH_Config__format1_PR;
36 typedef enum PUCCH_Config__format2_PR {
37 PUCCH_Config__format2_PR_NOTHING, /* No components present */
38 PUCCH_Config__format2_PR_release,
39 PUCCH_Config__format2_PR_setup
40 } PUCCH_Config__format2_PR;
41 typedef enum PUCCH_Config__format3_PR {
42 PUCCH_Config__format3_PR_NOTHING, /* No components present */
43 PUCCH_Config__format3_PR_release,
44 PUCCH_Config__format3_PR_setup
45 } PUCCH_Config__format3_PR;
46 typedef enum PUCCH_Config__format4_PR {
47 PUCCH_Config__format4_PR_NOTHING, /* No components present */
48 PUCCH_Config__format4_PR_release,
49 PUCCH_Config__format4_PR_setup
50 } PUCCH_Config__format4_PR;
52 /* Forward declarations */
53 struct PUCCH_PowerControl;
54 struct PUCCH_ResourceSet;
55 struct PUCCH_Resource;
56 struct PUCCH_FormatConfig;
57 struct SchedulingRequestResourceConfig;
58 struct PUCCH_SpatialRelationInfo;
61 typedef struct PUCCH_Config {
62 struct PUCCH_Config__resourceSetToAddModList {
63 A_SEQUENCE_OF(struct PUCCH_ResourceSet) list;
65 /* Context for parsing across buffer boundaries */
66 asn_struct_ctx_t _asn_ctx;
67 } *resourceSetToAddModList;
68 struct PUCCH_Config__resourceSetToReleaseList {
69 A_SEQUENCE_OF(PUCCH_ResourceSetId_t) list;
71 /* Context for parsing across buffer boundaries */
72 asn_struct_ctx_t _asn_ctx;
73 } *resourceSetToReleaseList;
74 struct PUCCH_Config__resourceToAddModList {
75 A_SEQUENCE_OF(struct PUCCH_Resource) list;
77 /* Context for parsing across buffer boundaries */
78 asn_struct_ctx_t _asn_ctx;
79 } *resourceToAddModList;
80 struct PUCCH_Config__resourceToReleaseList {
81 A_SEQUENCE_OF(PUCCH_ResourceId_t) list;
83 /* Context for parsing across buffer boundaries */
84 asn_struct_ctx_t _asn_ctx;
85 } *resourceToReleaseList;
86 struct PUCCH_Config__format1 {
87 PUCCH_Config__format1_PR present;
88 union PUCCH_Config__format1_u {
90 struct PUCCH_FormatConfig *setup;
93 /* Context for parsing across buffer boundaries */
94 asn_struct_ctx_t _asn_ctx;
96 struct PUCCH_Config__format2 {
97 PUCCH_Config__format2_PR present;
98 union PUCCH_Config__format2_u {
100 struct PUCCH_FormatConfig *setup;
103 /* Context for parsing across buffer boundaries */
104 asn_struct_ctx_t _asn_ctx;
106 struct PUCCH_Config__format3 {
107 PUCCH_Config__format3_PR present;
108 union PUCCH_Config__format3_u {
110 struct PUCCH_FormatConfig *setup;
113 /* Context for parsing across buffer boundaries */
114 asn_struct_ctx_t _asn_ctx;
116 struct PUCCH_Config__format4 {
117 PUCCH_Config__format4_PR present;
118 union PUCCH_Config__format4_u {
120 struct PUCCH_FormatConfig *setup;
123 /* Context for parsing across buffer boundaries */
124 asn_struct_ctx_t _asn_ctx;
126 struct PUCCH_Config__schedulingRequestResourceToAddModList {
127 A_SEQUENCE_OF(struct SchedulingRequestResourceConfig) list;
129 /* Context for parsing across buffer boundaries */
130 asn_struct_ctx_t _asn_ctx;
131 } *schedulingRequestResourceToAddModList;
132 struct PUCCH_Config__schedulingRequestResourceToReleaseList {
133 A_SEQUENCE_OF(SchedulingRequestResourceId_t) list;
135 /* Context for parsing across buffer boundaries */
136 asn_struct_ctx_t _asn_ctx;
137 } *schedulingRequestResourceToReleaseList;
138 struct PUCCH_Config__multi_CSI_PUCCH_ResourceList {
139 A_SEQUENCE_OF(PUCCH_ResourceId_t) list;
141 /* Context for parsing across buffer boundaries */
142 asn_struct_ctx_t _asn_ctx;
143 } *multi_CSI_PUCCH_ResourceList;
144 struct PUCCH_Config__dl_DataToUL_ACK {
145 A_SEQUENCE_OF(long) list;
147 /* Context for parsing across buffer boundaries */
148 asn_struct_ctx_t _asn_ctx;
150 struct PUCCH_Config__spatialRelationInfoToAddModList {
151 A_SEQUENCE_OF(struct PUCCH_SpatialRelationInfo) list;
153 /* Context for parsing across buffer boundaries */
154 asn_struct_ctx_t _asn_ctx;
155 } *spatialRelationInfoToAddModList;
156 struct PUCCH_Config__spatialRelationInfoToReleaseList {
157 A_SEQUENCE_OF(PUCCH_SpatialRelationInfoId_t) list;
159 /* Context for parsing across buffer boundaries */
160 asn_struct_ctx_t _asn_ctx;
161 } *spatialRelationInfoToReleaseList;
162 struct PUCCH_PowerControl *pucch_PowerControl; /* OPTIONAL */
164 * This type is extensible,
165 * possible extensions are below.
168 /* Context for parsing across buffer boundaries */
169 asn_struct_ctx_t _asn_ctx;
173 extern asn_TYPE_descriptor_t asn_DEF_PUCCH_Config;
174 extern asn_SEQUENCE_specifics_t asn_SPC_PUCCH_Config_specs_1;
175 extern asn_TYPE_member_t asn_MBR_PUCCH_Config_1[15];
181 #endif /* _PUCCH_Config_H_ */
182 #include <asn_internal.h>