blob: 327ab7abc2e475175fc4c807b811243dc6f796ee [file] [log] [blame]
sjanac7d0fd52020-05-03 21:32:16 -04001/*
2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2AP-IEs"
4 * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
5 * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
6 */
7
8#include "GlobalRIC-ID.h"
9
10static int
11memb_ric_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;
14 size_t size;
15
16 if(!sptr) {
17 ASN__CTFAIL(app_key, td, sptr,
18 "%s: value not given (%s:%d)",
19 td->name, __FILE__, __LINE__);
20 return -1;
21 }
22
23 if(st->size > 0) {
24 /* Size in bits */
25 size = 8 * st->size - (st->bits_unused & 0x07);
26 } else {
27 size = 0;
28 }
29
30 if((size == 20)) {
31 /* Constraint check succeeded */
32 return 0;
33 } else {
34 ASN__CTFAIL(app_key, td, sptr,
35 "%s: constraint failed (%s:%d)",
36 td->name, __FILE__, __LINE__);
37 return -1;
38 }
39}
40
41static asn_per_constraints_t asn_PER_memb_ric_ID_constr_3 CC_NOTUSED = {
42 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
43 { APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
44 0, 0 /* No PER value map */
45};
46static asn_TYPE_member_t asn_MBR_GlobalRIC_ID_1[] = {
47 { ATF_NOFLAGS, 0, offsetof(struct GlobalRIC_ID, pLMN_Identity),
48 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
49 -1, /* IMPLICIT tag at current level */
50 &asn_DEF_PLMN_Identity,
51 0,
52 { 0, 0, 0 },
53 0, 0, /* No default value */
54 "pLMN-Identity"
55 },
56 { ATF_NOFLAGS, 0, offsetof(struct GlobalRIC_ID, ric_ID),
57 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
58 -1, /* IMPLICIT tag at current level */
59 &asn_DEF_BIT_STRING,
60 0,
61 { 0, &asn_PER_memb_ric_ID_constr_3, memb_ric_ID_constraint_1 },
62 0, 0, /* No default value */
63 "ric-ID"
64 },
65};
66static const ber_tlv_tag_t asn_DEF_GlobalRIC_ID_tags_1[] = {
67 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
68};
69static const asn_TYPE_tag2member_t asn_MAP_GlobalRIC_ID_tag2el_1[] = {
70 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
71 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-ID */
72};
73static asn_SEQUENCE_specifics_t asn_SPC_GlobalRIC_ID_specs_1 = {
74 sizeof(struct GlobalRIC_ID),
75 offsetof(struct GlobalRIC_ID, _asn_ctx),
76 asn_MAP_GlobalRIC_ID_tag2el_1,
77 2, /* Count of tags in the map */
78 0, 0, 0, /* Optional elements (not needed) */
79 2, /* First extension addition */
80};
81asn_TYPE_descriptor_t asn_DEF_GlobalRIC_ID = {
82 "GlobalRIC-ID",
83 "GlobalRIC-ID",
84 &asn_OP_SEQUENCE,
85 asn_DEF_GlobalRIC_ID_tags_1,
86 sizeof(asn_DEF_GlobalRIC_ID_tags_1)
87 /sizeof(asn_DEF_GlobalRIC_ID_tags_1[0]), /* 1 */
88 asn_DEF_GlobalRIC_ID_tags_1, /* Same as above */
89 sizeof(asn_DEF_GlobalRIC_ID_tags_1)
90 /sizeof(asn_DEF_GlobalRIC_ID_tags_1[0]), /* 1 */
91 { 0, 0, SEQUENCE_constraint },
92 asn_MBR_GlobalRIC_ID_1,
93 2, /* Elements count */
94 &asn_SPC_GlobalRIC_ID_specs_1 /* Additional specs */
95};
96