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 #include "UAC-BarringInfoSet.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 memb_uac_BarringForAccessIdentity_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
20 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
21 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
25 ASN__CTFAIL(app_key, td, sptr,
26 "%s: value not given (%s:%d)",
27 td->name, __FILE__, __LINE__);
33 size = 8 * st->size - (st->bits_unused & 0x07);
39 /* Constraint check succeeded */
42 ASN__CTFAIL(app_key, td, sptr,
43 "%s: constraint failed (%s:%d)",
44 td->name, __FILE__, __LINE__);
49 static asn_oer_constraints_t asn_OER_type_uac_BarringFactor_constr_2 CC_NOTUSED = {
52 static asn_per_constraints_t asn_PER_type_uac_BarringFactor_constr_2 CC_NOTUSED = {
53 { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
54 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
55 0, 0 /* No PER value map */
57 static asn_oer_constraints_t asn_OER_type_uac_BarringTime_constr_19 CC_NOTUSED = {
60 static asn_per_constraints_t asn_PER_type_uac_BarringTime_constr_19 CC_NOTUSED = {
61 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
62 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
63 0, 0 /* No PER value map */
65 static asn_oer_constraints_t asn_OER_memb_uac_BarringForAccessIdentity_constr_28 CC_NOTUSED = {
67 7 /* (SIZE(7..7)) */};
68 static asn_per_constraints_t asn_PER_memb_uac_BarringForAccessIdentity_constr_28 CC_NOTUSED = {
69 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
70 { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */,
71 0, 0 /* No PER value map */
73 static const asn_INTEGER_enum_map_t asn_MAP_uac_BarringFactor_value2enum_2[] = {
91 static const unsigned int asn_MAP_uac_BarringFactor_enum2value_2[] = {
109 static const asn_INTEGER_specifics_t asn_SPC_uac_BarringFactor_specs_2 = {
110 asn_MAP_uac_BarringFactor_value2enum_2, /* "tag" => N; sorted by tag */
111 asn_MAP_uac_BarringFactor_enum2value_2, /* N => "tag"; sorted by N */
112 16, /* Number of elements in the maps */
113 0, /* Enumeration is not extensible */
114 1, /* Strict enumeration */
115 0, /* Native long size */
118 static const ber_tlv_tag_t asn_DEF_uac_BarringFactor_tags_2[] = {
119 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
120 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
122 static /* Use -fall-defs-global to expose */
123 asn_TYPE_descriptor_t asn_DEF_uac_BarringFactor_2 = {
126 &asn_OP_NativeEnumerated,
127 asn_DEF_uac_BarringFactor_tags_2,
128 sizeof(asn_DEF_uac_BarringFactor_tags_2)
129 /sizeof(asn_DEF_uac_BarringFactor_tags_2[0]) - 1, /* 1 */
130 asn_DEF_uac_BarringFactor_tags_2, /* Same as above */
131 sizeof(asn_DEF_uac_BarringFactor_tags_2)
132 /sizeof(asn_DEF_uac_BarringFactor_tags_2[0]), /* 2 */
133 { &asn_OER_type_uac_BarringFactor_constr_2, &asn_PER_type_uac_BarringFactor_constr_2, NativeEnumerated_constraint },
134 0, 0, /* Defined elsewhere */
135 &asn_SPC_uac_BarringFactor_specs_2 /* Additional specs */
138 static const asn_INTEGER_enum_map_t asn_MAP_uac_BarringTime_value2enum_19[] = {
148 static const unsigned int asn_MAP_uac_BarringTime_enum2value_19[] = {
158 static const asn_INTEGER_specifics_t asn_SPC_uac_BarringTime_specs_19 = {
159 asn_MAP_uac_BarringTime_value2enum_19, /* "tag" => N; sorted by tag */
160 asn_MAP_uac_BarringTime_enum2value_19, /* N => "tag"; sorted by N */
161 8, /* Number of elements in the maps */
162 0, /* Enumeration is not extensible */
163 1, /* Strict enumeration */
164 0, /* Native long size */
167 static const ber_tlv_tag_t asn_DEF_uac_BarringTime_tags_19[] = {
168 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
169 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
171 static /* Use -fall-defs-global to expose */
172 asn_TYPE_descriptor_t asn_DEF_uac_BarringTime_19 = {
175 &asn_OP_NativeEnumerated,
176 asn_DEF_uac_BarringTime_tags_19,
177 sizeof(asn_DEF_uac_BarringTime_tags_19)
178 /sizeof(asn_DEF_uac_BarringTime_tags_19[0]) - 1, /* 1 */
179 asn_DEF_uac_BarringTime_tags_19, /* Same as above */
180 sizeof(asn_DEF_uac_BarringTime_tags_19)
181 /sizeof(asn_DEF_uac_BarringTime_tags_19[0]), /* 2 */
182 { &asn_OER_type_uac_BarringTime_constr_19, &asn_PER_type_uac_BarringTime_constr_19, NativeEnumerated_constraint },
183 0, 0, /* Defined elsewhere */
184 &asn_SPC_uac_BarringTime_specs_19 /* Additional specs */
187 asn_TYPE_member_t asn_MBR_UAC_BarringInfoSet_1[] = {
188 { ATF_NOFLAGS, 0, offsetof(struct UAC_BarringInfoSet, uac_BarringFactor),
189 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
190 -1, /* IMPLICIT tag at current level */
191 &asn_DEF_uac_BarringFactor_2,
194 0, 0, /* No default value */
197 { ATF_NOFLAGS, 0, offsetof(struct UAC_BarringInfoSet, uac_BarringTime),
198 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
199 -1, /* IMPLICIT tag at current level */
200 &asn_DEF_uac_BarringTime_19,
203 0, 0, /* No default value */
206 { ATF_NOFLAGS, 0, offsetof(struct UAC_BarringInfoSet, uac_BarringForAccessIdentity),
207 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
208 -1, /* IMPLICIT tag at current level */
211 { &asn_OER_memb_uac_BarringForAccessIdentity_constr_28, &asn_PER_memb_uac_BarringForAccessIdentity_constr_28, memb_uac_BarringForAccessIdentity_constraint_1 },
212 0, 0, /* No default value */
213 "uac-BarringForAccessIdentity"
216 static const ber_tlv_tag_t asn_DEF_UAC_BarringInfoSet_tags_1[] = {
217 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
219 static const asn_TYPE_tag2member_t asn_MAP_UAC_BarringInfoSet_tag2el_1[] = {
220 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uac-BarringFactor */
221 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uac-BarringTime */
222 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* uac-BarringForAccessIdentity */
224 asn_SEQUENCE_specifics_t asn_SPC_UAC_BarringInfoSet_specs_1 = {
225 sizeof(struct UAC_BarringInfoSet),
226 offsetof(struct UAC_BarringInfoSet, _asn_ctx),
227 asn_MAP_UAC_BarringInfoSet_tag2el_1,
228 3, /* Count of tags in the map */
229 0, 0, 0, /* Optional elements (not needed) */
230 -1, /* First extension addition */
232 asn_TYPE_descriptor_t asn_DEF_UAC_BarringInfoSet = {
233 "UAC-BarringInfoSet",
234 "UAC-BarringInfoSet",
236 asn_DEF_UAC_BarringInfoSet_tags_1,
237 sizeof(asn_DEF_UAC_BarringInfoSet_tags_1)
238 /sizeof(asn_DEF_UAC_BarringInfoSet_tags_1[0]), /* 1 */
239 asn_DEF_UAC_BarringInfoSet_tags_1, /* Same as above */
240 sizeof(asn_DEF_UAC_BarringInfoSet_tags_1)
241 /sizeof(asn_DEF_UAC_BarringInfoSet_tags_1[0]), /* 1 */
242 { 0, 0, SEQUENCE_constraint },
243 asn_MBR_UAC_BarringInfoSet_1,
244 3, /* Elements count */
245 &asn_SPC_UAC_BarringInfoSet_specs_1 /* Additional specs */