2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "F1AP-IEs"
5 * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "UEIdentityIndexValue.h"
10 #include "ProtocolIE-SingleContainer.h"
12 memb_indexLength10_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
13 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
14 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
18 ASN__CTFAIL(app_key, td, sptr,
19 "%s: value not given (%s:%d)",
20 td->name, __FILE__, __LINE__);
26 size = 8 * st->size - (st->bits_unused & 0x07);
32 /* Constraint check succeeded */
35 ASN__CTFAIL(app_key, td, sptr,
36 "%s: constraint failed (%s:%d)",
37 td->name, __FILE__, __LINE__);
42 static asn_oer_constraints_t asn_OER_memb_indexLength10_constr_2 CC_NOTUSED = {
44 10 /* (SIZE(10..10)) */};
45 static asn_per_constraints_t asn_PER_memb_indexLength10_constr_2 CC_NOTUSED = {
46 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
47 { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */,
48 0, 0 /* No PER value map */
50 static asn_oer_constraints_t asn_OER_type_UEIdentityIndexValue_constr_1 CC_NOTUSED = {
53 static asn_per_constraints_t asn_PER_type_UEIdentityIndexValue_constr_1 CC_NOTUSED = {
54 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
55 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
56 0, 0 /* No PER value map */
58 static asn_TYPE_member_t asn_MBR_UEIdentityIndexValue_1[] = {
59 { ATF_NOFLAGS, 0, offsetof(struct UEIdentityIndexValue, choice.indexLength10),
60 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
61 -1, /* IMPLICIT tag at current level */
64 { &asn_OER_memb_indexLength10_constr_2, &asn_PER_memb_indexLength10_constr_2, memb_indexLength10_constraint_1 },
65 0, 0, /* No default value */
68 { ATF_POINTER, 0, offsetof(struct UEIdentityIndexValue, choice.choice_extension),
69 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
70 -1, /* IMPLICIT tag at current level */
71 &asn_DEF_ProtocolIE_SingleContainer_4590P68,
74 0, 0, /* No default value */
78 static const asn_TYPE_tag2member_t asn_MAP_UEIdentityIndexValue_tag2el_1[] = {
79 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* indexLength10 */
80 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* choice-extension */
82 static asn_CHOICE_specifics_t asn_SPC_UEIdentityIndexValue_specs_1 = {
83 sizeof(struct UEIdentityIndexValue),
84 offsetof(struct UEIdentityIndexValue, _asn_ctx),
85 offsetof(struct UEIdentityIndexValue, present),
86 sizeof(((struct UEIdentityIndexValue *)0)->present),
87 asn_MAP_UEIdentityIndexValue_tag2el_1,
88 2, /* Count of tags in the map */
90 -1 /* Extensions start */
92 asn_TYPE_descriptor_t asn_DEF_UEIdentityIndexValue = {
93 "UEIdentityIndexValue",
94 "UEIdentityIndexValue",
96 0, /* No effective tags (pointer) */
97 0, /* No effective tags (count) */
98 0, /* No tags (pointer) */
99 0, /* No tags (count) */
100 { &asn_OER_type_UEIdentityIndexValue_constr_1, &asn_PER_type_UEIdentityIndexValue_constr_1, CHOICE_constraint },
101 asn_MBR_UEIdentityIndexValue_1,
102 2, /* Elements count */
103 &asn_SPC_UEIdentityIndexValue_specs_1 /* Additional specs */