2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "02_Aug/rrc_15_3_asn.asn1"
5 * `asn1c -D ./Aug02 -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "PUCCH-Resource.h"
10 #include "PUCCH-format0.h"
11 #include "PUCCH-format1.h"
12 #include "PUCCH-format2.h"
13 #include "PUCCH-format3.h"
14 #include "PUCCH-format4.h"
16 * This type is implemented using NativeEnumerated,
17 * so here we adjust the DEF accordingly.
19 static asn_oer_constraints_t asn_OER_type_intraSlotFrequencyHopping_constr_4 CC_NOTUSED = {
22 static asn_per_constraints_t asn_PER_type_intraSlotFrequencyHopping_constr_4 CC_NOTUSED = {
23 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
24 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
25 0, 0 /* No PER value map */
27 static asn_oer_constraints_t asn_OER_type_format_constr_7 CC_NOTUSED = {
30 static asn_per_constraints_t asn_PER_type_format_constr_7 CC_NOTUSED = {
31 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
32 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
33 0, 0 /* No PER value map */
35 static const asn_INTEGER_enum_map_t asn_MAP_intraSlotFrequencyHopping_value2enum_4[] = {
38 static const unsigned int asn_MAP_intraSlotFrequencyHopping_enum2value_4[] = {
41 static const asn_INTEGER_specifics_t asn_SPC_intraSlotFrequencyHopping_specs_4 = {
42 asn_MAP_intraSlotFrequencyHopping_value2enum_4, /* "tag" => N; sorted by tag */
43 asn_MAP_intraSlotFrequencyHopping_enum2value_4, /* N => "tag"; sorted by N */
44 1, /* Number of elements in the maps */
45 0, /* Enumeration is not extensible */
46 1, /* Strict enumeration */
47 0, /* Native long size */
50 static const ber_tlv_tag_t asn_DEF_intraSlotFrequencyHopping_tags_4[] = {
51 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
52 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
54 static /* Use -fall-defs-global to expose */
55 asn_TYPE_descriptor_t asn_DEF_intraSlotFrequencyHopping_4 = {
56 "intraSlotFrequencyHopping",
57 "intraSlotFrequencyHopping",
58 &asn_OP_NativeEnumerated,
59 asn_DEF_intraSlotFrequencyHopping_tags_4,
60 sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4)
61 /sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4[0]) - 1, /* 1 */
62 asn_DEF_intraSlotFrequencyHopping_tags_4, /* Same as above */
63 sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4)
64 /sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4[0]), /* 2 */
65 { &asn_OER_type_intraSlotFrequencyHopping_constr_4, &asn_PER_type_intraSlotFrequencyHopping_constr_4, NativeEnumerated_constraint },
66 0, 0, /* Defined elsewhere */
67 &asn_SPC_intraSlotFrequencyHopping_specs_4 /* Additional specs */
70 static asn_TYPE_member_t asn_MBR_format_7[] = {
71 { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format0),
72 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
73 -1, /* IMPLICIT tag at current level */
74 &asn_DEF_PUCCH_format0,
77 0, 0, /* No default value */
80 { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format1),
81 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
82 -1, /* IMPLICIT tag at current level */
83 &asn_DEF_PUCCH_format1,
86 0, 0, /* No default value */
89 { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format2),
90 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
91 -1, /* IMPLICIT tag at current level */
92 &asn_DEF_PUCCH_format2,
95 0, 0, /* No default value */
98 { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format3),
99 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
100 -1, /* IMPLICIT tag at current level */
101 &asn_DEF_PUCCH_format3,
104 0, 0, /* No default value */
107 { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format4),
108 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
109 -1, /* IMPLICIT tag at current level */
110 &asn_DEF_PUCCH_format4,
113 0, 0, /* No default value */
117 static const asn_TYPE_tag2member_t asn_MAP_format_tag2el_7[] = {
118 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* format0 */
119 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* format1 */
120 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* format2 */
121 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* format3 */
122 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* format4 */
124 static asn_CHOICE_specifics_t asn_SPC_format_specs_7 = {
125 sizeof(struct PUCCH_Resource__format),
126 offsetof(struct PUCCH_Resource__format, _asn_ctx),
127 offsetof(struct PUCCH_Resource__format, present),
128 sizeof(((struct PUCCH_Resource__format *)0)->present),
129 asn_MAP_format_tag2el_7,
130 5, /* Count of tags in the map */
132 -1 /* Extensions start */
134 static /* Use -fall-defs-global to expose */
135 asn_TYPE_descriptor_t asn_DEF_format_7 = {
139 0, /* No effective tags (pointer) */
140 0, /* No effective tags (count) */
141 0, /* No tags (pointer) */
142 0, /* No tags (count) */
143 { &asn_OER_type_format_constr_7, &asn_PER_type_format_constr_7, CHOICE_constraint },
145 5, /* Elements count */
146 &asn_SPC_format_specs_7 /* Additional specs */
149 asn_TYPE_member_t asn_MBR_PUCCH_Resource_1[] = {
150 { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, pucch_ResourceId),
151 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
152 -1, /* IMPLICIT tag at current level */
153 &asn_DEF_PUCCH_ResourceId,
156 0, 0, /* No default value */
159 { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, startingPRB),
160 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
161 -1, /* IMPLICIT tag at current level */
165 0, 0, /* No default value */
168 { ATF_POINTER, 2, offsetof(struct PUCCH_Resource, intraSlotFrequencyHopping),
169 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
170 -1, /* IMPLICIT tag at current level */
171 &asn_DEF_intraSlotFrequencyHopping_4,
174 0, 0, /* No default value */
175 "intraSlotFrequencyHopping"
177 { ATF_POINTER, 1, offsetof(struct PUCCH_Resource, secondHopPRB),
178 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
179 -1, /* IMPLICIT tag at current level */
183 0, 0, /* No default value */
186 { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, format),
187 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
188 +1, /* EXPLICIT tag at current level */
192 0, 0, /* No default value */
196 static const int asn_MAP_PUCCH_Resource_oms_1[] = { 2, 3 };
197 static const ber_tlv_tag_t asn_DEF_PUCCH_Resource_tags_1[] = {
198 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
200 static const asn_TYPE_tag2member_t asn_MAP_PUCCH_Resource_tag2el_1[] = {
201 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pucch-ResourceId */
202 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* startingPRB */
203 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* intraSlotFrequencyHopping */
204 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* secondHopPRB */
205 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* format */
207 asn_SEQUENCE_specifics_t asn_SPC_PUCCH_Resource_specs_1 = {
208 sizeof(struct PUCCH_Resource),
209 offsetof(struct PUCCH_Resource, _asn_ctx),
210 asn_MAP_PUCCH_Resource_tag2el_1,
211 5, /* Count of tags in the map */
212 asn_MAP_PUCCH_Resource_oms_1, /* Optional members */
213 2, 0, /* Root/Additions */
214 -1, /* First extension addition */
216 asn_TYPE_descriptor_t asn_DEF_PUCCH_Resource = {
220 asn_DEF_PUCCH_Resource_tags_1,
221 sizeof(asn_DEF_PUCCH_Resource_tags_1)
222 /sizeof(asn_DEF_PUCCH_Resource_tags_1[0]), /* 1 */
223 asn_DEF_PUCCH_Resource_tags_1, /* Same as above */
224 sizeof(asn_DEF_PUCCH_Resource_tags_1)
225 /sizeof(asn_DEF_PUCCH_Resource_tags_1[0]), /* 1 */
226 { 0, 0, SEQUENCE_constraint },
227 asn_MBR_PUCCH_Resource_1,
228 5, /* Elements count */
229 &asn_SPC_PUCCH_Resource_specs_1 /* Additional specs */