blob: 4faa7473d5cf4f71e16e4aea9ccff0a2fa307c9b [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 Walkincee931e2005-08-16 16:56:59 +0000176 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000177 asn_DEF_Everything_tags_1,
178 sizeof(asn_DEF_Everything_tags_1)
179 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
180 asn_DEF_Everything_tags_1, /* Same as above */
181 sizeof(asn_DEF_Everything_tags_1)
182 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
183 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000184 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000185 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000186 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000187};
188
189
190/*** <<< INCLUDES [Choice1] >>> ***/
191
192#include <constr_CHOICE.h>
193
194/*** <<< DEPS [Choice1] >>> ***/
195
196typedef enum Choice1_PR {
197 Choice1_PR_NOTHING, /* No components present */
198 Choice1_PR_something,
199 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000200 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000201} Choice1_PR;
202
203/*** <<< FWD-DECLS [Choice1] >>> ***/
204
205struct Everything;
206
207/*** <<< TYPE-DECLS [Choice1] >>> ***/
208
209typedef struct Choice1 {
210 Choice1_PR present;
211 union Choice1_u {
212 struct Everything *something;
213 /*
214 * This type is extensible,
215 * possible extensions are below.
216 */
217 struct Everything *some2;
218 } choice;
219
220 /* Context for parsing across buffer boundaries */
221 asn_struct_ctx_t _asn_ctx;
222} Choice1_t;
223
224/*** <<< FUNC-DECLS [Choice1] >>> ***/
225
226extern asn_TYPE_descriptor_t asn_DEF_Choice1;
227
228/*** <<< POST-INCLUDE [Choice1] >>> ***/
229
Lev Walkin22b5ed42006-09-13 02:51:20 +0000230#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000231
232/*** <<< STAT-DEFS [Choice1] >>> ***/
233
234static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
235 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
236 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
237 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000238 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000239 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000240 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
241 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000242 .name = "something"
243 },
244 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
245 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
246 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000247 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000248 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000249 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
250 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000251 .name = "some2"
252 },
253};
Lev Walkina7591b52014-10-12 18:37:35 -0700254static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700255 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
256 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000257};
Lev Walkin59b176e2005-11-26 11:25:14 +0000258static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000259 sizeof(struct Choice1),
260 offsetof(struct Choice1, _asn_ctx),
261 offsetof(struct Choice1, present),
262 sizeof(((struct Choice1 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000263 asn_MAP_Choice1_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000264 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000265 .canonical_order = 0,
266 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000267};
268asn_TYPE_descriptor_t asn_DEF_Choice1 = {
269 "Choice1",
270 "Choice1",
271 CHOICE_free,
272 CHOICE_print,
273 CHOICE_constraint,
274 CHOICE_decode_ber,
275 CHOICE_encode_der,
276 CHOICE_decode_xer,
277 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000278 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000279 CHOICE_outmost_tag,
280 0, /* No effective tags (pointer) */
281 0, /* No effective tags (count) */
282 0, /* No tags (pointer) */
283 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000284 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000285 asn_MBR_Choice1_1,
286 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000287 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000288};
289
290
291/*** <<< INCLUDES [Choice2] >>> ***/
292
293#include <constr_CHOICE.h>
294
295/*** <<< DEPS [Choice2] >>> ***/
296
297typedef enum Choice2_PR {
298 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000299 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000300 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000301 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000302} Choice2_PR;
303
304/*** <<< FWD-DECLS [Choice2] >>> ***/
305
Lev Walkinb85a8132005-08-18 13:38:19 +0000306struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000307struct Everything;
308
309/*** <<< TYPE-DECLS [Choice2] >>> ***/
310
311typedef struct Choice2 {
312 Choice2_PR present;
313 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000314 struct Sequence *typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000315 /*
316 * This type is extensible,
317 * possible extensions are below.
318 */
319 struct Everything *some3;
320 } choice;
321
322 /* Context for parsing across buffer boundaries */
323 asn_struct_ctx_t _asn_ctx;
324} Choice2_t;
325
326/*** <<< FUNC-DECLS [Choice2] >>> ***/
327
328extern asn_TYPE_descriptor_t asn_DEF_Choice2;
329
330/*** <<< POST-INCLUDE [Choice2] >>> ***/
331
Lev Walkin22b5ed42006-09-13 02:51:20 +0000332#include "TypeRef.h"
333#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000334
335/*** <<< STAT-DEFS [Choice2] >>> ***/
336
337static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000338 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000339 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
340 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000341 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000342 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000343 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
344 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000345 .name = "typeref"
346 },
347 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
348 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
349 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000350 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000351 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000352 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
353 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000354 .name = "some3"
355 },
356};
Lev Walkina7591b52014-10-12 18:37:35 -0700357static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700358 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
359 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000360};
Lev Walkin59b176e2005-11-26 11:25:14 +0000361static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000362 sizeof(struct Choice2),
363 offsetof(struct Choice2, _asn_ctx),
364 offsetof(struct Choice2, present),
365 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000366 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000367 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000368 .canonical_order = 0,
369 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000370};
371asn_TYPE_descriptor_t asn_DEF_Choice2 = {
372 "Choice2",
373 "Choice2",
374 CHOICE_free,
375 CHOICE_print,
376 CHOICE_constraint,
377 CHOICE_decode_ber,
378 CHOICE_encode_der,
379 CHOICE_decode_xer,
380 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000381 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000382 CHOICE_outmost_tag,
383 0, /* No effective tags (pointer) */
384 0, /* No effective tags (count) */
385 0, /* No tags (pointer) */
386 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000387 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000388 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000389 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000390 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000391};
392
393
Lev Walkinb85a8132005-08-18 13:38:19 +0000394/*** <<< INCLUDES [Choice3] >>> ***/
395
396#include <constr_SEQUENCE.h>
397#include <asn_SEQUENCE_OF.h>
398#include <constr_SEQUENCE_OF.h>
399#include <constr_CHOICE.h>
400
401/*** <<< DEPS [Choice3] >>> ***/
402
403typedef enum Choice3_PR {
404 Choice3_PR_NOTHING, /* No components present */
405 Choice3_PR_a,
406 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000407 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000408} Choice3_PR;
409
410/*** <<< FWD-DECLS [Choice3] >>> ***/
411
412struct Everything;
413struct Choice3;
414
415/*** <<< TYPE-DECLS [Choice3] >>> ***/
416
417typedef struct Choice3 {
418 Choice3_PR present;
419 union Choice3_u {
420 struct a {
421 struct Everything *aa;
422
423 /* Context for parsing across buffer boundaries */
424 asn_struct_ctx_t _asn_ctx;
425 } *a;
426 struct Everything *b;
427 struct c {
428 A_SEQUENCE_OF(struct Choice3) list;
429
430 /* Context for parsing across buffer boundaries */
431 asn_struct_ctx_t _asn_ctx;
432 } *c;
433 } choice;
434
435 /* Context for parsing across buffer boundaries */
436 asn_struct_ctx_t _asn_ctx;
437} Choice3_t;
438
439/*** <<< FUNC-DECLS [Choice3] >>> ***/
440
441extern asn_TYPE_descriptor_t asn_DEF_Choice3;
442
443/*** <<< POST-INCLUDE [Choice3] >>> ***/
444
Lev Walkin22b5ed42006-09-13 02:51:20 +0000445#include "Everything.h"
446#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000447
448/*** <<< STAT-DEFS [Choice3] >>> ***/
449
450static asn_TYPE_member_t asn_MBR_a_2[] = {
451 { ATF_POINTER, 0, offsetof(struct a, aa),
452 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
453 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000454 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000455 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000456 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
457 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000458 .name = "aa"
459 },
460};
Lev Walkina7591b52014-10-12 18:37:35 -0700461static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000462 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
463 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
464};
Lev Walkina7591b52014-10-12 18:37:35 -0700465static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700466 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000467};
Lev Walkin59b176e2005-11-26 11:25:14 +0000468static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000469 sizeof(struct a),
470 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000471 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000472 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000473 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000474 -1, /* Start extensions */
475 -1 /* Stop extensions */
476};
477static /* Use -fall-defs-global to expose */
478asn_TYPE_descriptor_t asn_DEF_a_2 = {
479 "a",
480 "a",
481 SEQUENCE_free,
482 SEQUENCE_print,
483 SEQUENCE_constraint,
484 SEQUENCE_decode_ber,
485 SEQUENCE_encode_der,
486 SEQUENCE_decode_xer,
487 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000488 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000489 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000490 asn_DEF_a_tags_2,
491 sizeof(asn_DEF_a_tags_2)
492 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
493 asn_DEF_a_tags_2, /* Same as above */
494 sizeof(asn_DEF_a_tags_2)
495 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
496 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000497 asn_MBR_a_2,
498 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000499 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000500};
501
502static asn_TYPE_member_t asn_MBR_c_5[] = {
503 { ATF_POINTER, 0, 0,
504 .tag = -1 /* Ambiguous tag (CHOICE?) */,
505 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000506 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000507 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000508 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
509 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000510 .name = ""
511 },
512};
Lev Walkina7591b52014-10-12 18:37:35 -0700513static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000514 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
515 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
516};
Lev Walkin59b176e2005-11-26 11:25:14 +0000517static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000518 sizeof(struct c),
519 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000520 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000521};
522static /* Use -fall-defs-global to expose */
523asn_TYPE_descriptor_t asn_DEF_c_5 = {
524 "c",
525 "c",
526 SEQUENCE_OF_free,
527 SEQUENCE_OF_print,
528 SEQUENCE_OF_constraint,
529 SEQUENCE_OF_decode_ber,
530 SEQUENCE_OF_encode_der,
531 SEQUENCE_OF_decode_xer,
532 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000533 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000534 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000535 asn_DEF_c_tags_5,
536 sizeof(asn_DEF_c_tags_5)
537 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
538 asn_DEF_c_tags_5, /* Same as above */
539 sizeof(asn_DEF_c_tags_5)
540 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
541 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000542 asn_MBR_c_5,
543 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000544 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000545};
546
547static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
548 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
549 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000550 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000551 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000552 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000553 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
554 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000555 .name = "a"
556 },
557 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
558 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
559 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000560 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000561 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000562 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
563 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000564 .name = "b"
565 },
566 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
567 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000568 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000569 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000570 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000571 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
572 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000573 .name = "c"
574 },
575};
Lev Walkina7591b52014-10-12 18:37:35 -0700576static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700577 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
578 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
579 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000580};
Lev Walkin59b176e2005-11-26 11:25:14 +0000581static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000582 sizeof(struct Choice3),
583 offsetof(struct Choice3, _asn_ctx),
584 offsetof(struct Choice3, present),
585 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000586 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000587 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000588 .canonical_order = 0,
589 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000590};
591asn_TYPE_descriptor_t asn_DEF_Choice3 = {
592 "Choice3",
593 "Choice3",
594 CHOICE_free,
595 CHOICE_print,
596 CHOICE_constraint,
597 CHOICE_decode_ber,
598 CHOICE_encode_der,
599 CHOICE_decode_xer,
600 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000601 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000602 CHOICE_outmost_tag,
603 0, /* No effective tags (pointer) */
604 0, /* No effective tags (count) */
605 0, /* No tags (pointer) */
606 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000607 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000608 asn_MBR_Choice3_1,
609 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000610 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000611};
612
613
Lev Walkincee931e2005-08-16 16:56:59 +0000614/*** <<< INCLUDES [Set] >>> ***/
615
616#include <asn_SET_OF.h>
Lev Walkin2a744a72013-03-27 01:56:23 -0700617#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000618#include <constr_SEQUENCE.h>
619#include <constr_SET_OF.h>
620
621/*** <<< FWD-DECLS [Set] >>> ***/
622
623struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000624struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000625
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800626/*** <<< FWD-DEFS [Set] >>> ***/
627
628typedef struct Member {
629 long Int;
630 struct Set *set;
631 struct Sequence *seq;
632 struct Set *set2 /* OPTIONAL */;
633 /*
634 * This type is extensible,
635 * possible extensions are below.
636 */
637 struct Set *set3;
638
639 /* Context for parsing across buffer boundaries */
640 asn_struct_ctx_t _asn_ctx;
641} Member;
642
Lev Walkincee931e2005-08-16 16:56:59 +0000643/*** <<< TYPE-DECLS [Set] >>> ***/
644
645typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800646 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000647
648 /* Context for parsing across buffer boundaries */
649 asn_struct_ctx_t _asn_ctx;
650} Set_t;
651
652/*** <<< FUNC-DECLS [Set] >>> ***/
653
654extern asn_TYPE_descriptor_t asn_DEF_Set;
655
656/*** <<< POST-INCLUDE [Set] >>> ***/
657
Lev Walkin22b5ed42006-09-13 02:51:20 +0000658#include "Set.h"
659#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000660
661/*** <<< STAT-DEFS [Set] >>> ***/
662
663static asn_TYPE_member_t asn_MBR_Member_2[] = {
664 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
665 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
666 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700667 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000668 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000669 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
670 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000671 .name = "int"
672 },
673 { ATF_POINTER, 0, offsetof(struct Member, set),
674 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
675 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000676 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000677 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000678 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
679 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000680 .name = "set"
681 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000682 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000683 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
684 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000685 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000686 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000687 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
688 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000689 .name = "seq"
690 },
691 { ATF_POINTER, 2, offsetof(struct Member, set2),
692 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
693 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000694 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000695 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000696 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
697 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000698 .name = "set2"
699 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000700 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000701 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
702 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000703 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000704 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000705 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
706 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000707 .name = "set3"
708 },
709};
Lev Walkina7591b52014-10-12 18:37:35 -0700710static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000711 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
712};
Lev Walkina7591b52014-10-12 18:37:35 -0700713static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700714 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
715 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
716 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
717 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
718 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000719};
Lev Walkin59b176e2005-11-26 11:25:14 +0000720static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000721 sizeof(struct Member),
722 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000723 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000724 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000725 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000726 3, /* Start extensions */
727 6 /* Stop extensions */
728};
729static /* Use -fall-defs-global to expose */
730asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000731 "SEQUENCE",
732 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000733 SEQUENCE_free,
734 SEQUENCE_print,
735 SEQUENCE_constraint,
736 SEQUENCE_decode_ber,
737 SEQUENCE_encode_der,
738 SEQUENCE_decode_xer,
739 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000740 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000741 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000742 asn_DEF_Member_tags_2,
743 sizeof(asn_DEF_Member_tags_2)
744 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
745 asn_DEF_Member_tags_2, /* Same as above */
746 sizeof(asn_DEF_Member_tags_2)
747 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
748 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000749 asn_MBR_Member_2,
750 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000751 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000752};
753
754static asn_TYPE_member_t asn_MBR_Set_1[] = {
755 { ATF_POINTER, 0, 0,
756 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
757 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000758 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000759 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000760 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
761 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000762 .name = ""
763 },
764};
Lev Walkina7591b52014-10-12 18:37:35 -0700765static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000766 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
767};
Lev Walkin59b176e2005-11-26 11:25:14 +0000768static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000769 sizeof(struct Set),
770 offsetof(struct Set, _asn_ctx),
771 0, /* XER encoding is XMLDelimitedItemList */
772};
773asn_TYPE_descriptor_t asn_DEF_Set = {
774 "Set",
775 "Set",
776 SET_OF_free,
777 SET_OF_print,
778 SET_OF_constraint,
779 SET_OF_decode_ber,
780 SET_OF_encode_der,
781 SET_OF_decode_xer,
782 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000783 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000784 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000785 asn_DEF_Set_tags_1,
786 sizeof(asn_DEF_Set_tags_1)
787 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
788 asn_DEF_Set_tags_1, /* Same as above */
789 sizeof(asn_DEF_Set_tags_1)
790 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
791 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000792 asn_MBR_Set_1,
793 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000794 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000795};
796
797
798/*** <<< INCLUDES [Sequence] >>> ***/
799
Lev Walkin2a744a72013-03-27 01:56:23 -0700800#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000801#include <constr_SEQUENCE.h>
802
803/*** <<< FWD-DECLS [Sequence] >>> ***/
804
805struct Sequence;
806struct Set;
807
808/*** <<< TYPE-DECLS [Sequence] >>> ***/
809
810typedef struct Sequence {
Lev Walkin2a744a72013-03-27 01:56:23 -0700811 long a;
Lev Walkincee931e2005-08-16 16:56:59 +0000812 struct Sequence *seq /* OPTIONAL */;
813 /*
814 * This type is extensible,
815 * possible extensions are below.
816 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700817 long *b;
Lev Walkincee931e2005-08-16 16:56:59 +0000818 struct Set *set /* OPTIONAL */;
819
820 /* Context for parsing across buffer boundaries */
821 asn_struct_ctx_t _asn_ctx;
822} Sequence_t;
823
824/*** <<< FUNC-DECLS [Sequence] >>> ***/
825
826extern asn_TYPE_descriptor_t asn_DEF_Sequence;
827
828/*** <<< POST-INCLUDE [Sequence] >>> ***/
829
Lev Walkin22b5ed42006-09-13 02:51:20 +0000830#include "Sequence.h"
831#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000832
833/*** <<< STAT-DEFS [Sequence] >>> ***/
834
835static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
836 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
837 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
838 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700839 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000840 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000841 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
842 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000843 .name = "a"
844 },
845 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
846 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
847 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000848 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000849 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000850 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
851 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000852 .name = "seq"
853 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000854 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000855 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
856 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700857 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000858 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000859 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
860 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000861 .name = "b"
862 },
863 { ATF_POINTER, 1, offsetof(struct Sequence, set),
864 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
865 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000866 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000867 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000868 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
869 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000870 .name = "set"
871 },
872};
Lev Walkina7591b52014-10-12 18:37:35 -0700873static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000874 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
875};
Lev Walkina7591b52014-10-12 18:37:35 -0700876static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700877 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
878 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
879 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
880 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000881};
Lev Walkin59b176e2005-11-26 11:25:14 +0000882static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000883 sizeof(struct Sequence),
884 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000885 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000886 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000887 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000888 1, /* Start extensions */
889 5 /* Stop extensions */
890};
891asn_TYPE_descriptor_t asn_DEF_Sequence = {
892 "Sequence",
893 "Sequence",
894 SEQUENCE_free,
895 SEQUENCE_print,
896 SEQUENCE_constraint,
897 SEQUENCE_decode_ber,
898 SEQUENCE_encode_der,
899 SEQUENCE_decode_xer,
900 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000901 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000902 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000903 asn_DEF_Sequence_tags_1,
904 sizeof(asn_DEF_Sequence_tags_1)
905 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
906 asn_DEF_Sequence_tags_1, /* Same as above */
907 sizeof(asn_DEF_Sequence_tags_1)
908 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
909 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000910 asn_MBR_Sequence_1,
911 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000912 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000913};
914
Lev Walkinb85a8132005-08-18 13:38:19 +0000915
916/*** <<< INCLUDES [TypeRef] >>> ***/
917
Lev Walkin22b5ed42006-09-13 02:51:20 +0000918#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000919
920/*** <<< TYPE-DECLS [TypeRef] >>> ***/
921
922typedef Sequence_t TypeRef_t;
923
924/*** <<< FUNC-DECLS [TypeRef] >>> ***/
925
926extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
927asn_struct_free_f TypeRef_free;
928asn_struct_print_f TypeRef_print;
929asn_constr_check_f TypeRef_constraint;
930ber_type_decoder_f TypeRef_decode_ber;
931der_type_encoder_f TypeRef_encode_der;
932xer_type_decoder_f TypeRef_decode_xer;
933xer_type_encoder_f TypeRef_encode_xer;
934
935/*** <<< CODE [TypeRef] >>> ***/
936
937int
938TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000939 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000940 /* Replace with underlying type checker */
941 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000942 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000943}
944
945/*
946 * This type is implemented using Sequence,
947 * so here we adjust the DEF accordingly.
948 */
949static void
950TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
951 td->free_struct = asn_DEF_Sequence.free_struct;
952 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800953 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000954 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
955 td->der_encoder = asn_DEF_Sequence.der_encoder;
956 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
957 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000958 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000959 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000960 if(!td->per_constraints)
961 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000962 td->elements = asn_DEF_Sequence.elements;
963 td->elements_count = asn_DEF_Sequence.elements_count;
964 td->specifics = asn_DEF_Sequence.specifics;
965}
966
967void
968TypeRef_free(asn_TYPE_descriptor_t *td,
969 void *struct_ptr, int contents_only) {
970 TypeRef_1_inherit_TYPE_descriptor(td);
971 td->free_struct(td, struct_ptr, contents_only);
972}
973
974int
975TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
976 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
977 TypeRef_1_inherit_TYPE_descriptor(td);
978 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
979}
980
981asn_dec_rval_t
982TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
983 void **structure, const void *bufptr, size_t size, int tag_mode) {
984 TypeRef_1_inherit_TYPE_descriptor(td);
985 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
986}
987
988asn_enc_rval_t
989TypeRef_encode_der(asn_TYPE_descriptor_t *td,
990 void *structure, int tag_mode, ber_tlv_tag_t tag,
991 asn_app_consume_bytes_f *cb, void *app_key) {
992 TypeRef_1_inherit_TYPE_descriptor(td);
993 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
994}
995
996asn_dec_rval_t
997TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
998 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
999 TypeRef_1_inherit_TYPE_descriptor(td);
1000 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1001}
1002
1003asn_enc_rval_t
1004TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1005 int ilevel, enum xer_encoder_flags_e flags,
1006 asn_app_consume_bytes_f *cb, void *app_key) {
1007 TypeRef_1_inherit_TYPE_descriptor(td);
1008 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1009}
1010
1011
1012/*** <<< STAT-DEFS [TypeRef] >>> ***/
1013
Lev Walkina7591b52014-10-12 18:37:35 -07001014static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001015 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1016};
1017asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1018 "TypeRef",
1019 "TypeRef",
1020 TypeRef_free,
1021 TypeRef_print,
1022 TypeRef_constraint,
1023 TypeRef_decode_ber,
1024 TypeRef_encode_der,
1025 TypeRef_decode_xer,
1026 TypeRef_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001027 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001028 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001029 asn_DEF_TypeRef_tags_1,
1030 sizeof(asn_DEF_TypeRef_tags_1)
1031 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1032 asn_DEF_TypeRef_tags_1, /* Same as above */
1033 sizeof(asn_DEF_TypeRef_tags_1)
1034 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1035 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001036 0, 0, /* Defined elsewhere */
1037 0 /* No specifics */
1038};
1039
1040
1041/*** <<< INCLUDES [Alpha] >>> ***/
1042
1043#include <constr_SEQUENCE.h>
1044
1045/*** <<< FWD-DECLS [Alpha] >>> ***/
1046
1047struct Beta;
1048
1049/*** <<< TYPE-DECLS [Alpha] >>> ***/
1050
1051typedef struct Alpha {
1052 struct Beta *a;
1053 struct b {
1054 struct Beta *b /* OPTIONAL */;
1055
1056 /* Context for parsing across buffer boundaries */
1057 asn_struct_ctx_t _asn_ctx;
1058 } b;
1059
1060 /* Context for parsing across buffer boundaries */
1061 asn_struct_ctx_t _asn_ctx;
1062} Alpha_t;
1063
1064/*** <<< FUNC-DECLS [Alpha] >>> ***/
1065
1066extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1067
1068/*** <<< POST-INCLUDE [Alpha] >>> ***/
1069
Lev Walkin22b5ed42006-09-13 02:51:20 +00001070#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001071
1072/*** <<< STAT-DEFS [Alpha] >>> ***/
1073
1074static asn_TYPE_member_t asn_MBR_b_3[] = {
1075 { ATF_POINTER, 1, offsetof(struct b, b),
1076 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1077 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001078 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001079 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001080 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1081 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001082 .name = "b"
1083 },
1084};
Lev Walkina7591b52014-10-12 18:37:35 -07001085static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001086 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1087 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1088};
Lev Walkina7591b52014-10-12 18:37:35 -07001089static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001090 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001091};
Lev Walkin59b176e2005-11-26 11:25:14 +00001092static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001093 sizeof(struct b),
1094 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001095 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001096 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001097 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001098 -1, /* Start extensions */
1099 -1 /* Stop extensions */
1100};
1101static /* Use -fall-defs-global to expose */
1102asn_TYPE_descriptor_t asn_DEF_b_3 = {
1103 "b",
1104 "b",
1105 SEQUENCE_free,
1106 SEQUENCE_print,
1107 SEQUENCE_constraint,
1108 SEQUENCE_decode_ber,
1109 SEQUENCE_encode_der,
1110 SEQUENCE_decode_xer,
1111 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001112 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001113 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001114 asn_DEF_b_tags_3,
1115 sizeof(asn_DEF_b_tags_3)
1116 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1117 asn_DEF_b_tags_3, /* Same as above */
1118 sizeof(asn_DEF_b_tags_3)
1119 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1120 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001121 asn_MBR_b_3,
1122 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001123 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001124};
1125
1126static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1127 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1128 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1129 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001130 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001131 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001132 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1133 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001134 .name = "a"
1135 },
1136 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1137 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001138 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001139 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001140 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001141 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1142 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001143 .name = "b"
1144 },
1145};
Lev Walkina7591b52014-10-12 18:37:35 -07001146static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001147 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1148};
Lev Walkina7591b52014-10-12 18:37:35 -07001149static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001150 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1151 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001152};
Lev Walkin59b176e2005-11-26 11:25:14 +00001153static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001154 sizeof(struct Alpha),
1155 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001156 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001157 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001158 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001159 -1, /* Start extensions */
1160 -1 /* Stop extensions */
1161};
1162asn_TYPE_descriptor_t asn_DEF_Alpha = {
1163 "Alpha",
1164 "Alpha",
1165 SEQUENCE_free,
1166 SEQUENCE_print,
1167 SEQUENCE_constraint,
1168 SEQUENCE_decode_ber,
1169 SEQUENCE_encode_der,
1170 SEQUENCE_decode_xer,
1171 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001172 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001173 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001174 asn_DEF_Alpha_tags_1,
1175 sizeof(asn_DEF_Alpha_tags_1)
1176 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1177 asn_DEF_Alpha_tags_1, /* Same as above */
1178 sizeof(asn_DEF_Alpha_tags_1)
1179 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1180 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001181 asn_MBR_Alpha_1,
1182 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001183 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001184};
1185
1186
1187/*** <<< INCLUDES [Beta] >>> ***/
1188
1189#include <constr_SEQUENCE.h>
1190
1191/*** <<< FWD-DECLS [Beta] >>> ***/
1192
1193struct Alpha;
1194struct Gamma;
1195
1196/*** <<< TYPE-DECLS [Beta] >>> ***/
1197
1198typedef struct Beta {
1199 struct Alpha *b /* OPTIONAL */;
1200 struct Gamma *g /* OPTIONAL */;
1201
1202 /* Context for parsing across buffer boundaries */
1203 asn_struct_ctx_t _asn_ctx;
1204} Beta_t;
1205
1206/*** <<< FUNC-DECLS [Beta] >>> ***/
1207
1208extern asn_TYPE_descriptor_t asn_DEF_Beta;
1209
1210/*** <<< POST-INCLUDE [Beta] >>> ***/
1211
Lev Walkin22b5ed42006-09-13 02:51:20 +00001212#include "Alpha.h"
1213#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001214
1215/*** <<< STAT-DEFS [Beta] >>> ***/
1216
1217static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1218 { ATF_POINTER, 2, offsetof(struct Beta, b),
1219 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1220 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001221 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001222 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001223 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1224 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001225 .name = "b"
1226 },
1227 { ATF_POINTER, 1, offsetof(struct Beta, g),
1228 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1229 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001230 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001231 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001232 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1233 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001234 .name = "g"
1235 },
1236};
Lev Walkina7591b52014-10-12 18:37:35 -07001237static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001238 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1239};
Lev Walkina7591b52014-10-12 18:37:35 -07001240static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001241 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1242 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001243};
Lev Walkin59b176e2005-11-26 11:25:14 +00001244static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001245 sizeof(struct Beta),
1246 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001247 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001248 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001249 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001250 -1, /* Start extensions */
1251 -1 /* Stop extensions */
1252};
1253asn_TYPE_descriptor_t asn_DEF_Beta = {
1254 "Beta",
1255 "Beta",
1256 SEQUENCE_free,
1257 SEQUENCE_print,
1258 SEQUENCE_constraint,
1259 SEQUENCE_decode_ber,
1260 SEQUENCE_encode_der,
1261 SEQUENCE_decode_xer,
1262 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001263 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001264 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001265 asn_DEF_Beta_tags_1,
1266 sizeof(asn_DEF_Beta_tags_1)
1267 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1268 asn_DEF_Beta_tags_1, /* Same as above */
1269 sizeof(asn_DEF_Beta_tags_1)
1270 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1271 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001272 asn_MBR_Beta_1,
1273 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001274 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001275};
1276
1277
1278/*** <<< INCLUDES [Gamma] >>> ***/
1279
1280#include <constr_SEQUENCE.h>
1281
1282/*** <<< FWD-DECLS [Gamma] >>> ***/
1283
1284struct TwoThree;
1285struct Alpha;
1286struct Beta;
1287
1288/*** <<< TYPE-DECLS [Gamma] >>> ***/
1289
1290typedef struct Gamma {
1291 struct TwoThree *o;
1292 struct Alpha *a;
1293 struct Beta *b;
1294
1295 /* Context for parsing across buffer boundaries */
1296 asn_struct_ctx_t _asn_ctx;
1297} Gamma_t;
1298
1299/*** <<< FUNC-DECLS [Gamma] >>> ***/
1300
1301extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1302
1303/*** <<< POST-INCLUDE [Gamma] >>> ***/
1304
Lev Walkin22b5ed42006-09-13 02:51:20 +00001305#include "TwoThree.h"
1306#include "Alpha.h"
1307#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001308
1309/*** <<< STAT-DEFS [Gamma] >>> ***/
1310
1311static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1312 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1313 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1314 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001315 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001316 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001317 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1318 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001319 .name = "o"
1320 },
1321 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1322 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1323 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001324 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001325 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001326 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1327 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001328 .name = "a"
1329 },
1330 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1331 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1332 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001333 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001334 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001335 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1336 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001337 .name = "b"
1338 },
1339};
Lev Walkina7591b52014-10-12 18:37:35 -07001340static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001341 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1342};
Lev Walkina7591b52014-10-12 18:37:35 -07001343static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001344 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1345 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1346 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001347};
Lev Walkin59b176e2005-11-26 11:25:14 +00001348static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001349 sizeof(struct Gamma),
1350 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001351 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001352 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001353 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001354 -1, /* Start extensions */
1355 -1 /* Stop extensions */
1356};
1357asn_TYPE_descriptor_t asn_DEF_Gamma = {
1358 "Gamma",
1359 "Gamma",
1360 SEQUENCE_free,
1361 SEQUENCE_print,
1362 SEQUENCE_constraint,
1363 SEQUENCE_decode_ber,
1364 SEQUENCE_encode_der,
1365 SEQUENCE_decode_xer,
1366 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001367 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001368 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001369 asn_DEF_Gamma_tags_1,
1370 sizeof(asn_DEF_Gamma_tags_1)
1371 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1372 asn_DEF_Gamma_tags_1, /* Same as above */
1373 sizeof(asn_DEF_Gamma_tags_1)
1374 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1375 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001376 asn_MBR_Gamma_1,
1377 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001378 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001379};
1380
1381
1382/*** <<< INCLUDES [OneTwo] >>> ***/
1383
1384#include <constr_SET.h>
1385
1386/*** <<< DEPS [OneTwo] >>> ***/
1387
1388
1389/*
1390 * Method of determining the components presence
1391 */
1392typedef enum OneTwo_PR {
1393 OneTwo_PR_m12, /* Member m12 is present */
1394} OneTwo_PR;
1395
1396/*** <<< FWD-DECLS [OneTwo] >>> ***/
1397
1398struct TwoThree;
1399
1400/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1401
1402typedef struct OneTwo {
1403 struct TwoThree *m12;
1404
1405 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1406 unsigned int _presence_map
1407 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1408
1409 /* Context for parsing across buffer boundaries */
1410 asn_struct_ctx_t _asn_ctx;
1411} OneTwo_t;
1412
1413/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1414
1415extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1416
1417/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1418
Lev Walkin22b5ed42006-09-13 02:51:20 +00001419#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001420
1421/*** <<< STAT-DEFS [OneTwo] >>> ***/
1422
1423static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1424 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1425 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1426 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001427 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001428 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001429 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1430 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001431 .name = "m12"
1432 },
1433};
Lev Walkina7591b52014-10-12 18:37:35 -07001434static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001435 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1436};
Lev Walkina7591b52014-10-12 18:37:35 -07001437static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001438 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001439};
Lev Walkina7591b52014-10-12 18:37:35 -07001440static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001441 (1 << 7)
1442};
Lev Walkin59b176e2005-11-26 11:25:14 +00001443static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001444 sizeof(struct OneTwo),
1445 offsetof(struct OneTwo, _asn_ctx),
1446 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001447 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001448 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001449 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001450 1, /* Count of tags in the CXER map */
1451 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001452 (unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001453};
1454asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1455 "OneTwo",
1456 "OneTwo",
1457 SET_free,
1458 SET_print,
1459 SET_constraint,
1460 SET_decode_ber,
1461 SET_encode_der,
1462 SET_decode_xer,
1463 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001464 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001465 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001466 asn_DEF_OneTwo_tags_1,
1467 sizeof(asn_DEF_OneTwo_tags_1)
1468 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1469 asn_DEF_OneTwo_tags_1, /* Same as above */
1470 sizeof(asn_DEF_OneTwo_tags_1)
1471 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1472 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001473 asn_MBR_OneTwo_1,
1474 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001475 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001476};
1477
1478
1479/*** <<< INCLUDES [TwoThree] >>> ***/
1480
1481#include <constr_SET.h>
1482
1483/*** <<< DEPS [TwoThree] >>> ***/
1484
1485
1486/*
1487 * Method of determining the components presence
1488 */
1489typedef enum TwoThree_PR {
1490 TwoThree_PR_m23, /* Member m23 is present */
1491} TwoThree_PR;
1492
1493/*** <<< FWD-DECLS [TwoThree] >>> ***/
1494
1495struct ThreeOne;
1496
1497/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1498
1499typedef struct TwoThree {
1500 struct ThreeOne *m23;
1501
1502 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1503 unsigned int _presence_map
1504 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1505
1506 /* Context for parsing across buffer boundaries */
1507 asn_struct_ctx_t _asn_ctx;
1508} TwoThree_t;
1509
1510/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1511
1512extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1513
1514/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1515
Lev Walkin22b5ed42006-09-13 02:51:20 +00001516#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001517
1518/*** <<< STAT-DEFS [TwoThree] >>> ***/
1519
1520static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1521 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1522 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1523 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001524 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001525 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001526 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1527 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001528 .name = "m23"
1529 },
1530};
Lev Walkina7591b52014-10-12 18:37:35 -07001531static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001532 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1533};
Lev Walkina7591b52014-10-12 18:37:35 -07001534static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001535 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001536};
Lev Walkina7591b52014-10-12 18:37:35 -07001537static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001538 (1 << 7)
1539};
Lev Walkin59b176e2005-11-26 11:25:14 +00001540static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001541 sizeof(struct TwoThree),
1542 offsetof(struct TwoThree, _asn_ctx),
1543 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001544 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001545 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001546 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001547 1, /* Count of tags in the CXER map */
1548 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001549 (unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001550};
1551asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1552 "TwoThree",
1553 "TwoThree",
1554 SET_free,
1555 SET_print,
1556 SET_constraint,
1557 SET_decode_ber,
1558 SET_encode_der,
1559 SET_decode_xer,
1560 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001561 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001562 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001563 asn_DEF_TwoThree_tags_1,
1564 sizeof(asn_DEF_TwoThree_tags_1)
1565 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1566 asn_DEF_TwoThree_tags_1, /* Same as above */
1567 sizeof(asn_DEF_TwoThree_tags_1)
1568 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1569 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001570 asn_MBR_TwoThree_1,
1571 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001572 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001573};
1574
1575
1576/*** <<< INCLUDES [ThreeOne] >>> ***/
1577
1578#include <constr_SET.h>
1579
1580/*** <<< DEPS [ThreeOne] >>> ***/
1581
1582
1583/*
1584 * Method of determining the components presence
1585 */
1586typedef enum ThreeOne_PR {
1587 ThreeOne_PR_m31, /* Member m31 is present */
1588 ThreeOne_PR_g, /* Member g is present */
1589} ThreeOne_PR;
1590
1591/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1592
1593struct OneTwo;
1594struct Gamma;
1595
1596/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1597
1598typedef struct ThreeOne {
1599 struct OneTwo *m31;
1600 struct Gamma *g;
1601
1602 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1603 unsigned int _presence_map
1604 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1605
1606 /* Context for parsing across buffer boundaries */
1607 asn_struct_ctx_t _asn_ctx;
1608} ThreeOne_t;
1609
1610/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1611
1612extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1613
1614/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1615
Lev Walkin22b5ed42006-09-13 02:51:20 +00001616#include "OneTwo.h"
1617#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001618
1619/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1620
1621static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1622 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1623 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1624 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001625 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001626 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001627 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1628 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001629 .name = "m31"
1630 },
1631 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1632 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1633 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001634 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001635 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001636 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1637 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001638 .name = "g"
1639 },
1640};
Lev Walkina7591b52014-10-12 18:37:35 -07001641static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001642 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1643};
Lev Walkina7591b52014-10-12 18:37:35 -07001644static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001645 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1646 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001647};
Lev Walkina7591b52014-10-12 18:37:35 -07001648static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001649 (1 << 7) | (1 << 6)
1650};
Lev Walkin59b176e2005-11-26 11:25:14 +00001651static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001652 sizeof(struct ThreeOne),
1653 offsetof(struct ThreeOne, _asn_ctx),
1654 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001655 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001656 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001657 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001658 2, /* Count of tags in the CXER map */
1659 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001660 (unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001661};
1662asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1663 "ThreeOne",
1664 "ThreeOne",
1665 SET_free,
1666 SET_print,
1667 SET_constraint,
1668 SET_decode_ber,
1669 SET_encode_der,
1670 SET_decode_xer,
1671 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001672 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001673 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001674 asn_DEF_ThreeOne_tags_1,
1675 sizeof(asn_DEF_ThreeOne_tags_1)
1676 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1677 asn_DEF_ThreeOne_tags_1, /* Same as above */
1678 sizeof(asn_DEF_ThreeOne_tags_1)
1679 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1680 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001681 asn_MBR_ThreeOne_1,
1682 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001683 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001684};
1685