blob: fd06d8267c43f0509ef8774ae04ebb70a40de4e3 [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 */
vlme0fea712005-08-29 10:31:14 +000053 .type = &asn_DEF_Choice1,
vlmc754e532005-08-16 16:56:59 +000054 .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 */
vlme0fea712005-08-29 10:31:14 +000060 .type = &asn_DEF_Choice2,
vlmc754e532005-08-16 16:56:59 +000061 .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 */
vlme0fea712005-08-29 10:31:14 +000067 .type = &asn_DEF_Choice3,
vlm6c4a8502005-08-18 13:38:19 +000068 .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 */
vlme0fea712005-08-29 10:31:14 +000074 .type = &asn_DEF_Set,
vlmc754e532005-08-16 16:56:59 +000075 .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 */
vlme0fea712005-08-29 10:31:14 +000081 .type = &asn_DEF_Alpha,
vlm6c4a8502005-08-18 13:38:19 +000082 .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 */
vlme0fea712005-08-29 10:31:14 +000088 .type = &asn_DEF_Beta,
vlm6c4a8502005-08-18 13:38:19 +000089 .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 */
vlme0fea712005-08-29 10:31:14 +000095 .type = &asn_DEF_Gamma,
vlm6c4a8502005-08-18 13:38:19 +000096 .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 */
vlme0fea712005-08-29 10:31:14 +0000102 .type = &asn_DEF_OneTwo,
vlm6c4a8502005-08-18 13:38:19 +0000103 .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 */
vlme0fea712005-08-29 10:31:14 +0000109 .type = &asn_DEF_TwoThree,
vlm6c4a8502005-08-18 13:38:19 +0000110 .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 */
vlme0fea712005-08-29 10:31:14 +0000116 .type = &asn_DEF_ThreeOne,
vlm6c4a8502005-08-18 13:38:19 +0000117 .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
169#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
180/*** <<< FWD-DECLS [Choice1] >>> ***/
181
182struct Everything;
183
184/*** <<< TYPE-DECLS [Choice1] >>> ***/
185
186typedef struct Choice1 {
187 Choice1_PR present;
188 union Choice1_u {
189 struct Everything *something;
190 /*
191 * This type is extensible,
192 * possible extensions are below.
193 */
194 struct Everything *some2;
195 } 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
205/*** <<< POST-INCLUDE [Choice1] >>> ***/
206
207#include <Everything.h>
208
209/*** <<< STAT-DEFS [Choice1] >>> ***/
210
211static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
212 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
213 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
214 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000215 .type = &asn_DEF_Everything,
vlmc754e532005-08-16 16:56:59 +0000216 .memb_constraints = 0, /* Defer constraints checking to the member type */
217 .name = "something"
218 },
219 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
220 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
221 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000222 .type = &asn_DEF_Everything,
vlmc754e532005-08-16 16:56:59 +0000223 .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
263#include <constr_CHOICE.h>
264
265/*** <<< DEPS [Choice2] >>> ***/
266
267typedef enum Choice2_PR {
268 Choice2_PR_NOTHING, /* No components present */
vlm6c4a8502005-08-18 13:38:19 +0000269 Choice2_PR_typeref,
vlmc754e532005-08-16 16:56:59 +0000270 /* Extensions may appear below */
271 Choice2_PR_some3,
272} Choice2_PR;
273
274/*** <<< FWD-DECLS [Choice2] >>> ***/
275
vlm6c4a8502005-08-18 13:38:19 +0000276struct Sequence;
vlmc754e532005-08-16 16:56:59 +0000277struct Everything;
278
279/*** <<< TYPE-DECLS [Choice2] >>> ***/
280
281typedef struct Choice2 {
282 Choice2_PR present;
283 union Choice2_u {
vlm6c4a8502005-08-18 13:38:19 +0000284 struct Sequence *typeref;
vlmc754e532005-08-16 16:56:59 +0000285 /*
286 * This type is extensible,
287 * possible extensions are below.
288 */
289 struct Everything *some3;
290 } 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
300/*** <<< POST-INCLUDE [Choice2] >>> ***/
301
vlm6c4a8502005-08-18 13:38:19 +0000302#include <TypeRef.h>
vlmc754e532005-08-16 16:56:59 +0000303#include <Everything.h>
304
305/*** <<< STAT-DEFS [Choice2] >>> ***/
306
307static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
vlm6c4a8502005-08-18 13:38:19 +0000308 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
vlmc754e532005-08-16 16:56:59 +0000309 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
310 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000311 .type = &asn_DEF_TypeRef,
vlm6c4a8502005-08-18 13:38:19 +0000312 .memb_constraints = 0, /* Defer constraints checking to the member type */
313 .name = "typeref"
314 },
315 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
316 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
317 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000318 .type = &asn_DEF_Everything,
vlmc754e532005-08-16 16:56:59 +0000319 .memb_constraints = 0, /* Defer constraints checking to the member type */
320 .name = "some3"
321 },
322};
323static asn_TYPE_tag2member_t asn_MAP_Choice2_1_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000324 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref at 35 */
325 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 at 38 */
vlmc754e532005-08-16 16:56:59 +0000326};
327static asn_CHOICE_specifics_t asn_SPC_Choice2_1_specs = {
328 sizeof(struct Choice2),
329 offsetof(struct Choice2, _asn_ctx),
330 offsetof(struct Choice2, present),
331 sizeof(((struct Choice2 *)0)->present),
332 asn_MAP_Choice2_1_tag2el,
vlm6c4a8502005-08-18 13:38:19 +0000333 2, /* Count of tags in the map */
vlmc754e532005-08-16 16:56:59 +0000334 1 /* Whether extensible */
335};
336asn_TYPE_descriptor_t asn_DEF_Choice2 = {
337 "Choice2",
338 "Choice2",
339 CHOICE_free,
340 CHOICE_print,
341 CHOICE_constraint,
342 CHOICE_decode_ber,
343 CHOICE_encode_der,
344 CHOICE_decode_xer,
345 CHOICE_encode_xer,
346 CHOICE_outmost_tag,
347 0, /* No effective tags (pointer) */
348 0, /* No effective tags (count) */
349 0, /* No tags (pointer) */
350 0, /* No tags (count) */
351 asn_MBR_Choice2_1,
vlm6c4a8502005-08-18 13:38:19 +0000352 2, /* Elements count */
vlmc754e532005-08-16 16:56:59 +0000353 &asn_SPC_Choice2_1_specs /* Additional specs */
354};
355
356
vlm6c4a8502005-08-18 13:38:19 +0000357/*** <<< INCLUDES [Choice3] >>> ***/
358
359#include <constr_SEQUENCE.h>
360#include <asn_SEQUENCE_OF.h>
361#include <constr_SEQUENCE_OF.h>
362#include <constr_CHOICE.h>
363
364/*** <<< DEPS [Choice3] >>> ***/
365
366typedef enum Choice3_PR {
367 Choice3_PR_NOTHING, /* No components present */
368 Choice3_PR_a,
369 Choice3_PR_b,
370 Choice3_PR_c,
371} Choice3_PR;
372
373/*** <<< FWD-DECLS [Choice3] >>> ***/
374
375struct Everything;
376struct Choice3;
377
378/*** <<< TYPE-DECLS [Choice3] >>> ***/
379
380typedef struct Choice3 {
381 Choice3_PR present;
382 union Choice3_u {
383 struct a {
384 struct Everything *aa;
385
386 /* Context for parsing across buffer boundaries */
387 asn_struct_ctx_t _asn_ctx;
388 } *a;
389 struct Everything *b;
390 struct c {
391 A_SEQUENCE_OF(struct Choice3) list;
392
393 /* Context for parsing across buffer boundaries */
394 asn_struct_ctx_t _asn_ctx;
395 } *c;
396 } choice;
397
398 /* Context for parsing across buffer boundaries */
399 asn_struct_ctx_t _asn_ctx;
400} Choice3_t;
401
402/*** <<< FUNC-DECLS [Choice3] >>> ***/
403
404extern asn_TYPE_descriptor_t asn_DEF_Choice3;
405
406/*** <<< POST-INCLUDE [Choice3] >>> ***/
407
408#include <Everything.h>
409#include <Choice3.h>
410
411/*** <<< STAT-DEFS [Choice3] >>> ***/
412
413static asn_TYPE_member_t asn_MBR_a_2[] = {
414 { ATF_POINTER, 0, offsetof(struct a, aa),
415 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
416 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000417 .type = &asn_DEF_Everything,
vlm6c4a8502005-08-18 13:38:19 +0000418 .memb_constraints = 0, /* Defer constraints checking to the member type */
419 .name = "aa"
420 },
421};
422static ber_tlv_tag_t asn_DEF_a_2_tags[] = {
423 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
424 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
425};
426static asn_TYPE_tag2member_t asn_MAP_a_2_tag2el[] = {
427 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa at 43 */
428};
429static asn_SEQUENCE_specifics_t asn_SPC_a_2_specs = {
430 sizeof(struct a),
431 offsetof(struct a, _asn_ctx),
432 asn_MAP_a_2_tag2el,
433 1, /* Count of tags in the map */
434 -1, /* Start extensions */
435 -1 /* Stop extensions */
436};
437static /* Use -fall-defs-global to expose */
438asn_TYPE_descriptor_t asn_DEF_a_2 = {
439 "a",
440 "a",
441 SEQUENCE_free,
442 SEQUENCE_print,
443 SEQUENCE_constraint,
444 SEQUENCE_decode_ber,
445 SEQUENCE_encode_der,
446 SEQUENCE_decode_xer,
447 SEQUENCE_encode_xer,
448 0, /* Use generic outmost tag fetcher */
449 asn_DEF_a_2_tags,
450 sizeof(asn_DEF_a_2_tags)
451 /sizeof(asn_DEF_a_2_tags[0]) - 1, /* 1 */
452 asn_DEF_a_2_tags, /* Same as above */
453 sizeof(asn_DEF_a_2_tags)
454 /sizeof(asn_DEF_a_2_tags[0]), /* 2 */
455 asn_MBR_a_2,
456 1, /* Elements count */
457 &asn_SPC_a_2_specs /* Additional specs */
458};
459
460static asn_TYPE_member_t asn_MBR_c_5[] = {
461 { ATF_POINTER, 0, 0,
462 .tag = -1 /* Ambiguous tag (CHOICE?) */,
463 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000464 .type = &asn_DEF_Choice3,
vlm6c4a8502005-08-18 13:38:19 +0000465 .memb_constraints = 0, /* Defer constraints checking to the member type */
466 .name = ""
467 },
468};
469static ber_tlv_tag_t asn_DEF_c_5_tags[] = {
470 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
471 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
472};
473static asn_SET_OF_specifics_t asn_SPC_c_5_specs = {
474 sizeof(struct c),
475 offsetof(struct c, _asn_ctx),
476 0, /* XER encoding is XMLDelimitedItemList */
477};
478static /* Use -fall-defs-global to expose */
479asn_TYPE_descriptor_t asn_DEF_c_5 = {
480 "c",
481 "c",
482 SEQUENCE_OF_free,
483 SEQUENCE_OF_print,
484 SEQUENCE_OF_constraint,
485 SEQUENCE_OF_decode_ber,
486 SEQUENCE_OF_encode_der,
487 SEQUENCE_OF_decode_xer,
488 SEQUENCE_OF_encode_xer,
489 0, /* Use generic outmost tag fetcher */
490 asn_DEF_c_5_tags,
491 sizeof(asn_DEF_c_5_tags)
492 /sizeof(asn_DEF_c_5_tags[0]) - 1, /* 1 */
493 asn_DEF_c_5_tags, /* Same as above */
494 sizeof(asn_DEF_c_5_tags)
495 /sizeof(asn_DEF_c_5_tags[0]), /* 2 */
496 asn_MBR_c_5,
497 1, /* Single element */
498 &asn_SPC_c_5_specs /* Additional specs */
499};
500
501static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
502 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
503 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
504 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000505 .type = &asn_DEF_a_2,
vlm6c4a8502005-08-18 13:38:19 +0000506 .memb_constraints = 0, /* Defer constraints checking to the member type */
507 .name = "a"
508 },
509 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
510 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
511 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000512 .type = &asn_DEF_Everything,
vlm6c4a8502005-08-18 13:38:19 +0000513 .memb_constraints = 0, /* Defer constraints checking to the member type */
514 .name = "b"
515 },
516 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
517 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
518 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000519 .type = &asn_DEF_c_5,
vlm6c4a8502005-08-18 13:38:19 +0000520 .memb_constraints = 0, /* Defer constraints checking to the member type */
521 .name = "c"
522 },
523};
524static asn_TYPE_tag2member_t asn_MAP_Choice3_1_tag2el[] = {
525 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 43 */
526 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b at 44 */
527 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c at 46 */
528};
529static asn_CHOICE_specifics_t asn_SPC_Choice3_1_specs = {
530 sizeof(struct Choice3),
531 offsetof(struct Choice3, _asn_ctx),
532 offsetof(struct Choice3, present),
533 sizeof(((struct Choice3 *)0)->present),
534 asn_MAP_Choice3_1_tag2el,
535 3, /* Count of tags in the map */
536 0 /* Whether extensible */
537};
538asn_TYPE_descriptor_t asn_DEF_Choice3 = {
539 "Choice3",
540 "Choice3",
541 CHOICE_free,
542 CHOICE_print,
543 CHOICE_constraint,
544 CHOICE_decode_ber,
545 CHOICE_encode_der,
546 CHOICE_decode_xer,
547 CHOICE_encode_xer,
548 CHOICE_outmost_tag,
549 0, /* No effective tags (pointer) */
550 0, /* No effective tags (count) */
551 0, /* No tags (pointer) */
552 0, /* No tags (count) */
553 asn_MBR_Choice3_1,
554 3, /* Elements count */
555 &asn_SPC_Choice3_1_specs /* Additional specs */
556};
557
558
vlmc754e532005-08-16 16:56:59 +0000559/*** <<< INCLUDES [Set] >>> ***/
560
561#include <asn_SET_OF.h>
562#include <INTEGER.h>
vlmc754e532005-08-16 16:56:59 +0000563#include <constr_SEQUENCE.h>
564#include <constr_SET_OF.h>
565
566/*** <<< FWD-DECLS [Set] >>> ***/
567
568struct Set;
vlm6c4a8502005-08-18 13:38:19 +0000569struct Sequence;
vlmc754e532005-08-16 16:56:59 +0000570
571/*** <<< TYPE-DECLS [Set] >>> ***/
572
573typedef struct Set {
574 A_SET_OF(struct Member {
575 INTEGER_t Int;
576 struct Set *set;
vlm6c4a8502005-08-18 13:38:19 +0000577 struct Sequence *seq;
vlmc754e532005-08-16 16:56:59 +0000578 struct Set *set2 /* OPTIONAL */;
579 /*
580 * This type is extensible,
581 * possible extensions are below.
582 */
583 struct Set *set3;
584
585 /* Context for parsing across buffer boundaries */
586 asn_struct_ctx_t _asn_ctx;
587 } ) list;
588
589 /* Context for parsing across buffer boundaries */
590 asn_struct_ctx_t _asn_ctx;
591} Set_t;
592
593/*** <<< FUNC-DECLS [Set] >>> ***/
594
595extern asn_TYPE_descriptor_t asn_DEF_Set;
596
597/*** <<< POST-INCLUDE [Set] >>> ***/
598
599#include <Set.h>
vlm6c4a8502005-08-18 13:38:19 +0000600#include <Sequence.h>
vlmc754e532005-08-16 16:56:59 +0000601
602/*** <<< STAT-DEFS [Set] >>> ***/
603
604static asn_TYPE_member_t asn_MBR_Member_2[] = {
605 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
606 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
607 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000608 .type = &asn_DEF_INTEGER,
vlmc754e532005-08-16 16:56:59 +0000609 .memb_constraints = 0, /* Defer constraints checking to the member type */
610 .name = "int"
611 },
612 { ATF_POINTER, 0, offsetof(struct Member, set),
613 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
614 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000615 .type = &asn_DEF_Set,
vlmc754e532005-08-16 16:56:59 +0000616 .memb_constraints = 0, /* Defer constraints checking to the member type */
617 .name = "set"
618 },
vlm6c4a8502005-08-18 13:38:19 +0000619 { ATF_POINTER, 0, offsetof(struct Member, seq),
vlmc754e532005-08-16 16:56:59 +0000620 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
621 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000622 .type = &asn_DEF_Sequence,
vlmc754e532005-08-16 16:56:59 +0000623 .memb_constraints = 0, /* Defer constraints checking to the member type */
624 .name = "seq"
625 },
626 { ATF_POINTER, 2, offsetof(struct Member, set2),
627 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
628 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000629 .type = &asn_DEF_Set,
vlmc754e532005-08-16 16:56:59 +0000630 .memb_constraints = 0, /* Defer constraints checking to the member type */
631 .name = "set2"
632 },
vlm6c4a8502005-08-18 13:38:19 +0000633 { ATF_POINTER, 1, offsetof(struct Member, set3),
vlmc754e532005-08-16 16:56:59 +0000634 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
635 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000636 .type = &asn_DEF_Set,
vlmc754e532005-08-16 16:56:59 +0000637 .memb_constraints = 0, /* Defer constraints checking to the member type */
638 .name = "set3"
639 },
640};
641static ber_tlv_tag_t asn_DEF_Member_2_tags[] = {
642 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
643};
644static asn_TYPE_tag2member_t asn_MAP_Member_2_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000645 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int at 49 */
646 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 50 */
647 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq at 51 */
648 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 at 52 */
649 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 at 55 */
vlmc754e532005-08-16 16:56:59 +0000650};
651static asn_SEQUENCE_specifics_t asn_SPC_Member_2_specs = {
652 sizeof(struct Member),
653 offsetof(struct Member, _asn_ctx),
654 asn_MAP_Member_2_tag2el,
655 5, /* Count of tags in the map */
656 3, /* Start extensions */
657 6 /* Stop extensions */
658};
659static /* Use -fall-defs-global to expose */
660asn_TYPE_descriptor_t asn_DEF_Member_2 = {
661 "",
662 "",
663 SEQUENCE_free,
664 SEQUENCE_print,
665 SEQUENCE_constraint,
666 SEQUENCE_decode_ber,
667 SEQUENCE_encode_der,
668 SEQUENCE_decode_xer,
669 SEQUENCE_encode_xer,
670 0, /* Use generic outmost tag fetcher */
671 asn_DEF_Member_2_tags,
672 sizeof(asn_DEF_Member_2_tags)
673 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
674 asn_DEF_Member_2_tags, /* Same as above */
675 sizeof(asn_DEF_Member_2_tags)
676 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
677 asn_MBR_Member_2,
678 5, /* Elements count */
679 &asn_SPC_Member_2_specs /* Additional specs */
680};
681
682static asn_TYPE_member_t asn_MBR_Set_1[] = {
683 { ATF_POINTER, 0, 0,
684 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
685 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000686 .type = &asn_DEF_Member_2,
vlmc754e532005-08-16 16:56:59 +0000687 .memb_constraints = 0, /* Defer constraints checking to the member type */
688 .name = ""
689 },
690};
691static ber_tlv_tag_t asn_DEF_Set_1_tags[] = {
692 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
693};
694static asn_SET_OF_specifics_t asn_SPC_Set_1_specs = {
695 sizeof(struct Set),
696 offsetof(struct Set, _asn_ctx),
697 0, /* XER encoding is XMLDelimitedItemList */
698};
699asn_TYPE_descriptor_t asn_DEF_Set = {
700 "Set",
701 "Set",
702 SET_OF_free,
703 SET_OF_print,
704 SET_OF_constraint,
705 SET_OF_decode_ber,
706 SET_OF_encode_der,
707 SET_OF_decode_xer,
708 SET_OF_encode_xer,
709 0, /* Use generic outmost tag fetcher */
710 asn_DEF_Set_1_tags,
711 sizeof(asn_DEF_Set_1_tags)
712 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
713 asn_DEF_Set_1_tags, /* Same as above */
714 sizeof(asn_DEF_Set_1_tags)
715 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
716 asn_MBR_Set_1,
717 1, /* Single element */
718 &asn_SPC_Set_1_specs /* Additional specs */
719};
720
721
722/*** <<< INCLUDES [Sequence] >>> ***/
723
724#include <INTEGER.h>
725#include <constr_SEQUENCE.h>
726
727/*** <<< FWD-DECLS [Sequence] >>> ***/
728
729struct Sequence;
730struct Set;
731
732/*** <<< TYPE-DECLS [Sequence] >>> ***/
733
734typedef struct Sequence {
735 INTEGER_t a;
736 struct Sequence *seq /* OPTIONAL */;
737 /*
738 * This type is extensible,
739 * possible extensions are below.
740 */
741 INTEGER_t *b;
742 struct Set *set /* OPTIONAL */;
743
744 /* Context for parsing across buffer boundaries */
745 asn_struct_ctx_t _asn_ctx;
746} Sequence_t;
747
748/*** <<< FUNC-DECLS [Sequence] >>> ***/
749
750extern asn_TYPE_descriptor_t asn_DEF_Sequence;
751
752/*** <<< POST-INCLUDE [Sequence] >>> ***/
753
754#include <Sequence.h>
755#include <Set.h>
756
757/*** <<< STAT-DEFS [Sequence] >>> ***/
758
759static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
760 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
761 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
762 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000763 .type = &asn_DEF_INTEGER,
vlmc754e532005-08-16 16:56:59 +0000764 .memb_constraints = 0, /* Defer constraints checking to the member type */
765 .name = "a"
766 },
767 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
768 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
769 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000770 .type = &asn_DEF_Sequence,
vlmc754e532005-08-16 16:56:59 +0000771 .memb_constraints = 0, /* Defer constraints checking to the member type */
772 .name = "seq"
773 },
vlm6c4a8502005-08-18 13:38:19 +0000774 { ATF_POINTER, 2, offsetof(struct Sequence, b),
vlmc754e532005-08-16 16:56:59 +0000775 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
776 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000777 .type = &asn_DEF_INTEGER,
vlmc754e532005-08-16 16:56:59 +0000778 .memb_constraints = 0, /* Defer constraints checking to the member type */
779 .name = "b"
780 },
781 { ATF_POINTER, 1, offsetof(struct Sequence, set),
782 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
783 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000784 .type = &asn_DEF_Set,
vlmc754e532005-08-16 16:56:59 +0000785 .memb_constraints = 0, /* Defer constraints checking to the member type */
786 .name = "set"
787 },
788};
789static ber_tlv_tag_t asn_DEF_Sequence_1_tags[] = {
790 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
791};
792static asn_TYPE_tag2member_t asn_MAP_Sequence_1_tag2el[] = {
vlm6c4a8502005-08-18 13:38:19 +0000793 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 58 */
794 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq at 59 */
795 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b at 61 */
796 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set at 62 */
vlmc754e532005-08-16 16:56:59 +0000797};
798static asn_SEQUENCE_specifics_t asn_SPC_Sequence_1_specs = {
799 sizeof(struct Sequence),
800 offsetof(struct Sequence, _asn_ctx),
801 asn_MAP_Sequence_1_tag2el,
802 4, /* Count of tags in the map */
803 1, /* Start extensions */
804 5 /* Stop extensions */
805};
806asn_TYPE_descriptor_t asn_DEF_Sequence = {
807 "Sequence",
808 "Sequence",
809 SEQUENCE_free,
810 SEQUENCE_print,
811 SEQUENCE_constraint,
812 SEQUENCE_decode_ber,
813 SEQUENCE_encode_der,
814 SEQUENCE_decode_xer,
815 SEQUENCE_encode_xer,
816 0, /* Use generic outmost tag fetcher */
817 asn_DEF_Sequence_1_tags,
818 sizeof(asn_DEF_Sequence_1_tags)
819 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
820 asn_DEF_Sequence_1_tags, /* Same as above */
821 sizeof(asn_DEF_Sequence_1_tags)
822 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
823 asn_MBR_Sequence_1,
824 4, /* Elements count */
825 &asn_SPC_Sequence_1_specs /* Additional specs */
826};
827
vlm6c4a8502005-08-18 13:38:19 +0000828
829/*** <<< INCLUDES [TypeRef] >>> ***/
830
831#include <Sequence.h>
832
833/*** <<< TYPE-DECLS [TypeRef] >>> ***/
834
835typedef Sequence_t TypeRef_t;
836
837/*** <<< FUNC-DECLS [TypeRef] >>> ***/
838
839extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
840asn_struct_free_f TypeRef_free;
841asn_struct_print_f TypeRef_print;
842asn_constr_check_f TypeRef_constraint;
843ber_type_decoder_f TypeRef_decode_ber;
844der_type_encoder_f TypeRef_encode_der;
845xer_type_decoder_f TypeRef_decode_xer;
846xer_type_encoder_f TypeRef_encode_xer;
847
848/*** <<< CODE [TypeRef] >>> ***/
849
850int
851TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
852 asn_app_consume_bytes_f *app_errlog, void *app_key) {
853 /* Replace with underlying type checker */
854 td->check_constraints = asn_DEF_Sequence.check_constraints;
855 return td->check_constraints(td, sptr, app_errlog, app_key);
856}
857
858/*
859 * This type is implemented using Sequence,
860 * so here we adjust the DEF accordingly.
861 */
862static void
863TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
864 td->free_struct = asn_DEF_Sequence.free_struct;
865 td->print_struct = asn_DEF_Sequence.print_struct;
866 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
867 td->der_encoder = asn_DEF_Sequence.der_encoder;
868 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
869 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
870 td->elements = asn_DEF_Sequence.elements;
871 td->elements_count = asn_DEF_Sequence.elements_count;
872 td->specifics = asn_DEF_Sequence.specifics;
873}
874
875void
876TypeRef_free(asn_TYPE_descriptor_t *td,
877 void *struct_ptr, int contents_only) {
878 TypeRef_1_inherit_TYPE_descriptor(td);
879 td->free_struct(td, struct_ptr, contents_only);
880}
881
882int
883TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
884 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
885 TypeRef_1_inherit_TYPE_descriptor(td);
886 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
887}
888
889asn_dec_rval_t
890TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
891 void **structure, const void *bufptr, size_t size, int tag_mode) {
892 TypeRef_1_inherit_TYPE_descriptor(td);
893 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
894}
895
896asn_enc_rval_t
897TypeRef_encode_der(asn_TYPE_descriptor_t *td,
898 void *structure, int tag_mode, ber_tlv_tag_t tag,
899 asn_app_consume_bytes_f *cb, void *app_key) {
900 TypeRef_1_inherit_TYPE_descriptor(td);
901 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
902}
903
904asn_dec_rval_t
905TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
906 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
907 TypeRef_1_inherit_TYPE_descriptor(td);
908 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
909}
910
911asn_enc_rval_t
912TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
913 int ilevel, enum xer_encoder_flags_e flags,
914 asn_app_consume_bytes_f *cb, void *app_key) {
915 TypeRef_1_inherit_TYPE_descriptor(td);
916 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
917}
918
919
920/*** <<< STAT-DEFS [TypeRef] >>> ***/
921
922static ber_tlv_tag_t asn_DEF_TypeRef_1_tags[] = {
923 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
924};
925asn_TYPE_descriptor_t asn_DEF_TypeRef = {
926 "TypeRef",
927 "TypeRef",
928 TypeRef_free,
929 TypeRef_print,
930 TypeRef_constraint,
931 TypeRef_decode_ber,
932 TypeRef_encode_der,
933 TypeRef_decode_xer,
934 TypeRef_encode_xer,
935 0, /* Use generic outmost tag fetcher */
936 asn_DEF_TypeRef_1_tags,
937 sizeof(asn_DEF_TypeRef_1_tags)
938 /sizeof(asn_DEF_TypeRef_1_tags[0]), /* 1 */
939 asn_DEF_TypeRef_1_tags, /* Same as above */
940 sizeof(asn_DEF_TypeRef_1_tags)
941 /sizeof(asn_DEF_TypeRef_1_tags[0]), /* 1 */
942 0, 0, /* Defined elsewhere */
943 0 /* No specifics */
944};
945
946
947/*** <<< INCLUDES [Alpha] >>> ***/
948
949#include <constr_SEQUENCE.h>
950
951/*** <<< FWD-DECLS [Alpha] >>> ***/
952
953struct Beta;
954
955/*** <<< TYPE-DECLS [Alpha] >>> ***/
956
957typedef struct Alpha {
958 struct Beta *a;
959 struct b {
960 struct Beta *b /* OPTIONAL */;
961
962 /* Context for parsing across buffer boundaries */
963 asn_struct_ctx_t _asn_ctx;
964 } b;
965
966 /* Context for parsing across buffer boundaries */
967 asn_struct_ctx_t _asn_ctx;
968} Alpha_t;
969
970/*** <<< FUNC-DECLS [Alpha] >>> ***/
971
972extern asn_TYPE_descriptor_t asn_DEF_Alpha;
973
974/*** <<< POST-INCLUDE [Alpha] >>> ***/
975
976#include <Beta.h>
977
978/*** <<< STAT-DEFS [Alpha] >>> ***/
979
980static asn_TYPE_member_t asn_MBR_b_3[] = {
981 { ATF_POINTER, 1, offsetof(struct b, b),
982 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
983 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000984 .type = &asn_DEF_Beta,
vlm6c4a8502005-08-18 13:38:19 +0000985 .memb_constraints = 0, /* Defer constraints checking to the member type */
986 .name = "b"
987 },
988};
989static ber_tlv_tag_t asn_DEF_b_3_tags[] = {
990 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
991 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
992};
993static asn_TYPE_tag2member_t asn_MAP_b_3_tag2el[] = {
994 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b at 70 */
995};
996static asn_SEQUENCE_specifics_t asn_SPC_b_3_specs = {
997 sizeof(struct b),
998 offsetof(struct b, _asn_ctx),
999 asn_MAP_b_3_tag2el,
1000 1, /* Count of tags in the map */
1001 -1, /* Start extensions */
1002 -1 /* Stop extensions */
1003};
1004static /* Use -fall-defs-global to expose */
1005asn_TYPE_descriptor_t asn_DEF_b_3 = {
1006 "b",
1007 "b",
1008 SEQUENCE_free,
1009 SEQUENCE_print,
1010 SEQUENCE_constraint,
1011 SEQUENCE_decode_ber,
1012 SEQUENCE_encode_der,
1013 SEQUENCE_decode_xer,
1014 SEQUENCE_encode_xer,
1015 0, /* Use generic outmost tag fetcher */
1016 asn_DEF_b_3_tags,
1017 sizeof(asn_DEF_b_3_tags)
1018 /sizeof(asn_DEF_b_3_tags[0]) - 1, /* 1 */
1019 asn_DEF_b_3_tags, /* Same as above */
1020 sizeof(asn_DEF_b_3_tags)
1021 /sizeof(asn_DEF_b_3_tags[0]), /* 2 */
1022 asn_MBR_b_3,
1023 1, /* Elements count */
1024 &asn_SPC_b_3_specs /* Additional specs */
1025};
1026
1027static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1028 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1029 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1030 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001031 .type = &asn_DEF_Beta,
vlm6c4a8502005-08-18 13:38:19 +00001032 .memb_constraints = 0, /* Defer constraints checking to the member type */
1033 .name = "a"
1034 },
1035 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1036 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1037 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001038 .type = &asn_DEF_b_3,
vlm6c4a8502005-08-18 13:38:19 +00001039 .memb_constraints = 0, /* Defer constraints checking to the member type */
1040 .name = "b"
1041 },
1042};
1043static ber_tlv_tag_t asn_DEF_Alpha_1_tags[] = {
1044 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1045};
1046static asn_TYPE_tag2member_t asn_MAP_Alpha_1_tag2el[] = {
1047 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 68 */
1048 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 70 */
1049};
1050static asn_SEQUENCE_specifics_t asn_SPC_Alpha_1_specs = {
1051 sizeof(struct Alpha),
1052 offsetof(struct Alpha, _asn_ctx),
1053 asn_MAP_Alpha_1_tag2el,
1054 2, /* Count of tags in the map */
1055 -1, /* Start extensions */
1056 -1 /* Stop extensions */
1057};
1058asn_TYPE_descriptor_t asn_DEF_Alpha = {
1059 "Alpha",
1060 "Alpha",
1061 SEQUENCE_free,
1062 SEQUENCE_print,
1063 SEQUENCE_constraint,
1064 SEQUENCE_decode_ber,
1065 SEQUENCE_encode_der,
1066 SEQUENCE_decode_xer,
1067 SEQUENCE_encode_xer,
1068 0, /* Use generic outmost tag fetcher */
1069 asn_DEF_Alpha_1_tags,
1070 sizeof(asn_DEF_Alpha_1_tags)
1071 /sizeof(asn_DEF_Alpha_1_tags[0]), /* 1 */
1072 asn_DEF_Alpha_1_tags, /* Same as above */
1073 sizeof(asn_DEF_Alpha_1_tags)
1074 /sizeof(asn_DEF_Alpha_1_tags[0]), /* 1 */
1075 asn_MBR_Alpha_1,
1076 2, /* Elements count */
1077 &asn_SPC_Alpha_1_specs /* Additional specs */
1078};
1079
1080
1081/*** <<< INCLUDES [Beta] >>> ***/
1082
1083#include <constr_SEQUENCE.h>
1084
1085/*** <<< FWD-DECLS [Beta] >>> ***/
1086
1087struct Alpha;
1088struct Gamma;
1089
1090/*** <<< TYPE-DECLS [Beta] >>> ***/
1091
1092typedef struct Beta {
1093 struct Alpha *b /* OPTIONAL */;
1094 struct Gamma *g /* OPTIONAL */;
1095
1096 /* Context for parsing across buffer boundaries */
1097 asn_struct_ctx_t _asn_ctx;
1098} Beta_t;
1099
1100/*** <<< FUNC-DECLS [Beta] >>> ***/
1101
1102extern asn_TYPE_descriptor_t asn_DEF_Beta;
1103
1104/*** <<< POST-INCLUDE [Beta] >>> ***/
1105
1106#include <Alpha.h>
1107#include <Gamma.h>
1108
1109/*** <<< STAT-DEFS [Beta] >>> ***/
1110
1111static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1112 { ATF_POINTER, 2, offsetof(struct Beta, b),
1113 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1114 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001115 .type = &asn_DEF_Alpha,
vlm6c4a8502005-08-18 13:38:19 +00001116 .memb_constraints = 0, /* Defer constraints checking to the member type */
1117 .name = "b"
1118 },
1119 { ATF_POINTER, 1, offsetof(struct Beta, g),
1120 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1121 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001122 .type = &asn_DEF_Gamma,
vlm6c4a8502005-08-18 13:38:19 +00001123 .memb_constraints = 0, /* Defer constraints checking to the member type */
1124 .name = "g"
1125 },
1126};
1127static ber_tlv_tag_t asn_DEF_Beta_1_tags[] = {
1128 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1129};
1130static asn_TYPE_tag2member_t asn_MAP_Beta_1_tag2el[] = {
1131 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b at 75 */
1132 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 76 */
1133};
1134static asn_SEQUENCE_specifics_t asn_SPC_Beta_1_specs = {
1135 sizeof(struct Beta),
1136 offsetof(struct Beta, _asn_ctx),
1137 asn_MAP_Beta_1_tag2el,
1138 2, /* Count of tags in the map */
1139 -1, /* Start extensions */
1140 -1 /* Stop extensions */
1141};
1142asn_TYPE_descriptor_t asn_DEF_Beta = {
1143 "Beta",
1144 "Beta",
1145 SEQUENCE_free,
1146 SEQUENCE_print,
1147 SEQUENCE_constraint,
1148 SEQUENCE_decode_ber,
1149 SEQUENCE_encode_der,
1150 SEQUENCE_decode_xer,
1151 SEQUENCE_encode_xer,
1152 0, /* Use generic outmost tag fetcher */
1153 asn_DEF_Beta_1_tags,
1154 sizeof(asn_DEF_Beta_1_tags)
1155 /sizeof(asn_DEF_Beta_1_tags[0]), /* 1 */
1156 asn_DEF_Beta_1_tags, /* Same as above */
1157 sizeof(asn_DEF_Beta_1_tags)
1158 /sizeof(asn_DEF_Beta_1_tags[0]), /* 1 */
1159 asn_MBR_Beta_1,
1160 2, /* Elements count */
1161 &asn_SPC_Beta_1_specs /* Additional specs */
1162};
1163
1164
1165/*** <<< INCLUDES [Gamma] >>> ***/
1166
1167#include <constr_SEQUENCE.h>
1168
1169/*** <<< FWD-DECLS [Gamma] >>> ***/
1170
1171struct TwoThree;
1172struct Alpha;
1173struct Beta;
1174
1175/*** <<< TYPE-DECLS [Gamma] >>> ***/
1176
1177typedef struct Gamma {
1178 struct TwoThree *o;
1179 struct Alpha *a;
1180 struct Beta *b;
1181
1182 /* Context for parsing across buffer boundaries */
1183 asn_struct_ctx_t _asn_ctx;
1184} Gamma_t;
1185
1186/*** <<< FUNC-DECLS [Gamma] >>> ***/
1187
1188extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1189
1190/*** <<< POST-INCLUDE [Gamma] >>> ***/
1191
1192#include <TwoThree.h>
1193#include <Alpha.h>
1194#include <Beta.h>
1195
1196/*** <<< STAT-DEFS [Gamma] >>> ***/
1197
1198static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1199 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1200 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1201 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001202 .type = &asn_DEF_TwoThree,
vlm6c4a8502005-08-18 13:38:19 +00001203 .memb_constraints = 0, /* Defer constraints checking to the member type */
1204 .name = "o"
1205 },
1206 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1207 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1208 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001209 .type = &asn_DEF_Alpha,
vlm6c4a8502005-08-18 13:38:19 +00001210 .memb_constraints = 0, /* Defer constraints checking to the member type */
1211 .name = "a"
1212 },
1213 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1214 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1215 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001216 .type = &asn_DEF_Beta,
vlm6c4a8502005-08-18 13:38:19 +00001217 .memb_constraints = 0, /* Defer constraints checking to the member type */
1218 .name = "b"
1219 },
1220};
1221static ber_tlv_tag_t asn_DEF_Gamma_1_tags[] = {
1222 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1223};
1224static asn_TYPE_tag2member_t asn_MAP_Gamma_1_tag2el[] = {
1225 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o at 80 */
1226 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a at 81 */
1227 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b at 83 */
1228};
1229static asn_SEQUENCE_specifics_t asn_SPC_Gamma_1_specs = {
1230 sizeof(struct Gamma),
1231 offsetof(struct Gamma, _asn_ctx),
1232 asn_MAP_Gamma_1_tag2el,
1233 3, /* Count of tags in the map */
1234 -1, /* Start extensions */
1235 -1 /* Stop extensions */
1236};
1237asn_TYPE_descriptor_t asn_DEF_Gamma = {
1238 "Gamma",
1239 "Gamma",
1240 SEQUENCE_free,
1241 SEQUENCE_print,
1242 SEQUENCE_constraint,
1243 SEQUENCE_decode_ber,
1244 SEQUENCE_encode_der,
1245 SEQUENCE_decode_xer,
1246 SEQUENCE_encode_xer,
1247 0, /* Use generic outmost tag fetcher */
1248 asn_DEF_Gamma_1_tags,
1249 sizeof(asn_DEF_Gamma_1_tags)
1250 /sizeof(asn_DEF_Gamma_1_tags[0]), /* 1 */
1251 asn_DEF_Gamma_1_tags, /* Same as above */
1252 sizeof(asn_DEF_Gamma_1_tags)
1253 /sizeof(asn_DEF_Gamma_1_tags[0]), /* 1 */
1254 asn_MBR_Gamma_1,
1255 3, /* Elements count */
1256 &asn_SPC_Gamma_1_specs /* Additional specs */
1257};
1258
1259
1260/*** <<< INCLUDES [OneTwo] >>> ***/
1261
1262#include <constr_SET.h>
1263
1264/*** <<< DEPS [OneTwo] >>> ***/
1265
1266
1267/*
1268 * Method of determining the components presence
1269 */
1270typedef enum OneTwo_PR {
1271 OneTwo_PR_m12, /* Member m12 is present */
1272} OneTwo_PR;
1273
1274/*** <<< FWD-DECLS [OneTwo] >>> ***/
1275
1276struct TwoThree;
1277
1278/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1279
1280typedef struct OneTwo {
1281 struct TwoThree *m12;
1282
1283 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1284 unsigned int _presence_map
1285 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1286
1287 /* Context for parsing across buffer boundaries */
1288 asn_struct_ctx_t _asn_ctx;
1289} OneTwo_t;
1290
1291/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1292
1293extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1294
1295/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1296
1297#include <TwoThree.h>
1298
1299/*** <<< STAT-DEFS [OneTwo] >>> ***/
1300
1301static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1302 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1303 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1304 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001305 .type = &asn_DEF_TwoThree,
vlm6c4a8502005-08-18 13:38:19 +00001306 .memb_constraints = 0, /* Defer constraints checking to the member type */
1307 .name = "m12"
1308 },
1309};
1310static ber_tlv_tag_t asn_DEF_OneTwo_1_tags[] = {
1311 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1312};
1313static asn_TYPE_tag2member_t asn_MAP_OneTwo_1_tag2el[] = {
1314 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 at 86 */
1315};
1316static uint8_t asn_MAP_OneTwo_1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1317 (1 << 7)
1318};
1319static asn_SET_specifics_t asn_SPC_OneTwo_1_specs = {
1320 sizeof(struct OneTwo),
1321 offsetof(struct OneTwo, _asn_ctx),
1322 offsetof(struct OneTwo, _presence_map),
1323 asn_MAP_OneTwo_1_tag2el,
1324 1, /* Count of tags in the map */
1325 asn_MAP_OneTwo_1_tag2el, /* Same as above */
1326 1, /* Count of tags in the CXER map */
1327 0, /* Whether extensible */
1328 (unsigned int *)asn_MAP_OneTwo_1_mmap /* Mandatory elements map */
1329};
1330asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1331 "OneTwo",
1332 "OneTwo",
1333 SET_free,
1334 SET_print,
1335 SET_constraint,
1336 SET_decode_ber,
1337 SET_encode_der,
1338 SET_decode_xer,
1339 SET_encode_xer,
1340 0, /* Use generic outmost tag fetcher */
1341 asn_DEF_OneTwo_1_tags,
1342 sizeof(asn_DEF_OneTwo_1_tags)
1343 /sizeof(asn_DEF_OneTwo_1_tags[0]), /* 1 */
1344 asn_DEF_OneTwo_1_tags, /* Same as above */
1345 sizeof(asn_DEF_OneTwo_1_tags)
1346 /sizeof(asn_DEF_OneTwo_1_tags[0]), /* 1 */
1347 asn_MBR_OneTwo_1,
1348 1, /* Elements count */
1349 &asn_SPC_OneTwo_1_specs /* Additional specs */
1350};
1351
1352
1353/*** <<< INCLUDES [TwoThree] >>> ***/
1354
1355#include <constr_SET.h>
1356
1357/*** <<< DEPS [TwoThree] >>> ***/
1358
1359
1360/*
1361 * Method of determining the components presence
1362 */
1363typedef enum TwoThree_PR {
1364 TwoThree_PR_m23, /* Member m23 is present */
1365} TwoThree_PR;
1366
1367/*** <<< FWD-DECLS [TwoThree] >>> ***/
1368
1369struct ThreeOne;
1370
1371/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1372
1373typedef struct TwoThree {
1374 struct ThreeOne *m23;
1375
1376 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1377 unsigned int _presence_map
1378 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1379
1380 /* Context for parsing across buffer boundaries */
1381 asn_struct_ctx_t _asn_ctx;
1382} TwoThree_t;
1383
1384/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1385
1386extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1387
1388/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1389
1390#include <ThreeOne.h>
1391
1392/*** <<< STAT-DEFS [TwoThree] >>> ***/
1393
1394static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1395 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1396 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1397 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001398 .type = &asn_DEF_ThreeOne,
vlm6c4a8502005-08-18 13:38:19 +00001399 .memb_constraints = 0, /* Defer constraints checking to the member type */
1400 .name = "m23"
1401 },
1402};
1403static ber_tlv_tag_t asn_DEF_TwoThree_1_tags[] = {
1404 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1405};
1406static asn_TYPE_tag2member_t asn_MAP_TwoThree_1_tag2el[] = {
1407 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 at 87 */
1408};
1409static uint8_t asn_MAP_TwoThree_1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1410 (1 << 7)
1411};
1412static asn_SET_specifics_t asn_SPC_TwoThree_1_specs = {
1413 sizeof(struct TwoThree),
1414 offsetof(struct TwoThree, _asn_ctx),
1415 offsetof(struct TwoThree, _presence_map),
1416 asn_MAP_TwoThree_1_tag2el,
1417 1, /* Count of tags in the map */
1418 asn_MAP_TwoThree_1_tag2el, /* Same as above */
1419 1, /* Count of tags in the CXER map */
1420 0, /* Whether extensible */
1421 (unsigned int *)asn_MAP_TwoThree_1_mmap /* Mandatory elements map */
1422};
1423asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1424 "TwoThree",
1425 "TwoThree",
1426 SET_free,
1427 SET_print,
1428 SET_constraint,
1429 SET_decode_ber,
1430 SET_encode_der,
1431 SET_decode_xer,
1432 SET_encode_xer,
1433 0, /* Use generic outmost tag fetcher */
1434 asn_DEF_TwoThree_1_tags,
1435 sizeof(asn_DEF_TwoThree_1_tags)
1436 /sizeof(asn_DEF_TwoThree_1_tags[0]), /* 1 */
1437 asn_DEF_TwoThree_1_tags, /* Same as above */
1438 sizeof(asn_DEF_TwoThree_1_tags)
1439 /sizeof(asn_DEF_TwoThree_1_tags[0]), /* 1 */
1440 asn_MBR_TwoThree_1,
1441 1, /* Elements count */
1442 &asn_SPC_TwoThree_1_specs /* Additional specs */
1443};
1444
1445
1446/*** <<< INCLUDES [ThreeOne] >>> ***/
1447
1448#include <constr_SET.h>
1449
1450/*** <<< DEPS [ThreeOne] >>> ***/
1451
1452
1453/*
1454 * Method of determining the components presence
1455 */
1456typedef enum ThreeOne_PR {
1457 ThreeOne_PR_m31, /* Member m31 is present */
1458 ThreeOne_PR_g, /* Member g is present */
1459} ThreeOne_PR;
1460
1461/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1462
1463struct OneTwo;
1464struct Gamma;
1465
1466/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1467
1468typedef struct ThreeOne {
1469 struct OneTwo *m31;
1470 struct Gamma *g;
1471
1472 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1473 unsigned int _presence_map
1474 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1475
1476 /* Context for parsing across buffer boundaries */
1477 asn_struct_ctx_t _asn_ctx;
1478} ThreeOne_t;
1479
1480/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1481
1482extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1483
1484/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1485
1486#include <OneTwo.h>
1487#include <Gamma.h>
1488
1489/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1490
1491static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1492 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1493 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1494 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001495 .type = &asn_DEF_OneTwo,
vlm6c4a8502005-08-18 13:38:19 +00001496 .memb_constraints = 0, /* Defer constraints checking to the member type */
1497 .name = "m31"
1498 },
1499 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1500 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1501 .tag_mode = -1, /* IMPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +00001502 .type = &asn_DEF_Gamma,
vlm6c4a8502005-08-18 13:38:19 +00001503 .memb_constraints = 0, /* Defer constraints checking to the member type */
1504 .name = "g"
1505 },
1506};
1507static ber_tlv_tag_t asn_DEF_ThreeOne_1_tags[] = {
1508 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1509};
1510static asn_TYPE_tag2member_t asn_MAP_ThreeOne_1_tag2el[] = {
1511 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 at 88 */
1512 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 88 */
1513};
1514static uint8_t asn_MAP_ThreeOne_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
1515 (1 << 7) | (1 << 6)
1516};
1517static asn_SET_specifics_t asn_SPC_ThreeOne_1_specs = {
1518 sizeof(struct ThreeOne),
1519 offsetof(struct ThreeOne, _asn_ctx),
1520 offsetof(struct ThreeOne, _presence_map),
1521 asn_MAP_ThreeOne_1_tag2el,
1522 2, /* Count of tags in the map */
1523 asn_MAP_ThreeOne_1_tag2el, /* Same as above */
1524 2, /* Count of tags in the CXER map */
1525 0, /* Whether extensible */
1526 (unsigned int *)asn_MAP_ThreeOne_1_mmap /* Mandatory elements map */
1527};
1528asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1529 "ThreeOne",
1530 "ThreeOne",
1531 SET_free,
1532 SET_print,
1533 SET_constraint,
1534 SET_decode_ber,
1535 SET_encode_der,
1536 SET_decode_xer,
1537 SET_encode_xer,
1538 0, /* Use generic outmost tag fetcher */
1539 asn_DEF_ThreeOne_1_tags,
1540 sizeof(asn_DEF_ThreeOne_1_tags)
1541 /sizeof(asn_DEF_ThreeOne_1_tags[0]), /* 1 */
1542 asn_DEF_ThreeOne_1_tags, /* Same as above */
1543 sizeof(asn_DEF_ThreeOne_1_tags)
1544 /sizeof(asn_DEF_ThreeOne_1_tags[0]), /* 1 */
1545 asn_MBR_ThreeOne_1,
1546 2, /* Elements count */
1547 &asn_SPC_ThreeOne_1_specs /* Additional specs */
1548};
1549