blob: 000da2cd51c140110db7929c4dc2a5a3d7df119a [file] [log] [blame]
Lev Walkincee931e2005-08-16 16:56:59 +00001
2/*** <<< INCLUDES [Everything] >>> ***/
3
Lev Walkin22b5ed42006-09-13 02:51:20 +00004#include "Set.h"
5#include "Alpha.h"
6#include "Beta.h"
7#include "Gamma.h"
8#include "OneTwo.h"
9#include "TwoThree.h"
10#include "ThreeOne.h"
Lev Walkincee931e2005-08-16 16:56:59 +000011#include <constr_SEQUENCE.h>
12
Lev Walkinb85a8132005-08-18 13:38:19 +000013/*** <<< FWD-DECLS [Everything] >>> ***/
14
15struct Choice1;
16struct Choice2;
17struct Choice3;
18
Lev Walkincee931e2005-08-16 16:56:59 +000019/*** <<< TYPE-DECLS [Everything] >>> ***/
20
21typedef struct Everything {
Lev Walkinb85a8132005-08-18 13:38:19 +000022 struct Choice1 *ch1;
23 struct Choice2 *ch2;
24 struct Choice3 *ch3;
Lev Walkincee931e2005-08-16 16:56:59 +000025 Set_t set;
Lev Walkinb85a8132005-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;
Lev Walkincee931e2005-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
Lev Walkinb85a8132005-08-18 13:38:19 +000041/*** <<< POST-INCLUDE [Everything] >>> ***/
42
Lev Walkin22b5ed42006-09-13 02:51:20 +000043#include "Choice1.h"
44#include "Choice2.h"
45#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +000046
Lev Walkincee931e2005-08-16 16:56:59 +000047/*** <<< STAT-DEFS [Everything] >>> ***/
48
49static asn_TYPE_member_t asn_MBR_Everything_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +000050 { ATF_POINTER, 0, offsetof(struct Everything, ch1),
Lev Walkincee931e2005-08-16 16:56:59 +000051 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
52 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000053 .type = &asn_DEF_Choice1,
Lev Walkincee931e2005-08-16 16:56:59 +000054 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000055 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
56 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000057 .name = "ch1"
58 },
Lev Walkinb85a8132005-08-18 13:38:19 +000059 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
Lev Walkincee931e2005-08-16 16:56:59 +000060 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
61 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000062 .type = &asn_DEF_Choice2,
Lev Walkincee931e2005-08-16 16:56:59 +000063 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000064 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
65 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000066 .name = "ch2"
67 },
Lev Walkinb85a8132005-08-18 13:38:19 +000068 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
Lev Walkincee931e2005-08-16 16:56:59 +000069 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkinb85a8132005-08-18 13:38:19 +000070 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000071 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +000072 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000073 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
74 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000075 .name = "ch3"
76 },
77 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
78 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkincee931e2005-08-16 16:56:59 +000079 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000080 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +000081 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000082 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
83 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000084 .name = "set"
85 },
Lev Walkinb85a8132005-08-18 13:38:19 +000086 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
87 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
88 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000089 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +000090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000091 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
92 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000093 .name = "a"
94 },
95 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
96 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
97 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000098 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +000099 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000100 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
101 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000102 .name = "b"
103 },
104 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
105 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
106 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000107 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +0000108 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000109 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
110 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000111 .name = "g"
112 },
113 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
114 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
115 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000116 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +0000117 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000118 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
119 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000120 .name = "ot"
121 },
122 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
123 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
124 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +0000126 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
128 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000129 .name = "tt"
130 },
131 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
132 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
133 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +0000135 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000136 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
137 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000138 .name = "to"
139 },
Lev Walkincee931e2005-08-16 16:56:59 +0000140};
Lev Walkina7591b52014-10-12 18:37:35 -0700141static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000142 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
143};
Lev Walkina7591b52014-10-12 18:37:35 -0700144static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */
147 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */
148 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */
149 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */
150 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */
151 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */
152 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */
153 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
154 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
Lev Walkincee931e2005-08-16 16:56:59 +0000155};
Lev Walkin59b176e2005-11-26 11:25:14 +0000156static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000157 sizeof(struct Everything),
158 offsetof(struct Everything, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000159 asn_MAP_Everything_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000160 10, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000162 -1, /* Start extensions */
163 -1 /* Stop extensions */
164};
165asn_TYPE_descriptor_t asn_DEF_Everything = {
166 "Everything",
167 "Everything",
168 SEQUENCE_free,
169 SEQUENCE_print,
170 SEQUENCE_constraint,
171 SEQUENCE_decode_ber,
172 SEQUENCE_encode_der,
173 SEQUENCE_decode_xer,
174 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000175 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700176 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000177 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000178 asn_DEF_Everything_tags_1,
179 sizeof(asn_DEF_Everything_tags_1)
180 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
181 asn_DEF_Everything_tags_1, /* Same as above */
182 sizeof(asn_DEF_Everything_tags_1)
183 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
184 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000185 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000186 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000187 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000188};
189
190
191/*** <<< INCLUDES [Choice1] >>> ***/
192
Lev Walkincee931e2005-08-16 16:56:59 +0000193#include <constr_CHOICE.h>
194
195/*** <<< DEPS [Choice1] >>> ***/
196
197typedef enum Choice1_PR {
198 Choice1_PR_NOTHING, /* No components present */
199 Choice1_PR_something,
200 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000201 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000202} Choice1_PR;
203
Lev Walkinb85a8132005-08-18 13:38:19 +0000204/*** <<< FWD-DECLS [Choice1] >>> ***/
205
206struct Everything;
207
Lev Walkincee931e2005-08-16 16:56:59 +0000208/*** <<< TYPE-DECLS [Choice1] >>> ***/
209
210typedef struct Choice1 {
211 Choice1_PR present;
212 union Choice1_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000213 struct Everything *something;
Lev Walkincee931e2005-08-16 16:56:59 +0000214 /*
215 * This type is extensible,
216 * possible extensions are below.
217 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000218 struct Everything *some2;
Lev Walkincee931e2005-08-16 16:56:59 +0000219 } choice;
220
221 /* Context for parsing across buffer boundaries */
222 asn_struct_ctx_t _asn_ctx;
223} Choice1_t;
224
225/*** <<< FUNC-DECLS [Choice1] >>> ***/
226
227extern asn_TYPE_descriptor_t asn_DEF_Choice1;
228
Lev Walkinb85a8132005-08-18 13:38:19 +0000229/*** <<< POST-INCLUDE [Choice1] >>> ***/
230
Lev Walkin22b5ed42006-09-13 02:51:20 +0000231#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000232
Lev Walkincee931e2005-08-16 16:56:59 +0000233/*** <<< STAT-DEFS [Choice1] >>> ***/
234
235static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000236 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
Lev Walkincee931e2005-08-16 16:56:59 +0000237 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
238 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000239 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000240 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000241 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
242 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000243 .name = "something"
244 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000245 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
Lev Walkincee931e2005-08-16 16:56:59 +0000246 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
247 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000248 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000249 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000250 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
251 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000252 .name = "some2"
253 },
254};
Lev Walkina7591b52014-10-12 18:37:35 -0700255static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700256 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
257 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000258};
Lev Walkin59b176e2005-11-26 11:25:14 +0000259static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000260 sizeof(struct Choice1),
261 offsetof(struct Choice1, _asn_ctx),
262 offsetof(struct Choice1, present),
263 sizeof(((struct Choice1 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000264 asn_MAP_Choice1_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000265 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000266 .canonical_order = 0,
267 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000268};
269asn_TYPE_descriptor_t asn_DEF_Choice1 = {
270 "Choice1",
271 "Choice1",
272 CHOICE_free,
273 CHOICE_print,
274 CHOICE_constraint,
275 CHOICE_decode_ber,
276 CHOICE_encode_der,
277 CHOICE_decode_xer,
278 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000279 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700280 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000281 CHOICE_outmost_tag,
282 0, /* No effective tags (pointer) */
283 0, /* No effective tags (count) */
284 0, /* No tags (pointer) */
285 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000286 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000287 asn_MBR_Choice1_1,
288 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000289 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000290};
291
292
293/*** <<< INCLUDES [Choice2] >>> ***/
294
Lev Walkin22b5ed42006-09-13 02:51:20 +0000295#include "TypeRef.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000296#include <constr_CHOICE.h>
297
298/*** <<< DEPS [Choice2] >>> ***/
299
300typedef enum Choice2_PR {
301 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000302 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000303 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000304 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000305} Choice2_PR;
306
Lev Walkinb85a8132005-08-18 13:38:19 +0000307/*** <<< FWD-DECLS [Choice2] >>> ***/
308
309struct Everything;
310
Lev Walkincee931e2005-08-16 16:56:59 +0000311/*** <<< TYPE-DECLS [Choice2] >>> ***/
312
313typedef struct Choice2 {
314 Choice2_PR present;
315 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000316 TypeRef_t typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000317 /*
318 * This type is extensible,
319 * possible extensions are below.
320 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000321 struct Everything *some3;
Lev Walkincee931e2005-08-16 16:56:59 +0000322 } choice;
323
324 /* Context for parsing across buffer boundaries */
325 asn_struct_ctx_t _asn_ctx;
326} Choice2_t;
327
328/*** <<< FUNC-DECLS [Choice2] >>> ***/
329
330extern asn_TYPE_descriptor_t asn_DEF_Choice2;
331
Lev Walkinb85a8132005-08-18 13:38:19 +0000332/*** <<< POST-INCLUDE [Choice2] >>> ***/
333
Lev Walkin22b5ed42006-09-13 02:51:20 +0000334#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000335
Lev Walkincee931e2005-08-16 16:56:59 +0000336/*** <<< STAT-DEFS [Choice2] >>> ***/
337
338static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000339 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000340 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
341 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000342 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000343 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000344 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
345 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000346 .name = "typeref"
347 },
348 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
349 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
350 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000351 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000352 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000353 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
354 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000355 .name = "some3"
356 },
357};
Lev Walkina7591b52014-10-12 18:37:35 -0700358static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700359 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
360 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000361};
Lev Walkin59b176e2005-11-26 11:25:14 +0000362static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000363 sizeof(struct Choice2),
364 offsetof(struct Choice2, _asn_ctx),
365 offsetof(struct Choice2, present),
366 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000367 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000368 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000369 .canonical_order = 0,
370 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000371};
372asn_TYPE_descriptor_t asn_DEF_Choice2 = {
373 "Choice2",
374 "Choice2",
375 CHOICE_free,
376 CHOICE_print,
377 CHOICE_constraint,
378 CHOICE_decode_ber,
379 CHOICE_encode_der,
380 CHOICE_decode_xer,
381 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000382 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700383 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000384 CHOICE_outmost_tag,
385 0, /* No effective tags (pointer) */
386 0, /* No effective tags (count) */
387 0, /* No tags (pointer) */
388 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000389 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000390 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000391 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000392 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000393};
394
395
Lev Walkinb85a8132005-08-18 13:38:19 +0000396/*** <<< INCLUDES [Choice3] >>> ***/
397
398#include <constr_SEQUENCE.h>
399#include <asn_SEQUENCE_OF.h>
400#include <constr_SEQUENCE_OF.h>
401#include <constr_CHOICE.h>
402
403/*** <<< DEPS [Choice3] >>> ***/
404
405typedef enum Choice3_PR {
406 Choice3_PR_NOTHING, /* No components present */
407 Choice3_PR_a,
408 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000409 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000410} Choice3_PR;
411
412/*** <<< FWD-DECLS [Choice3] >>> ***/
413
414struct Everything;
415struct Choice3;
416
417/*** <<< TYPE-DECLS [Choice3] >>> ***/
418
419typedef struct Choice3 {
420 Choice3_PR present;
421 union Choice3_u {
422 struct a {
423 struct Everything *aa;
424
425 /* Context for parsing across buffer boundaries */
426 asn_struct_ctx_t _asn_ctx;
427 } a;
428 struct Everything *b;
429 struct c {
430 A_SEQUENCE_OF(struct Choice3) list;
431
432 /* Context for parsing across buffer boundaries */
433 asn_struct_ctx_t _asn_ctx;
434 } c;
435 } choice;
436
437 /* Context for parsing across buffer boundaries */
438 asn_struct_ctx_t _asn_ctx;
439} Choice3_t;
440
441/*** <<< FUNC-DECLS [Choice3] >>> ***/
442
443extern asn_TYPE_descriptor_t asn_DEF_Choice3;
444
445/*** <<< POST-INCLUDE [Choice3] >>> ***/
446
Lev Walkin22b5ed42006-09-13 02:51:20 +0000447#include "Everything.h"
448#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000449
450/*** <<< STAT-DEFS [Choice3] >>> ***/
451
452static asn_TYPE_member_t asn_MBR_a_2[] = {
453 { ATF_POINTER, 0, offsetof(struct a, aa),
454 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
455 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000456 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000457 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000458 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
459 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000460 .name = "aa"
461 },
462};
Lev Walkina7591b52014-10-12 18:37:35 -0700463static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000464 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
465 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
466};
Lev Walkina7591b52014-10-12 18:37:35 -0700467static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700468 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000469};
Lev Walkin59b176e2005-11-26 11:25:14 +0000470static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000471 sizeof(struct a),
472 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000473 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000474 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000475 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000476 -1, /* Start extensions */
477 -1 /* Stop extensions */
478};
479static /* Use -fall-defs-global to expose */
480asn_TYPE_descriptor_t asn_DEF_a_2 = {
481 "a",
482 "a",
483 SEQUENCE_free,
484 SEQUENCE_print,
485 SEQUENCE_constraint,
486 SEQUENCE_decode_ber,
487 SEQUENCE_encode_der,
488 SEQUENCE_decode_xer,
489 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000490 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700491 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000492 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000493 asn_DEF_a_tags_2,
494 sizeof(asn_DEF_a_tags_2)
495 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
496 asn_DEF_a_tags_2, /* Same as above */
497 sizeof(asn_DEF_a_tags_2)
498 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
499 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000500 asn_MBR_a_2,
501 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000502 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000503};
504
505static asn_TYPE_member_t asn_MBR_c_5[] = {
506 { ATF_POINTER, 0, 0,
507 .tag = -1 /* Ambiguous tag (CHOICE?) */,
508 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000509 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000510 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000511 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
512 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000513 .name = ""
514 },
515};
Lev Walkina7591b52014-10-12 18:37:35 -0700516static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000517 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
518 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
519};
Lev Walkin59b176e2005-11-26 11:25:14 +0000520static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000521 sizeof(struct c),
522 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000523 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000524};
525static /* Use -fall-defs-global to expose */
526asn_TYPE_descriptor_t asn_DEF_c_5 = {
527 "c",
528 "c",
529 SEQUENCE_OF_free,
530 SEQUENCE_OF_print,
531 SEQUENCE_OF_constraint,
532 SEQUENCE_OF_decode_ber,
533 SEQUENCE_OF_encode_der,
534 SEQUENCE_OF_decode_xer,
535 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000536 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700537 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000538 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000539 asn_DEF_c_tags_5,
540 sizeof(asn_DEF_c_tags_5)
541 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
542 asn_DEF_c_tags_5, /* Same as above */
543 sizeof(asn_DEF_c_tags_5)
544 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
545 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000546 asn_MBR_c_5,
547 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000548 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000549};
550
551static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
552 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
553 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000554 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000555 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000556 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000557 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
558 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000559 .name = "a"
560 },
561 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
562 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
563 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000564 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000565 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000566 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
567 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000568 .name = "b"
569 },
570 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
571 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000572 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000573 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000574 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000575 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
576 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000577 .name = "c"
578 },
579};
Lev Walkina7591b52014-10-12 18:37:35 -0700580static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700581 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
582 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
583 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000584};
Lev Walkin59b176e2005-11-26 11:25:14 +0000585static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000586 sizeof(struct Choice3),
587 offsetof(struct Choice3, _asn_ctx),
588 offsetof(struct Choice3, present),
589 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000590 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000591 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000592 .canonical_order = 0,
593 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000594};
595asn_TYPE_descriptor_t asn_DEF_Choice3 = {
596 "Choice3",
597 "Choice3",
598 CHOICE_free,
599 CHOICE_print,
600 CHOICE_constraint,
601 CHOICE_decode_ber,
602 CHOICE_encode_der,
603 CHOICE_decode_xer,
604 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000605 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700606 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000607 CHOICE_outmost_tag,
608 0, /* No effective tags (pointer) */
609 0, /* No effective tags (count) */
610 0, /* No tags (pointer) */
611 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000612 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000613 asn_MBR_Choice3_1,
614 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000615 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000616};
617
618
Lev Walkincee931e2005-08-16 16:56:59 +0000619/*** <<< INCLUDES [Set] >>> ***/
620
621#include <asn_SET_OF.h>
622#include <INTEGER.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000623#include <constr_SEQUENCE.h>
624#include <constr_SET_OF.h>
625
626/*** <<< FWD-DECLS [Set] >>> ***/
627
628struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000629struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000630
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800631/*** <<< FWD-DEFS [Set] >>> ***/
632
633typedef struct Member {
634 INTEGER_t Int;
635 struct Set *set;
636 struct Sequence *seq;
637 struct Set *set2 /* OPTIONAL */;
638 /*
639 * This type is extensible,
640 * possible extensions are below.
641 */
642 struct Set *set3;
643
644 /* Context for parsing across buffer boundaries */
645 asn_struct_ctx_t _asn_ctx;
646} Member;
647
Lev Walkincee931e2005-08-16 16:56:59 +0000648/*** <<< TYPE-DECLS [Set] >>> ***/
649
650typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800651 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000652
653 /* Context for parsing across buffer boundaries */
654 asn_struct_ctx_t _asn_ctx;
655} Set_t;
656
657/*** <<< FUNC-DECLS [Set] >>> ***/
658
659extern asn_TYPE_descriptor_t asn_DEF_Set;
660
661/*** <<< POST-INCLUDE [Set] >>> ***/
662
Lev Walkin22b5ed42006-09-13 02:51:20 +0000663#include "Set.h"
664#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000665
666/*** <<< STAT-DEFS [Set] >>> ***/
667
668static asn_TYPE_member_t asn_MBR_Member_2[] = {
669 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
670 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
671 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000672 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000673 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000674 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
675 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000676 .name = "int"
677 },
678 { ATF_POINTER, 0, offsetof(struct Member, set),
679 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
680 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000681 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000682 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000683 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
684 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000685 .name = "set"
686 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000687 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000688 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
689 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000690 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000691 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000692 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
693 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000694 .name = "seq"
695 },
696 { ATF_POINTER, 2, offsetof(struct Member, set2),
697 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
698 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000699 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000700 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000701 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
702 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000703 .name = "set2"
704 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000705 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000706 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
707 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000708 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000709 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000710 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
711 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000712 .name = "set3"
713 },
714};
Lev Walkina7591b52014-10-12 18:37:35 -0700715static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000716 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
717};
Lev Walkina7591b52014-10-12 18:37:35 -0700718static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700719 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
720 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
721 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
722 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
723 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000724};
Lev Walkin59b176e2005-11-26 11:25:14 +0000725static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000726 sizeof(struct Member),
727 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000728 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000729 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000730 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000731 3, /* Start extensions */
732 6 /* Stop extensions */
733};
734static /* Use -fall-defs-global to expose */
735asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000736 "SEQUENCE",
737 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000738 SEQUENCE_free,
739 SEQUENCE_print,
740 SEQUENCE_constraint,
741 SEQUENCE_decode_ber,
742 SEQUENCE_encode_der,
743 SEQUENCE_decode_xer,
744 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000745 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700746 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000747 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000748 asn_DEF_Member_tags_2,
749 sizeof(asn_DEF_Member_tags_2)
750 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
751 asn_DEF_Member_tags_2, /* Same as above */
752 sizeof(asn_DEF_Member_tags_2)
753 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
754 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000755 asn_MBR_Member_2,
756 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000757 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000758};
759
760static asn_TYPE_member_t asn_MBR_Set_1[] = {
761 { ATF_POINTER, 0, 0,
762 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
763 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000764 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000765 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000766 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
767 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000768 .name = ""
769 },
770};
Lev Walkina7591b52014-10-12 18:37:35 -0700771static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000772 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
773};
Lev Walkin59b176e2005-11-26 11:25:14 +0000774static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000775 sizeof(struct Set),
776 offsetof(struct Set, _asn_ctx),
777 0, /* XER encoding is XMLDelimitedItemList */
778};
779asn_TYPE_descriptor_t asn_DEF_Set = {
780 "Set",
781 "Set",
782 SET_OF_free,
783 SET_OF_print,
784 SET_OF_constraint,
785 SET_OF_decode_ber,
786 SET_OF_encode_der,
787 SET_OF_decode_xer,
788 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000789 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700790 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000791 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000792 asn_DEF_Set_tags_1,
793 sizeof(asn_DEF_Set_tags_1)
794 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
795 asn_DEF_Set_tags_1, /* Same as above */
796 sizeof(asn_DEF_Set_tags_1)
797 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
798 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000799 asn_MBR_Set_1,
800 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000801 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000802};
803
804
805/*** <<< INCLUDES [Sequence] >>> ***/
806
807#include <INTEGER.h>
808#include <constr_SEQUENCE.h>
809
810/*** <<< FWD-DECLS [Sequence] >>> ***/
811
812struct Sequence;
813struct Set;
814
815/*** <<< TYPE-DECLS [Sequence] >>> ***/
816
817typedef struct Sequence {
818 INTEGER_t a;
819 struct Sequence *seq /* OPTIONAL */;
820 /*
821 * This type is extensible,
822 * possible extensions are below.
823 */
824 INTEGER_t *b;
825 struct Set *set /* OPTIONAL */;
826
827 /* Context for parsing across buffer boundaries */
828 asn_struct_ctx_t _asn_ctx;
829} Sequence_t;
830
831/*** <<< FUNC-DECLS [Sequence] >>> ***/
832
833extern asn_TYPE_descriptor_t asn_DEF_Sequence;
834
835/*** <<< POST-INCLUDE [Sequence] >>> ***/
836
Lev Walkin22b5ed42006-09-13 02:51:20 +0000837#include "Sequence.h"
838#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000839
840/*** <<< STAT-DEFS [Sequence] >>> ***/
841
842static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
843 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
844 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
845 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000846 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000847 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000848 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
849 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000850 .name = "a"
851 },
852 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
853 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
854 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000855 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000856 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000857 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
858 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000859 .name = "seq"
860 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000861 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000862 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
863 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000864 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000865 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000866 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
867 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000868 .name = "b"
869 },
870 { ATF_POINTER, 1, offsetof(struct Sequence, set),
871 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
872 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000873 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000874 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000875 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
876 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000877 .name = "set"
878 },
879};
Lev Walkina7591b52014-10-12 18:37:35 -0700880static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000881 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
882};
Lev Walkina7591b52014-10-12 18:37:35 -0700883static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700884 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
885 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
886 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
887 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000888};
Lev Walkin59b176e2005-11-26 11:25:14 +0000889static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000890 sizeof(struct Sequence),
891 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000892 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000893 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000894 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000895 1, /* Start extensions */
896 5 /* Stop extensions */
897};
898asn_TYPE_descriptor_t asn_DEF_Sequence = {
899 "Sequence",
900 "Sequence",
901 SEQUENCE_free,
902 SEQUENCE_print,
903 SEQUENCE_constraint,
904 SEQUENCE_decode_ber,
905 SEQUENCE_encode_der,
906 SEQUENCE_decode_xer,
907 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000908 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700909 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000910 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000911 asn_DEF_Sequence_tags_1,
912 sizeof(asn_DEF_Sequence_tags_1)
913 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
914 asn_DEF_Sequence_tags_1, /* Same as above */
915 sizeof(asn_DEF_Sequence_tags_1)
916 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
917 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000918 asn_MBR_Sequence_1,
919 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000920 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000921};
922
Lev Walkinb85a8132005-08-18 13:38:19 +0000923
924/*** <<< INCLUDES [TypeRef] >>> ***/
925
Lev Walkin22b5ed42006-09-13 02:51:20 +0000926#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000927
928/*** <<< TYPE-DECLS [TypeRef] >>> ***/
929
930typedef Sequence_t TypeRef_t;
931
932/*** <<< FUNC-DECLS [TypeRef] >>> ***/
933
934extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
935asn_struct_free_f TypeRef_free;
936asn_struct_print_f TypeRef_print;
937asn_constr_check_f TypeRef_constraint;
938ber_type_decoder_f TypeRef_decode_ber;
939der_type_encoder_f TypeRef_encode_der;
940xer_type_decoder_f TypeRef_decode_xer;
941xer_type_encoder_f TypeRef_encode_xer;
942
943/*** <<< CODE [TypeRef] >>> ***/
944
945int
946TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000947 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000948 /* Replace with underlying type checker */
949 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000950 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000951}
952
953/*
954 * This type is implemented using Sequence,
955 * so here we adjust the DEF accordingly.
956 */
957static void
958TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
959 td->free_struct = asn_DEF_Sequence.free_struct;
960 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800961 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000962 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
963 td->der_encoder = asn_DEF_Sequence.der_encoder;
964 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
965 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000966 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000967 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -0700968 td->oer_decoder = asn_DEF_Sequence.oer_decoder;
969 td->oer_encoder = asn_DEF_Sequence.oer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000970 if(!td->per_constraints)
971 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000972 td->elements = asn_DEF_Sequence.elements;
973 td->elements_count = asn_DEF_Sequence.elements_count;
974 td->specifics = asn_DEF_Sequence.specifics;
975}
976
977void
978TypeRef_free(asn_TYPE_descriptor_t *td,
979 void *struct_ptr, int contents_only) {
980 TypeRef_1_inherit_TYPE_descriptor(td);
981 td->free_struct(td, struct_ptr, contents_only);
982}
983
984int
985TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
986 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
987 TypeRef_1_inherit_TYPE_descriptor(td);
988 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
989}
990
991asn_dec_rval_t
992TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
993 void **structure, const void *bufptr, size_t size, int tag_mode) {
994 TypeRef_1_inherit_TYPE_descriptor(td);
995 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
996}
997
998asn_enc_rval_t
999TypeRef_encode_der(asn_TYPE_descriptor_t *td,
1000 void *structure, int tag_mode, ber_tlv_tag_t tag,
1001 asn_app_consume_bytes_f *cb, void *app_key) {
1002 TypeRef_1_inherit_TYPE_descriptor(td);
1003 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1004}
1005
1006asn_dec_rval_t
1007TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1008 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1009 TypeRef_1_inherit_TYPE_descriptor(td);
1010 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1011}
1012
1013asn_enc_rval_t
1014TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1015 int ilevel, enum xer_encoder_flags_e flags,
1016 asn_app_consume_bytes_f *cb, void *app_key) {
1017 TypeRef_1_inherit_TYPE_descriptor(td);
1018 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1019}
1020
1021
1022/*** <<< STAT-DEFS [TypeRef] >>> ***/
1023
Lev Walkina7591b52014-10-12 18:37:35 -07001024static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001025 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1026};
1027asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1028 "TypeRef",
1029 "TypeRef",
1030 TypeRef_free,
1031 TypeRef_print,
1032 TypeRef_constraint,
1033 TypeRef_decode_ber,
1034 TypeRef_encode_der,
1035 TypeRef_decode_xer,
1036 TypeRef_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001037 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001038 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001039 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001040 asn_DEF_TypeRef_tags_1,
1041 sizeof(asn_DEF_TypeRef_tags_1)
1042 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1043 asn_DEF_TypeRef_tags_1, /* Same as above */
1044 sizeof(asn_DEF_TypeRef_tags_1)
1045 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1046 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001047 0, 0, /* Defined elsewhere */
1048 0 /* No specifics */
1049};
1050
1051
1052/*** <<< INCLUDES [Alpha] >>> ***/
1053
1054#include <constr_SEQUENCE.h>
1055
1056/*** <<< FWD-DECLS [Alpha] >>> ***/
1057
1058struct Beta;
1059
1060/*** <<< TYPE-DECLS [Alpha] >>> ***/
1061
1062typedef struct Alpha {
1063 struct Beta *a;
1064 struct b {
1065 struct Beta *b /* OPTIONAL */;
1066
1067 /* Context for parsing across buffer boundaries */
1068 asn_struct_ctx_t _asn_ctx;
1069 } b;
1070
1071 /* Context for parsing across buffer boundaries */
1072 asn_struct_ctx_t _asn_ctx;
1073} Alpha_t;
1074
1075/*** <<< FUNC-DECLS [Alpha] >>> ***/
1076
1077extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1078
1079/*** <<< POST-INCLUDE [Alpha] >>> ***/
1080
Lev Walkin22b5ed42006-09-13 02:51:20 +00001081#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001082
1083/*** <<< STAT-DEFS [Alpha] >>> ***/
1084
1085static asn_TYPE_member_t asn_MBR_b_3[] = {
1086 { ATF_POINTER, 1, offsetof(struct b, b),
1087 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1088 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001089 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001091 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1092 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001093 .name = "b"
1094 },
1095};
Lev Walkina7591b52014-10-12 18:37:35 -07001096static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001097 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1098 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1099};
Lev Walkina7591b52014-10-12 18:37:35 -07001100static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001101 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001102};
Lev Walkin59b176e2005-11-26 11:25:14 +00001103static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001104 sizeof(struct b),
1105 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001106 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001107 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001108 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001109 -1, /* Start extensions */
1110 -1 /* Stop extensions */
1111};
1112static /* Use -fall-defs-global to expose */
1113asn_TYPE_descriptor_t asn_DEF_b_3 = {
1114 "b",
1115 "b",
1116 SEQUENCE_free,
1117 SEQUENCE_print,
1118 SEQUENCE_constraint,
1119 SEQUENCE_decode_ber,
1120 SEQUENCE_encode_der,
1121 SEQUENCE_decode_xer,
1122 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001123 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001124 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001125 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001126 asn_DEF_b_tags_3,
1127 sizeof(asn_DEF_b_tags_3)
1128 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1129 asn_DEF_b_tags_3, /* Same as above */
1130 sizeof(asn_DEF_b_tags_3)
1131 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1132 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001133 asn_MBR_b_3,
1134 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001135 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001136};
1137
1138static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1139 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1140 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1141 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001142 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001143 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001144 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1145 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001146 .name = "a"
1147 },
1148 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1149 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001150 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001151 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001152 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001153 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1154 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001155 .name = "b"
1156 },
1157};
Lev Walkina7591b52014-10-12 18:37:35 -07001158static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001159 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1160};
Lev Walkina7591b52014-10-12 18:37:35 -07001161static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001162 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1163 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001164};
Lev Walkin59b176e2005-11-26 11:25:14 +00001165static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001166 sizeof(struct Alpha),
1167 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001168 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001169 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001170 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001171 -1, /* Start extensions */
1172 -1 /* Stop extensions */
1173};
1174asn_TYPE_descriptor_t asn_DEF_Alpha = {
1175 "Alpha",
1176 "Alpha",
1177 SEQUENCE_free,
1178 SEQUENCE_print,
1179 SEQUENCE_constraint,
1180 SEQUENCE_decode_ber,
1181 SEQUENCE_encode_der,
1182 SEQUENCE_decode_xer,
1183 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001184 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001185 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001186 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001187 asn_DEF_Alpha_tags_1,
1188 sizeof(asn_DEF_Alpha_tags_1)
1189 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1190 asn_DEF_Alpha_tags_1, /* Same as above */
1191 sizeof(asn_DEF_Alpha_tags_1)
1192 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1193 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001194 asn_MBR_Alpha_1,
1195 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001196 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001197};
1198
1199
1200/*** <<< INCLUDES [Beta] >>> ***/
1201
1202#include <constr_SEQUENCE.h>
1203
1204/*** <<< FWD-DECLS [Beta] >>> ***/
1205
1206struct Alpha;
1207struct Gamma;
1208
1209/*** <<< TYPE-DECLS [Beta] >>> ***/
1210
1211typedef struct Beta {
1212 struct Alpha *b /* OPTIONAL */;
1213 struct Gamma *g /* OPTIONAL */;
1214
1215 /* Context for parsing across buffer boundaries */
1216 asn_struct_ctx_t _asn_ctx;
1217} Beta_t;
1218
1219/*** <<< FUNC-DECLS [Beta] >>> ***/
1220
1221extern asn_TYPE_descriptor_t asn_DEF_Beta;
1222
1223/*** <<< POST-INCLUDE [Beta] >>> ***/
1224
Lev Walkin22b5ed42006-09-13 02:51:20 +00001225#include "Alpha.h"
1226#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001227
1228/*** <<< STAT-DEFS [Beta] >>> ***/
1229
1230static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1231 { ATF_POINTER, 2, offsetof(struct Beta, b),
1232 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1233 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001234 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001235 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001236 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1237 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001238 .name = "b"
1239 },
1240 { ATF_POINTER, 1, offsetof(struct Beta, g),
1241 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1242 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001243 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001244 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001245 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1246 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001247 .name = "g"
1248 },
1249};
Lev Walkina7591b52014-10-12 18:37:35 -07001250static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001251 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1252};
Lev Walkina7591b52014-10-12 18:37:35 -07001253static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001254 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1255 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001256};
Lev Walkin59b176e2005-11-26 11:25:14 +00001257static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001258 sizeof(struct Beta),
1259 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001260 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001261 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001262 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001263 -1, /* Start extensions */
1264 -1 /* Stop extensions */
1265};
1266asn_TYPE_descriptor_t asn_DEF_Beta = {
1267 "Beta",
1268 "Beta",
1269 SEQUENCE_free,
1270 SEQUENCE_print,
1271 SEQUENCE_constraint,
1272 SEQUENCE_decode_ber,
1273 SEQUENCE_encode_der,
1274 SEQUENCE_decode_xer,
1275 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001276 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001277 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001278 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001279 asn_DEF_Beta_tags_1,
1280 sizeof(asn_DEF_Beta_tags_1)
1281 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1282 asn_DEF_Beta_tags_1, /* Same as above */
1283 sizeof(asn_DEF_Beta_tags_1)
1284 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1285 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001286 asn_MBR_Beta_1,
1287 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001288 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001289};
1290
1291
1292/*** <<< INCLUDES [Gamma] >>> ***/
1293
1294#include <constr_SEQUENCE.h>
1295
1296/*** <<< FWD-DECLS [Gamma] >>> ***/
1297
1298struct TwoThree;
1299struct Alpha;
1300struct Beta;
1301
1302/*** <<< TYPE-DECLS [Gamma] >>> ***/
1303
1304typedef struct Gamma {
1305 struct TwoThree *o;
1306 struct Alpha *a;
1307 struct Beta *b;
1308
1309 /* Context for parsing across buffer boundaries */
1310 asn_struct_ctx_t _asn_ctx;
1311} Gamma_t;
1312
1313/*** <<< FUNC-DECLS [Gamma] >>> ***/
1314
1315extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1316
1317/*** <<< POST-INCLUDE [Gamma] >>> ***/
1318
Lev Walkin22b5ed42006-09-13 02:51:20 +00001319#include "TwoThree.h"
1320#include "Alpha.h"
1321#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001322
1323/*** <<< STAT-DEFS [Gamma] >>> ***/
1324
1325static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1326 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1327 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1328 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001329 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001330 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001331 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1332 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001333 .name = "o"
1334 },
1335 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1336 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1337 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001338 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001339 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001340 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1341 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001342 .name = "a"
1343 },
1344 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1345 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1346 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001347 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001348 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001349 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1350 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001351 .name = "b"
1352 },
1353};
Lev Walkina7591b52014-10-12 18:37:35 -07001354static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001355 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1356};
Lev Walkina7591b52014-10-12 18:37:35 -07001357static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001358 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1359 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1360 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001361};
Lev Walkin59b176e2005-11-26 11:25:14 +00001362static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001363 sizeof(struct Gamma),
1364 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001365 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001366 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001367 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001368 -1, /* Start extensions */
1369 -1 /* Stop extensions */
1370};
1371asn_TYPE_descriptor_t asn_DEF_Gamma = {
1372 "Gamma",
1373 "Gamma",
1374 SEQUENCE_free,
1375 SEQUENCE_print,
1376 SEQUENCE_constraint,
1377 SEQUENCE_decode_ber,
1378 SEQUENCE_encode_der,
1379 SEQUENCE_decode_xer,
1380 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001381 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001382 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001383 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001384 asn_DEF_Gamma_tags_1,
1385 sizeof(asn_DEF_Gamma_tags_1)
1386 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1387 asn_DEF_Gamma_tags_1, /* Same as above */
1388 sizeof(asn_DEF_Gamma_tags_1)
1389 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1390 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001391 asn_MBR_Gamma_1,
1392 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001393 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001394};
1395
1396
1397/*** <<< INCLUDES [OneTwo] >>> ***/
1398
1399#include <constr_SET.h>
1400
1401/*** <<< DEPS [OneTwo] >>> ***/
1402
1403
1404/*
1405 * Method of determining the components presence
1406 */
1407typedef enum OneTwo_PR {
1408 OneTwo_PR_m12, /* Member m12 is present */
1409} OneTwo_PR;
1410
1411/*** <<< FWD-DECLS [OneTwo] >>> ***/
1412
1413struct TwoThree;
1414
1415/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1416
1417typedef struct OneTwo {
1418 struct TwoThree *m12;
1419
1420 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1421 unsigned int _presence_map
1422 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1423
1424 /* Context for parsing across buffer boundaries */
1425 asn_struct_ctx_t _asn_ctx;
1426} OneTwo_t;
1427
1428/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1429
1430extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1431
1432/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1433
Lev Walkin22b5ed42006-09-13 02:51:20 +00001434#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001435
1436/*** <<< STAT-DEFS [OneTwo] >>> ***/
1437
1438static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1439 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1440 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1441 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001442 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001443 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001444 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1445 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001446 .name = "m12"
1447 },
1448};
Lev Walkina7591b52014-10-12 18:37:35 -07001449static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001450 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1451};
Lev Walkina7591b52014-10-12 18:37:35 -07001452static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001453 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001454};
Lev Walkina7591b52014-10-12 18:37:35 -07001455static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001456 (1 << 7)
1457};
Lev Walkin59b176e2005-11-26 11:25:14 +00001458static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001459 sizeof(struct OneTwo),
1460 offsetof(struct OneTwo, _asn_ctx),
1461 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001462 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001463 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001464 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001465 1, /* Count of tags in the CXER map */
1466 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001467 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001468};
1469asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1470 "OneTwo",
1471 "OneTwo",
1472 SET_free,
1473 SET_print,
1474 SET_constraint,
1475 SET_decode_ber,
1476 SET_encode_der,
1477 SET_decode_xer,
1478 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001479 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001480 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001481 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001482 asn_DEF_OneTwo_tags_1,
1483 sizeof(asn_DEF_OneTwo_tags_1)
1484 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1485 asn_DEF_OneTwo_tags_1, /* Same as above */
1486 sizeof(asn_DEF_OneTwo_tags_1)
1487 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1488 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001489 asn_MBR_OneTwo_1,
1490 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001491 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001492};
1493
1494
1495/*** <<< INCLUDES [TwoThree] >>> ***/
1496
1497#include <constr_SET.h>
1498
1499/*** <<< DEPS [TwoThree] >>> ***/
1500
1501
1502/*
1503 * Method of determining the components presence
1504 */
1505typedef enum TwoThree_PR {
1506 TwoThree_PR_m23, /* Member m23 is present */
1507} TwoThree_PR;
1508
1509/*** <<< FWD-DECLS [TwoThree] >>> ***/
1510
1511struct ThreeOne;
1512
1513/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1514
1515typedef struct TwoThree {
1516 struct ThreeOne *m23;
1517
1518 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1519 unsigned int _presence_map
1520 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1521
1522 /* Context for parsing across buffer boundaries */
1523 asn_struct_ctx_t _asn_ctx;
1524} TwoThree_t;
1525
1526/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1527
1528extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1529
1530/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1531
Lev Walkin22b5ed42006-09-13 02:51:20 +00001532#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001533
1534/*** <<< STAT-DEFS [TwoThree] >>> ***/
1535
1536static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1537 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1538 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1539 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001540 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001541 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001542 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1543 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001544 .name = "m23"
1545 },
1546};
Lev Walkina7591b52014-10-12 18:37:35 -07001547static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001548 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1549};
Lev Walkina7591b52014-10-12 18:37:35 -07001550static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001551 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001552};
Lev Walkina7591b52014-10-12 18:37:35 -07001553static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001554 (1 << 7)
1555};
Lev Walkin59b176e2005-11-26 11:25:14 +00001556static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001557 sizeof(struct TwoThree),
1558 offsetof(struct TwoThree, _asn_ctx),
1559 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001560 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001561 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001562 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001563 1, /* Count of tags in the CXER map */
1564 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001565 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001566};
1567asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1568 "TwoThree",
1569 "TwoThree",
1570 SET_free,
1571 SET_print,
1572 SET_constraint,
1573 SET_decode_ber,
1574 SET_encode_der,
1575 SET_decode_xer,
1576 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001577 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001578 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001579 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001580 asn_DEF_TwoThree_tags_1,
1581 sizeof(asn_DEF_TwoThree_tags_1)
1582 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1583 asn_DEF_TwoThree_tags_1, /* Same as above */
1584 sizeof(asn_DEF_TwoThree_tags_1)
1585 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1586 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001587 asn_MBR_TwoThree_1,
1588 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001589 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001590};
1591
1592
1593/*** <<< INCLUDES [ThreeOne] >>> ***/
1594
1595#include <constr_SET.h>
1596
1597/*** <<< DEPS [ThreeOne] >>> ***/
1598
1599
1600/*
1601 * Method of determining the components presence
1602 */
1603typedef enum ThreeOne_PR {
1604 ThreeOne_PR_m31, /* Member m31 is present */
1605 ThreeOne_PR_g, /* Member g is present */
1606} ThreeOne_PR;
1607
1608/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1609
1610struct OneTwo;
1611struct Gamma;
1612
1613/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1614
1615typedef struct ThreeOne {
1616 struct OneTwo *m31;
1617 struct Gamma *g;
1618
1619 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1620 unsigned int _presence_map
1621 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1622
1623 /* Context for parsing across buffer boundaries */
1624 asn_struct_ctx_t _asn_ctx;
1625} ThreeOne_t;
1626
1627/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1628
1629extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1630
1631/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1632
Lev Walkin22b5ed42006-09-13 02:51:20 +00001633#include "OneTwo.h"
1634#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001635
1636/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1637
1638static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1639 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1640 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1641 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001642 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001643 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001644 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1645 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001646 .name = "m31"
1647 },
1648 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1649 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1650 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001651 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001652 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001653 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1654 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001655 .name = "g"
1656 },
1657};
Lev Walkina7591b52014-10-12 18:37:35 -07001658static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001659 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1660};
Lev Walkina7591b52014-10-12 18:37:35 -07001661static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001662 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1663 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001664};
Lev Walkina7591b52014-10-12 18:37:35 -07001665static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001666 (1 << 7) | (1 << 6)
1667};
Lev Walkin59b176e2005-11-26 11:25:14 +00001668static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001669 sizeof(struct ThreeOne),
1670 offsetof(struct ThreeOne, _asn_ctx),
1671 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001672 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001673 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001674 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001675 2, /* Count of tags in the CXER map */
1676 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001677 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001678};
1679asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1680 "ThreeOne",
1681 "ThreeOne",
1682 SET_free,
1683 SET_print,
1684 SET_constraint,
1685 SET_decode_ber,
1686 SET_encode_der,
1687 SET_decode_xer,
1688 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001689 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001690 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001691 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001692 asn_DEF_ThreeOne_tags_1,
1693 sizeof(asn_DEF_ThreeOne_tags_1)
1694 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1695 asn_DEF_ThreeOne_tags_1, /* Same as above */
1696 sizeof(asn_DEF_ThreeOne_tags_1)
1697 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1698 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001699 asn_MBR_ThreeOne_1,
1700 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001701 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001702};
1703