blob: 7f0c38597b8620bc59597a2e936e5518f8beda1d [file] [log] [blame]
Lev Walkincee931e2005-08-16 16:56:59 +00001
2/*** <<< INCLUDES [Everything] >>> ***/
3
Lev Walkincee931e2005-08-16 16:56:59 +00004#include <Set.h>
Lev Walkinb85a8132005-08-18 13:38:19 +00005#include <Alpha.h>
6#include <Beta.h>
7#include <Gamma.h>
8#include <OneTwo.h>
9#include <TwoThree.h>
10#include <ThreeOne.h>
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
43#include <Choice1.h>
44#include <Choice2.h>
45#include <Choice3.h>
46
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 Walkin59b176e2005-11-26 11:25:14 +0000141static 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 Walkin59b176e2005-11-26 11:25:14 +0000144static asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 at 15 */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 at 16 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000147 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 at 17 */
148 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set at 18 */
149 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a at 19 */
150 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b at 20 */
151 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g at 21 */
152 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot at 22 */
153 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt at 23 */
154 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to at 25 */
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 Walkin59b176e2005-11-26 11:25:14 +0000175 0, /* No PER decoder, -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 */
200 Choice1_PR_some2,
201} 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
230#include <Everything.h>
231
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 Walkin59b176e2005-11-26 11:25:14 +0000254static asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000255 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something at 29 */
256 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 at 32 */
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 Walkin59b176e2005-11-26 11:25:14 +0000278 0, /* No PER decoder, -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 */
301 Choice2_PR_some3,
302} 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 Walkinb85a8132005-08-18 13:38:19 +0000332#include <TypeRef.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000333#include <Everything.h>
334
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 Walkin59b176e2005-11-26 11:25:14 +0000357static asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000358 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref at 35 */
359 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 at 38 */
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 Walkin59b176e2005-11-26 11:25:14 +0000381 0, /* No PER decoder, -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,
407 Choice3_PR_c,
408} 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
445#include <Everything.h>
446#include <Choice3.h>
447
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 Walkin59b176e2005-11-26 11:25:14 +0000461static 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 Walkin59b176e2005-11-26 11:25:14 +0000465static asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000466 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa at 43 */
467};
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 Walkin59b176e2005-11-26 11:25:14 +0000488 0, /* No PER decoder, -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 Walkin59b176e2005-11-26 11:25:14 +0000513static 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 Walkin59b176e2005-11-26 11:25:14 +0000533 0, /* No PER decoder, -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)),
550 .tag_mode = -1, /* IMPLICIT tag at current level */
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)),
568 .tag_mode = -1, /* IMPLICIT tag at current level */
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 Walkin59b176e2005-11-26 11:25:14 +0000576static asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000577 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 43 */
578 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b at 44 */
579 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c at 46 */
580};
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 Walkin59b176e2005-11-26 11:25:14 +0000601 0, /* No PER decoder, -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>
617#include <INTEGER.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
626/*** <<< TYPE-DECLS [Set] >>> ***/
627
628typedef struct Set {
629 A_SET_OF(struct Member {
630 INTEGER_t Int;
631 struct Set *set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000632 struct Sequence *seq;
Lev Walkincee931e2005-08-16 16:56:59 +0000633 struct Set *set2 /* OPTIONAL */;
634 /*
635 * This type is extensible,
636 * possible extensions are below.
637 */
638 struct Set *set3;
639
640 /* Context for parsing across buffer boundaries */
641 asn_struct_ctx_t _asn_ctx;
642 } ) list;
643
644 /* Context for parsing across buffer boundaries */
645 asn_struct_ctx_t _asn_ctx;
646} Set_t;
647
648/*** <<< FUNC-DECLS [Set] >>> ***/
649
650extern asn_TYPE_descriptor_t asn_DEF_Set;
651
652/*** <<< POST-INCLUDE [Set] >>> ***/
653
654#include <Set.h>
Lev Walkinb85a8132005-08-18 13:38:19 +0000655#include <Sequence.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000656
657/*** <<< STAT-DEFS [Set] >>> ***/
658
659static asn_TYPE_member_t asn_MBR_Member_2[] = {
660 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
661 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
662 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000663 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000664 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000665 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
666 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000667 .name = "int"
668 },
669 { ATF_POINTER, 0, offsetof(struct Member, set),
670 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
671 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000672 .type = &asn_DEF_Set,
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 = "set"
677 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000678 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000679 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
680 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000681 .type = &asn_DEF_Sequence,
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 = "seq"
686 },
687 { ATF_POINTER, 2, offsetof(struct Member, set2),
688 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
689 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000690 .type = &asn_DEF_Set,
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 = "set2"
695 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000696 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000697 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 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 = "set3"
704 },
705};
Lev Walkin59b176e2005-11-26 11:25:14 +0000706static ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000707 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
708};
Lev Walkin59b176e2005-11-26 11:25:14 +0000709static asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000710 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int at 49 */
711 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 50 */
712 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq at 51 */
713 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 at 52 */
714 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 at 55 */
Lev Walkincee931e2005-08-16 16:56:59 +0000715};
Lev Walkin59b176e2005-11-26 11:25:14 +0000716static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000717 sizeof(struct Member),
718 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000719 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000720 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000721 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000722 3, /* Start extensions */
723 6 /* Stop extensions */
724};
725static /* Use -fall-defs-global to expose */
726asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000727 "SEQUENCE",
728 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000729 SEQUENCE_free,
730 SEQUENCE_print,
731 SEQUENCE_constraint,
732 SEQUENCE_decode_ber,
733 SEQUENCE_encode_der,
734 SEQUENCE_decode_xer,
735 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000736 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000737 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000738 asn_DEF_Member_tags_2,
739 sizeof(asn_DEF_Member_tags_2)
740 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
741 asn_DEF_Member_tags_2, /* Same as above */
742 sizeof(asn_DEF_Member_tags_2)
743 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
744 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000745 asn_MBR_Member_2,
746 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000747 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000748};
749
750static asn_TYPE_member_t asn_MBR_Set_1[] = {
751 { ATF_POINTER, 0, 0,
752 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
753 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000754 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000755 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000756 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
757 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000758 .name = ""
759 },
760};
Lev Walkin59b176e2005-11-26 11:25:14 +0000761static ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000762 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
763};
Lev Walkin59b176e2005-11-26 11:25:14 +0000764static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000765 sizeof(struct Set),
766 offsetof(struct Set, _asn_ctx),
767 0, /* XER encoding is XMLDelimitedItemList */
768};
769asn_TYPE_descriptor_t asn_DEF_Set = {
770 "Set",
771 "Set",
772 SET_OF_free,
773 SET_OF_print,
774 SET_OF_constraint,
775 SET_OF_decode_ber,
776 SET_OF_encode_der,
777 SET_OF_decode_xer,
778 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000779 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000780 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000781 asn_DEF_Set_tags_1,
782 sizeof(asn_DEF_Set_tags_1)
783 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
784 asn_DEF_Set_tags_1, /* Same as above */
785 sizeof(asn_DEF_Set_tags_1)
786 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
787 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000788 asn_MBR_Set_1,
789 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000790 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000791};
792
793
794/*** <<< INCLUDES [Sequence] >>> ***/
795
796#include <INTEGER.h>
797#include <constr_SEQUENCE.h>
798
799/*** <<< FWD-DECLS [Sequence] >>> ***/
800
801struct Sequence;
802struct Set;
803
804/*** <<< TYPE-DECLS [Sequence] >>> ***/
805
806typedef struct Sequence {
807 INTEGER_t a;
808 struct Sequence *seq /* OPTIONAL */;
809 /*
810 * This type is extensible,
811 * possible extensions are below.
812 */
813 INTEGER_t *b;
814 struct Set *set /* OPTIONAL */;
815
816 /* Context for parsing across buffer boundaries */
817 asn_struct_ctx_t _asn_ctx;
818} Sequence_t;
819
820/*** <<< FUNC-DECLS [Sequence] >>> ***/
821
822extern asn_TYPE_descriptor_t asn_DEF_Sequence;
823
824/*** <<< POST-INCLUDE [Sequence] >>> ***/
825
826#include <Sequence.h>
827#include <Set.h>
828
829/*** <<< STAT-DEFS [Sequence] >>> ***/
830
831static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
832 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
833 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
834 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000835 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000836 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000837 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
838 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000839 .name = "a"
840 },
841 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
842 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
843 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000844 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000845 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000846 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
847 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000848 .name = "seq"
849 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000850 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000851 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
852 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000853 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000854 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000855 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
856 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000857 .name = "b"
858 },
859 { ATF_POINTER, 1, offsetof(struct Sequence, set),
860 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
861 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000862 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000863 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000864 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
865 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000866 .name = "set"
867 },
868};
Lev Walkin59b176e2005-11-26 11:25:14 +0000869static ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000870 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
871};
Lev Walkin59b176e2005-11-26 11:25:14 +0000872static asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000873 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 58 */
874 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq at 59 */
875 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b at 61 */
876 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set at 62 */
Lev Walkincee931e2005-08-16 16:56:59 +0000877};
Lev Walkin59b176e2005-11-26 11:25:14 +0000878static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000879 sizeof(struct Sequence),
880 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000881 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000882 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000883 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000884 1, /* Start extensions */
885 5 /* Stop extensions */
886};
887asn_TYPE_descriptor_t asn_DEF_Sequence = {
888 "Sequence",
889 "Sequence",
890 SEQUENCE_free,
891 SEQUENCE_print,
892 SEQUENCE_constraint,
893 SEQUENCE_decode_ber,
894 SEQUENCE_encode_der,
895 SEQUENCE_decode_xer,
896 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000897 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000898 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000899 asn_DEF_Sequence_tags_1,
900 sizeof(asn_DEF_Sequence_tags_1)
901 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
902 asn_DEF_Sequence_tags_1, /* Same as above */
903 sizeof(asn_DEF_Sequence_tags_1)
904 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
905 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000906 asn_MBR_Sequence_1,
907 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000908 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000909};
910
Lev Walkinb85a8132005-08-18 13:38:19 +0000911
912/*** <<< INCLUDES [TypeRef] >>> ***/
913
914#include <Sequence.h>
915
916/*** <<< TYPE-DECLS [TypeRef] >>> ***/
917
918typedef Sequence_t TypeRef_t;
919
920/*** <<< FUNC-DECLS [TypeRef] >>> ***/
921
922extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
923asn_struct_free_f TypeRef_free;
924asn_struct_print_f TypeRef_print;
925asn_constr_check_f TypeRef_constraint;
926ber_type_decoder_f TypeRef_decode_ber;
927der_type_encoder_f TypeRef_encode_der;
928xer_type_decoder_f TypeRef_decode_xer;
929xer_type_encoder_f TypeRef_encode_xer;
930
931/*** <<< CODE [TypeRef] >>> ***/
932
933int
934TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
935 asn_app_consume_bytes_f *app_errlog, void *app_key) {
936 /* Replace with underlying type checker */
937 td->check_constraints = asn_DEF_Sequence.check_constraints;
938 return td->check_constraints(td, sptr, app_errlog, app_key);
939}
940
941/*
942 * This type is implemented using Sequence,
943 * so here we adjust the DEF accordingly.
944 */
945static void
946TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
947 td->free_struct = asn_DEF_Sequence.free_struct;
948 td->print_struct = asn_DEF_Sequence.print_struct;
949 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
950 td->der_encoder = asn_DEF_Sequence.der_encoder;
951 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
952 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000953 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
954 if(!td->per_constraints)
955 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000956 td->elements = asn_DEF_Sequence.elements;
957 td->elements_count = asn_DEF_Sequence.elements_count;
958 td->specifics = asn_DEF_Sequence.specifics;
959}
960
961void
962TypeRef_free(asn_TYPE_descriptor_t *td,
963 void *struct_ptr, int contents_only) {
964 TypeRef_1_inherit_TYPE_descriptor(td);
965 td->free_struct(td, struct_ptr, contents_only);
966}
967
968int
969TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
970 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
971 TypeRef_1_inherit_TYPE_descriptor(td);
972 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
973}
974
975asn_dec_rval_t
976TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
977 void **structure, const void *bufptr, size_t size, int tag_mode) {
978 TypeRef_1_inherit_TYPE_descriptor(td);
979 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
980}
981
982asn_enc_rval_t
983TypeRef_encode_der(asn_TYPE_descriptor_t *td,
984 void *structure, int tag_mode, ber_tlv_tag_t tag,
985 asn_app_consume_bytes_f *cb, void *app_key) {
986 TypeRef_1_inherit_TYPE_descriptor(td);
987 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
988}
989
990asn_dec_rval_t
991TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
992 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
993 TypeRef_1_inherit_TYPE_descriptor(td);
994 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
995}
996
997asn_enc_rval_t
998TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
999 int ilevel, enum xer_encoder_flags_e flags,
1000 asn_app_consume_bytes_f *cb, void *app_key) {
1001 TypeRef_1_inherit_TYPE_descriptor(td);
1002 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1003}
1004
1005
1006/*** <<< STAT-DEFS [TypeRef] >>> ***/
1007
Lev Walkin59b176e2005-11-26 11:25:14 +00001008static ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001009 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1010};
1011asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1012 "TypeRef",
1013 "TypeRef",
1014 TypeRef_free,
1015 TypeRef_print,
1016 TypeRef_constraint,
1017 TypeRef_decode_ber,
1018 TypeRef_encode_der,
1019 TypeRef_decode_xer,
1020 TypeRef_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001021 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001022 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001023 asn_DEF_TypeRef_tags_1,
1024 sizeof(asn_DEF_TypeRef_tags_1)
1025 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1026 asn_DEF_TypeRef_tags_1, /* Same as above */
1027 sizeof(asn_DEF_TypeRef_tags_1)
1028 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1029 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001030 0, 0, /* Defined elsewhere */
1031 0 /* No specifics */
1032};
1033
1034
1035/*** <<< INCLUDES [Alpha] >>> ***/
1036
1037#include <constr_SEQUENCE.h>
1038
1039/*** <<< FWD-DECLS [Alpha] >>> ***/
1040
1041struct Beta;
1042
1043/*** <<< TYPE-DECLS [Alpha] >>> ***/
1044
1045typedef struct Alpha {
1046 struct Beta *a;
1047 struct b {
1048 struct Beta *b /* OPTIONAL */;
1049
1050 /* Context for parsing across buffer boundaries */
1051 asn_struct_ctx_t _asn_ctx;
1052 } b;
1053
1054 /* Context for parsing across buffer boundaries */
1055 asn_struct_ctx_t _asn_ctx;
1056} Alpha_t;
1057
1058/*** <<< FUNC-DECLS [Alpha] >>> ***/
1059
1060extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1061
1062/*** <<< POST-INCLUDE [Alpha] >>> ***/
1063
1064#include <Beta.h>
1065
1066/*** <<< STAT-DEFS [Alpha] >>> ***/
1067
1068static asn_TYPE_member_t asn_MBR_b_3[] = {
1069 { ATF_POINTER, 1, offsetof(struct b, b),
1070 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1071 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001072 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001073 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001074 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1075 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001076 .name = "b"
1077 },
1078};
Lev Walkin59b176e2005-11-26 11:25:14 +00001079static ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001080 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1081 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1082};
Lev Walkin59b176e2005-11-26 11:25:14 +00001083static asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001084 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b at 70 */
1085};
Lev Walkin59b176e2005-11-26 11:25:14 +00001086static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001087 sizeof(struct b),
1088 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001089 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001090 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001091 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001092 -1, /* Start extensions */
1093 -1 /* Stop extensions */
1094};
1095static /* Use -fall-defs-global to expose */
1096asn_TYPE_descriptor_t asn_DEF_b_3 = {
1097 "b",
1098 "b",
1099 SEQUENCE_free,
1100 SEQUENCE_print,
1101 SEQUENCE_constraint,
1102 SEQUENCE_decode_ber,
1103 SEQUENCE_encode_der,
1104 SEQUENCE_decode_xer,
1105 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001106 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001107 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001108 asn_DEF_b_tags_3,
1109 sizeof(asn_DEF_b_tags_3)
1110 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1111 asn_DEF_b_tags_3, /* Same as above */
1112 sizeof(asn_DEF_b_tags_3)
1113 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1114 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001115 asn_MBR_b_3,
1116 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001117 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001118};
1119
1120static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1121 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1122 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1123 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001124 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001125 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001126 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1127 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001128 .name = "a"
1129 },
1130 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1131 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1132 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001133 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001134 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001135 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1136 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001137 .name = "b"
1138 },
1139};
Lev Walkin59b176e2005-11-26 11:25:14 +00001140static ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001141 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1142};
Lev Walkin59b176e2005-11-26 11:25:14 +00001143static asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001144 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 68 */
1145 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 70 */
1146};
Lev Walkin59b176e2005-11-26 11:25:14 +00001147static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001148 sizeof(struct Alpha),
1149 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001150 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001151 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001152 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001153 -1, /* Start extensions */
1154 -1 /* Stop extensions */
1155};
1156asn_TYPE_descriptor_t asn_DEF_Alpha = {
1157 "Alpha",
1158 "Alpha",
1159 SEQUENCE_free,
1160 SEQUENCE_print,
1161 SEQUENCE_constraint,
1162 SEQUENCE_decode_ber,
1163 SEQUENCE_encode_der,
1164 SEQUENCE_decode_xer,
1165 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001166 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001167 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001168 asn_DEF_Alpha_tags_1,
1169 sizeof(asn_DEF_Alpha_tags_1)
1170 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1171 asn_DEF_Alpha_tags_1, /* Same as above */
1172 sizeof(asn_DEF_Alpha_tags_1)
1173 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1174 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001175 asn_MBR_Alpha_1,
1176 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001177 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001178};
1179
1180
1181/*** <<< INCLUDES [Beta] >>> ***/
1182
1183#include <constr_SEQUENCE.h>
1184
1185/*** <<< FWD-DECLS [Beta] >>> ***/
1186
1187struct Alpha;
1188struct Gamma;
1189
1190/*** <<< TYPE-DECLS [Beta] >>> ***/
1191
1192typedef struct Beta {
1193 struct Alpha *b /* OPTIONAL */;
1194 struct Gamma *g /* OPTIONAL */;
1195
1196 /* Context for parsing across buffer boundaries */
1197 asn_struct_ctx_t _asn_ctx;
1198} Beta_t;
1199
1200/*** <<< FUNC-DECLS [Beta] >>> ***/
1201
1202extern asn_TYPE_descriptor_t asn_DEF_Beta;
1203
1204/*** <<< POST-INCLUDE [Beta] >>> ***/
1205
1206#include <Alpha.h>
1207#include <Gamma.h>
1208
1209/*** <<< STAT-DEFS [Beta] >>> ***/
1210
1211static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1212 { ATF_POINTER, 2, offsetof(struct Beta, b),
1213 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1214 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001215 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001216 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001217 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1218 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001219 .name = "b"
1220 },
1221 { ATF_POINTER, 1, offsetof(struct Beta, g),
1222 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1223 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001224 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001225 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001226 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1227 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001228 .name = "g"
1229 },
1230};
Lev Walkin59b176e2005-11-26 11:25:14 +00001231static ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001232 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1233};
Lev Walkin59b176e2005-11-26 11:25:14 +00001234static asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001235 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b at 75 */
1236 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 76 */
1237};
Lev Walkin59b176e2005-11-26 11:25:14 +00001238static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001239 sizeof(struct Beta),
1240 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001241 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001242 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001243 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001244 -1, /* Start extensions */
1245 -1 /* Stop extensions */
1246};
1247asn_TYPE_descriptor_t asn_DEF_Beta = {
1248 "Beta",
1249 "Beta",
1250 SEQUENCE_free,
1251 SEQUENCE_print,
1252 SEQUENCE_constraint,
1253 SEQUENCE_decode_ber,
1254 SEQUENCE_encode_der,
1255 SEQUENCE_decode_xer,
1256 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001257 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001258 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001259 asn_DEF_Beta_tags_1,
1260 sizeof(asn_DEF_Beta_tags_1)
1261 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1262 asn_DEF_Beta_tags_1, /* Same as above */
1263 sizeof(asn_DEF_Beta_tags_1)
1264 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1265 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001266 asn_MBR_Beta_1,
1267 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001268 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001269};
1270
1271
1272/*** <<< INCLUDES [Gamma] >>> ***/
1273
1274#include <constr_SEQUENCE.h>
1275
1276/*** <<< FWD-DECLS [Gamma] >>> ***/
1277
1278struct TwoThree;
1279struct Alpha;
1280struct Beta;
1281
1282/*** <<< TYPE-DECLS [Gamma] >>> ***/
1283
1284typedef struct Gamma {
1285 struct TwoThree *o;
1286 struct Alpha *a;
1287 struct Beta *b;
1288
1289 /* Context for parsing across buffer boundaries */
1290 asn_struct_ctx_t _asn_ctx;
1291} Gamma_t;
1292
1293/*** <<< FUNC-DECLS [Gamma] >>> ***/
1294
1295extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1296
1297/*** <<< POST-INCLUDE [Gamma] >>> ***/
1298
1299#include <TwoThree.h>
1300#include <Alpha.h>
1301#include <Beta.h>
1302
1303/*** <<< STAT-DEFS [Gamma] >>> ***/
1304
1305static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1306 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1307 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1308 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001309 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001310 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001311 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1312 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001313 .name = "o"
1314 },
1315 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1316 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1317 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001318 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001319 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001320 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1321 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001322 .name = "a"
1323 },
1324 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1325 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1326 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001327 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001328 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001329 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1330 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001331 .name = "b"
1332 },
1333};
Lev Walkin59b176e2005-11-26 11:25:14 +00001334static ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001335 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1336};
Lev Walkin59b176e2005-11-26 11:25:14 +00001337static asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001338 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o at 80 */
1339 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a at 81 */
1340 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b at 83 */
1341};
Lev Walkin59b176e2005-11-26 11:25:14 +00001342static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001343 sizeof(struct Gamma),
1344 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001345 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001346 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001347 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001348 -1, /* Start extensions */
1349 -1 /* Stop extensions */
1350};
1351asn_TYPE_descriptor_t asn_DEF_Gamma = {
1352 "Gamma",
1353 "Gamma",
1354 SEQUENCE_free,
1355 SEQUENCE_print,
1356 SEQUENCE_constraint,
1357 SEQUENCE_decode_ber,
1358 SEQUENCE_encode_der,
1359 SEQUENCE_decode_xer,
1360 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001361 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001362 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001363 asn_DEF_Gamma_tags_1,
1364 sizeof(asn_DEF_Gamma_tags_1)
1365 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1366 asn_DEF_Gamma_tags_1, /* Same as above */
1367 sizeof(asn_DEF_Gamma_tags_1)
1368 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1369 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001370 asn_MBR_Gamma_1,
1371 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001372 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001373};
1374
1375
1376/*** <<< INCLUDES [OneTwo] >>> ***/
1377
1378#include <constr_SET.h>
1379
1380/*** <<< DEPS [OneTwo] >>> ***/
1381
1382
1383/*
1384 * Method of determining the components presence
1385 */
1386typedef enum OneTwo_PR {
1387 OneTwo_PR_m12, /* Member m12 is present */
1388} OneTwo_PR;
1389
1390/*** <<< FWD-DECLS [OneTwo] >>> ***/
1391
1392struct TwoThree;
1393
1394/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1395
1396typedef struct OneTwo {
1397 struct TwoThree *m12;
1398
1399 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1400 unsigned int _presence_map
1401 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1402
1403 /* Context for parsing across buffer boundaries */
1404 asn_struct_ctx_t _asn_ctx;
1405} OneTwo_t;
1406
1407/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1408
1409extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1410
1411/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1412
1413#include <TwoThree.h>
1414
1415/*** <<< STAT-DEFS [OneTwo] >>> ***/
1416
1417static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1418 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1419 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1420 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001421 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001422 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001423 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1424 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001425 .name = "m12"
1426 },
1427};
Lev Walkin59b176e2005-11-26 11:25:14 +00001428static ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001429 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1430};
Lev Walkin59b176e2005-11-26 11:25:14 +00001431static asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001432 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 at 86 */
1433};
Lev Walkin59b176e2005-11-26 11:25:14 +00001434static uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001435 (1 << 7)
1436};
Lev Walkin59b176e2005-11-26 11:25:14 +00001437static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001438 sizeof(struct OneTwo),
1439 offsetof(struct OneTwo, _asn_ctx),
1440 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001441 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001442 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001443 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001444 1, /* Count of tags in the CXER map */
1445 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001446 (unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001447};
1448asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1449 "OneTwo",
1450 "OneTwo",
1451 SET_free,
1452 SET_print,
1453 SET_constraint,
1454 SET_decode_ber,
1455 SET_encode_der,
1456 SET_decode_xer,
1457 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001458 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001459 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001460 asn_DEF_OneTwo_tags_1,
1461 sizeof(asn_DEF_OneTwo_tags_1)
1462 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1463 asn_DEF_OneTwo_tags_1, /* Same as above */
1464 sizeof(asn_DEF_OneTwo_tags_1)
1465 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1466 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001467 asn_MBR_OneTwo_1,
1468 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001469 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001470};
1471
1472
1473/*** <<< INCLUDES [TwoThree] >>> ***/
1474
1475#include <constr_SET.h>
1476
1477/*** <<< DEPS [TwoThree] >>> ***/
1478
1479
1480/*
1481 * Method of determining the components presence
1482 */
1483typedef enum TwoThree_PR {
1484 TwoThree_PR_m23, /* Member m23 is present */
1485} TwoThree_PR;
1486
1487/*** <<< FWD-DECLS [TwoThree] >>> ***/
1488
1489struct ThreeOne;
1490
1491/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1492
1493typedef struct TwoThree {
1494 struct ThreeOne *m23;
1495
1496 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1497 unsigned int _presence_map
1498 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1499
1500 /* Context for parsing across buffer boundaries */
1501 asn_struct_ctx_t _asn_ctx;
1502} TwoThree_t;
1503
1504/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1505
1506extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1507
1508/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1509
1510#include <ThreeOne.h>
1511
1512/*** <<< STAT-DEFS [TwoThree] >>> ***/
1513
1514static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1515 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1516 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1517 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001518 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001519 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001520 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1521 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001522 .name = "m23"
1523 },
1524};
Lev Walkin59b176e2005-11-26 11:25:14 +00001525static ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001526 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1527};
Lev Walkin59b176e2005-11-26 11:25:14 +00001528static asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001529 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 at 87 */
1530};
Lev Walkin59b176e2005-11-26 11:25:14 +00001531static uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001532 (1 << 7)
1533};
Lev Walkin59b176e2005-11-26 11:25:14 +00001534static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001535 sizeof(struct TwoThree),
1536 offsetof(struct TwoThree, _asn_ctx),
1537 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001538 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001539 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001540 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001541 1, /* Count of tags in the CXER map */
1542 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001543 (unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001544};
1545asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1546 "TwoThree",
1547 "TwoThree",
1548 SET_free,
1549 SET_print,
1550 SET_constraint,
1551 SET_decode_ber,
1552 SET_encode_der,
1553 SET_decode_xer,
1554 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001555 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001556 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001557 asn_DEF_TwoThree_tags_1,
1558 sizeof(asn_DEF_TwoThree_tags_1)
1559 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1560 asn_DEF_TwoThree_tags_1, /* Same as above */
1561 sizeof(asn_DEF_TwoThree_tags_1)
1562 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1563 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001564 asn_MBR_TwoThree_1,
1565 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001566 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001567};
1568
1569
1570/*** <<< INCLUDES [ThreeOne] >>> ***/
1571
1572#include <constr_SET.h>
1573
1574/*** <<< DEPS [ThreeOne] >>> ***/
1575
1576
1577/*
1578 * Method of determining the components presence
1579 */
1580typedef enum ThreeOne_PR {
1581 ThreeOne_PR_m31, /* Member m31 is present */
1582 ThreeOne_PR_g, /* Member g is present */
1583} ThreeOne_PR;
1584
1585/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1586
1587struct OneTwo;
1588struct Gamma;
1589
1590/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1591
1592typedef struct ThreeOne {
1593 struct OneTwo *m31;
1594 struct Gamma *g;
1595
1596 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1597 unsigned int _presence_map
1598 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1599
1600 /* Context for parsing across buffer boundaries */
1601 asn_struct_ctx_t _asn_ctx;
1602} ThreeOne_t;
1603
1604/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1605
1606extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1607
1608/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1609
1610#include <OneTwo.h>
1611#include <Gamma.h>
1612
1613/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1614
1615static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1616 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1617 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1618 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001619 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001620 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001621 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1622 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001623 .name = "m31"
1624 },
1625 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1626 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1627 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001628 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001629 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001630 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1631 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001632 .name = "g"
1633 },
1634};
Lev Walkin59b176e2005-11-26 11:25:14 +00001635static ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001636 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1637};
Lev Walkin59b176e2005-11-26 11:25:14 +00001638static asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001639 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 at 88 */
1640 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 88 */
1641};
Lev Walkin59b176e2005-11-26 11:25:14 +00001642static uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001643 (1 << 7) | (1 << 6)
1644};
Lev Walkin59b176e2005-11-26 11:25:14 +00001645static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001646 sizeof(struct ThreeOne),
1647 offsetof(struct ThreeOne, _asn_ctx),
1648 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001649 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001650 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001651 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001652 2, /* Count of tags in the CXER map */
1653 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001654 (unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001655};
1656asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1657 "ThreeOne",
1658 "ThreeOne",
1659 SET_free,
1660 SET_print,
1661 SET_constraint,
1662 SET_decode_ber,
1663 SET_encode_der,
1664 SET_decode_xer,
1665 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001666 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001667 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001668 asn_DEF_ThreeOne_tags_1,
1669 sizeof(asn_DEF_ThreeOne_tags_1)
1670 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1671 asn_DEF_ThreeOne_tags_1, /* Same as above */
1672 sizeof(asn_DEF_ThreeOne_tags_1)
1673 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1674 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001675 asn_MBR_ThreeOne_1,
1676 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001677 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001678};
1679