blob: dd83e7e1e79e6997a815b3ea1b7ccc03c509d68e [file] [log] [blame]
Lev Walkinb46156d2017-09-05 02:53:05 -07001
2/*** <<< INCLUDES [Forest] >>> ***/
3
4#include <asn_SET_OF.h>
5#include <constr_SET_OF.h>
6
7/*** <<< FWD-DECLS [Forest] >>> ***/
8
9struct Tree;
10
11/*** <<< TYPE-DECLS [Forest] >>> ***/
12
13typedef struct Forest {
14 A_SET_OF(struct Tree) list;
15
16 /* Context for parsing across buffer boundaries */
17 asn_struct_ctx_t _asn_ctx;
18} Forest_t;
19
20/*** <<< FUNC-DECLS [Forest] >>> ***/
21
22extern asn_TYPE_descriptor_t asn_DEF_Forest;
23extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1;
24extern asn_TYPE_member_t asn_MBR_Forest_1[1];
25
26/*** <<< POST-INCLUDE [Forest] >>> ***/
27
28#include "Tree.h"
29
30/*** <<< STAT-DEFS [Forest] >>> ***/
31
32asn_TYPE_member_t asn_MBR_Forest_1[] = {
33 { ATF_POINTER, 0, 0,
34 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
35 .tag_mode = 0,
36 .type = &asn_DEF_Tree,
37 .type_selector = 0,
38 .memb_constraints = 0, /* Defer constraints checking to the member type */
39 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
40 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
41 .default_value = 0,
42 .name = ""
43 },
44};
45static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
46 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
47};
48asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
49 sizeof(struct Forest),
50 offsetof(struct Forest, _asn_ctx),
51 0, /* XER encoding is XMLDelimitedItemList */
52};
53asn_TYPE_descriptor_t asn_DEF_Forest = {
54 "Forest",
55 "Forest",
56 &asn_OP_SET_OF,
57 SET_OF_constraint,
58 asn_DEF_Forest_tags_1,
59 sizeof(asn_DEF_Forest_tags_1)
60 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
61 asn_DEF_Forest_tags_1, /* Same as above */
62 sizeof(asn_DEF_Forest_tags_1)
63 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
64 0, /* No OER visible constraints */
65 0, /* No PER visible constraints */
66 asn_MBR_Forest_1,
67 1, /* Single element */
68 &asn_SPC_Forest_specs_1 /* Additional specs */
69};
70
71
72/*** <<< INCLUDES [Tree] >>> ***/
73
74#include <NativeInteger.h>
75#include <constr_SEQUENCE.h>
76
77/*** <<< TYPE-DECLS [Tree] >>> ***/
78
79typedef struct Tree {
80 long height;
81 long width;
82
83 /* Context for parsing across buffer boundaries */
84 asn_struct_ctx_t _asn_ctx;
85} Tree_t;
86
87/*** <<< FUNC-DECLS [Tree] >>> ***/
88
89extern asn_TYPE_descriptor_t asn_DEF_Tree;
90extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1;
91extern asn_TYPE_member_t asn_MBR_Tree_1[2];
92
93/*** <<< STAT-DEFS [Tree] >>> ***/
94
95asn_TYPE_member_t asn_MBR_Tree_1[] = {
96 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
97 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
98 .tag_mode = 0,
99 .type = &asn_DEF_NativeInteger,
100 .type_selector = 0,
101 .memb_constraints = 0, /* Defer constraints checking to the member type */
102 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
103 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
104 .default_value = 0,
105 .name = "height"
106 },
107 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
108 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
109 .tag_mode = 0,
110 .type = &asn_DEF_NativeInteger,
111 .type_selector = 0,
112 .memb_constraints = 0, /* Defer constraints checking to the member type */
113 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
114 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
115 .default_value = 0,
116 .name = "width"
117 },
118};
119static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = {
120 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
121};
122static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
123 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
124 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
125};
126asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
127 sizeof(struct Tree),
128 offsetof(struct Tree, _asn_ctx),
129 .tag2el = asn_MAP_Tree_tag2el_1,
130 .tag2el_count = 2, /* Count of tags in the map */
131 0, 0, 0, /* Optional elements (not needed) */
132 -1, /* Start extensions */
133 -1 /* Stop extensions */
134};
135asn_TYPE_descriptor_t asn_DEF_Tree = {
136 "Tree",
137 "Tree",
138 &asn_OP_SEQUENCE,
139 SEQUENCE_constraint,
140 asn_DEF_Tree_tags_1,
141 sizeof(asn_DEF_Tree_tags_1)
142 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
143 asn_DEF_Tree_tags_1, /* Same as above */
144 sizeof(asn_DEF_Tree_tags_1)
145 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
146 0, /* No OER visible constraints */
147 0, /* No PER visible constraints */
148 asn_MBR_Tree_1,
149 2, /* Elements count */
150 &asn_SPC_Tree_specs_1 /* Additional specs */
151};
152
153
154/*** <<< INCLUDES [Stuff] >>> ***/
155
156#include <asn_SET_OF.h>
157#include <constr_SET_OF.h>
158#include <BIT_STRING.h>
159#include <constr_SEQUENCE.h>
160#include <NativeInteger.h>
161#include <constr_CHOICE.h>
162#include <constr_SET.h>
163
164/*** <<< DEPS [Stuff] >>> ***/
165
166
167/*
168 * Method of determining the components presence
169 */
170typedef enum Stuff_PR {
171 Stuff_PR_trees, /* Member trees is present */
172 Stuff_PR_anything, /* Member anything is present */
173 Stuff_PR_other, /* Member other is present */
174} Stuff_PR;
175typedef enum Stuff__other_PR {
176 Stuff__other_PR_NOTHING, /* No components present */
177 Stuff__other_PR_a,
178 Stuff__other_PR_b
179} Stuff__other_PR;
180
181/*** <<< FWD-DECLS [Stuff] >>> ***/
182
183struct Forest;
184
185/*** <<< FWD-DEFS [Stuff] >>> ***/
186
187typedef struct Stuff__anything__Member {
188 BIT_STRING_t cup_of_coffee;
189 /*
190 * This type is extensible,
191 * possible extensions are below.
192 */
193
194 /* Context for parsing across buffer boundaries */
195 asn_struct_ctx_t _asn_ctx;
196} Stuff__anything__Member;
197
198/*** <<< TYPE-DECLS [Stuff] >>> ***/
199
200typedef struct Stuff {
201 struct Stuff__trees {
202 A_SET_OF(struct Forest) list;
203
204 /* Context for parsing across buffer boundaries */
205 asn_struct_ctx_t _asn_ctx;
206 } *trees;
207 struct Stuff__anything {
208 A_SET_OF(Stuff__anything__Member) list;
209
210 /* Context for parsing across buffer boundaries */
211 asn_struct_ctx_t _asn_ctx;
212 } *anything;
213 /*
214 * This type is extensible,
215 * possible extensions are below.
216 */
217 struct Stuff__other {
218 Stuff__other_PR present;
219 union Stuff__other_u {
220 long a;
221 long b;
222 } choice;
223
224 /* Context for parsing across buffer boundaries */
225 asn_struct_ctx_t _asn_ctx;
226 } *other;
227
228 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
229 unsigned int _presence_map
230 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
231
232 /* Context for parsing across buffer boundaries */
233 asn_struct_ctx_t _asn_ctx;
234} Stuff_t;
235
236/*** <<< FUNC-DECLS [Stuff] >>> ***/
237
238extern asn_TYPE_descriptor_t asn_DEF_Stuff;
239
240/*** <<< POST-INCLUDE [Stuff] >>> ***/
241
242#include "Forest.h"
243
244/*** <<< STAT-DEFS [Stuff] >>> ***/
245
246static asn_TYPE_member_t asn_MBR_trees_2[] = {
247 { ATF_POINTER, 0, 0,
248 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
249 .tag_mode = 0,
250 .type = &asn_DEF_Forest,
251 .type_selector = 0,
252 .memb_constraints = 0, /* Defer constraints checking to the member type */
253 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
254 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
255 .default_value = 0,
256 .name = ""
257 },
258};
259static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
260 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
261 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
262};
263static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
264 sizeof(struct Stuff__trees),
265 offsetof(struct Stuff__trees, _asn_ctx),
266 0, /* XER encoding is XMLDelimitedItemList */
267};
268static /* Use -fall-defs-global to expose */
269asn_TYPE_descriptor_t asn_DEF_trees_2 = {
270 "trees",
271 "trees",
272 &asn_OP_SET_OF,
273 SET_OF_constraint,
274 asn_DEF_trees_tags_2,
275 sizeof(asn_DEF_trees_tags_2)
276 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
277 asn_DEF_trees_tags_2, /* Same as above */
278 sizeof(asn_DEF_trees_tags_2)
279 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
280 0, /* No OER visible constraints */
281 0, /* No PER visible constraints */
282 asn_MBR_trees_2,
283 1, /* Single element */
284 &asn_SPC_trees_specs_2 /* Additional specs */
285};
286
287static asn_TYPE_member_t asn_MBR_Member_5[] = {
288 { ATF_NOFLAGS, 0, offsetof(struct Stuff__anything__Member, cup_of_coffee),
289 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
290 .tag_mode = 0,
291 .type = &asn_DEF_BIT_STRING,
292 .type_selector = 0,
293 .memb_constraints = 0, /* Defer constraints checking to the member type */
294 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
295 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
296 .default_value = 0,
297 .name = "cup-of-coffee"
298 },
299};
300static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
301 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
302};
303static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
304 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */
305};
306static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
307 sizeof(struct Stuff__anything__Member),
308 offsetof(struct Stuff__anything__Member, _asn_ctx),
309 .tag2el = asn_MAP_Member_tag2el_5,
310 .tag2el_count = 1, /* Count of tags in the map */
311 0, 0, 0, /* Optional elements (not needed) */
312 0, /* Start extensions */
313 2 /* Stop extensions */
314};
315static /* Use -fall-defs-global to expose */
316asn_TYPE_descriptor_t asn_DEF_Member_5 = {
317 "SEQUENCE",
318 "SEQUENCE",
319 &asn_OP_SEQUENCE,
320 SEQUENCE_constraint,
321 asn_DEF_Member_tags_5,
322 sizeof(asn_DEF_Member_tags_5)
323 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
324 asn_DEF_Member_tags_5, /* Same as above */
325 sizeof(asn_DEF_Member_tags_5)
326 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
327 0, /* No OER visible constraints */
328 0, /* No PER visible constraints */
329 asn_MBR_Member_5,
330 1, /* Elements count */
331 &asn_SPC_Member_specs_5 /* Additional specs */
332};
333
334static asn_TYPE_member_t asn_MBR_anything_4[] = {
335 { ATF_POINTER, 0, 0,
336 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
337 .tag_mode = 0,
338 .type = &asn_DEF_Member_5,
339 .type_selector = 0,
340 .memb_constraints = 0, /* Defer constraints checking to the member type */
341 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
342 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
343 .default_value = 0,
344 .name = ""
345 },
346};
347static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
348 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
349 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
350};
351static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
352 sizeof(struct Stuff__anything),
353 offsetof(struct Stuff__anything, _asn_ctx),
354 0, /* XER encoding is XMLDelimitedItemList */
355};
356static /* Use -fall-defs-global to expose */
357asn_TYPE_descriptor_t asn_DEF_anything_4 = {
358 "anything",
359 "anything",
360 &asn_OP_SET_OF,
361 SET_OF_constraint,
362 asn_DEF_anything_tags_4,
363 sizeof(asn_DEF_anything_tags_4)
364 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
365 asn_DEF_anything_tags_4, /* Same as above */
366 sizeof(asn_DEF_anything_tags_4)
367 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
368 0, /* No OER visible constraints */
369 0, /* No PER visible constraints */
370 asn_MBR_anything_4,
371 1, /* Single element */
372 &asn_SPC_anything_specs_4 /* Additional specs */
373};
374
375static asn_TYPE_member_t asn_MBR_other_9[] = {
376 { ATF_NOFLAGS, 0, offsetof(struct Stuff__other, choice.a),
377 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
378 .tag_mode = -1, /* IMPLICIT tag at current level */
379 .type = &asn_DEF_NativeInteger,
380 .type_selector = 0,
381 .memb_constraints = 0, /* Defer constraints checking to the member type */
382 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
383 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
384 .default_value = 0,
385 .name = "a"
386 },
387 { ATF_NOFLAGS, 0, offsetof(struct Stuff__other, choice.b),
388 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
389 .tag_mode = -1, /* IMPLICIT tag at current level */
390 .type = &asn_DEF_NativeInteger,
391 .type_selector = 0,
392 .memb_constraints = 0, /* Defer constraints checking to the member type */
393 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
394 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
395 .default_value = 0,
396 .name = "b"
397 },
398};
399static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
400 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
401 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */
402};
403static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
404 sizeof(struct Stuff__other),
405 offsetof(struct Stuff__other, _asn_ctx),
406 offsetof(struct Stuff__other, present),
407 sizeof(((struct Stuff__other *)0)->present),
408 .tag2el = asn_MAP_other_tag2el_9,
409 .tag2el_count = 2, /* Count of tags in the map */
410 .canonical_order = 0,
411 .ext_start = -1 /* Extensions start */
412};
413static /* Use -fall-defs-global to expose */
414asn_TYPE_descriptor_t asn_DEF_other_9 = {
415 "other",
416 "other",
417 &asn_OP_CHOICE,
418 CHOICE_constraint,
419 0, /* No effective tags (pointer) */
420 0, /* No effective tags (count) */
421 0, /* No tags (pointer) */
422 0, /* No tags (count) */
423 0, /* No OER visible constraints */
424 0, /* No PER visible constraints */
425 asn_MBR_other_9,
426 2, /* Elements count */
427 &asn_SPC_other_specs_9 /* Additional specs */
428};
429
430static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
431 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
432 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
433 .tag_mode = 0,
434 .type = &asn_DEF_trees_2,
435 .type_selector = 0,
436 .memb_constraints = 0, /* Defer constraints checking to the member type */
437 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
438 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
439 .default_value = 0,
440 .name = "trees"
441 },
442 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
443 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
444 .tag_mode = 0,
445 .type = &asn_DEF_anything_4,
446 .type_selector = 0,
447 .memb_constraints = 0, /* Defer constraints checking to the member type */
448 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
449 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
450 .default_value = 0,
451 .name = "anything"
452 },
453 { ATF_POINTER, 1, offsetof(struct Stuff, other),
454 .tag = -1 /* Ambiguous tag (CHOICE?) */,
455 .tag_mode = 0,
456 .type = &asn_DEF_other_9,
457 .type_selector = 0,
458 .memb_constraints = 0, /* Defer constraints checking to the member type */
459 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
460 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
461 .default_value = 0,
462 .name = "other"
463 },
464};
465static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
466 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
467};
468static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
469 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */
470 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
471 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
472 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */
473};
474static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
475 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
476 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
477 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */
478};
479static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
480 (0 << 7) | (0 << 6) | (0 << 5)
481};
482static
483asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
484 sizeof(struct Stuff),
485 offsetof(struct Stuff, _asn_ctx),
486 offsetof(struct Stuff, _presence_map),
487 .tag2el = asn_MAP_Stuff_tag2el_1,
488 .tag2el_count = 4, /* Count of tags in the map */
489 asn_MAP_Stuff_tag2el_cxer_1,
490 3, /* Count of tags in the CXER map */
491 1, /* Whether extensible */
492 (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
493};
494asn_TYPE_descriptor_t asn_DEF_Stuff = {
495 "Stuff",
496 "Stuff",
497 &asn_OP_SET,
498 SET_constraint,
499 asn_DEF_Stuff_tags_1,
500 sizeof(asn_DEF_Stuff_tags_1)
501 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
502 asn_DEF_Stuff_tags_1, /* Same as above */
503 sizeof(asn_DEF_Stuff_tags_1)
504 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
505 0, /* No OER visible constraints */
506 0, /* No PER visible constraints */
507 asn_MBR_Stuff_1,
508 3, /* Elements count */
509 &asn_SPC_Stuff_specs_1 /* Additional specs */
510};
511