2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2AP-IEs"
4 * found in "e2ap-ied-v03.01.asn"
5 * `asn1c -pdu=auto -fincludes-quoted -fcompound-names -findirect-choice -fno-include-deps -no-gen-example -no-gen-OER -D /tmp/workspace/oransim-gerrit/e2sim/asn1c/`
11 memb_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
17 ASN__CTFAIL(app_key, td, sptr,
18 "%s: value not given (%s:%d)",
19 td->name, __FILE__, __LINE__);
25 size = 8 * st->size - (st->bits_unused & 0x07);
30 if((size >= 22UL && size <= 32UL)) {
31 /* Constraint check succeeded */
34 ASN__CTFAIL(app_key, td, sptr,
35 "%s: constraint failed (%s:%d)",
36 td->name, __FILE__, __LINE__);
41 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
42 static asn_per_constraints_t asn_PER_memb_gNB_ID_constr_2 CC_NOTUSED = {
43 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
44 { APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
45 0, 0 /* No PER value map */
47 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
48 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
49 asn_per_constraints_t asn_PER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
50 { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
51 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
52 0, 0 /* No PER value map */
54 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
55 asn_TYPE_member_t asn_MBR_ENGNB_ID_1[] = {
56 { ATF_NOFLAGS, 0, offsetof(struct ENGNB_ID, choice.gNB_ID),
57 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
58 -1, /* IMPLICIT tag at current level */
62 #if !defined(ASN_DISABLE_OER_SUPPORT)
64 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
65 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
66 &asn_PER_memb_gNB_ID_constr_2,
67 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
68 memb_gNB_ID_constraint_1
70 0, 0, /* No default value */
74 static const asn_TYPE_tag2member_t asn_MAP_ENGNB_ID_tag2el_1[] = {
75 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-ID */
77 asn_CHOICE_specifics_t asn_SPC_ENGNB_ID_specs_1 = {
78 sizeof(struct ENGNB_ID),
79 offsetof(struct ENGNB_ID, _asn_ctx),
80 offsetof(struct ENGNB_ID, present),
81 sizeof(((struct ENGNB_ID *)0)->present),
82 asn_MAP_ENGNB_ID_tag2el_1,
83 1, /* Count of tags in the map */
85 1 /* Extensions start */
87 asn_TYPE_descriptor_t asn_DEF_ENGNB_ID = {
91 0, /* No effective tags (pointer) */
92 0, /* No effective tags (count) */
93 0, /* No tags (pointer) */
94 0, /* No tags (count) */
96 #if !defined(ASN_DISABLE_OER_SUPPORT)
98 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
99 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
100 &asn_PER_type_ENGNB_ID_constr_1,
101 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
105 1, /* Elements count */
106 &asn_SPC_ENGNB_ID_specs_1 /* Additional specs */