blob: cddd2c9279cf98d60c9af261293aa9e557738046 [file] [log] [blame]
vlmc754e532005-08-16 16:56:59 +00001
2/*** <<< INCLUDES [Everything] >>> ***/
3
vlmc754e532005-08-16 16:56:59 +00004#include <Set.h>
vlm6c4a8502005-08-18 13:38:19 +00005#include <Alpha.h>
6#include <Beta.h>
7#include <Gamma.h>
8#include <OneTwo.h>
9#include <TwoThree.h>
10#include <ThreeOne.h>
vlmc754e532005-08-16 16:56:59 +000011#include <constr_SEQUENCE.h>
12
vlm6c4a8502005-08-18 13:38:19 +000013/*** <<< FWD-DECLS [Everything] >>> ***/
14
15struct Choice1;
16struct Choice2;
17struct Choice3;
18
vlmc754e532005-08-16 16:56:59 +000019/*** <<< TYPE-DECLS [Everything] >>> ***/
20
21typedef struct Everything {
vlm6c4a8502005-08-18 13:38:19 +000022 struct Choice1 *ch1;
23 struct Choice2 *ch2;
24 struct Choice3 *ch3;
vlmc754e532005-08-16 16:56:59 +000025 Set_t set;
vlm6c4a8502005-08-18 13:38:19 +000026 Alpha_t a;
27 Beta_t b;
28 Gamma_t g;
29 OneTwo_t ot;
30 TwoThree_t tt;
31 ThreeOne_t to;
vlmc754e532005-08-16 16:56:59 +000032
33 /* Context for parsing across buffer boundaries */
34 asn_struct_ctx_t _asn_ctx;
35} Everything_t;
36
37/*** <<< FUNC-DECLS [Everything] >>> ***/
38
39extern asn_TYPE_descriptor_t asn_DEF_Everything;
40
vlm6c4a8502005-08-18 13:38:19 +000041/*** <<< POST-INCLUDE [Everything] >>> ***/
42
43#include <Choice1.h>
44#include <Choice2.h>
45#include <Choice3.h>
46
vlmc754e532005-08-16 16:56:59 +000047/*** <<< STAT-DEFS [Everything] >>> ***/
48
49static asn_TYPE_member_t asn_MBR_Everything_1[] = {
vlm6c4a8502005-08-18 13:38:19 +000050 { ATF_POINTER, 0, offsetof(struct Everything, ch1),
vlmc754e532005-08-16 16:56:59 +000051 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
52 .tag_mode = +1, /* EXPLICIT tag at current level */
53 .type = (void *)&asn_DEF_Choice1,
54 .memb_constraints = 0, /* Defer constraints checking to the member type */
55 .name = "ch1"
56 },
vlm6c4a8502005-08-18 13:38:19 +000057 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
vlmc754e532005-08-16 16:56:59 +000058 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
59 .tag_mode = +1, /* EXPLICIT tag at current level */
60 .type = (void *)&asn_DEF_Choice2,
61 .memb_constraints = 0, /* Defer constraints checking to the member type */
62 .name = "ch2"
63 },
vlm6c4a8502005-08-18 13:38:19 +000064 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
vlmc754e532005-08-16 16:56:59 +000065 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
vlm6c4a8502005-08-18 13:38:19 +000066 .tag_mode = +1, /* EXPLICIT tag at current level */
67 .type = (void *)&asn_DEF_Choice3,
68 .memb_constraints = 0, /* Defer constraints checking to the member type */
69 .name = "ch3"
70 },
71 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
72 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
vlmc754e532005-08-16 16:56:59 +000073 .tag_mode = -1, /* IMPLICIT tag at current level */
74 .type = (void *)&asn_DEF_Set,
75 .memb_constraints = 0, /* Defer constraints checking to the member type */
76 .name = "set"
77 },
vlm6c4a8502005-08-18 13:38:19 +000078 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
79 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
80 .tag_mode = -1, /* IMPLICIT tag at current level */
81 .type = (void *)&asn_DEF_Alpha,
82 .memb_constraints = 0, /* Defer constraints checking to the member type */
83 .name = "a"
84 },
85 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
86 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
87 .tag_mode = -1, /* IMPLICIT tag at current level */
88 .type = (void *)&asn_DEF_Beta,
89 .memb_constraints = 0, /* Defer constraints checking to the member type */
90 .name = "b"
91 },
92 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
93 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
94 .tag_mode = -1, /* IMPLICIT tag at current level */
95 .type = (void *)&asn_DEF_Gamma,
96 .memb_constraints = 0, /* Defer constraints checking to the member type */
97 .name = "g"
98 },
99 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
100 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
101 .tag_mode = -1, /* IMPLICIT tag at current level */
102 .type = (void *)&asn_DEF_OneTwo,
103 .memb_constraints = 0, /* Defer constraints checking to the member type */
104 .name = "ot"
105 },
106 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
107 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
108 .tag_mode = -1, /* IMPLICIT tag at current level */
109 .type = (void *)&asn_DEF_TwoThree,
110 .memb_constraints = 0, /* Defer constraints checking to the member type */
111 .name = "tt"
112 },
113 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
114 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
115 .tag_mode = -1, /* IMPLICIT tag at current level */
116 .type = (void *)&asn_DEF_ThreeOne,
117 .memb_constraints = 0, /* Defer constraints checking to the member type */
118 .name = "to"
119 },
vlmc754e532005-08-16 16:56:59 +0000120};
121static ber_tlv_tag_t asn_DEF_Everything_1_tags[] = {
122 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
123};
124static asn_TYPE_tag2member_t asn_MAP_Everything_1_tag2el[] = {
125 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 at 15 */
126 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 at 16 */
vlm6c4a8502005-08-18 13:38:19 +0000127 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 at 17 */
128 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set at 18 */
129 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a at 19 */
130 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b at 20 */
131 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g at 21 */
132 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot at 22 */
133 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt at 23 */
134 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to at 25 */
vlmc754e532005-08-16 16:56:59 +0000135};
136static asn_SEQUENCE_specifics_t asn_SPC_Everything_1_specs = {
137 sizeof(struct Everything),
138 offsetof(struct Everything, _asn_ctx),
139 asn_MAP_Everything_1_tag2el,
vlm6c4a8502005-08-18 13:38:19 +0000140 10, /* Count of tags in the map */
vlmc754e532005-08-16 16:56:59 +0000141 -1, /* Start extensions */
142 -1 /* Stop extensions */
143};
144asn_TYPE_descriptor_t asn_DEF_Everything = {
145 "Everything",
146 "Everything",
147 SEQUENCE_free,
148 SEQUENCE_print,
149 SEQUENCE_constraint,
150 SEQUENCE_decode_ber,
151 SEQUENCE_encode_der,
152 SEQUENCE_decode_xer,
153 SEQUENCE_encode_xer,
154 0, /* Use generic outmost tag fetcher */
155 asn_DEF_Everything_1_tags,
156 sizeof(asn_DEF_Everything_1_tags)
157 /sizeof(asn_DEF_Everything_1_tags[0]), /* 1 */
158 asn_DEF_Everything_1_tags, /* Same as above */
159 sizeof(asn_DEF_Everything_1_tags)
160 /sizeof(asn_DEF_Everything_1_tags[0]), /* 1 */
161 asn_MBR_Everything_1,
vlm6c4a8502005-08-18 13:38:19 +0000162 10, /* Elements count */
vlmc754e532005-08-16 16:56:59 +0000163 &asn_SPC_Everything_1_specs /* Additional specs */
164};
165
166
167/*** <<< INCLUDES [Choice1] >>> ***/
168
vlmc754e532005-08-16 16:56:59 +0000169#include <constr_CHOICE.h>
170
171/*** <<< DEPS [Choice1] >>> ***/
172
173typedef enum Choice1_PR {
174 Choice1_PR_NOTHING, /* No components present */
175 Choice1_PR_something,
176 /* Extensions may appear below */
177 Choice1_PR_some2,
178} Choice1_PR;
179
vlm6c4a8502005-08-18 13:38:19 +0000180/*** <<< FWD-DECLS [Choice1] >>> ***/
181
182struct Everything;
183
vlmc754e532005-08-16 16:56:59 +0000184/*** <<< TYPE-DECLS [Choice1] >>> ***/
185
186typedef struct Choice1 {
187 Choice1_PR present;
188 union Choice1_u {
vlm6c4a8502005-08-18 13:38:19 +0000189 struct Everything *something;
vlmc754e532005-08-16 16:56:59 +0000190 /*
191 * This type is extensible,
192 * possible extensions are below.
193 */
vlm6c4a8502005-08-18 13:38:19 +0000194 struct Everything *some2;
vlmc754e532005-08-16 16:56:59 +0000195 } choice;
196
197 /* Context for parsing across buffer boundaries */
198 asn_struct_ctx_t _asn_ctx;
199} Choice1_t;
200
201/*** <<< FUNC-DECLS [Choice1] >>> ***/
202
203extern asn_TYPE_descriptor_t asn_DEF_Choice1;
204
vlm6c4a8502005-08-18 13:38:19 +0000205/*** <<< POST-INCLUDE [Choice1] >>> ***/
206
207#include <Everything.h>
208
vlmc754e532005-08-16 16:56:59 +0000209/*** <<< STAT-DEFS [Choice1] >>> ***/
210
211static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
vlm6c4a8502005-08-18 13:38:19 +0000212 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
vlmc754e532005-08-16 16:56:59 +0000213 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
214 .tag_mode = -1, /* IMPLICIT tag at current level */
215 .type = (void *)&asn_DEF_Everything,
216 .memb_constraints = 0, /* Defer constraints checking to the member type */
217 .name = "something"
218 },
vlm6c4a8502005-08-18 13:38:19 +0000219 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
vlmc754e532005-08-16 16:56:59 +0000220 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
221 .tag_mode = -1, /* IMPLICIT tag at current level */
222 .type = (void *)&asn_DEF_Everything,
223 .memb_constraints = 0, /* Defer constraints checking to the member type */
224 .name = "some2"
225 },
226};
227static asn_TYPE_tag2member_t asn_MAP_Choice1_1_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000228 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something at 29 */
229 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 at 32 */
vlmc754e532005-08-16 16:56:59 +0000230};
231static asn_CHOICE_specifics_t asn_SPC_Choice1_1_specs = {
232 sizeof(struct Choice1),
233 offsetof(struct Choice1, _asn_ctx),
234 offsetof(struct Choice1, present),
235 sizeof(((struct Choice1 *)0)->present),
236 asn_MAP_Choice1_1_tag2el,
237 2, /* Count of tags in the map */
238 1 /* Whether extensible */
239};
240asn_TYPE_descriptor_t asn_DEF_Choice1 = {
241 "Choice1",
242 "Choice1",
243 CHOICE_free,
244 CHOICE_print,
245 CHOICE_constraint,
246 CHOICE_decode_ber,
247 CHOICE_encode_der,
248 CHOICE_decode_xer,
249 CHOICE_encode_xer,
250 CHOICE_outmost_tag,
251 0, /* No effective tags (pointer) */
252 0, /* No effective tags (count) */
253 0, /* No tags (pointer) */
254 0, /* No tags (count) */
255 asn_MBR_Choice1_1,
256 2, /* Elements count */
257 &asn_SPC_Choice1_1_specs /* Additional specs */
258};
259
260
261/*** <<< INCLUDES [Choice2] >>> ***/
262
vlm6c4a8502005-08-18 13:38:19 +0000263#include <TypeRef.h>
vlmc754e532005-08-16 16:56:59 +0000264#include <constr_CHOICE.h>
265
266/*** <<< DEPS [Choice2] >>> ***/
267
268typedef enum Choice2_PR {
269 Choice2_PR_NOTHING, /* No components present */
vlm6c4a8502005-08-18 13:38:19 +0000270 Choice2_PR_typeref,
vlmc754e532005-08-16 16:56:59 +0000271 /* Extensions may appear below */
272 Choice2_PR_some3,
273} Choice2_PR;
274
vlm6c4a8502005-08-18 13:38:19 +0000275/*** <<< FWD-DECLS [Choice2] >>> ***/
276
277struct Everything;
278
vlmc754e532005-08-16 16:56:59 +0000279/*** <<< TYPE-DECLS [Choice2] >>> ***/
280
281typedef struct Choice2 {
282 Choice2_PR present;
283 union Choice2_u {
vlm6c4a8502005-08-18 13:38:19 +0000284 TypeRef_t typeref;
vlmc754e532005-08-16 16:56:59 +0000285 /*
286 * This type is extensible,
287 * possible extensions are below.
288 */
vlm6c4a8502005-08-18 13:38:19 +0000289 struct Everything *some3;
vlmc754e532005-08-16 16:56:59 +0000290 } choice;
291
292 /* Context for parsing across buffer boundaries */
293 asn_struct_ctx_t _asn_ctx;
294} Choice2_t;
295
296/*** <<< FUNC-DECLS [Choice2] >>> ***/
297
298extern asn_TYPE_descriptor_t asn_DEF_Choice2;
299
vlm6c4a8502005-08-18 13:38:19 +0000300/*** <<< POST-INCLUDE [Choice2] >>> ***/
301
302#include <Everything.h>
303
vlmc754e532005-08-16 16:56:59 +0000304/*** <<< STAT-DEFS [Choice2] >>> ***/
305
306static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
vlm6c4a8502005-08-18 13:38:19 +0000307 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
vlmc754e532005-08-16 16:56:59 +0000308 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
309 .tag_mode = -1, /* IMPLICIT tag at current level */
vlm6c4a8502005-08-18 13:38:19 +0000310 .type = (void *)&asn_DEF_TypeRef,
311 .memb_constraints = 0, /* Defer constraints checking to the member type */
312 .name = "typeref"
313 },
314 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
315 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
316 .tag_mode = -1, /* IMPLICIT tag at current level */
vlmc754e532005-08-16 16:56:59 +0000317 .type = (void *)&asn_DEF_Everything,
318 .memb_constraints = 0, /* Defer constraints checking to the member type */
319 .name = "some3"
320 },
321};
322static asn_TYPE_tag2member_t asn_MAP_Choice2_1_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000323 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref at 35 */
324 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 at 38 */
vlmc754e532005-08-16 16:56:59 +0000325};
326static asn_CHOICE_specifics_t asn_SPC_Choice2_1_specs = {
327 sizeof(struct Choice2),
328 offsetof(struct Choice2, _asn_ctx),
329 offsetof(struct Choice2, present),
330 sizeof(((struct Choice2 *)0)->present),
331 asn_MAP_Choice2_1_tag2el,
vlm6c4a8502005-08-18 13:38:19 +0000332 2, /* Count of tags in the map */
vlmc754e532005-08-16 16:56:59 +0000333 1 /* Whether extensible */
334};
335asn_TYPE_descriptor_t asn_DEF_Choice2 = {
336 "Choice2",
337 "Choice2",
338 CHOICE_free,
339 CHOICE_print,
340 CHOICE_constraint,
341 CHOICE_decode_ber,
342 CHOICE_encode_der,
343 CHOICE_decode_xer,
344 CHOICE_encode_xer,
345 CHOICE_outmost_tag,
346 0, /* No effective tags (pointer) */
347 0, /* No effective tags (count) */
348 0, /* No tags (pointer) */
349 0, /* No tags (count) */
350 asn_MBR_Choice2_1,
vlm6c4a8502005-08-18 13:38:19 +0000351 2, /* Elements count */
vlmc754e532005-08-16 16:56:59 +0000352 &asn_SPC_Choice2_1_specs /* Additional specs */
353};
354
355
vlm6c4a8502005-08-18 13:38:19 +0000356/*** <<< INCLUDES [Choice3] >>> ***/
357
358#include <constr_SEQUENCE.h>
359#include <asn_SEQUENCE_OF.h>
360#include <constr_SEQUENCE_OF.h>
361#include <constr_CHOICE.h>
362
363/*** <<< DEPS [Choice3] >>> ***/
364
365typedef enum Choice3_PR {
366 Choice3_PR_NOTHING, /* No components present */
367 Choice3_PR_a,
368 Choice3_PR_b,
369 Choice3_PR_c,
370} Choice3_PR;
371
372/*** <<< FWD-DECLS [Choice3] >>> ***/
373
374struct Everything;
375struct Choice3;
376
377/*** <<< TYPE-DECLS [Choice3] >>> ***/
378
379typedef struct Choice3 {
380 Choice3_PR present;
381 union Choice3_u {
382 struct a {
383 struct Everything *aa;
384
385 /* Context for parsing across buffer boundaries */
386 asn_struct_ctx_t _asn_ctx;
387 } a;
388 struct Everything *b;
389 struct c {
390 A_SEQUENCE_OF(struct Choice3) list;
391
392 /* Context for parsing across buffer boundaries */
393 asn_struct_ctx_t _asn_ctx;
394 } c;
395 } choice;
396
397 /* Context for parsing across buffer boundaries */
398 asn_struct_ctx_t _asn_ctx;
399} Choice3_t;
400
401/*** <<< FUNC-DECLS [Choice3] >>> ***/
402
403extern asn_TYPE_descriptor_t asn_DEF_Choice3;
404
405/*** <<< POST-INCLUDE [Choice3] >>> ***/
406
407#include <Everything.h>
408#include <Choice3.h>
409
410/*** <<< STAT-DEFS [Choice3] >>> ***/
411
412static asn_TYPE_member_t asn_MBR_a_2[] = {
413 { ATF_POINTER, 0, offsetof(struct a, aa),
414 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
415 .tag_mode = -1, /* IMPLICIT tag at current level */
416 .type = (void *)&asn_DEF_Everything,
417 .memb_constraints = 0, /* Defer constraints checking to the member type */
418 .name = "aa"
419 },
420};
421static ber_tlv_tag_t asn_DEF_a_2_tags[] = {
422 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
423 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
424};
425static asn_TYPE_tag2member_t asn_MAP_a_2_tag2el[] = {
426 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa at 43 */
427};
428static asn_SEQUENCE_specifics_t asn_SPC_a_2_specs = {
429 sizeof(struct a),
430 offsetof(struct a, _asn_ctx),
431 asn_MAP_a_2_tag2el,
432 1, /* Count of tags in the map */
433 -1, /* Start extensions */
434 -1 /* Stop extensions */
435};
436static /* Use -fall-defs-global to expose */
437asn_TYPE_descriptor_t asn_DEF_a_2 = {
438 "a",
439 "a",
440 SEQUENCE_free,
441 SEQUENCE_print,
442 SEQUENCE_constraint,
443 SEQUENCE_decode_ber,
444 SEQUENCE_encode_der,
445 SEQUENCE_decode_xer,
446 SEQUENCE_encode_xer,
447 0, /* Use generic outmost tag fetcher */
448 asn_DEF_a_2_tags,
449 sizeof(asn_DEF_a_2_tags)
450 /sizeof(asn_DEF_a_2_tags[0]) - 1, /* 1 */
451 asn_DEF_a_2_tags, /* Same as above */
452 sizeof(asn_DEF_a_2_tags)
453 /sizeof(asn_DEF_a_2_tags[0]), /* 2 */
454 asn_MBR_a_2,
455 1, /* Elements count */
456 &asn_SPC_a_2_specs /* Additional specs */
457};
458
459static asn_TYPE_member_t asn_MBR_c_5[] = {
460 { ATF_POINTER, 0, 0,
461 .tag = -1 /* Ambiguous tag (CHOICE?) */,
462 .tag_mode = 0,
463 .type = (void *)&asn_DEF_Choice3,
464 .memb_constraints = 0, /* Defer constraints checking to the member type */
465 .name = ""
466 },
467};
468static ber_tlv_tag_t asn_DEF_c_5_tags[] = {
469 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
470 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
471};
472static asn_SET_OF_specifics_t asn_SPC_c_5_specs = {
473 sizeof(struct c),
474 offsetof(struct c, _asn_ctx),
475 0, /* XER encoding is XMLDelimitedItemList */
476};
477static /* Use -fall-defs-global to expose */
478asn_TYPE_descriptor_t asn_DEF_c_5 = {
479 "c",
480 "c",
481 SEQUENCE_OF_free,
482 SEQUENCE_OF_print,
483 SEQUENCE_OF_constraint,
484 SEQUENCE_OF_decode_ber,
485 SEQUENCE_OF_encode_der,
486 SEQUENCE_OF_decode_xer,
487 SEQUENCE_OF_encode_xer,
488 0, /* Use generic outmost tag fetcher */
489 asn_DEF_c_5_tags,
490 sizeof(asn_DEF_c_5_tags)
491 /sizeof(asn_DEF_c_5_tags[0]) - 1, /* 1 */
492 asn_DEF_c_5_tags, /* Same as above */
493 sizeof(asn_DEF_c_5_tags)
494 /sizeof(asn_DEF_c_5_tags[0]), /* 2 */
495 asn_MBR_c_5,
496 1, /* Single element */
497 &asn_SPC_c_5_specs /* Additional specs */
498};
499
500static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
501 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
502 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
503 .tag_mode = -1, /* IMPLICIT tag at current level */
504 .type = (void *)&asn_DEF_a_2,
505 .memb_constraints = 0, /* Defer constraints checking to the member type */
506 .name = "a"
507 },
508 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
509 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
510 .tag_mode = -1, /* IMPLICIT tag at current level */
511 .type = (void *)&asn_DEF_Everything,
512 .memb_constraints = 0, /* Defer constraints checking to the member type */
513 .name = "b"
514 },
515 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
516 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
517 .tag_mode = -1, /* IMPLICIT tag at current level */
518 .type = (void *)&asn_DEF_c_5,
519 .memb_constraints = 0, /* Defer constraints checking to the member type */
520 .name = "c"
521 },
522};
523static asn_TYPE_tag2member_t asn_MAP_Choice3_1_tag2el[] = {
524 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 43 */
525 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b at 44 */
526 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c at 46 */
527};
528static asn_CHOICE_specifics_t asn_SPC_Choice3_1_specs = {
529 sizeof(struct Choice3),
530 offsetof(struct Choice3, _asn_ctx),
531 offsetof(struct Choice3, present),
532 sizeof(((struct Choice3 *)0)->present),
533 asn_MAP_Choice3_1_tag2el,
534 3, /* Count of tags in the map */
535 0 /* Whether extensible */
536};
537asn_TYPE_descriptor_t asn_DEF_Choice3 = {
538 "Choice3",
539 "Choice3",
540 CHOICE_free,
541 CHOICE_print,
542 CHOICE_constraint,
543 CHOICE_decode_ber,
544 CHOICE_encode_der,
545 CHOICE_decode_xer,
546 CHOICE_encode_xer,
547 CHOICE_outmost_tag,
548 0, /* No effective tags (pointer) */
549 0, /* No effective tags (count) */
550 0, /* No tags (pointer) */
551 0, /* No tags (count) */
552 asn_MBR_Choice3_1,
553 3, /* Elements count */
554 &asn_SPC_Choice3_1_specs /* Additional specs */
555};
556
557
vlmc754e532005-08-16 16:56:59 +0000558/*** <<< INCLUDES [Set] >>> ***/
559
560#include <asn_SET_OF.h>
561#include <INTEGER.h>
vlmc754e532005-08-16 16:56:59 +0000562#include <constr_SEQUENCE.h>
563#include <constr_SET_OF.h>
564
565/*** <<< FWD-DECLS [Set] >>> ***/
566
567struct Set;
vlm6c4a8502005-08-18 13:38:19 +0000568struct Sequence;
vlmc754e532005-08-16 16:56:59 +0000569
570/*** <<< TYPE-DECLS [Set] >>> ***/
571
572typedef struct Set {
573 A_SET_OF(struct Member {
574 INTEGER_t Int;
575 struct Set *set;
vlm6c4a8502005-08-18 13:38:19 +0000576 struct Sequence *seq;
vlmc754e532005-08-16 16:56:59 +0000577 struct Set *set2 /* OPTIONAL */;
578 /*
579 * This type is extensible,
580 * possible extensions are below.
581 */
582 struct Set *set3;
583
584 /* Context for parsing across buffer boundaries */
585 asn_struct_ctx_t _asn_ctx;
586 } ) list;
587
588 /* Context for parsing across buffer boundaries */
589 asn_struct_ctx_t _asn_ctx;
590} Set_t;
591
592/*** <<< FUNC-DECLS [Set] >>> ***/
593
594extern asn_TYPE_descriptor_t asn_DEF_Set;
595
596/*** <<< POST-INCLUDE [Set] >>> ***/
597
598#include <Set.h>
vlm6c4a8502005-08-18 13:38:19 +0000599#include <Sequence.h>
vlmc754e532005-08-16 16:56:59 +0000600
601/*** <<< STAT-DEFS [Set] >>> ***/
602
603static asn_TYPE_member_t asn_MBR_Member_2[] = {
604 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
605 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
606 .tag_mode = -1, /* IMPLICIT tag at current level */
607 .type = (void *)&asn_DEF_INTEGER,
608 .memb_constraints = 0, /* Defer constraints checking to the member type */
609 .name = "int"
610 },
611 { ATF_POINTER, 0, offsetof(struct Member, set),
612 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
613 .tag_mode = -1, /* IMPLICIT tag at current level */
614 .type = (void *)&asn_DEF_Set,
615 .memb_constraints = 0, /* Defer constraints checking to the member type */
616 .name = "set"
617 },
vlm6c4a8502005-08-18 13:38:19 +0000618 { ATF_POINTER, 0, offsetof(struct Member, seq),
vlmc754e532005-08-16 16:56:59 +0000619 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
620 .tag_mode = -1, /* IMPLICIT tag at current level */
621 .type = (void *)&asn_DEF_Sequence,
622 .memb_constraints = 0, /* Defer constraints checking to the member type */
623 .name = "seq"
624 },
625 { ATF_POINTER, 2, offsetof(struct Member, set2),
626 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
627 .tag_mode = -1, /* IMPLICIT tag at current level */
628 .type = (void *)&asn_DEF_Set,
629 .memb_constraints = 0, /* Defer constraints checking to the member type */
630 .name = "set2"
631 },
vlm6c4a8502005-08-18 13:38:19 +0000632 { ATF_POINTER, 1, offsetof(struct Member, set3),
vlmc754e532005-08-16 16:56:59 +0000633 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
634 .tag_mode = -1, /* IMPLICIT tag at current level */
635 .type = (void *)&asn_DEF_Set,
636 .memb_constraints = 0, /* Defer constraints checking to the member type */
637 .name = "set3"
638 },
639};
640static ber_tlv_tag_t asn_DEF_Member_2_tags[] = {
641 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
642};
643static asn_TYPE_tag2member_t asn_MAP_Member_2_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000644 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int at 49 */
645 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 50 */
646 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq at 51 */
647 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 at 52 */
648 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 at 55 */
vlmc754e532005-08-16 16:56:59 +0000649};
650static asn_SEQUENCE_specifics_t asn_SPC_Member_2_specs = {
651 sizeof(struct Member),
652 offsetof(struct Member, _asn_ctx),
653 asn_MAP_Member_2_tag2el,
654 5, /* Count of tags in the map */
655 3, /* Start extensions */
656 6 /* Stop extensions */
657};
658static /* Use -fall-defs-global to expose */
659asn_TYPE_descriptor_t asn_DEF_Member_2 = {
660 "",
661 "",
662 SEQUENCE_free,
663 SEQUENCE_print,
664 SEQUENCE_constraint,
665 SEQUENCE_decode_ber,
666 SEQUENCE_encode_der,
667 SEQUENCE_decode_xer,
668 SEQUENCE_encode_xer,
669 0, /* Use generic outmost tag fetcher */
670 asn_DEF_Member_2_tags,
671 sizeof(asn_DEF_Member_2_tags)
672 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
673 asn_DEF_Member_2_tags, /* Same as above */
674 sizeof(asn_DEF_Member_2_tags)
675 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
676 asn_MBR_Member_2,
677 5, /* Elements count */
678 &asn_SPC_Member_2_specs /* Additional specs */
679};
680
681static asn_TYPE_member_t asn_MBR_Set_1[] = {
682 { ATF_POINTER, 0, 0,
683 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
684 .tag_mode = 0,
685 .type = (void *)&asn_DEF_Member_2,
686 .memb_constraints = 0, /* Defer constraints checking to the member type */
687 .name = ""
688 },
689};
690static ber_tlv_tag_t asn_DEF_Set_1_tags[] = {
691 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
692};
693static asn_SET_OF_specifics_t asn_SPC_Set_1_specs = {
694 sizeof(struct Set),
695 offsetof(struct Set, _asn_ctx),
696 0, /* XER encoding is XMLDelimitedItemList */
697};
698asn_TYPE_descriptor_t asn_DEF_Set = {
699 "Set",
700 "Set",
701 SET_OF_free,
702 SET_OF_print,
703 SET_OF_constraint,
704 SET_OF_decode_ber,
705 SET_OF_encode_der,
706 SET_OF_decode_xer,
707 SET_OF_encode_xer,
708 0, /* Use generic outmost tag fetcher */
709 asn_DEF_Set_1_tags,
710 sizeof(asn_DEF_Set_1_tags)
711 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
712 asn_DEF_Set_1_tags, /* Same as above */
713 sizeof(asn_DEF_Set_1_tags)
714 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
715 asn_MBR_Set_1,
716 1, /* Single element */
717 &asn_SPC_Set_1_specs /* Additional specs */
718};
719
720
721/*** <<< INCLUDES [Sequence] >>> ***/
722
723#include <INTEGER.h>
724#include <constr_SEQUENCE.h>
725
726/*** <<< FWD-DECLS [Sequence] >>> ***/
727
728struct Sequence;
729struct Set;
730
731/*** <<< TYPE-DECLS [Sequence] >>> ***/
732
733typedef struct Sequence {
734 INTEGER_t a;
735 struct Sequence *seq /* OPTIONAL */;
736 /*
737 * This type is extensible,
738 * possible extensions are below.
739 */
740 INTEGER_t *b;
741 struct Set *set /* OPTIONAL */;
742
743 /* Context for parsing across buffer boundaries */
744 asn_struct_ctx_t _asn_ctx;
745} Sequence_t;
746
747/*** <<< FUNC-DECLS [Sequence] >>> ***/
748
749extern asn_TYPE_descriptor_t asn_DEF_Sequence;
750
751/*** <<< POST-INCLUDE [Sequence] >>> ***/
752
753#include <Sequence.h>
754#include <Set.h>
755
756/*** <<< STAT-DEFS [Sequence] >>> ***/
757
758static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
759 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
760 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
761 .tag_mode = -1, /* IMPLICIT tag at current level */
762 .type = (void *)&asn_DEF_INTEGER,
763 .memb_constraints = 0, /* Defer constraints checking to the member type */
764 .name = "a"
765 },
766 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
767 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
768 .tag_mode = -1, /* IMPLICIT tag at current level */
769 .type = (void *)&asn_DEF_Sequence,
770 .memb_constraints = 0, /* Defer constraints checking to the member type */
771 .name = "seq"
772 },
vlm6c4a8502005-08-18 13:38:19 +0000773 { ATF_POINTER, 2, offsetof(struct Sequence, b),
vlmc754e532005-08-16 16:56:59 +0000774 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
775 .tag_mode = -1, /* IMPLICIT tag at current level */
776 .type = (void *)&asn_DEF_INTEGER,
777 .memb_constraints = 0, /* Defer constraints checking to the member type */
778 .name = "b"
779 },
780 { ATF_POINTER, 1, offsetof(struct Sequence, set),
781 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
782 .tag_mode = -1, /* IMPLICIT tag at current level */
783 .type = (void *)&asn_DEF_Set,
784 .memb_constraints = 0, /* Defer constraints checking to the member type */
785 .name = "set"
786 },
787};
788static ber_tlv_tag_t asn_DEF_Sequence_1_tags[] = {
789 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
790};
791static asn_TYPE_tag2member_t asn_MAP_Sequence_1_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000792 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 58 */
793 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq at 59 */
794 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b at 61 */
795 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set at 62 */
vlmc754e532005-08-16 16:56:59 +0000796};
797static asn_SEQUENCE_specifics_t asn_SPC_Sequence_1_specs = {
798 sizeof(struct Sequence),
799 offsetof(struct Sequence, _asn_ctx),
800 asn_MAP_Sequence_1_tag2el,
801 4, /* Count of tags in the map */
802 1, /* Start extensions */
803 5 /* Stop extensions */
804};
805asn_TYPE_descriptor_t asn_DEF_Sequence = {
806 "Sequence",
807 "Sequence",
808 SEQUENCE_free,
809 SEQUENCE_print,
810 SEQUENCE_constraint,
811 SEQUENCE_decode_ber,
812 SEQUENCE_encode_der,
813 SEQUENCE_decode_xer,
814 SEQUENCE_encode_xer,
815 0, /* Use generic outmost tag fetcher */
816 asn_DEF_Sequence_1_tags,
817 sizeof(asn_DEF_Sequence_1_tags)
818 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
819 asn_DEF_Sequence_1_tags, /* Same as above */
820 sizeof(asn_DEF_Sequence_1_tags)
821 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
822 asn_MBR_Sequence_1,
823 4, /* Elements count */
824 &asn_SPC_Sequence_1_specs /* Additional specs */
825};
826
vlm6c4a8502005-08-18 13:38:19 +0000827
828/*** <<< INCLUDES [TypeRef] >>> ***/
829
830#include <Sequence.h>
831
832/*** <<< TYPE-DECLS [TypeRef] >>> ***/
833
834typedef Sequence_t TypeRef_t;
835
836/*** <<< FUNC-DECLS [TypeRef] >>> ***/
837
838extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
839asn_struct_free_f TypeRef_free;
840asn_struct_print_f TypeRef_print;
841asn_constr_check_f TypeRef_constraint;
842ber_type_decoder_f TypeRef_decode_ber;
843der_type_encoder_f TypeRef_encode_der;
844xer_type_decoder_f TypeRef_decode_xer;
845xer_type_encoder_f TypeRef_encode_xer;
846
847/*** <<< CODE [TypeRef] >>> ***/
848
849int
850TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
851 asn_app_consume_bytes_f *app_errlog, void *app_key) {
852 /* Replace with underlying type checker */
853 td->check_constraints = asn_DEF_Sequence.check_constraints;
854 return td->check_constraints(td, sptr, app_errlog, app_key);
855}
856
857/*
858 * This type is implemented using Sequence,
859 * so here we adjust the DEF accordingly.
860 */
861static void
862TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
863 td->free_struct = asn_DEF_Sequence.free_struct;
864 td->print_struct = asn_DEF_Sequence.print_struct;
865 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
866 td->der_encoder = asn_DEF_Sequence.der_encoder;
867 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
868 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
869 td->elements = asn_DEF_Sequence.elements;
870 td->elements_count = asn_DEF_Sequence.elements_count;
871 td->specifics = asn_DEF_Sequence.specifics;
872}
873
874void
875TypeRef_free(asn_TYPE_descriptor_t *td,
876 void *struct_ptr, int contents_only) {
877 TypeRef_1_inherit_TYPE_descriptor(td);
878 td->free_struct(td, struct_ptr, contents_only);
879}
880
881int
882TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
883 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
884 TypeRef_1_inherit_TYPE_descriptor(td);
885 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
886}
887
888asn_dec_rval_t
889TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
890 void **structure, const void *bufptr, size_t size, int tag_mode) {
891 TypeRef_1_inherit_TYPE_descriptor(td);
892 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
893}
894
895asn_enc_rval_t
896TypeRef_encode_der(asn_TYPE_descriptor_t *td,
897 void *structure, int tag_mode, ber_tlv_tag_t tag,
898 asn_app_consume_bytes_f *cb, void *app_key) {
899 TypeRef_1_inherit_TYPE_descriptor(td);
900 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
901}
902
903asn_dec_rval_t
904TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
905 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
906 TypeRef_1_inherit_TYPE_descriptor(td);
907 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
908}
909
910asn_enc_rval_t
911TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
912 int ilevel, enum xer_encoder_flags_e flags,
913 asn_app_consume_bytes_f *cb, void *app_key) {
914 TypeRef_1_inherit_TYPE_descriptor(td);
915 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
916}
917
918
919/*** <<< STAT-DEFS [TypeRef] >>> ***/
920
921static ber_tlv_tag_t asn_DEF_TypeRef_1_tags[] = {
922 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
923};
924asn_TYPE_descriptor_t asn_DEF_TypeRef = {
925 "TypeRef",
926 "TypeRef",
927 TypeRef_free,
928 TypeRef_print,
929 TypeRef_constraint,
930 TypeRef_decode_ber,
931 TypeRef_encode_der,
932 TypeRef_decode_xer,
933 TypeRef_encode_xer,
934 0, /* Use generic outmost tag fetcher */
935 asn_DEF_TypeRef_1_tags,
936 sizeof(asn_DEF_TypeRef_1_tags)
937 /sizeof(asn_DEF_TypeRef_1_tags[0]), /* 1 */
938 asn_DEF_TypeRef_1_tags, /* Same as above */
939 sizeof(asn_DEF_TypeRef_1_tags)
940 /sizeof(asn_DEF_TypeRef_1_tags[0]), /* 1 */
941 0, 0, /* Defined elsewhere */
942 0 /* No specifics */
943};
944
945
946/*** <<< INCLUDES [Alpha] >>> ***/
947
948#include <constr_SEQUENCE.h>
949
950/*** <<< FWD-DECLS [Alpha] >>> ***/
951
952struct Beta;
953
954/*** <<< TYPE-DECLS [Alpha] >>> ***/
955
956typedef struct Alpha {
957 struct Beta *a;
958 struct b {
959 struct Beta *b /* OPTIONAL */;
960
961 /* Context for parsing across buffer boundaries */
962 asn_struct_ctx_t _asn_ctx;
963 } b;
964
965 /* Context for parsing across buffer boundaries */
966 asn_struct_ctx_t _asn_ctx;
967} Alpha_t;
968
969/*** <<< FUNC-DECLS [Alpha] >>> ***/
970
971extern asn_TYPE_descriptor_t asn_DEF_Alpha;
972
973/*** <<< POST-INCLUDE [Alpha] >>> ***/
974
975#include <Beta.h>
976
977/*** <<< STAT-DEFS [Alpha] >>> ***/
978
979static asn_TYPE_member_t asn_MBR_b_3[] = {
980 { ATF_POINTER, 1, offsetof(struct b, b),
981 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
982 .tag_mode = -1, /* IMPLICIT tag at current level */
983 .type = (void *)&asn_DEF_Beta,
984 .memb_constraints = 0, /* Defer constraints checking to the member type */
985 .name = "b"
986 },
987};
988static ber_tlv_tag_t asn_DEF_b_3_tags[] = {
989 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
990 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
991};
992static asn_TYPE_tag2member_t asn_MAP_b_3_tag2el[] = {
993 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b at 70 */
994};
995static asn_SEQUENCE_specifics_t asn_SPC_b_3_specs = {
996 sizeof(struct b),
997 offsetof(struct b, _asn_ctx),
998 asn_MAP_b_3_tag2el,
999 1, /* Count of tags in the map */
1000 -1, /* Start extensions */
1001 -1 /* Stop extensions */
1002};
1003static /* Use -fall-defs-global to expose */
1004asn_TYPE_descriptor_t asn_DEF_b_3 = {
1005 "b",
1006 "b",
1007 SEQUENCE_free,
1008 SEQUENCE_print,
1009 SEQUENCE_constraint,
1010 SEQUENCE_decode_ber,
1011 SEQUENCE_encode_der,
1012 SEQUENCE_decode_xer,
1013 SEQUENCE_encode_xer,
1014 0, /* Use generic outmost tag fetcher */
1015 asn_DEF_b_3_tags,
1016 sizeof(asn_DEF_b_3_tags)
1017 /sizeof(asn_DEF_b_3_tags[0]) - 1, /* 1 */
1018 asn_DEF_b_3_tags, /* Same as above */
1019 sizeof(asn_DEF_b_3_tags)
1020 /sizeof(asn_DEF_b_3_tags[0]), /* 2 */
1021 asn_MBR_b_3,
1022 1, /* Elements count */
1023 &asn_SPC_b_3_specs /* Additional specs */
1024};
1025
1026static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1027 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1028 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1029 .tag_mode = -1, /* IMPLICIT tag at current level */
1030 .type = (void *)&asn_DEF_Beta,
1031 .memb_constraints = 0, /* Defer constraints checking to the member type */
1032 .name = "a"
1033 },
1034 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1035 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1036 .tag_mode = -1, /* IMPLICIT tag at current level */
1037 .type = (void *)&asn_DEF_b_3,
1038 .memb_constraints = 0, /* Defer constraints checking to the member type */
1039 .name = "b"
1040 },
1041};
1042static ber_tlv_tag_t asn_DEF_Alpha_1_tags[] = {
1043 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1044};
1045static asn_TYPE_tag2member_t asn_MAP_Alpha_1_tag2el[] = {
1046 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 68 */
1047 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 70 */
1048};
1049static asn_SEQUENCE_specifics_t asn_SPC_Alpha_1_specs = {
1050 sizeof(struct Alpha),
1051 offsetof(struct Alpha, _asn_ctx),
1052 asn_MAP_Alpha_1_tag2el,
1053 2, /* Count of tags in the map */
1054 -1, /* Start extensions */
1055 -1 /* Stop extensions */
1056};
1057asn_TYPE_descriptor_t asn_DEF_Alpha = {
1058 "Alpha",
1059 "Alpha",
1060 SEQUENCE_free,
1061 SEQUENCE_print,
1062 SEQUENCE_constraint,
1063 SEQUENCE_decode_ber,
1064 SEQUENCE_encode_der,
1065 SEQUENCE_decode_xer,
1066 SEQUENCE_encode_xer,
1067 0, /* Use generic outmost tag fetcher */
1068 asn_DEF_Alpha_1_tags,
1069 sizeof(asn_DEF_Alpha_1_tags)
1070 /sizeof(asn_DEF_Alpha_1_tags[0]), /* 1 */
1071 asn_DEF_Alpha_1_tags, /* Same as above */
1072 sizeof(asn_DEF_Alpha_1_tags)
1073 /sizeof(asn_DEF_Alpha_1_tags[0]), /* 1 */
1074 asn_MBR_Alpha_1,
1075 2, /* Elements count */
1076 &asn_SPC_Alpha_1_specs /* Additional specs */
1077};
1078
1079
1080/*** <<< INCLUDES [Beta] >>> ***/
1081
1082#include <constr_SEQUENCE.h>
1083
1084/*** <<< FWD-DECLS [Beta] >>> ***/
1085
1086struct Alpha;
1087struct Gamma;
1088
1089/*** <<< TYPE-DECLS [Beta] >>> ***/
1090
1091typedef struct Beta {
1092 struct Alpha *b /* OPTIONAL */;
1093 struct Gamma *g /* OPTIONAL */;
1094
1095 /* Context for parsing across buffer boundaries */
1096 asn_struct_ctx_t _asn_ctx;
1097} Beta_t;
1098
1099/*** <<< FUNC-DECLS [Beta] >>> ***/
1100
1101extern asn_TYPE_descriptor_t asn_DEF_Beta;
1102
1103/*** <<< POST-INCLUDE [Beta] >>> ***/
1104
1105#include <Alpha.h>
1106#include <Gamma.h>
1107
1108/*** <<< STAT-DEFS [Beta] >>> ***/
1109
1110static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1111 { ATF_POINTER, 2, offsetof(struct Beta, b),
1112 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1113 .tag_mode = -1, /* IMPLICIT tag at current level */
1114 .type = (void *)&asn_DEF_Alpha,
1115 .memb_constraints = 0, /* Defer constraints checking to the member type */
1116 .name = "b"
1117 },
1118 { ATF_POINTER, 1, offsetof(struct Beta, g),
1119 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1120 .tag_mode = -1, /* IMPLICIT tag at current level */
1121 .type = (void *)&asn_DEF_Gamma,
1122 .memb_constraints = 0, /* Defer constraints checking to the member type */
1123 .name = "g"
1124 },
1125};
1126static ber_tlv_tag_t asn_DEF_Beta_1_tags[] = {
1127 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1128};
1129static asn_TYPE_tag2member_t asn_MAP_Beta_1_tag2el[] = {
1130 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b at 75 */
1131 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 76 */
1132};
1133static asn_SEQUENCE_specifics_t asn_SPC_Beta_1_specs = {
1134 sizeof(struct Beta),
1135 offsetof(struct Beta, _asn_ctx),
1136 asn_MAP_Beta_1_tag2el,
1137 2, /* Count of tags in the map */
1138 -1, /* Start extensions */
1139 -1 /* Stop extensions */
1140};
1141asn_TYPE_descriptor_t asn_DEF_Beta = {
1142 "Beta",
1143 "Beta",
1144 SEQUENCE_free,
1145 SEQUENCE_print,
1146 SEQUENCE_constraint,
1147 SEQUENCE_decode_ber,
1148 SEQUENCE_encode_der,
1149 SEQUENCE_decode_xer,
1150 SEQUENCE_encode_xer,
1151 0, /* Use generic outmost tag fetcher */
1152 asn_DEF_Beta_1_tags,
1153 sizeof(asn_DEF_Beta_1_tags)
1154 /sizeof(asn_DEF_Beta_1_tags[0]), /* 1 */
1155 asn_DEF_Beta_1_tags, /* Same as above */
1156 sizeof(asn_DEF_Beta_1_tags)
1157 /sizeof(asn_DEF_Beta_1_tags[0]), /* 1 */
1158 asn_MBR_Beta_1,
1159 2, /* Elements count */
1160 &asn_SPC_Beta_1_specs /* Additional specs */
1161};
1162
1163
1164/*** <<< INCLUDES [Gamma] >>> ***/
1165
1166#include <constr_SEQUENCE.h>
1167
1168/*** <<< FWD-DECLS [Gamma] >>> ***/
1169
1170struct TwoThree;
1171struct Alpha;
1172struct Beta;
1173
1174/*** <<< TYPE-DECLS [Gamma] >>> ***/
1175
1176typedef struct Gamma {
1177 struct TwoThree *o;
1178 struct Alpha *a;
1179 struct Beta *b;
1180
1181 /* Context for parsing across buffer boundaries */
1182 asn_struct_ctx_t _asn_ctx;
1183} Gamma_t;
1184
1185/*** <<< FUNC-DECLS [Gamma] >>> ***/
1186
1187extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1188
1189/*** <<< POST-INCLUDE [Gamma] >>> ***/
1190
1191#include <TwoThree.h>
1192#include <Alpha.h>
1193#include <Beta.h>
1194
1195/*** <<< STAT-DEFS [Gamma] >>> ***/
1196
1197static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1198 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1199 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1200 .tag_mode = -1, /* IMPLICIT tag at current level */
1201 .type = (void *)&asn_DEF_TwoThree,
1202 .memb_constraints = 0, /* Defer constraints checking to the member type */
1203 .name = "o"
1204 },
1205 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1206 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1207 .tag_mode = -1, /* IMPLICIT tag at current level */
1208 .type = (void *)&asn_DEF_Alpha,
1209 .memb_constraints = 0, /* Defer constraints checking to the member type */
1210 .name = "a"
1211 },
1212 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1213 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1214 .tag_mode = -1, /* IMPLICIT tag at current level */
1215 .type = (void *)&asn_DEF_Beta,
1216 .memb_constraints = 0, /* Defer constraints checking to the member type */
1217 .name = "b"
1218 },
1219};
1220static ber_tlv_tag_t asn_DEF_Gamma_1_tags[] = {
1221 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1222};
1223static asn_TYPE_tag2member_t asn_MAP_Gamma_1_tag2el[] = {
1224 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o at 80 */
1225 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a at 81 */
1226 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b at 83 */
1227};
1228static asn_SEQUENCE_specifics_t asn_SPC_Gamma_1_specs = {
1229 sizeof(struct Gamma),
1230 offsetof(struct Gamma, _asn_ctx),
1231 asn_MAP_Gamma_1_tag2el,
1232 3, /* Count of tags in the map */
1233 -1, /* Start extensions */
1234 -1 /* Stop extensions */
1235};
1236asn_TYPE_descriptor_t asn_DEF_Gamma = {
1237 "Gamma",
1238 "Gamma",
1239 SEQUENCE_free,
1240 SEQUENCE_print,
1241 SEQUENCE_constraint,
1242 SEQUENCE_decode_ber,
1243 SEQUENCE_encode_der,
1244 SEQUENCE_decode_xer,
1245 SEQUENCE_encode_xer,
1246 0, /* Use generic outmost tag fetcher */
1247 asn_DEF_Gamma_1_tags,
1248 sizeof(asn_DEF_Gamma_1_tags)
1249 /sizeof(asn_DEF_Gamma_1_tags[0]), /* 1 */
1250 asn_DEF_Gamma_1_tags, /* Same as above */
1251 sizeof(asn_DEF_Gamma_1_tags)
1252 /sizeof(asn_DEF_Gamma_1_tags[0]), /* 1 */
1253 asn_MBR_Gamma_1,
1254 3, /* Elements count */
1255 &asn_SPC_Gamma_1_specs /* Additional specs */
1256};
1257
1258
1259/*** <<< INCLUDES [OneTwo] >>> ***/
1260
1261#include <constr_SET.h>
1262
1263/*** <<< DEPS [OneTwo] >>> ***/
1264
1265
1266/*
1267 * Method of determining the components presence
1268 */
1269typedef enum OneTwo_PR {
1270 OneTwo_PR_m12, /* Member m12 is present */
1271} OneTwo_PR;
1272
1273/*** <<< FWD-DECLS [OneTwo] >>> ***/
1274
1275struct TwoThree;
1276
1277/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1278
1279typedef struct OneTwo {
1280 struct TwoThree *m12;
1281
1282 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1283 unsigned int _presence_map
1284 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1285
1286 /* Context for parsing across buffer boundaries */
1287 asn_struct_ctx_t _asn_ctx;
1288} OneTwo_t;
1289
1290/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1291
1292extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1293
1294/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1295
1296#include <TwoThree.h>
1297
1298/*** <<< STAT-DEFS [OneTwo] >>> ***/
1299
1300static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1301 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1302 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1303 .tag_mode = -1, /* IMPLICIT tag at current level */
1304 .type = (void *)&asn_DEF_TwoThree,
1305 .memb_constraints = 0, /* Defer constraints checking to the member type */
1306 .name = "m12"
1307 },
1308};
1309static ber_tlv_tag_t asn_DEF_OneTwo_1_tags[] = {
1310 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1311};
1312static asn_TYPE_tag2member_t asn_MAP_OneTwo_1_tag2el[] = {
1313 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 at 86 */
1314};
1315static uint8_t asn_MAP_OneTwo_1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1316 (1 << 7)
1317};
1318static asn_SET_specifics_t asn_SPC_OneTwo_1_specs = {
1319 sizeof(struct OneTwo),
1320 offsetof(struct OneTwo, _asn_ctx),
1321 offsetof(struct OneTwo, _presence_map),
1322 asn_MAP_OneTwo_1_tag2el,
1323 1, /* Count of tags in the map */
1324 asn_MAP_OneTwo_1_tag2el, /* Same as above */
1325 1, /* Count of tags in the CXER map */
1326 0, /* Whether extensible */
1327 (unsigned int *)asn_MAP_OneTwo_1_mmap /* Mandatory elements map */
1328};
1329asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1330 "OneTwo",
1331 "OneTwo",
1332 SET_free,
1333 SET_print,
1334 SET_constraint,
1335 SET_decode_ber,
1336 SET_encode_der,
1337 SET_decode_xer,
1338 SET_encode_xer,
1339 0, /* Use generic outmost tag fetcher */
1340 asn_DEF_OneTwo_1_tags,
1341 sizeof(asn_DEF_OneTwo_1_tags)
1342 /sizeof(asn_DEF_OneTwo_1_tags[0]), /* 1 */
1343 asn_DEF_OneTwo_1_tags, /* Same as above */
1344 sizeof(asn_DEF_OneTwo_1_tags)
1345 /sizeof(asn_DEF_OneTwo_1_tags[0]), /* 1 */
1346 asn_MBR_OneTwo_1,
1347 1, /* Elements count */
1348 &asn_SPC_OneTwo_1_specs /* Additional specs */
1349};
1350
1351
1352/*** <<< INCLUDES [TwoThree] >>> ***/
1353
1354#include <constr_SET.h>
1355
1356/*** <<< DEPS [TwoThree] >>> ***/
1357
1358
1359/*
1360 * Method of determining the components presence
1361 */
1362typedef enum TwoThree_PR {
1363 TwoThree_PR_m23, /* Member m23 is present */
1364} TwoThree_PR;
1365
1366/*** <<< FWD-DECLS [TwoThree] >>> ***/
1367
1368struct ThreeOne;
1369
1370/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1371
1372typedef struct TwoThree {
1373 struct ThreeOne *m23;
1374
1375 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1376 unsigned int _presence_map
1377 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1378
1379 /* Context for parsing across buffer boundaries */
1380 asn_struct_ctx_t _asn_ctx;
1381} TwoThree_t;
1382
1383/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1384
1385extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1386
1387/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1388
1389#include <ThreeOne.h>
1390
1391/*** <<< STAT-DEFS [TwoThree] >>> ***/
1392
1393static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1394 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1395 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1396 .tag_mode = -1, /* IMPLICIT tag at current level */
1397 .type = (void *)&asn_DEF_ThreeOne,
1398 .memb_constraints = 0, /* Defer constraints checking to the member type */
1399 .name = "m23"
1400 },
1401};
1402static ber_tlv_tag_t asn_DEF_TwoThree_1_tags[] = {
1403 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1404};
1405static asn_TYPE_tag2member_t asn_MAP_TwoThree_1_tag2el[] = {
1406 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 at 87 */
1407};
1408static uint8_t asn_MAP_TwoThree_1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1409 (1 << 7)
1410};
1411static asn_SET_specifics_t asn_SPC_TwoThree_1_specs = {
1412 sizeof(struct TwoThree),
1413 offsetof(struct TwoThree, _asn_ctx),
1414 offsetof(struct TwoThree, _presence_map),
1415 asn_MAP_TwoThree_1_tag2el,
1416 1, /* Count of tags in the map */
1417 asn_MAP_TwoThree_1_tag2el, /* Same as above */
1418 1, /* Count of tags in the CXER map */
1419 0, /* Whether extensible */
1420 (unsigned int *)asn_MAP_TwoThree_1_mmap /* Mandatory elements map */
1421};
1422asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1423 "TwoThree",
1424 "TwoThree",
1425 SET_free,
1426 SET_print,
1427 SET_constraint,
1428 SET_decode_ber,
1429 SET_encode_der,
1430 SET_decode_xer,
1431 SET_encode_xer,
1432 0, /* Use generic outmost tag fetcher */
1433 asn_DEF_TwoThree_1_tags,
1434 sizeof(asn_DEF_TwoThree_1_tags)
1435 /sizeof(asn_DEF_TwoThree_1_tags[0]), /* 1 */
1436 asn_DEF_TwoThree_1_tags, /* Same as above */
1437 sizeof(asn_DEF_TwoThree_1_tags)
1438 /sizeof(asn_DEF_TwoThree_1_tags[0]), /* 1 */
1439 asn_MBR_TwoThree_1,
1440 1, /* Elements count */
1441 &asn_SPC_TwoThree_1_specs /* Additional specs */
1442};
1443
1444
1445/*** <<< INCLUDES [ThreeOne] >>> ***/
1446
1447#include <constr_SET.h>
1448
1449/*** <<< DEPS [ThreeOne] >>> ***/
1450
1451
1452/*
1453 * Method of determining the components presence
1454 */
1455typedef enum ThreeOne_PR {
1456 ThreeOne_PR_m31, /* Member m31 is present */
1457 ThreeOne_PR_g, /* Member g is present */
1458} ThreeOne_PR;
1459
1460/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1461
1462struct OneTwo;
1463struct Gamma;
1464
1465/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1466
1467typedef struct ThreeOne {
1468 struct OneTwo *m31;
1469 struct Gamma *g;
1470
1471 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1472 unsigned int _presence_map
1473 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1474
1475 /* Context for parsing across buffer boundaries */
1476 asn_struct_ctx_t _asn_ctx;
1477} ThreeOne_t;
1478
1479/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1480
1481extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1482
1483/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1484
1485#include <OneTwo.h>
1486#include <Gamma.h>
1487
1488/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1489
1490static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1491 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1492 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1493 .tag_mode = -1, /* IMPLICIT tag at current level */
1494 .type = (void *)&asn_DEF_OneTwo,
1495 .memb_constraints = 0, /* Defer constraints checking to the member type */
1496 .name = "m31"
1497 },
1498 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1499 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1500 .tag_mode = -1, /* IMPLICIT tag at current level */
1501 .type = (void *)&asn_DEF_Gamma,
1502 .memb_constraints = 0, /* Defer constraints checking to the member type */
1503 .name = "g"
1504 },
1505};
1506static ber_tlv_tag_t asn_DEF_ThreeOne_1_tags[] = {
1507 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1508};
1509static asn_TYPE_tag2member_t asn_MAP_ThreeOne_1_tag2el[] = {
1510 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 at 88 */
1511 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 88 */
1512};
1513static uint8_t asn_MAP_ThreeOne_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1514 (1 << 7) | (1 << 6)
1515};
1516static asn_SET_specifics_t asn_SPC_ThreeOne_1_specs = {
1517 sizeof(struct ThreeOne),
1518 offsetof(struct ThreeOne, _asn_ctx),
1519 offsetof(struct ThreeOne, _presence_map),
1520 asn_MAP_ThreeOne_1_tag2el,
1521 2, /* Count of tags in the map */
1522 asn_MAP_ThreeOne_1_tag2el, /* Same as above */
1523 2, /* Count of tags in the CXER map */
1524 0, /* Whether extensible */
1525 (unsigned int *)asn_MAP_ThreeOne_1_mmap /* Mandatory elements map */
1526};
1527asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1528 "ThreeOne",
1529 "ThreeOne",
1530 SET_free,
1531 SET_print,
1532 SET_constraint,
1533 SET_decode_ber,
1534 SET_encode_der,
1535 SET_decode_xer,
1536 SET_encode_xer,
1537 0, /* Use generic outmost tag fetcher */
1538 asn_DEF_ThreeOne_1_tags,
1539 sizeof(asn_DEF_ThreeOne_1_tags)
1540 /sizeof(asn_DEF_ThreeOne_1_tags[0]), /* 1 */
1541 asn_DEF_ThreeOne_1_tags, /* Same as above */
1542 sizeof(asn_DEF_ThreeOne_1_tags)
1543 /sizeof(asn_DEF_ThreeOne_1_tags[0]), /* 1 */
1544 asn_MBR_ThreeOne_1,
1545 2, /* Elements count */
1546 &asn_SPC_ThreeOne_1_specs /* Additional specs */
1547};
1548