blob: 183852ebd1138e9ec0ed4925e58d26497e04bfe1 [file] [log] [blame]
Harald Welted523a692015-08-30 23:11:19 +02001/*
2 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
3 * From ASN.1 module "HNBAP-CommonDataTypes"
4 * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn"
Harald Welteff4750f2015-08-31 09:55:28 +02005 * `asn1c -gen-PER`
Harald Welted523a692015-08-30 23:11:19 +02006 */
7
Neels Hofmeyrf1f2d7c2016-01-05 12:00:06 +01008#include <osmocom/hnbap/PrivateIE-ID.h>
Harald Welted523a692015-08-30 23:11:19 +02009
10static int
11memb_local_constraint_1(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 >= 0l && value <= 65535l)) {
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
35static asn_per_constraints_t asn_PER_memb_local_constr_2 GCC_NOTUSED = {
36 { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
37 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
38 0, 0 /* No PER value map */
39};
40static asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1 GCC_NOTUSED = {
41 { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
42 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
43 0, 0 /* No PER value map */
44};
45static asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[] = {
46 { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.local),
47 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
48 -1, /* IMPLICIT tag at current level */
49 &asn_DEF_NativeInteger,
50 memb_local_constraint_1,
51 &asn_PER_memb_local_constr_2,
52 0,
53 "local"
54 },
55 { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.global),
56 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
57 -1, /* IMPLICIT tag at current level */
58 &asn_DEF_OBJECT_IDENTIFIER,
59 0, /* Defer constraints checking to the member type */
60 0, /* No PER visible constraints */
61 0,
62 "global"
63 },
64};
65static const asn_TYPE_tag2member_t asn_MAP_PrivateIE_ID_tag2el_1[] = {
66 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */
67 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */
68};
69static asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1 = {
70 sizeof(struct PrivateIE_ID),
71 offsetof(struct PrivateIE_ID, _asn_ctx),
72 offsetof(struct PrivateIE_ID, present),
73 sizeof(((struct PrivateIE_ID *)0)->present),
74 asn_MAP_PrivateIE_ID_tag2el_1,
75 2, /* Count of tags in the map */
76 0,
77 -1 /* Extensions start */
78};
79asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID = {
80 "PrivateIE-ID",
81 "PrivateIE-ID",
82 CHOICE_free,
83 CHOICE_print,
84 CHOICE_constraint,
85 CHOICE_decode_ber,
86 CHOICE_encode_der,
87 CHOICE_decode_xer,
88 CHOICE_encode_xer,
89 CHOICE_decode_uper,
90 CHOICE_encode_uper,
91 CHOICE_decode_aper,
92 CHOICE_encode_aper,
93 CHOICE_outmost_tag,
94 0, /* No effective tags (pointer) */
95 0, /* No effective tags (count) */
96 0, /* No tags (pointer) */
97 0, /* No tags (count) */
98 &asn_PER_type_PrivateIE_ID_constr_1,
99 asn_MBR_PrivateIE_ID_1,
100 2, /* Elements count */
101 &asn_SPC_PrivateIE_ID_specs_1 /* Additional specs */
102};
103