blob: 2f601c5ad5378aebf34af71cdc630a8256d0914e [file] [log] [blame]
Lev Walkinb7f17972005-03-04 09:10:19 +00001
2/*** <<< INCLUDES [Type] >>> ***/
3
4#include <asn_SET_OF.h>
Lev Walkin22b5ed42006-09-13 02:51:20 +00005#include "Type1.h"
6#include "Type2.h"
Lev Walkinb7f17972005-03-04 09:10:19 +00007#include <constr_SEQUENCE.h>
8#include <constr_SET_OF.h>
9
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +080010/*** <<< FWD-DEFS [Type] >>> ***/
11
12typedef struct Member {
13 Type1_t t1;
14 Type2_t t2;
15
16 /* Context for parsing across buffer boundaries */
17 asn_struct_ctx_t _asn_ctx;
18} Member;
19
Lev Walkinb7f17972005-03-04 09:10:19 +000020/*** <<< TYPE-DECLS [Type] >>> ***/
21
Lev Walkinb7f17972005-03-04 09:10:19 +000022typedef struct Type {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +080023 A_SET_OF(Member) list;
Lev Walkinb7f17972005-03-04 09:10:19 +000024
25 /* Context for parsing across buffer boundaries */
26 asn_struct_ctx_t _asn_ctx;
27} Type_t;
28
Lev Walkinc8285712005-03-04 22:18:20 +000029/*** <<< FUNC-DECLS [Type] >>> ***/
30
31extern asn_TYPE_descriptor_t asn_DEF_Type;
32
Lev Walkinb7f17972005-03-04 09:10:19 +000033/*** <<< STAT-DEFS [Type] >>> ***/
34
35static asn_TYPE_member_t asn_MBR_Member_2[] = {
36 { ATF_NOFLAGS, 0, offsetof(struct Member, t1),
37 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
38 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000039 .type = &asn_DEF_Type1,
Lev Walkinb7f17972005-03-04 09:10:19 +000040 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040041 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000042 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
43 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000044 .name = "t1"
45 },
46 { ATF_NOFLAGS, 0, offsetof(struct Member, t2),
47 .tag = -1 /* Ambiguous tag (CHOICE?) */,
48 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000049 .type = &asn_DEF_Type2,
Lev Walkinb7f17972005-03-04 09:10:19 +000050 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040051 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000052 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
53 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000054 .name = "t2"
55 },
56};
Lev Walkina7591b52014-10-12 18:37:35 -070057static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +000058 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
59};
Lev Walkina7591b52014-10-12 18:37:35 -070060static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070061 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */
62 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */
63 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +000064};
Lev Walkin59b176e2005-11-26 11:25:14 +000065static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +000066 sizeof(struct Member),
67 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +000068 asn_MAP_Member_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +000069 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000070 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +000071 -1, /* Start extensions */
72 -1 /* Stop extensions */
73};
74static /* Use -fall-defs-global to expose */
75asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +000076 "SEQUENCE",
77 "SEQUENCE",
Lev Walkinb7f17972005-03-04 09:10:19 +000078 SEQUENCE_free,
79 SEQUENCE_print,
80 SEQUENCE_constraint,
81 SEQUENCE_decode_ber,
82 SEQUENCE_encode_der,
83 SEQUENCE_decode_xer,
84 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070085 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040086 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +000087 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000088 asn_DEF_Member_tags_2,
89 sizeof(asn_DEF_Member_tags_2)
90 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
91 asn_DEF_Member_tags_2, /* Same as above */
92 sizeof(asn_DEF_Member_tags_2)
93 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040094 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000095 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +000096 asn_MBR_Member_2,
97 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000098 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +000099};
100
101static asn_TYPE_member_t asn_MBR_Type_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000102 { ATF_POINTER, 0, 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000103 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
104 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000105 .type = &asn_DEF_Member_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000106 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400107 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000108 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
109 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000110 .name = ""
111 },
112};
Lev Walkina7591b52014-10-12 18:37:35 -0700113static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000114 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
115};
Lev Walkin59b176e2005-11-26 11:25:14 +0000116static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000117 sizeof(struct Type),
118 offsetof(struct Type, _asn_ctx),
119 0, /* XER encoding is XMLDelimitedItemList */
120};
121asn_TYPE_descriptor_t asn_DEF_Type = {
122 "Type",
123 "Type",
124 SET_OF_free,
125 SET_OF_print,
126 SET_OF_constraint,
127 SET_OF_decode_ber,
128 SET_OF_encode_der,
129 SET_OF_decode_xer,
130 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700131 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400132 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000133 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000134 asn_DEF_Type_tags_1,
135 sizeof(asn_DEF_Type_tags_1)
136 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
137 asn_DEF_Type_tags_1, /* Same as above */
138 sizeof(asn_DEF_Type_tags_1)
139 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400140 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000141 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000142 asn_MBR_Type_1,
143 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000144 &asn_SPC_Type_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000145};
146
147
148/*** <<< INCLUDES [Type1] >>> ***/
149
150#include <INTEGER.h>
151#include <constr_SEQUENCE.h>
152#include <constr_CHOICE.h>
153
154/*** <<< DEPS [Type1] >>> ***/
155
156typedef enum one_name_PR {
157 one_name_PR_NOTHING, /* No components present */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000158 one_name_PR_another_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000159} one_name_PR;
Lev Walkinb7f17972005-03-04 09:10:19 +0000160
161/*** <<< TYPE-DECLS [Type1] >>> ***/
162
Lev Walkinb7f17972005-03-04 09:10:19 +0000163typedef struct Type1 {
164 struct one_name {
165 one_name_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000166 union Type1__one_name_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000167 struct another_name {
168 INTEGER_t a;
169 INTEGER_t b;
170
171 /* Context for parsing across buffer boundaries */
172 asn_struct_ctx_t _asn_ctx;
173 } another_name;
174 } choice;
175
176 /* Context for parsing across buffer boundaries */
177 asn_struct_ctx_t _asn_ctx;
178 } one_name;
179
180 /* Context for parsing across buffer boundaries */
181 asn_struct_ctx_t _asn_ctx;
182} Type1_t;
183
Lev Walkinc8285712005-03-04 22:18:20 +0000184/*** <<< FUNC-DECLS [Type1] >>> ***/
185
186extern asn_TYPE_descriptor_t asn_DEF_Type1;
187
Lev Walkinb7f17972005-03-04 09:10:19 +0000188/*** <<< STAT-DEFS [Type1] >>> ***/
189
190static asn_TYPE_member_t asn_MBR_another_name_3[] = {
191 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
192 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
193 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000194 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000195 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400196 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000197 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
198 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000199 .name = "a"
200 },
201 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
202 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
203 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000204 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000205 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400206 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000207 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
208 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000209 .name = "b"
210 },
211};
Lev Walkina7591b52014-10-12 18:37:35 -0700212static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000213 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
214};
Lev Walkina7591b52014-10-12 18:37:35 -0700215static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700216 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */
217 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */
Lev Walkinb7f17972005-03-04 09:10:19 +0000218};
Lev Walkin59b176e2005-11-26 11:25:14 +0000219static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000220 sizeof(struct another_name),
221 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000222 asn_MAP_another_name_tag2el_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000223 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000224 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000225 -1, /* Start extensions */
226 -1 /* Stop extensions */
227};
228static /* Use -fall-defs-global to expose */
229asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
230 "another-name",
231 "another-name",
232 SEQUENCE_free,
233 SEQUENCE_print,
234 SEQUENCE_constraint,
235 SEQUENCE_decode_ber,
236 SEQUENCE_encode_der,
237 SEQUENCE_decode_xer,
238 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700239 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400240 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000241 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000242 asn_DEF_another_name_tags_3,
243 sizeof(asn_DEF_another_name_tags_3)
244 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
245 asn_DEF_another_name_tags_3, /* Same as above */
246 sizeof(asn_DEF_another_name_tags_3)
247 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400248 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000249 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000250 asn_MBR_another_name_3,
251 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000252 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000253};
254
255static asn_TYPE_member_t asn_MBR_one_name_2[] = {
256 { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name),
257 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
258 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000259 .type = &asn_DEF_another_name_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000260 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400261 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000262 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
263 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000264 .name = "another-name"
265 },
266};
Lev Walkina7591b52014-10-12 18:37:35 -0700267static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700268 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000269};
Lev Walkin59b176e2005-11-26 11:25:14 +0000270static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000271 sizeof(struct one_name),
272 offsetof(struct one_name, _asn_ctx),
273 offsetof(struct one_name, present),
274 sizeof(((struct one_name *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000275 asn_MAP_one_name_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000276 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000277 .canonical_order = 0,
278 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000279};
280static /* Use -fall-defs-global to expose */
281asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
282 "one-name",
283 "one-name",
284 CHOICE_free,
285 CHOICE_print,
286 CHOICE_constraint,
287 CHOICE_decode_ber,
288 CHOICE_encode_der,
289 CHOICE_decode_xer,
290 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700291 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400292 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000293 CHOICE_outmost_tag,
294 0, /* No effective tags (pointer) */
295 0, /* No effective tags (count) */
296 0, /* No tags (pointer) */
297 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400298 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000299 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000300 asn_MBR_one_name_2,
301 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000302 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000303};
304
305static asn_TYPE_member_t asn_MBR_Type1_1[] = {
306 { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
307 .tag = -1 /* Ambiguous tag (CHOICE?) */,
308 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000309 .type = &asn_DEF_one_name_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000310 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400311 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000312 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
313 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000314 .name = "one-name"
315 },
316};
Lev Walkina7591b52014-10-12 18:37:35 -0700317static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000318 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
319};
Lev Walkina7591b52014-10-12 18:37:35 -0700320static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700321 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000322};
Lev Walkin59b176e2005-11-26 11:25:14 +0000323static asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000324 sizeof(struct Type1),
325 offsetof(struct Type1, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000326 asn_MAP_Type1_tag2el_1,
Lev Walkinb7f17972005-03-04 09:10:19 +0000327 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000328 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000329 -1, /* Start extensions */
330 -1 /* Stop extensions */
331};
332asn_TYPE_descriptor_t asn_DEF_Type1 = {
333 "Type1",
334 "Type1",
335 SEQUENCE_free,
336 SEQUENCE_print,
337 SEQUENCE_constraint,
338 SEQUENCE_decode_ber,
339 SEQUENCE_encode_der,
340 SEQUENCE_decode_xer,
341 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700342 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400343 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000344 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000345 asn_DEF_Type1_tags_1,
346 sizeof(asn_DEF_Type1_tags_1)
347 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
348 asn_DEF_Type1_tags_1, /* Same as above */
349 sizeof(asn_DEF_Type1_tags_1)
350 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400351 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000352 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000353 asn_MBR_Type1_1,
354 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000355 &asn_SPC_Type1_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000356};
357
358
359/*** <<< INCLUDES [Type2] >>> ***/
360
361#include <BIT_STRING.h>
362#include <INTEGER.h>
363#include <constr_SEQUENCE.h>
364#include <constr_SET.h>
365#include <constr_CHOICE.h>
366
367/*** <<< DEPS [Type2] >>> ***/
368
369typedef enum Type2_PR {
370 Type2_PR_NOTHING, /* No components present */
371 Type2_PR_one_name,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000372 Type2_PR_two_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000373} Type2_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000374typedef enum a {
375 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000376} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000377
378/*
379 * Method of determining the components presence
380 */
381typedef enum two_name_PR {
382 two_name_PR_another_name, /* Member another_name is present */
383} two_name_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000384typedef enum a {
385 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000386} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000387
388/*** <<< TYPE-DECLS [Type2] >>> ***/
389
Lev Walkinb7f17972005-03-04 09:10:19 +0000390typedef struct Type2 {
391 Type2_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000392 union Type2_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000393 struct one_name {
394 struct another_name {
395 BIT_STRING_t a;
396 INTEGER_t b;
397
398 /* Context for parsing across buffer boundaries */
399 asn_struct_ctx_t _asn_ctx;
400 } another_name;
401
402 /* Context for parsing across buffer boundaries */
403 asn_struct_ctx_t _asn_ctx;
404 } one_name;
405 struct two_name {
406 struct another_name {
407 BIT_STRING_t a;
408 INTEGER_t b;
409
410 /* Context for parsing across buffer boundaries */
411 asn_struct_ctx_t _asn_ctx;
412 } another_name;
413
414 /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */
415 unsigned int _presence_map
416 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
417
418 /* Context for parsing across buffer boundaries */
419 asn_struct_ctx_t _asn_ctx;
420 } two_name;
421 } choice;
422
423 /* Context for parsing across buffer boundaries */
424 asn_struct_ctx_t _asn_ctx;
425} Type2_t;
426
Lev Walkinc8285712005-03-04 22:18:20 +0000427/*** <<< FUNC-DECLS [Type2] >>> ***/
428
429extern asn_TYPE_descriptor_t asn_DEF_Type2;
430
Lev Walkinb7f17972005-03-04 09:10:19 +0000431/*** <<< CODE [Type2] >>> ***/
432
433static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000434memb_a_constraint_3(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000435 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000436 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
437 size_t size;
438
439 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700440 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000441 "%s: value not given (%s:%d)",
442 td->name, __FILE__, __LINE__);
443 return -1;
444 }
445
446 if(st->size > 0) {
447 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000448 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000449 } else {
450 size = 0;
451 }
452
453 if((size == 2)) {
454 /* Constraint check succeeded */
455 return 0;
456 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700457 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000458 "%s: constraint failed (%s:%d)",
459 td->name, __FILE__, __LINE__);
460 return -1;
461 }
462}
463
464static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000465memb_a_constraint_8(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000466 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000467 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
468 size_t size;
469
470 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700471 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000472 "%s: value not given (%s:%d)",
473 td->name, __FILE__, __LINE__);
474 return -1;
475 }
476
477 if(st->size > 0) {
478 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000479 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000480 } else {
481 size = 0;
482 }
483
484 if((size == 2)) {
485 /* Constraint check succeeded */
486 return 0;
487 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700488 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000489 "%s: constraint failed (%s:%d)",
490 td->name, __FILE__, __LINE__);
491 return -1;
492 }
493}
494
495
496/*** <<< STAT-DEFS [Type2] >>> ***/
497
498static asn_TYPE_member_t asn_MBR_another_name_3[] = {
499 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
500 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
501 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000502 .type = &asn_DEF_BIT_STRING,
Lev Walkin59b176e2005-11-26 11:25:14 +0000503 .memb_constraints = memb_a_constraint_3,
Lev Walkinb33425f2017-07-14 14:59:52 +0400504 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000505 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
506 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000507 .name = "a"
508 },
509 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
510 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
511 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000512 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000513 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400514 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000515 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
516 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000517 .name = "b"
518 },
519};
Lev Walkina7591b52014-10-12 18:37:35 -0700520static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000521 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
522};
Lev Walkina7591b52014-10-12 18:37:35 -0700523static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700524 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
525 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000526};
Lev Walkin59b176e2005-11-26 11:25:14 +0000527static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000528 sizeof(struct another_name),
529 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000530 asn_MAP_another_name_tag2el_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000531 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000532 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000533 -1, /* Start extensions */
534 -1 /* Stop extensions */
535};
536static /* Use -fall-defs-global to expose */
537asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
538 "another-name",
539 "another-name",
540 SEQUENCE_free,
541 SEQUENCE_print,
542 SEQUENCE_constraint,
543 SEQUENCE_decode_ber,
544 SEQUENCE_encode_der,
545 SEQUENCE_decode_xer,
546 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700547 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400548 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000549 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000550 asn_DEF_another_name_tags_3,
551 sizeof(asn_DEF_another_name_tags_3)
552 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
553 asn_DEF_another_name_tags_3, /* Same as above */
554 sizeof(asn_DEF_another_name_tags_3)
555 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400556 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000557 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000558 asn_MBR_another_name_3,
559 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000560 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000561};
562
563static asn_TYPE_member_t asn_MBR_one_name_2[] = {
564 { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name),
565 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
566 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000567 .type = &asn_DEF_another_name_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000568 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400569 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
571 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000572 .name = "another-name"
573 },
574};
Lev Walkina7591b52014-10-12 18:37:35 -0700575static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000576 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
577};
Lev Walkina7591b52014-10-12 18:37:35 -0700578static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700579 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000580};
Lev Walkin59b176e2005-11-26 11:25:14 +0000581static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000582 sizeof(struct one_name),
583 offsetof(struct one_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000584 asn_MAP_one_name_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000585 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000586 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000587 -1, /* Start extensions */
588 -1 /* Stop extensions */
589};
590static /* Use -fall-defs-global to expose */
591asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
592 "one-name",
593 "one-name",
594 SEQUENCE_free,
595 SEQUENCE_print,
596 SEQUENCE_constraint,
597 SEQUENCE_decode_ber,
598 SEQUENCE_encode_der,
599 SEQUENCE_decode_xer,
600 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700601 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400602 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000603 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000604 asn_DEF_one_name_tags_2,
605 sizeof(asn_DEF_one_name_tags_2)
606 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
607 asn_DEF_one_name_tags_2, /* Same as above */
608 sizeof(asn_DEF_one_name_tags_2)
609 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400610 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000611 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000612 asn_MBR_one_name_2,
613 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000614 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000615};
616
Lev Walkine8318b82005-03-06 09:29:03 +0000617static asn_TYPE_member_t asn_MBR_another_name_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000618 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
619 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
620 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000621 .type = &asn_DEF_BIT_STRING,
Lev Walkin59b176e2005-11-26 11:25:14 +0000622 .memb_constraints = memb_a_constraint_8,
Lev Walkinb33425f2017-07-14 14:59:52 +0400623 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000624 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
625 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000626 .name = "a"
627 },
628 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
629 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
630 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000631 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000632 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400633 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000634 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
635 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000636 .name = "b"
637 },
638};
Lev Walkina7591b52014-10-12 18:37:35 -0700639static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000640 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
641};
Lev Walkina7591b52014-10-12 18:37:35 -0700642static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700643 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
644 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000645};
Lev Walkin59b176e2005-11-26 11:25:14 +0000646static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000647 sizeof(struct another_name),
648 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000649 asn_MAP_another_name_tag2el_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000650 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000651 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000652 -1, /* Start extensions */
653 -1 /* Stop extensions */
654};
655static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000656asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000657 "another-name",
658 "another-name",
659 SEQUENCE_free,
660 SEQUENCE_print,
661 SEQUENCE_constraint,
662 SEQUENCE_decode_ber,
663 SEQUENCE_encode_der,
664 SEQUENCE_decode_xer,
665 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700666 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400667 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000668 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000669 asn_DEF_another_name_tags_8,
670 sizeof(asn_DEF_another_name_tags_8)
671 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
672 asn_DEF_another_name_tags_8, /* Same as above */
673 sizeof(asn_DEF_another_name_tags_8)
674 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400675 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000676 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000677 asn_MBR_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000678 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000679 &asn_SPC_another_name_specs_8 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000680};
681
Lev Walkine8318b82005-03-06 09:29:03 +0000682static asn_TYPE_member_t asn_MBR_two_name_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000683 { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
684 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
685 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000686 .type = &asn_DEF_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000687 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400688 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000689 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
690 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000691 .name = "another-name"
692 },
693};
Lev Walkina7591b52014-10-12 18:37:35 -0700694static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000695 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
696};
Lev Walkina7591b52014-10-12 18:37:35 -0700697static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700698 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000699};
Lev Walkina7591b52014-10-12 18:37:35 -0700700static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000701 (1 << 7)
702};
Lev Walkin59b176e2005-11-26 11:25:14 +0000703static asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000704 sizeof(struct two_name),
705 offsetof(struct two_name, _asn_ctx),
706 offsetof(struct two_name, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000707 asn_MAP_two_name_tag2el_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000708 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000709 asn_MAP_two_name_tag2el_7, /* Same as above */
Lev Walkinb7f17972005-03-04 09:10:19 +0000710 1, /* Count of tags in the CXER map */
711 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700712 (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */
Lev Walkinb7f17972005-03-04 09:10:19 +0000713};
714static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000715asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000716 "two-name",
717 "two-name",
718 SET_free,
719 SET_print,
720 SET_constraint,
721 SET_decode_ber,
722 SET_encode_der,
723 SET_decode_xer,
724 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700725 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400726 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000727 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000728 asn_DEF_two_name_tags_7,
729 sizeof(asn_DEF_two_name_tags_7)
730 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
731 asn_DEF_two_name_tags_7, /* Same as above */
732 sizeof(asn_DEF_two_name_tags_7)
733 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400734 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000735 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000736 asn_MBR_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000737 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000738 &asn_SPC_two_name_specs_7 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000739};
740
741static asn_TYPE_member_t asn_MBR_Type2_1[] = {
742 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
743 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
744 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000745 .type = &asn_DEF_one_name_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000746 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400747 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000748 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
749 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000750 .name = "one-name"
751 },
752 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
753 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
754 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000755 .type = &asn_DEF_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000756 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400757 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000758 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
759 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000760 .name = "two-name"
761 },
762};
Lev Walkina7591b52014-10-12 18:37:35 -0700763static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700764 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
765 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000766};
Lev Walkin59b176e2005-11-26 11:25:14 +0000767static asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000768 sizeof(struct Type2),
769 offsetof(struct Type2, _asn_ctx),
770 offsetof(struct Type2, present),
771 sizeof(((struct Type2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000772 asn_MAP_Type2_tag2el_1,
Lev Walkinb7f17972005-03-04 09:10:19 +0000773 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000774 .canonical_order = 0,
775 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000776};
777asn_TYPE_descriptor_t asn_DEF_Type2 = {
778 "Type2",
779 "Type2",
780 CHOICE_free,
781 CHOICE_print,
782 CHOICE_constraint,
783 CHOICE_decode_ber,
784 CHOICE_encode_der,
785 CHOICE_decode_xer,
786 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700787 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400788 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000789 CHOICE_outmost_tag,
790 0, /* No effective tags (pointer) */
791 0, /* No effective tags (count) */
792 0, /* No tags (pointer) */
793 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400794 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000795 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000796 asn_MBR_Type2_1,
797 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000798 &asn_SPC_Type2_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000799};
800