blob: ee977b4a79e3eaf64cd9099a010bbfaad98b31c9 [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-IEs"
4 * found in "../../asn1/hnbap/HNBAP-IEs.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/IP-Address.h>
Harald Welted523a692015-08-30 23:11:19 +02009
10static asn_per_constraints_t asn_PER_type_ipaddress_constr_2 GCC_NOTUSED = {
11 { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
12 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
13 0, 0 /* No PER value map */
14};
15static asn_TYPE_member_t asn_MBR_ipaddress_2[] = {
16 { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv4info),
17 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
18 -1, /* IMPLICIT tag at current level */
19 &asn_DEF_Ipv4Address,
20 0, /* Defer constraints checking to the member type */
21 0, /* No PER visible constraints */
22 0,
23 "ipv4info"
24 },
25 { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv6info),
26 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
27 -1, /* IMPLICIT tag at current level */
28 &asn_DEF_Ipv6Address,
29 0, /* Defer constraints checking to the member type */
30 0, /* No PER visible constraints */
31 0,
32 "ipv6info"
33 },
34};
35static const asn_TYPE_tag2member_t asn_MAP_ipaddress_tag2el_2[] = {
36 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipv4info */
37 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ipv6info */
38};
39static asn_CHOICE_specifics_t asn_SPC_ipaddress_specs_2 = {
40 sizeof(struct ipaddress),
41 offsetof(struct ipaddress, _asn_ctx),
42 offsetof(struct ipaddress, present),
43 sizeof(((struct ipaddress *)0)->present),
44 asn_MAP_ipaddress_tag2el_2,
45 2, /* Count of tags in the map */
46 0,
47 2 /* Extensions start */
48};
49static /* Use -fall-defs-global to expose */
50asn_TYPE_descriptor_t asn_DEF_ipaddress_2 = {
51 "ipaddress",
52 "ipaddress",
53 CHOICE_free,
54 CHOICE_print,
55 CHOICE_constraint,
56 CHOICE_decode_ber,
57 CHOICE_encode_der,
58 CHOICE_decode_xer,
59 CHOICE_encode_xer,
60 CHOICE_decode_uper,
61 CHOICE_encode_uper,
62 CHOICE_decode_aper,
63 CHOICE_encode_aper,
64 CHOICE_outmost_tag,
65 0, /* No effective tags (pointer) */
66 0, /* No effective tags (count) */
67 0, /* No tags (pointer) */
68 0, /* No tags (count) */
69 &asn_PER_type_ipaddress_constr_2,
70 asn_MBR_ipaddress_2,
71 2, /* Elements count */
72 &asn_SPC_ipaddress_specs_2 /* Additional specs */
73};
74
75static asn_TYPE_member_t asn_MBR_IP_Address_1[] = {
76 { ATF_NOFLAGS, 0, offsetof(struct IP_Address, ipaddress),
77 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
78 +1, /* EXPLICIT tag at current level */
79 &asn_DEF_ipaddress_2,
80 0, /* Defer constraints checking to the member type */
81 0, /* No PER visible constraints */
82 0,
83 "ipaddress"
84 },
85 { ATF_POINTER, 1, offsetof(struct IP_Address, iE_Extensions),
86 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
87 -1, /* IMPLICIT tag at current level */
88 &asn_DEF_IE_Extensions,
89 0, /* Defer constraints checking to the member type */
90 0, /* No PER visible constraints */
91 0,
92 "iE-Extensions"
93 },
94};
95static const int asn_MAP_IP_Address_oms_1[] = { 1 };
96static const ber_tlv_tag_t asn_DEF_IP_Address_tags_1[] = {
97 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
98};
99static const asn_TYPE_tag2member_t asn_MAP_IP_Address_tag2el_1[] = {
100 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipaddress */
101 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
102};
103static asn_SEQUENCE_specifics_t asn_SPC_IP_Address_specs_1 = {
104 sizeof(struct IP_Address),
105 offsetof(struct IP_Address, _asn_ctx),
106 asn_MAP_IP_Address_tag2el_1,
107 2, /* Count of tags in the map */
108 asn_MAP_IP_Address_oms_1, /* Optional members */
109 1, 0, /* Root/Additions */
110 1, /* Start extensions */
111 3 /* Stop extensions */
112};
113asn_TYPE_descriptor_t asn_DEF_IP_Address = {
114 "IP-Address",
115 "IP-Address",
116 SEQUENCE_free,
117 SEQUENCE_print,
118 SEQUENCE_constraint,
119 SEQUENCE_decode_ber,
120 SEQUENCE_encode_der,
121 SEQUENCE_decode_xer,
122 SEQUENCE_encode_xer,
123 SEQUENCE_decode_uper,
124 SEQUENCE_encode_uper,
125 SEQUENCE_decode_aper,
126 SEQUENCE_encode_aper,
127 0, /* Use generic outmost tag fetcher */
128 asn_DEF_IP_Address_tags_1,
129 sizeof(asn_DEF_IP_Address_tags_1)
130 /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */
131 asn_DEF_IP_Address_tags_1, /* Same as above */
132 sizeof(asn_DEF_IP_Address_tags_1)
133 /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */
134 0, /* No PER visible constraints */
135 asn_MBR_IP_Address_1,
136 2, /* Elements count */
137 &asn_SPC_IP_Address_specs_1 /* Additional specs */
138};
139