SIM-115: update simulator to use latest E2SM KPM version 3
[sim/e2-interface.git] / e2sim / asn1c / GNB-ID-Choice.c
1 /*
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/`
6  */
7
8 #include "GNB-ID-Choice.h"
9
10 static int
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;
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 >= 22UL && size <= 32UL)) {
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
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 */
46 };
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_GNB_ID_Choice_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 */
53 };
54 #endif  /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
55 asn_TYPE_member_t asn_MBR_GNB_ID_Choice_1[] = {
56         { ATF_NOFLAGS, 0, offsetof(struct GNB_ID_Choice, choice.gnb_ID),
57                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
58                 -1,     /* IMPLICIT tag at current level */
59                 &asn_DEF_BIT_STRING,
60                 0,
61                 {
62 #if !defined(ASN_DISABLE_OER_SUPPORT)
63                         0,
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
69                 },
70                 0, 0, /* No default value */
71                 "gnb-ID"
72                 },
73 };
74 static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_Choice_tag2el_1[] = {
75     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gnb-ID */
76 };
77 asn_CHOICE_specifics_t asn_SPC_GNB_ID_Choice_specs_1 = {
78         sizeof(struct GNB_ID_Choice),
79         offsetof(struct GNB_ID_Choice, _asn_ctx),
80         offsetof(struct GNB_ID_Choice, present),
81         sizeof(((struct GNB_ID_Choice *)0)->present),
82         asn_MAP_GNB_ID_Choice_tag2el_1,
83         1,      /* Count of tags in the map */
84         0, 0,
85         1       /* Extensions start */
86 };
87 asn_TYPE_descriptor_t asn_DEF_GNB_ID_Choice = {
88         "GNB-ID-Choice",
89         "GNB-ID-Choice",
90         &asn_OP_CHOICE,
91         0,      /* No effective tags (pointer) */
92         0,      /* No effective tags (count) */
93         0,      /* No tags (pointer) */
94         0,      /* No tags (count) */
95         {
96 #if !defined(ASN_DISABLE_OER_SUPPORT)
97                 0,
98 #endif  /* !defined(ASN_DISABLE_OER_SUPPORT) */
99 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
100                 &asn_PER_type_GNB_ID_Choice_constr_1,
101 #endif  /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
102                 CHOICE_constraint
103         },
104         asn_MBR_GNB_ID_Choice_1,
105         1,      /* Elements count */
106         &asn_SPC_GNB_ID_Choice_specs_1  /* Additional specs */
107 };
108