499e9b053c3197cf15376836ae913f225a364714
[o-du/l2.git] / src / codec_utils / RRC / SRS-ResourceSet.h
1 /*
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`
6  */
7
8 #ifndef _SRS_ResourceSet_H_
9 #define _SRS_ResourceSet_H_
10
11
12 #include <asn_application.h>
13
14 /* Including external dependencies */
15 #include "SRS-ResourceSetId.h"
16 #include <NativeEnumerated.h>
17 #include "Alpha.h"
18 #include <NativeInteger.h>
19 #include "SRS-ResourceId.h"
20 #include <asn_SEQUENCE_OF.h>
21 #include <constr_SEQUENCE_OF.h>
22 #include "NZP-CSI-RS-ResourceId.h"
23 #include <constr_SEQUENCE.h>
24 #include <constr_CHOICE.h>
25 #include "SSB-Index.h"
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /* Dependencies */
32 typedef enum SRS_ResourceSet__resourceType_PR {
33         SRS_ResourceSet__resourceType_PR_NOTHING,       /* No components present */
34         SRS_ResourceSet__resourceType_PR_aperiodic,
35         SRS_ResourceSet__resourceType_PR_semi_persistent,
36         SRS_ResourceSet__resourceType_PR_periodic
37 } SRS_ResourceSet__resourceType_PR;
38 typedef enum SRS_ResourceSet__usage {
39         SRS_ResourceSet__usage_beamManagement   = 0,
40         SRS_ResourceSet__usage_codebook = 1,
41         SRS_ResourceSet__usage_nonCodebook      = 2,
42         SRS_ResourceSet__usage_antennaSwitching = 3
43 } e_SRS_ResourceSet__usage;
44 typedef enum SRS_ResourceSet__pathlossReferenceRS_PR {
45         SRS_ResourceSet__pathlossReferenceRS_PR_NOTHING,        /* No components present */
46         SRS_ResourceSet__pathlossReferenceRS_PR_ssb_Index,
47         SRS_ResourceSet__pathlossReferenceRS_PR_csi_RS_Index
48 } SRS_ResourceSet__pathlossReferenceRS_PR;
49 typedef enum SRS_ResourceSet__srs_PowerControlAdjustmentStates {
50         SRS_ResourceSet__srs_PowerControlAdjustmentStates_sameAsFci2    = 0,
51         SRS_ResourceSet__srs_PowerControlAdjustmentStates_separateClosedLoop    = 1
52 } e_SRS_ResourceSet__srs_PowerControlAdjustmentStates;
53
54 /* SRS-ResourceSet */
55 typedef struct SRS_ResourceSet {
56         SRS_ResourceSetId_t      srs_ResourceSetId;
57         struct SRS_ResourceSet__srs_ResourceIdList {
58                 A_SEQUENCE_OF(SRS_ResourceId_t) list;
59                 
60                 /* Context for parsing across buffer boundaries */
61                 asn_struct_ctx_t _asn_ctx;
62         } *srs_ResourceIdList;
63         struct SRS_ResourceSet__resourceType {
64                 SRS_ResourceSet__resourceType_PR present;
65                 union SRS_ResourceSet__resourceType_u {
66                         struct SRS_ResourceSet__resourceType__aperiodic {
67                                 long     aperiodicSRS_ResourceTrigger;
68                                 NZP_CSI_RS_ResourceId_t *csi_RS;        /* OPTIONAL */
69                                 long    *slotOffset;    /* OPTIONAL */
70                                 /*
71                                  * This type is extensible,
72                                  * possible extensions are below.
73                                  */
74                                 struct SRS_ResourceSet__resourceType__aperiodic__ext1 {
75                                         struct SRS_ResourceSet__resourceType__aperiodic__ext1__aperiodicSRS_ResourceTriggerList_v1530 {
76                                                 A_SEQUENCE_OF(long) list;
77                                                 
78                                                 /* Context for parsing across buffer boundaries */
79                                                 asn_struct_ctx_t _asn_ctx;
80                                         } *aperiodicSRS_ResourceTriggerList_v1530;
81                                         
82                                         /* Context for parsing across buffer boundaries */
83                                         asn_struct_ctx_t _asn_ctx;
84                                 } *ext1;
85                                 
86                                 /* Context for parsing across buffer boundaries */
87                                 asn_struct_ctx_t _asn_ctx;
88                         } *aperiodic;
89                         struct SRS_ResourceSet__resourceType__semi_persistent {
90                                 NZP_CSI_RS_ResourceId_t *associatedCSI_RS;      /* 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                         } *semi_persistent;
99                         struct SRS_ResourceSet__resourceType__periodic {
100                                 NZP_CSI_RS_ResourceId_t *associatedCSI_RS;      /* OPTIONAL */
101                                 /*
102                                  * This type is extensible,
103                                  * possible extensions are below.
104                                  */
105                                 
106                                 /* Context for parsing across buffer boundaries */
107                                 asn_struct_ctx_t _asn_ctx;
108                         } *periodic;
109                 } choice;
110                 
111                 /* Context for parsing across buffer boundaries */
112                 asn_struct_ctx_t _asn_ctx;
113         } resourceType;
114         long     usage;
115         Alpha_t *alpha; /* OPTIONAL */
116         long    *p0;    /* OPTIONAL */
117         struct SRS_ResourceSet__pathlossReferenceRS {
118                 SRS_ResourceSet__pathlossReferenceRS_PR present;
119                 union SRS_ResourceSet__pathlossReferenceRS_u {
120                         SSB_Index_t      ssb_Index;
121                         NZP_CSI_RS_ResourceId_t  csi_RS_Index;
122                 } choice;
123                 
124                 /* Context for parsing across buffer boundaries */
125                 asn_struct_ctx_t _asn_ctx;
126         } *pathlossReferenceRS;
127         long    *srs_PowerControlAdjustmentStates;      /* OPTIONAL */
128         /*
129          * This type is extensible,
130          * possible extensions are below.
131          */
132         
133         /* Context for parsing across buffer boundaries */
134         asn_struct_ctx_t _asn_ctx;
135 } SRS_ResourceSet_t;
136
137 /* Implementation */
138 /* extern asn_TYPE_descriptor_t asn_DEF_usage_20;       // (Use -fall-defs-global to expose) */
139 /* extern asn_TYPE_descriptor_t asn_DEF_srs_PowerControlAdjustmentStates_30;    // (Use -fall-defs-global to expose) */
140 extern asn_TYPE_descriptor_t asn_DEF_SRS_ResourceSet;
141 extern asn_SEQUENCE_specifics_t asn_SPC_SRS_ResourceSet_specs_1;
142 extern asn_TYPE_member_t asn_MBR_SRS_ResourceSet_1[8];
143
144 #ifdef __cplusplus
145 }
146 #endif
147
148 #endif  /* _SRS_ResourceSet_H_ */
149 #include <asn_internal.h>