blob: 48d0c149dbde49ae8a6a7655d5d5c2870a0fa14c [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
Lev Walkincee931e2005-08-16 16:56:59 +0000192#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
Lev Walkinb85a8132005-08-18 13:38:19 +0000203/*** <<< FWD-DECLS [Choice1] >>> ***/
204
205struct Everything;
206
Lev Walkincee931e2005-08-16 16:56:59 +0000207/*** <<< TYPE-DECLS [Choice1] >>> ***/
208
209typedef struct Choice1 {
210 Choice1_PR present;
211 union Choice1_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000212 struct Everything *something;
Lev Walkincee931e2005-08-16 16:56:59 +0000213 /*
214 * This type is extensible,
215 * possible extensions are below.
216 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000217 struct Everything *some2;
Lev Walkincee931e2005-08-16 16:56:59 +0000218 } 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
Lev Walkinb85a8132005-08-18 13:38:19 +0000228/*** <<< POST-INCLUDE [Choice1] >>> ***/
229
230#include <Everything.h>
231
Lev Walkincee931e2005-08-16 16:56:59 +0000232/*** <<< STAT-DEFS [Choice1] >>> ***/
233
234static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000235 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
Lev Walkincee931e2005-08-16 16:56:59 +0000236 .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 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000244 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
Lev Walkincee931e2005-08-16 16:56:59 +0000245 .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
Lev Walkinb85a8132005-08-18 13:38:19 +0000293#include <TypeRef.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000294#include <constr_CHOICE.h>
295
296/*** <<< DEPS [Choice2] >>> ***/
297
298typedef enum Choice2_PR {
299 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000300 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000301 /* Extensions may appear below */
302 Choice2_PR_some3,
303} Choice2_PR;
304
Lev Walkinb85a8132005-08-18 13:38:19 +0000305/*** <<< FWD-DECLS [Choice2] >>> ***/
306
307struct Everything;
308
Lev Walkincee931e2005-08-16 16:56:59 +0000309/*** <<< TYPE-DECLS [Choice2] >>> ***/
310
311typedef struct Choice2 {
312 Choice2_PR present;
313 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000314 TypeRef_t typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000315 /*
316 * This type is extensible,
317 * possible extensions are below.
318 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000319 struct Everything *some3;
Lev Walkincee931e2005-08-16 16:56:59 +0000320 } 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
Lev Walkinb85a8132005-08-18 13:38:19 +0000330/*** <<< POST-INCLUDE [Choice2] >>> ***/
331
332#include <Everything.h>
333
Lev Walkincee931e2005-08-16 16:56:59 +0000334/*** <<< STAT-DEFS [Choice2] >>> ***/
335
336static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000337 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000338 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
339 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000340 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000341 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000342 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
343 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000344 .name = "typeref"
345 },
346 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
347 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
348 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000349 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000350 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000351 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
352 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000353 .name = "some3"
354 },
355};
Lev Walkin59b176e2005-11-26 11:25:14 +0000356static asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000357 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref at 35 */
358 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 at 38 */
Lev Walkincee931e2005-08-16 16:56:59 +0000359};
Lev Walkin59b176e2005-11-26 11:25:14 +0000360static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000361 sizeof(struct Choice2),
362 offsetof(struct Choice2, _asn_ctx),
363 offsetof(struct Choice2, present),
364 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000365 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000366 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000367 .canonical_order = 0,
368 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000369};
370asn_TYPE_descriptor_t asn_DEF_Choice2 = {
371 "Choice2",
372 "Choice2",
373 CHOICE_free,
374 CHOICE_print,
375 CHOICE_constraint,
376 CHOICE_decode_ber,
377 CHOICE_encode_der,
378 CHOICE_decode_xer,
379 CHOICE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000380 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000381 CHOICE_outmost_tag,
382 0, /* No effective tags (pointer) */
383 0, /* No effective tags (count) */
384 0, /* No tags (pointer) */
385 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000386 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000387 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000388 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000389 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000390};
391
392
Lev Walkinb85a8132005-08-18 13:38:19 +0000393/*** <<< INCLUDES [Choice3] >>> ***/
394
395#include <constr_SEQUENCE.h>
396#include <asn_SEQUENCE_OF.h>
397#include <constr_SEQUENCE_OF.h>
398#include <constr_CHOICE.h>
399
400/*** <<< DEPS [Choice3] >>> ***/
401
402typedef enum Choice3_PR {
403 Choice3_PR_NOTHING, /* No components present */
404 Choice3_PR_a,
405 Choice3_PR_b,
406 Choice3_PR_c,
407} Choice3_PR;
408
409/*** <<< FWD-DECLS [Choice3] >>> ***/
410
411struct Everything;
412struct Choice3;
413
414/*** <<< TYPE-DECLS [Choice3] >>> ***/
415
416typedef struct Choice3 {
417 Choice3_PR present;
418 union Choice3_u {
419 struct a {
420 struct Everything *aa;
421
422 /* Context for parsing across buffer boundaries */
423 asn_struct_ctx_t _asn_ctx;
424 } a;
425 struct Everything *b;
426 struct c {
427 A_SEQUENCE_OF(struct Choice3) list;
428
429 /* Context for parsing across buffer boundaries */
430 asn_struct_ctx_t _asn_ctx;
431 } c;
432 } choice;
433
434 /* Context for parsing across buffer boundaries */
435 asn_struct_ctx_t _asn_ctx;
436} Choice3_t;
437
438/*** <<< FUNC-DECLS [Choice3] >>> ***/
439
440extern asn_TYPE_descriptor_t asn_DEF_Choice3;
441
442/*** <<< POST-INCLUDE [Choice3] >>> ***/
443
444#include <Everything.h>
445#include <Choice3.h>
446
447/*** <<< STAT-DEFS [Choice3] >>> ***/
448
449static asn_TYPE_member_t asn_MBR_a_2[] = {
450 { ATF_POINTER, 0, offsetof(struct a, aa),
451 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
452 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000453 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000454 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000455 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
456 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000457 .name = "aa"
458 },
459};
Lev Walkin59b176e2005-11-26 11:25:14 +0000460static ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000461 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
462 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
463};
Lev Walkin59b176e2005-11-26 11:25:14 +0000464static asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000465 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa at 43 */
466};
Lev Walkin59b176e2005-11-26 11:25:14 +0000467static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000468 sizeof(struct a),
469 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000470 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000471 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000472 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000473 -1, /* Start extensions */
474 -1 /* Stop extensions */
475};
476static /* Use -fall-defs-global to expose */
477asn_TYPE_descriptor_t asn_DEF_a_2 = {
478 "a",
479 "a",
480 SEQUENCE_free,
481 SEQUENCE_print,
482 SEQUENCE_constraint,
483 SEQUENCE_decode_ber,
484 SEQUENCE_encode_der,
485 SEQUENCE_decode_xer,
486 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000487 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000488 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000489 asn_DEF_a_tags_2,
490 sizeof(asn_DEF_a_tags_2)
491 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
492 asn_DEF_a_tags_2, /* Same as above */
493 sizeof(asn_DEF_a_tags_2)
494 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
495 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000496 asn_MBR_a_2,
497 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000498 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000499};
500
501static asn_TYPE_member_t asn_MBR_c_5[] = {
502 { ATF_POINTER, 0, 0,
503 .tag = -1 /* Ambiguous tag (CHOICE?) */,
504 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000505 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000506 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000507 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
508 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000509 .name = ""
510 },
511};
Lev Walkin59b176e2005-11-26 11:25:14 +0000512static ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000513 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
514 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
515};
Lev Walkin59b176e2005-11-26 11:25:14 +0000516static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000517 sizeof(struct c),
518 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000519 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000520};
521static /* Use -fall-defs-global to expose */
522asn_TYPE_descriptor_t asn_DEF_c_5 = {
523 "c",
524 "c",
525 SEQUENCE_OF_free,
526 SEQUENCE_OF_print,
527 SEQUENCE_OF_constraint,
528 SEQUENCE_OF_decode_ber,
529 SEQUENCE_OF_encode_der,
530 SEQUENCE_OF_decode_xer,
531 SEQUENCE_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000532 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000533 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000534 asn_DEF_c_tags_5,
535 sizeof(asn_DEF_c_tags_5)
536 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
537 asn_DEF_c_tags_5, /* Same as above */
538 sizeof(asn_DEF_c_tags_5)
539 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
540 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000541 asn_MBR_c_5,
542 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000543 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000544};
545
546static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
547 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
548 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
549 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000550 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000551 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000552 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
553 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000554 .name = "a"
555 },
556 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
557 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
558 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000559 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000560 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000561 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
562 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000563 .name = "b"
564 },
565 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
566 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
567 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000568 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000569 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
571 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000572 .name = "c"
573 },
574};
Lev Walkin59b176e2005-11-26 11:25:14 +0000575static asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000576 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 43 */
577 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b at 44 */
578 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c at 46 */
579};
Lev Walkin59b176e2005-11-26 11:25:14 +0000580static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000581 sizeof(struct Choice3),
582 offsetof(struct Choice3, _asn_ctx),
583 offsetof(struct Choice3, present),
584 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000585 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000586 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000587 .canonical_order = 0,
588 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000589};
590asn_TYPE_descriptor_t asn_DEF_Choice3 = {
591 "Choice3",
592 "Choice3",
593 CHOICE_free,
594 CHOICE_print,
595 CHOICE_constraint,
596 CHOICE_decode_ber,
597 CHOICE_encode_der,
598 CHOICE_decode_xer,
599 CHOICE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000600 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000601 CHOICE_outmost_tag,
602 0, /* No effective tags (pointer) */
603 0, /* No effective tags (count) */
604 0, /* No tags (pointer) */
605 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000606 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000607 asn_MBR_Choice3_1,
608 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000609 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000610};
611
612
Lev Walkincee931e2005-08-16 16:56:59 +0000613/*** <<< INCLUDES [Set] >>> ***/
614
615#include <asn_SET_OF.h>
616#include <INTEGER.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000617#include <constr_SEQUENCE.h>
618#include <constr_SET_OF.h>
619
620/*** <<< FWD-DECLS [Set] >>> ***/
621
622struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000623struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000624
625/*** <<< TYPE-DECLS [Set] >>> ***/
626
627typedef struct Set {
628 A_SET_OF(struct Member {
629 INTEGER_t Int;
630 struct Set *set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000631 struct Sequence *seq;
Lev Walkincee931e2005-08-16 16:56:59 +0000632 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 } ) list;
642
643 /* Context for parsing across buffer boundaries */
644 asn_struct_ctx_t _asn_ctx;
645} Set_t;
646
647/*** <<< FUNC-DECLS [Set] >>> ***/
648
649extern asn_TYPE_descriptor_t asn_DEF_Set;
650
651/*** <<< POST-INCLUDE [Set] >>> ***/
652
653#include <Set.h>
Lev Walkinb85a8132005-08-18 13:38:19 +0000654#include <Sequence.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000655
656/*** <<< STAT-DEFS [Set] >>> ***/
657
658static asn_TYPE_member_t asn_MBR_Member_2[] = {
659 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
660 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
661 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000662 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000663 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000664 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
665 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000666 .name = "int"
667 },
668 { ATF_POINTER, 0, offsetof(struct Member, set),
669 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
670 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000671 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000672 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000673 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
674 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000675 .name = "set"
676 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000677 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000678 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
679 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000680 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000681 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000682 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
683 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000684 .name = "seq"
685 },
686 { ATF_POINTER, 2, offsetof(struct Member, set2),
687 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
688 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000689 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000690 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000691 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
692 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000693 .name = "set2"
694 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000695 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000696 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
697 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000698 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000699 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000700 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
701 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000702 .name = "set3"
703 },
704};
Lev Walkin59b176e2005-11-26 11:25:14 +0000705static ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000706 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
707};
Lev Walkin59b176e2005-11-26 11:25:14 +0000708static asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000709 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int at 49 */
710 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 50 */
711 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq at 51 */
712 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 at 52 */
713 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 at 55 */
Lev Walkincee931e2005-08-16 16:56:59 +0000714};
Lev Walkin59b176e2005-11-26 11:25:14 +0000715static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000716 sizeof(struct Member),
717 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000718 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000719 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000720 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000721 3, /* Start extensions */
722 6 /* Stop extensions */
723};
724static /* Use -fall-defs-global to expose */
725asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000726 "SEQUENCE",
727 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000728 SEQUENCE_free,
729 SEQUENCE_print,
730 SEQUENCE_constraint,
731 SEQUENCE_decode_ber,
732 SEQUENCE_encode_der,
733 SEQUENCE_decode_xer,
734 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000735 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000736 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000737 asn_DEF_Member_tags_2,
738 sizeof(asn_DEF_Member_tags_2)
739 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
740 asn_DEF_Member_tags_2, /* Same as above */
741 sizeof(asn_DEF_Member_tags_2)
742 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
743 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000744 asn_MBR_Member_2,
745 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000746 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000747};
748
749static asn_TYPE_member_t asn_MBR_Set_1[] = {
750 { ATF_POINTER, 0, 0,
751 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
752 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000753 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000754 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000755 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
756 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000757 .name = ""
758 },
759};
Lev Walkin59b176e2005-11-26 11:25:14 +0000760static ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000761 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
762};
Lev Walkin59b176e2005-11-26 11:25:14 +0000763static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000764 sizeof(struct Set),
765 offsetof(struct Set, _asn_ctx),
766 0, /* XER encoding is XMLDelimitedItemList */
767};
768asn_TYPE_descriptor_t asn_DEF_Set = {
769 "Set",
770 "Set",
771 SET_OF_free,
772 SET_OF_print,
773 SET_OF_constraint,
774 SET_OF_decode_ber,
775 SET_OF_encode_der,
776 SET_OF_decode_xer,
777 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000778 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000779 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000780 asn_DEF_Set_tags_1,
781 sizeof(asn_DEF_Set_tags_1)
782 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
783 asn_DEF_Set_tags_1, /* Same as above */
784 sizeof(asn_DEF_Set_tags_1)
785 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
786 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000787 asn_MBR_Set_1,
788 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000789 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000790};
791
792
793/*** <<< INCLUDES [Sequence] >>> ***/
794
795#include <INTEGER.h>
796#include <constr_SEQUENCE.h>
797
798/*** <<< FWD-DECLS [Sequence] >>> ***/
799
800struct Sequence;
801struct Set;
802
803/*** <<< TYPE-DECLS [Sequence] >>> ***/
804
805typedef struct Sequence {
806 INTEGER_t a;
807 struct Sequence *seq /* OPTIONAL */;
808 /*
809 * This type is extensible,
810 * possible extensions are below.
811 */
812 INTEGER_t *b;
813 struct Set *set /* OPTIONAL */;
814
815 /* Context for parsing across buffer boundaries */
816 asn_struct_ctx_t _asn_ctx;
817} Sequence_t;
818
819/*** <<< FUNC-DECLS [Sequence] >>> ***/
820
821extern asn_TYPE_descriptor_t asn_DEF_Sequence;
822
823/*** <<< POST-INCLUDE [Sequence] >>> ***/
824
825#include <Sequence.h>
826#include <Set.h>
827
828/*** <<< STAT-DEFS [Sequence] >>> ***/
829
830static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
831 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
832 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
833 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000834 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000835 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000836 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
837 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000838 .name = "a"
839 },
840 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
841 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
842 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000843 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000844 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000845 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
846 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000847 .name = "seq"
848 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000849 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000850 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
851 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000852 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000853 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000854 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
855 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000856 .name = "b"
857 },
858 { ATF_POINTER, 1, offsetof(struct Sequence, set),
859 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
860 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000861 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000862 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000863 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
864 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000865 .name = "set"
866 },
867};
Lev Walkin59b176e2005-11-26 11:25:14 +0000868static ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000869 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
870};
Lev Walkin59b176e2005-11-26 11:25:14 +0000871static asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000872 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 58 */
873 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq at 59 */
874 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b at 61 */
875 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set at 62 */
Lev Walkincee931e2005-08-16 16:56:59 +0000876};
Lev Walkin59b176e2005-11-26 11:25:14 +0000877static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000878 sizeof(struct Sequence),
879 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000880 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000881 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000882 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000883 1, /* Start extensions */
884 5 /* Stop extensions */
885};
886asn_TYPE_descriptor_t asn_DEF_Sequence = {
887 "Sequence",
888 "Sequence",
889 SEQUENCE_free,
890 SEQUENCE_print,
891 SEQUENCE_constraint,
892 SEQUENCE_decode_ber,
893 SEQUENCE_encode_der,
894 SEQUENCE_decode_xer,
895 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000896 0, /* No PER decoder, -gen-PER to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000897 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000898 asn_DEF_Sequence_tags_1,
899 sizeof(asn_DEF_Sequence_tags_1)
900 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
901 asn_DEF_Sequence_tags_1, /* Same as above */
902 sizeof(asn_DEF_Sequence_tags_1)
903 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
904 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000905 asn_MBR_Sequence_1,
906 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000907 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000908};
909
Lev Walkinb85a8132005-08-18 13:38:19 +0000910
911/*** <<< INCLUDES [TypeRef] >>> ***/
912
913#include <Sequence.h>
914
915/*** <<< TYPE-DECLS [TypeRef] >>> ***/
916
917typedef Sequence_t TypeRef_t;
918
919/*** <<< FUNC-DECLS [TypeRef] >>> ***/
920
921extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
922asn_struct_free_f TypeRef_free;
923asn_struct_print_f TypeRef_print;
924asn_constr_check_f TypeRef_constraint;
925ber_type_decoder_f TypeRef_decode_ber;
926der_type_encoder_f TypeRef_encode_der;
927xer_type_decoder_f TypeRef_decode_xer;
928xer_type_encoder_f TypeRef_encode_xer;
929
930/*** <<< CODE [TypeRef] >>> ***/
931
932int
933TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000934 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000935 /* Replace with underlying type checker */
936 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000937 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000938}
939
940/*
941 * This type is implemented using Sequence,
942 * so here we adjust the DEF accordingly.
943 */
944static void
945TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
946 td->free_struct = asn_DEF_Sequence.free_struct;
947 td->print_struct = asn_DEF_Sequence.print_struct;
948 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
949 td->der_encoder = asn_DEF_Sequence.der_encoder;
950 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
951 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000952 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
953 if(!td->per_constraints)
954 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000955 td->elements = asn_DEF_Sequence.elements;
956 td->elements_count = asn_DEF_Sequence.elements_count;
957 td->specifics = asn_DEF_Sequence.specifics;
958}
959
960void
961TypeRef_free(asn_TYPE_descriptor_t *td,
962 void *struct_ptr, int contents_only) {
963 TypeRef_1_inherit_TYPE_descriptor(td);
964 td->free_struct(td, struct_ptr, contents_only);
965}
966
967int
968TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
969 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
970 TypeRef_1_inherit_TYPE_descriptor(td);
971 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
972}
973
974asn_dec_rval_t
975TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
976 void **structure, const void *bufptr, size_t size, int tag_mode) {
977 TypeRef_1_inherit_TYPE_descriptor(td);
978 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
979}
980
981asn_enc_rval_t
982TypeRef_encode_der(asn_TYPE_descriptor_t *td,
983 void *structure, int tag_mode, ber_tlv_tag_t tag,
984 asn_app_consume_bytes_f *cb, void *app_key) {
985 TypeRef_1_inherit_TYPE_descriptor(td);
986 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
987}
988
989asn_dec_rval_t
990TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
991 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
992 TypeRef_1_inherit_TYPE_descriptor(td);
993 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
994}
995
996asn_enc_rval_t
997TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
998 int ilevel, enum xer_encoder_flags_e flags,
999 asn_app_consume_bytes_f *cb, void *app_key) {
1000 TypeRef_1_inherit_TYPE_descriptor(td);
1001 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1002}
1003
1004
1005/*** <<< STAT-DEFS [TypeRef] >>> ***/
1006
Lev Walkin59b176e2005-11-26 11:25:14 +00001007static ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001008 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1009};
1010asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1011 "TypeRef",
1012 "TypeRef",
1013 TypeRef_free,
1014 TypeRef_print,
1015 TypeRef_constraint,
1016 TypeRef_decode_ber,
1017 TypeRef_encode_der,
1018 TypeRef_decode_xer,
1019 TypeRef_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001020 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001021 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001022 asn_DEF_TypeRef_tags_1,
1023 sizeof(asn_DEF_TypeRef_tags_1)
1024 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1025 asn_DEF_TypeRef_tags_1, /* Same as above */
1026 sizeof(asn_DEF_TypeRef_tags_1)
1027 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1028 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001029 0, 0, /* Defined elsewhere */
1030 0 /* No specifics */
1031};
1032
1033
1034/*** <<< INCLUDES [Alpha] >>> ***/
1035
1036#include <constr_SEQUENCE.h>
1037
1038/*** <<< FWD-DECLS [Alpha] >>> ***/
1039
1040struct Beta;
1041
1042/*** <<< TYPE-DECLS [Alpha] >>> ***/
1043
1044typedef struct Alpha {
1045 struct Beta *a;
1046 struct b {
1047 struct Beta *b /* OPTIONAL */;
1048
1049 /* Context for parsing across buffer boundaries */
1050 asn_struct_ctx_t _asn_ctx;
1051 } b;
1052
1053 /* Context for parsing across buffer boundaries */
1054 asn_struct_ctx_t _asn_ctx;
1055} Alpha_t;
1056
1057/*** <<< FUNC-DECLS [Alpha] >>> ***/
1058
1059extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1060
1061/*** <<< POST-INCLUDE [Alpha] >>> ***/
1062
1063#include <Beta.h>
1064
1065/*** <<< STAT-DEFS [Alpha] >>> ***/
1066
1067static asn_TYPE_member_t asn_MBR_b_3[] = {
1068 { ATF_POINTER, 1, offsetof(struct b, b),
1069 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1070 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001071 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001072 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001073 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1074 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001075 .name = "b"
1076 },
1077};
Lev Walkin59b176e2005-11-26 11:25:14 +00001078static ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001079 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1080 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1081};
Lev Walkin59b176e2005-11-26 11:25:14 +00001082static asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001083 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b at 70 */
1084};
Lev Walkin59b176e2005-11-26 11:25:14 +00001085static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001086 sizeof(struct b),
1087 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001088 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001089 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001090 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001091 -1, /* Start extensions */
1092 -1 /* Stop extensions */
1093};
1094static /* Use -fall-defs-global to expose */
1095asn_TYPE_descriptor_t asn_DEF_b_3 = {
1096 "b",
1097 "b",
1098 SEQUENCE_free,
1099 SEQUENCE_print,
1100 SEQUENCE_constraint,
1101 SEQUENCE_decode_ber,
1102 SEQUENCE_encode_der,
1103 SEQUENCE_decode_xer,
1104 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001105 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001106 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001107 asn_DEF_b_tags_3,
1108 sizeof(asn_DEF_b_tags_3)
1109 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1110 asn_DEF_b_tags_3, /* Same as above */
1111 sizeof(asn_DEF_b_tags_3)
1112 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1113 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001114 asn_MBR_b_3,
1115 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001116 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001117};
1118
1119static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1120 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1121 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1122 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001123 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001124 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001125 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1126 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001127 .name = "a"
1128 },
1129 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1130 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1131 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001132 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001133 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001134 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1135 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001136 .name = "b"
1137 },
1138};
Lev Walkin59b176e2005-11-26 11:25:14 +00001139static ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001140 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1141};
Lev Walkin59b176e2005-11-26 11:25:14 +00001142static asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001143 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 68 */
1144 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 70 */
1145};
Lev Walkin59b176e2005-11-26 11:25:14 +00001146static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001147 sizeof(struct Alpha),
1148 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001149 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001150 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001151 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001152 -1, /* Start extensions */
1153 -1 /* Stop extensions */
1154};
1155asn_TYPE_descriptor_t asn_DEF_Alpha = {
1156 "Alpha",
1157 "Alpha",
1158 SEQUENCE_free,
1159 SEQUENCE_print,
1160 SEQUENCE_constraint,
1161 SEQUENCE_decode_ber,
1162 SEQUENCE_encode_der,
1163 SEQUENCE_decode_xer,
1164 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001165 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001166 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001167 asn_DEF_Alpha_tags_1,
1168 sizeof(asn_DEF_Alpha_tags_1)
1169 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1170 asn_DEF_Alpha_tags_1, /* Same as above */
1171 sizeof(asn_DEF_Alpha_tags_1)
1172 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1173 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001174 asn_MBR_Alpha_1,
1175 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001176 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001177};
1178
1179
1180/*** <<< INCLUDES [Beta] >>> ***/
1181
1182#include <constr_SEQUENCE.h>
1183
1184/*** <<< FWD-DECLS [Beta] >>> ***/
1185
1186struct Alpha;
1187struct Gamma;
1188
1189/*** <<< TYPE-DECLS [Beta] >>> ***/
1190
1191typedef struct Beta {
1192 struct Alpha *b /* OPTIONAL */;
1193 struct Gamma *g /* OPTIONAL */;
1194
1195 /* Context for parsing across buffer boundaries */
1196 asn_struct_ctx_t _asn_ctx;
1197} Beta_t;
1198
1199/*** <<< FUNC-DECLS [Beta] >>> ***/
1200
1201extern asn_TYPE_descriptor_t asn_DEF_Beta;
1202
1203/*** <<< POST-INCLUDE [Beta] >>> ***/
1204
1205#include <Alpha.h>
1206#include <Gamma.h>
1207
1208/*** <<< STAT-DEFS [Beta] >>> ***/
1209
1210static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1211 { ATF_POINTER, 2, offsetof(struct Beta, b),
1212 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1213 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001214 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001215 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001216 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1217 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001218 .name = "b"
1219 },
1220 { ATF_POINTER, 1, offsetof(struct Beta, g),
1221 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1222 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001223 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001224 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001225 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1226 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001227 .name = "g"
1228 },
1229};
Lev Walkin59b176e2005-11-26 11:25:14 +00001230static ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001231 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1232};
Lev Walkin59b176e2005-11-26 11:25:14 +00001233static asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001234 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b at 75 */
1235 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 76 */
1236};
Lev Walkin59b176e2005-11-26 11:25:14 +00001237static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001238 sizeof(struct Beta),
1239 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001240 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001241 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001242 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001243 -1, /* Start extensions */
1244 -1 /* Stop extensions */
1245};
1246asn_TYPE_descriptor_t asn_DEF_Beta = {
1247 "Beta",
1248 "Beta",
1249 SEQUENCE_free,
1250 SEQUENCE_print,
1251 SEQUENCE_constraint,
1252 SEQUENCE_decode_ber,
1253 SEQUENCE_encode_der,
1254 SEQUENCE_decode_xer,
1255 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001256 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001257 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001258 asn_DEF_Beta_tags_1,
1259 sizeof(asn_DEF_Beta_tags_1)
1260 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1261 asn_DEF_Beta_tags_1, /* Same as above */
1262 sizeof(asn_DEF_Beta_tags_1)
1263 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1264 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001265 asn_MBR_Beta_1,
1266 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001267 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001268};
1269
1270
1271/*** <<< INCLUDES [Gamma] >>> ***/
1272
1273#include <constr_SEQUENCE.h>
1274
1275/*** <<< FWD-DECLS [Gamma] >>> ***/
1276
1277struct TwoThree;
1278struct Alpha;
1279struct Beta;
1280
1281/*** <<< TYPE-DECLS [Gamma] >>> ***/
1282
1283typedef struct Gamma {
1284 struct TwoThree *o;
1285 struct Alpha *a;
1286 struct Beta *b;
1287
1288 /* Context for parsing across buffer boundaries */
1289 asn_struct_ctx_t _asn_ctx;
1290} Gamma_t;
1291
1292/*** <<< FUNC-DECLS [Gamma] >>> ***/
1293
1294extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1295
1296/*** <<< POST-INCLUDE [Gamma] >>> ***/
1297
1298#include <TwoThree.h>
1299#include <Alpha.h>
1300#include <Beta.h>
1301
1302/*** <<< STAT-DEFS [Gamma] >>> ***/
1303
1304static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1305 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1306 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1307 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001308 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001309 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001310 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1311 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001312 .name = "o"
1313 },
1314 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1315 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1316 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001317 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001318 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001319 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1320 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001321 .name = "a"
1322 },
1323 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1324 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1325 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001326 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001327 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001328 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1329 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001330 .name = "b"
1331 },
1332};
Lev Walkin59b176e2005-11-26 11:25:14 +00001333static ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001334 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1335};
Lev Walkin59b176e2005-11-26 11:25:14 +00001336static asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001337 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o at 80 */
1338 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a at 81 */
1339 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b at 83 */
1340};
Lev Walkin59b176e2005-11-26 11:25:14 +00001341static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001342 sizeof(struct Gamma),
1343 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001344 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001345 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001346 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001347 -1, /* Start extensions */
1348 -1 /* Stop extensions */
1349};
1350asn_TYPE_descriptor_t asn_DEF_Gamma = {
1351 "Gamma",
1352 "Gamma",
1353 SEQUENCE_free,
1354 SEQUENCE_print,
1355 SEQUENCE_constraint,
1356 SEQUENCE_decode_ber,
1357 SEQUENCE_encode_der,
1358 SEQUENCE_decode_xer,
1359 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001360 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001361 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001362 asn_DEF_Gamma_tags_1,
1363 sizeof(asn_DEF_Gamma_tags_1)
1364 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1365 asn_DEF_Gamma_tags_1, /* Same as above */
1366 sizeof(asn_DEF_Gamma_tags_1)
1367 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1368 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001369 asn_MBR_Gamma_1,
1370 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001371 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001372};
1373
1374
1375/*** <<< INCLUDES [OneTwo] >>> ***/
1376
1377#include <constr_SET.h>
1378
1379/*** <<< DEPS [OneTwo] >>> ***/
1380
1381
1382/*
1383 * Method of determining the components presence
1384 */
1385typedef enum OneTwo_PR {
1386 OneTwo_PR_m12, /* Member m12 is present */
1387} OneTwo_PR;
1388
1389/*** <<< FWD-DECLS [OneTwo] >>> ***/
1390
1391struct TwoThree;
1392
1393/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1394
1395typedef struct OneTwo {
1396 struct TwoThree *m12;
1397
1398 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1399 unsigned int _presence_map
1400 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1401
1402 /* Context for parsing across buffer boundaries */
1403 asn_struct_ctx_t _asn_ctx;
1404} OneTwo_t;
1405
1406/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1407
1408extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1409
1410/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1411
1412#include <TwoThree.h>
1413
1414/*** <<< STAT-DEFS [OneTwo] >>> ***/
1415
1416static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1417 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1418 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1419 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001420 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001421 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001422 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1423 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001424 .name = "m12"
1425 },
1426};
Lev Walkin59b176e2005-11-26 11:25:14 +00001427static ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001428 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1429};
Lev Walkin59b176e2005-11-26 11:25:14 +00001430static asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001431 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 at 86 */
1432};
Lev Walkin59b176e2005-11-26 11:25:14 +00001433static uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001434 (1 << 7)
1435};
Lev Walkin59b176e2005-11-26 11:25:14 +00001436static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001437 sizeof(struct OneTwo),
1438 offsetof(struct OneTwo, _asn_ctx),
1439 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001440 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001441 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001442 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001443 1, /* Count of tags in the CXER map */
1444 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001445 (unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001446};
1447asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1448 "OneTwo",
1449 "OneTwo",
1450 SET_free,
1451 SET_print,
1452 SET_constraint,
1453 SET_decode_ber,
1454 SET_encode_der,
1455 SET_decode_xer,
1456 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001457 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001458 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001459 asn_DEF_OneTwo_tags_1,
1460 sizeof(asn_DEF_OneTwo_tags_1)
1461 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1462 asn_DEF_OneTwo_tags_1, /* Same as above */
1463 sizeof(asn_DEF_OneTwo_tags_1)
1464 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1465 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001466 asn_MBR_OneTwo_1,
1467 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001468 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001469};
1470
1471
1472/*** <<< INCLUDES [TwoThree] >>> ***/
1473
1474#include <constr_SET.h>
1475
1476/*** <<< DEPS [TwoThree] >>> ***/
1477
1478
1479/*
1480 * Method of determining the components presence
1481 */
1482typedef enum TwoThree_PR {
1483 TwoThree_PR_m23, /* Member m23 is present */
1484} TwoThree_PR;
1485
1486/*** <<< FWD-DECLS [TwoThree] >>> ***/
1487
1488struct ThreeOne;
1489
1490/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1491
1492typedef struct TwoThree {
1493 struct ThreeOne *m23;
1494
1495 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1496 unsigned int _presence_map
1497 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1498
1499 /* Context for parsing across buffer boundaries */
1500 asn_struct_ctx_t _asn_ctx;
1501} TwoThree_t;
1502
1503/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1504
1505extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1506
1507/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1508
1509#include <ThreeOne.h>
1510
1511/*** <<< STAT-DEFS [TwoThree] >>> ***/
1512
1513static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1514 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1515 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1516 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001517 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001518 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001519 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1520 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001521 .name = "m23"
1522 },
1523};
Lev Walkin59b176e2005-11-26 11:25:14 +00001524static ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001525 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1526};
Lev Walkin59b176e2005-11-26 11:25:14 +00001527static asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001528 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 at 87 */
1529};
Lev Walkin59b176e2005-11-26 11:25:14 +00001530static uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001531 (1 << 7)
1532};
Lev Walkin59b176e2005-11-26 11:25:14 +00001533static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001534 sizeof(struct TwoThree),
1535 offsetof(struct TwoThree, _asn_ctx),
1536 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001537 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001538 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001539 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001540 1, /* Count of tags in the CXER map */
1541 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001542 (unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001543};
1544asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1545 "TwoThree",
1546 "TwoThree",
1547 SET_free,
1548 SET_print,
1549 SET_constraint,
1550 SET_decode_ber,
1551 SET_encode_der,
1552 SET_decode_xer,
1553 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001554 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001555 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001556 asn_DEF_TwoThree_tags_1,
1557 sizeof(asn_DEF_TwoThree_tags_1)
1558 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1559 asn_DEF_TwoThree_tags_1, /* Same as above */
1560 sizeof(asn_DEF_TwoThree_tags_1)
1561 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1562 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001563 asn_MBR_TwoThree_1,
1564 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001565 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001566};
1567
1568
1569/*** <<< INCLUDES [ThreeOne] >>> ***/
1570
1571#include <constr_SET.h>
1572
1573/*** <<< DEPS [ThreeOne] >>> ***/
1574
1575
1576/*
1577 * Method of determining the components presence
1578 */
1579typedef enum ThreeOne_PR {
1580 ThreeOne_PR_m31, /* Member m31 is present */
1581 ThreeOne_PR_g, /* Member g is present */
1582} ThreeOne_PR;
1583
1584/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1585
1586struct OneTwo;
1587struct Gamma;
1588
1589/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1590
1591typedef struct ThreeOne {
1592 struct OneTwo *m31;
1593 struct Gamma *g;
1594
1595 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1596 unsigned int _presence_map
1597 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1598
1599 /* Context for parsing across buffer boundaries */
1600 asn_struct_ctx_t _asn_ctx;
1601} ThreeOne_t;
1602
1603/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1604
1605extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1606
1607/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1608
1609#include <OneTwo.h>
1610#include <Gamma.h>
1611
1612/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1613
1614static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1615 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1616 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1617 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001618 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001619 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001620 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1621 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001622 .name = "m31"
1623 },
1624 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1625 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1626 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001627 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001628 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001629 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1630 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001631 .name = "g"
1632 },
1633};
Lev Walkin59b176e2005-11-26 11:25:14 +00001634static ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001635 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1636};
Lev Walkin59b176e2005-11-26 11:25:14 +00001637static asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001638 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 at 88 */
1639 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g at 88 */
1640};
Lev Walkin59b176e2005-11-26 11:25:14 +00001641static uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001642 (1 << 7) | (1 << 6)
1643};
Lev Walkin59b176e2005-11-26 11:25:14 +00001644static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001645 sizeof(struct ThreeOne),
1646 offsetof(struct ThreeOne, _asn_ctx),
1647 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001648 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001649 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001650 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001651 2, /* Count of tags in the CXER map */
1652 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001653 (unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001654};
1655asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1656 "ThreeOne",
1657 "ThreeOne",
1658 SET_free,
1659 SET_print,
1660 SET_constraint,
1661 SET_decode_ber,
1662 SET_encode_der,
1663 SET_decode_xer,
1664 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001665 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001666 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001667 asn_DEF_ThreeOne_tags_1,
1668 sizeof(asn_DEF_ThreeOne_tags_1)
1669 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1670 asn_DEF_ThreeOne_tags_1, /* Same as above */
1671 sizeof(asn_DEF_ThreeOne_tags_1)
1672 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1673 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001674 asn_MBR_ThreeOne_1,
1675 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001676 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001677};
1678