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 "CNUEPagingIdentity.h"
10 #include "ProtocolIE-SingleContainer.h"
12 memb_fiveG_S_TMSI_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_fiveG_S_TMSI_constr_2 CC_NOTUSED = {
44 48 /* (SIZE(48..48)) */};
45 static asn_per_constraints_t asn_PER_memb_fiveG_S_TMSI_constr_2 CC_NOTUSED = {
46 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
47 { APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
48 0, 0 /* No PER value map */
50 static asn_oer_constraints_t asn_OER_type_CNUEPagingIdentity_constr_1 CC_NOTUSED = {
53 asn_per_constraints_t asn_PER_type_CNUEPagingIdentity_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 asn_TYPE_member_t asn_MBR_CNUEPagingIdentity_1[] = {
59 { ATF_NOFLAGS, 0, offsetof(struct CNUEPagingIdentity, choice.fiveG_S_TMSI),
60 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
61 -1, /* IMPLICIT tag at current level */
64 { &asn_OER_memb_fiveG_S_TMSI_constr_2, &asn_PER_memb_fiveG_S_TMSI_constr_2, memb_fiveG_S_TMSI_constraint_1 },
65 0, 0, /* No default value */
68 { ATF_POINTER, 0, offsetof(struct CNUEPagingIdentity, choice.choice_extension),
69 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
70 -1, /* IMPLICIT tag at current level */
71 &asn_DEF_ProtocolIE_SingleContainer_4590P60,
74 0, 0, /* No default value */
78 static const asn_TYPE_tag2member_t asn_MAP_CNUEPagingIdentity_tag2el_1[] = {
79 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveG-S-TMSI */
80 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* choice-extension */
82 asn_CHOICE_specifics_t asn_SPC_CNUEPagingIdentity_specs_1 = {
83 sizeof(struct CNUEPagingIdentity),
84 offsetof(struct CNUEPagingIdentity, _asn_ctx),
85 offsetof(struct CNUEPagingIdentity, present),
86 sizeof(((struct CNUEPagingIdentity *)0)->present),
87 asn_MAP_CNUEPagingIdentity_tag2el_1,
88 2, /* Count of tags in the map */
90 -1 /* Extensions start */
92 asn_TYPE_descriptor_t asn_DEF_CNUEPagingIdentity = {
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_CNUEPagingIdentity_constr_1, &asn_PER_type_CNUEPagingIdentity_constr_1, CHOICE_constraint },
101 asn_MBR_CNUEPagingIdentity_1,
102 2, /* Elements count */
103 &asn_SPC_CNUEPagingIdentity_specs_1 /* Additional specs */