Updated documentation for mock a1 tool
[ric-app/admin.git] / asn1c_defs / X2N_MobilityParametersModificationRange.c
1 /*
2  * Generated by asn1c-0.9.29 n1 (http://lionet.info/asn1c)
3  * From ASN.1 module "X2AP-IEs"
4  *      found in "../../asn_defs/asn1/x2ap-15-04.asn"
5  *      `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER`
6  */
7
8 #include "X2N_MobilityParametersModificationRange.h"
9
10 static int
11 memb_X2N_handoverTriggerChangeLowerLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         long value;
14         
15         if(!sptr) {
16                 ASN__CTFAIL(app_key, td, sptr,
17                         "%s: value not given (%s:%d)",
18                         td->name, __FILE__, __LINE__);
19                 return -1;
20         }
21         
22         value = *(const long *)sptr;
23         
24         if((value >= -20 && value <= 20)) {
25                 /* Constraint check succeeded */
26                 return 0;
27         } else {
28                 ASN__CTFAIL(app_key, td, sptr,
29                         "%s: constraint failed (%s:%d)",
30                         td->name, __FILE__, __LINE__);
31                 return -1;
32         }
33 }
34
35 static int
36 memb_X2N_handoverTriggerChangeUpperLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
37                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
38         long value;
39         
40         if(!sptr) {
41                 ASN__CTFAIL(app_key, td, sptr,
42                         "%s: value not given (%s:%d)",
43                         td->name, __FILE__, __LINE__);
44                 return -1;
45         }
46         
47         value = *(const long *)sptr;
48         
49         if((value >= -20 && value <= 20)) {
50                 /* Constraint check succeeded */
51                 return 0;
52         } else {
53                 ASN__CTFAIL(app_key, td, sptr,
54                         "%s: constraint failed (%s:%d)",
55                         td->name, __FILE__, __LINE__);
56                 return -1;
57         }
58 }
59
60 static asn_per_constraints_t asn_PER_memb_X2N_handoverTriggerChangeLowerLimit_constr_2 CC_NOTUSED = {
61         { APC_CONSTRAINED,       6,  6, -20,  20 }      /* (-20..20) */,
62         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
63         0, 0    /* No PER value map */
64 };
65 static asn_per_constraints_t asn_PER_memb_X2N_handoverTriggerChangeUpperLimit_constr_3 CC_NOTUSED = {
66         { APC_CONSTRAINED,       6,  6, -20,  20 }      /* (-20..20) */,
67         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
68         0, 0    /* No PER value map */
69 };
70 static asn_TYPE_member_t asn_MBR_X2N_MobilityParametersModificationRange_1[] = {
71         { ATF_NOFLAGS, 0, offsetof(struct X2N_MobilityParametersModificationRange, handoverTriggerChangeLowerLimit),
72                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
73                 -1,     /* IMPLICIT tag at current level */
74                 &asn_DEF_NativeInteger,
75                 0,
76                 { 0, &asn_PER_memb_X2N_handoverTriggerChangeLowerLimit_constr_2,  memb_X2N_handoverTriggerChangeLowerLimit_constraint_1 },
77                 0, 0, /* No default value */
78                 "handoverTriggerChangeLowerLimit"
79                 },
80         { ATF_NOFLAGS, 0, offsetof(struct X2N_MobilityParametersModificationRange, handoverTriggerChangeUpperLimit),
81                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
82                 -1,     /* IMPLICIT tag at current level */
83                 &asn_DEF_NativeInteger,
84                 0,
85                 { 0, &asn_PER_memb_X2N_handoverTriggerChangeUpperLimit_constr_3,  memb_X2N_handoverTriggerChangeUpperLimit_constraint_1 },
86                 0, 0, /* No default value */
87                 "handoverTriggerChangeUpperLimit"
88                 },
89 };
90 static const ber_tlv_tag_t asn_DEF_X2N_MobilityParametersModificationRange_tags_1[] = {
91         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
92 };
93 static const asn_TYPE_tag2member_t asn_MAP_X2N_MobilityParametersModificationRange_tag2el_1[] = {
94     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* handoverTriggerChangeLowerLimit */
95     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* handoverTriggerChangeUpperLimit */
96 };
97 static asn_SEQUENCE_specifics_t asn_SPC_X2N_MobilityParametersModificationRange_specs_1 = {
98         sizeof(struct X2N_MobilityParametersModificationRange),
99         offsetof(struct X2N_MobilityParametersModificationRange, _asn_ctx),
100         asn_MAP_X2N_MobilityParametersModificationRange_tag2el_1,
101         2,      /* Count of tags in the map */
102         0, 0, 0,        /* Optional elements (not needed) */
103         2,      /* First extension addition */
104 };
105 asn_TYPE_descriptor_t asn_DEF_X2N_MobilityParametersModificationRange = {
106         "MobilityParametersModificationRange",
107         "MobilityParametersModificationRange",
108         &asn_OP_SEQUENCE,
109         asn_DEF_X2N_MobilityParametersModificationRange_tags_1,
110         sizeof(asn_DEF_X2N_MobilityParametersModificationRange_tags_1)
111                 /sizeof(asn_DEF_X2N_MobilityParametersModificationRange_tags_1[0]), /* 1 */
112         asn_DEF_X2N_MobilityParametersModificationRange_tags_1, /* Same as above */
113         sizeof(asn_DEF_X2N_MobilityParametersModificationRange_tags_1)
114                 /sizeof(asn_DEF_X2N_MobilityParametersModificationRange_tags_1[0]), /* 1 */
115         { 0, 0, SEQUENCE_constraint },
116         asn_MBR_X2N_MobilityParametersModificationRange_1,
117         2,      /* Elements count */
118         &asn_SPC_X2N_MobilityParametersModificationRange_specs_1        /* Additional specs */
119 };
120