blob: 550cc0e61082bbc23709e26ca9b4ec0b0804e732 [file] [log] [blame]
Harald Welteee091892015-09-10 10:22:03 +02001/*
2 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
3 * From ASN.1 module "RANAP-IEs"
4 * found in "../../asn1/ranap/RANAP-IEs.asn"
5 */
6
Neels Hofmeyrf1f2d7c2016-01-05 12:00:06 +01007#include <osmocom/ranap/RANAP_Event1F-Parameters.h>
Harald Welteee091892015-09-10 10:22:03 +02008
9static int
10memb_threshold_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
11 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
12 long value;
13
14 if(!sptr) {
15 _ASN_CTFAIL(app_key, td, sptr,
16 "%s: value not given (%s:%d)",
17 td->name, __FILE__, __LINE__);
18 return -1;
19 }
20
21 value = *(const long *)sptr;
22
23 if((value >= -120ull && value <= 165l)) {
24 /* Constraint check succeeded */
25 return 0;
26 } else {
27 _ASN_CTFAIL(app_key, td, sptr,
28 "%s: constraint failed (%s:%d)",
29 td->name, __FILE__, __LINE__);
30 return -1;
31 }
32}
33
34static asn_per_constraints_t asn_PER_memb_threshold_constr_3 GCC_NOTUSED = {
35 { APC_CONSTRAINED, 9, 9, -120ull, 165l } /* (-120..165) */,
36 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
37 0, 0 /* No PER value map */
38};
39static asn_TYPE_member_t asn_MBR_RANAP_Event1F_Parameters_1[] = {
40 { ATF_NOFLAGS, 0, offsetof(struct RANAP_Event1F_Parameters, measurementQuantity),
41 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
42 -1, /* IMPLICIT tag at current level */
43 &asn_DEF_RANAP_MeasurementQuantity,
44 0, /* Defer constraints checking to the member type */
45 0, /* No PER visible constraints */
46 0,
47 "measurementQuantity"
48 },
49 { ATF_NOFLAGS, 0, offsetof(struct RANAP_Event1F_Parameters, threshold),
50 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
51 -1, /* IMPLICIT tag at current level */
52 &asn_DEF_NativeInteger,
53 memb_threshold_constraint_1,
54 &asn_PER_memb_threshold_constr_3,
55 0,
56 "threshold"
57 },
58};
59static const ber_tlv_tag_t asn_DEF_RANAP_Event1F_Parameters_tags_1[] = {
60 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
61};
62static const asn_TYPE_tag2member_t asn_MAP_RANAP_Event1F_Parameters_tag2el_1[] = {
63 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementQuantity */
64 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* threshold */
65};
66static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Event1F_Parameters_specs_1 = {
67 sizeof(struct RANAP_Event1F_Parameters),
68 offsetof(struct RANAP_Event1F_Parameters, _asn_ctx),
69 asn_MAP_RANAP_Event1F_Parameters_tag2el_1,
70 2, /* Count of tags in the map */
71 0, 0, 0, /* Optional elements (not needed) */
72 1, /* Start extensions */
73 3 /* Stop extensions */
74};
75asn_TYPE_descriptor_t asn_DEF_RANAP_Event1F_Parameters = {
76 "RANAP_Event1F-Parameters",
77 "RANAP_Event1F-Parameters",
78 SEQUENCE_free,
79 SEQUENCE_print,
80 SEQUENCE_constraint,
81 SEQUENCE_decode_ber,
82 SEQUENCE_encode_der,
83 SEQUENCE_decode_xer,
84 SEQUENCE_encode_xer,
85 SEQUENCE_decode_uper,
86 SEQUENCE_encode_uper,
87 SEQUENCE_decode_aper,
88 SEQUENCE_encode_aper,
89 0, /* Use generic outmost tag fetcher */
90 asn_DEF_RANAP_Event1F_Parameters_tags_1,
91 sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1)
92 /sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1[0]), /* 1 */
93 asn_DEF_RANAP_Event1F_Parameters_tags_1, /* Same as above */
94 sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1)
95 /sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1[0]), /* 1 */
96 0, /* No PER visible constraints */
97 asn_MBR_RANAP_Event1F_Parameters_1,
98 2, /* Elements count */
99 &asn_SPC_RANAP_Event1F_Parameters_specs_1 /* Additional specs */
100};
101