blob: cf327980aadcb2b8b7c378af1537b781caa65826 [file] [log] [blame]
Lev Walkincee931e2005-08-16 16:56:59 +00001
2/*** <<< INCLUDES [Everything] >>> ***/
3
Lev Walkin22b5ed42006-09-13 02:51:20 +00004#include "Set.h"
5#include "Alpha.h"
6#include "Beta.h"
7#include "Gamma.h"
8#include "OneTwo.h"
9#include "TwoThree.h"
10#include "ThreeOne.h"
Lev Walkincee931e2005-08-16 16:56:59 +000011#include <constr_SEQUENCE.h>
12
Lev Walkinb85a8132005-08-18 13:38:19 +000013/*** <<< FWD-DECLS [Everything] >>> ***/
14
15struct Choice1;
16struct Choice2;
17struct Choice3;
18
Lev Walkincee931e2005-08-16 16:56:59 +000019/*** <<< TYPE-DECLS [Everything] >>> ***/
20
21typedef struct Everything {
Lev Walkinb85a8132005-08-18 13:38:19 +000022 struct Choice1 *ch1;
23 struct Choice2 *ch2;
24 struct Choice3 *ch3;
Lev Walkincee931e2005-08-16 16:56:59 +000025 Set_t set;
Lev Walkinb85a8132005-08-18 13:38:19 +000026 Alpha_t a;
27 Beta_t b;
28 Gamma_t g;
29 OneTwo_t ot;
30 TwoThree_t tt;
31 ThreeOne_t to;
Lev Walkincee931e2005-08-16 16:56:59 +000032
33 /* Context for parsing across buffer boundaries */
34 asn_struct_ctx_t _asn_ctx;
35} Everything_t;
36
37/*** <<< FUNC-DECLS [Everything] >>> ***/
38
39extern asn_TYPE_descriptor_t asn_DEF_Everything;
40
Lev Walkinb85a8132005-08-18 13:38:19 +000041/*** <<< POST-INCLUDE [Everything] >>> ***/
42
Lev Walkin22b5ed42006-09-13 02:51:20 +000043#include "Choice1.h"
44#include "Choice2.h"
45#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +000046
Lev Walkincee931e2005-08-16 16:56:59 +000047/*** <<< STAT-DEFS [Everything] >>> ***/
48
49static asn_TYPE_member_t asn_MBR_Everything_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +000050 { ATF_POINTER, 0, offsetof(struct Everything, ch1),
Lev Walkincee931e2005-08-16 16:56:59 +000051 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
52 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000053 .type = &asn_DEF_Choice1,
Lev Walkincee931e2005-08-16 16:56:59 +000054 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000055 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
56 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000057 .name = "ch1"
58 },
Lev Walkinb85a8132005-08-18 13:38:19 +000059 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
Lev Walkincee931e2005-08-16 16:56:59 +000060 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
61 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000062 .type = &asn_DEF_Choice2,
Lev Walkincee931e2005-08-16 16:56:59 +000063 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000064 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
65 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000066 .name = "ch2"
67 },
Lev Walkinb85a8132005-08-18 13:38:19 +000068 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
Lev Walkincee931e2005-08-16 16:56:59 +000069 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkinb85a8132005-08-18 13:38:19 +000070 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000071 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +000072 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000073 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
74 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000075 .name = "ch3"
76 },
77 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
78 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkincee931e2005-08-16 16:56:59 +000079 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000080 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +000081 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000082 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
83 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000084 .name = "set"
85 },
Lev Walkinb85a8132005-08-18 13:38:19 +000086 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
87 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
88 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000089 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +000090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000091 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
92 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000093 .name = "a"
94 },
95 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
96 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
97 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000098 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +000099 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000100 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
101 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000102 .name = "b"
103 },
104 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
105 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
106 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000107 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +0000108 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000109 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
110 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000111 .name = "g"
112 },
113 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
114 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
115 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000116 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +0000117 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000118 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
119 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000120 .name = "ot"
121 },
122 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
123 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
124 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +0000126 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
128 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000129 .name = "tt"
130 },
131 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
132 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
133 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +0000135 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000136 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
137 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000138 .name = "to"
139 },
Lev Walkincee931e2005-08-16 16:56:59 +0000140};
Lev Walkina7591b52014-10-12 18:37:35 -0700141static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000142 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
143};
Lev Walkina7591b52014-10-12 18:37:35 -0700144static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */
147 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */
148 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */
149 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */
150 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */
151 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */
152 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */
153 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
154 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
Lev Walkincee931e2005-08-16 16:56:59 +0000155};
Lev Walkin59b176e2005-11-26 11:25:14 +0000156static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000157 sizeof(struct Everything),
158 offsetof(struct Everything, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000159 asn_MAP_Everything_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000160 10, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000162 -1, /* Start extensions */
163 -1 /* Stop extensions */
164};
165asn_TYPE_descriptor_t asn_DEF_Everything = {
166 "Everything",
167 "Everything",
168 SEQUENCE_free,
169 SEQUENCE_print,
170 SEQUENCE_constraint,
171 SEQUENCE_decode_ber,
172 SEQUENCE_encode_der,
173 SEQUENCE_decode_xer,
174 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000175 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700176 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000177 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000178 asn_DEF_Everything_tags_1,
179 sizeof(asn_DEF_Everything_tags_1)
180 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
181 asn_DEF_Everything_tags_1, /* Same as above */
182 sizeof(asn_DEF_Everything_tags_1)
183 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
184 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000185 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000186 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000187 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000188};
189
190
191/*** <<< INCLUDES [Choice1] >>> ***/
192
193#include <constr_CHOICE.h>
194
195/*** <<< DEPS [Choice1] >>> ***/
196
197typedef enum Choice1_PR {
198 Choice1_PR_NOTHING, /* No components present */
199 Choice1_PR_something,
200 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000201 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000202} Choice1_PR;
203
204/*** <<< FWD-DECLS [Choice1] >>> ***/
205
206struct Everything;
207
208/*** <<< TYPE-DECLS [Choice1] >>> ***/
209
210typedef struct Choice1 {
211 Choice1_PR present;
212 union Choice1_u {
213 struct Everything *something;
214 /*
215 * This type is extensible,
216 * possible extensions are below.
217 */
218 struct Everything *some2;
219 } choice;
220
221 /* Context for parsing across buffer boundaries */
222 asn_struct_ctx_t _asn_ctx;
223} Choice1_t;
224
225/*** <<< FUNC-DECLS [Choice1] >>> ***/
226
227extern asn_TYPE_descriptor_t asn_DEF_Choice1;
228
229/*** <<< POST-INCLUDE [Choice1] >>> ***/
230
Lev Walkin22b5ed42006-09-13 02:51:20 +0000231#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000232
233/*** <<< STAT-DEFS [Choice1] >>> ***/
234
235static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
236 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
237 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
238 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000239 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000240 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000241 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
242 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000243 .name = "something"
244 },
245 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
246 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
247 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000248 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000249 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000250 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
251 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000252 .name = "some2"
253 },
254};
Lev Walkina7591b52014-10-12 18:37:35 -0700255static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700256 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
257 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000258};
Lev Walkin59b176e2005-11-26 11:25:14 +0000259static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000260 sizeof(struct Choice1),
261 offsetof(struct Choice1, _asn_ctx),
262 offsetof(struct Choice1, present),
263 sizeof(((struct Choice1 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000264 asn_MAP_Choice1_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000265 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000266 .canonical_order = 0,
267 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000268};
269asn_TYPE_descriptor_t asn_DEF_Choice1 = {
270 "Choice1",
271 "Choice1",
272 CHOICE_free,
273 CHOICE_print,
274 CHOICE_constraint,
275 CHOICE_decode_ber,
276 CHOICE_encode_der,
277 CHOICE_decode_xer,
278 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000279 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700280 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000281 CHOICE_outmost_tag,
282 0, /* No effective tags (pointer) */
283 0, /* No effective tags (count) */
284 0, /* No tags (pointer) */
285 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000286 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000287 asn_MBR_Choice1_1,
288 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000289 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000290};
291
292
293/*** <<< INCLUDES [Choice2] >>> ***/
294
295#include <constr_CHOICE.h>
296
297/*** <<< DEPS [Choice2] >>> ***/
298
299typedef enum Choice2_PR {
300 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000301 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000302 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000303 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000304} Choice2_PR;
305
306/*** <<< FWD-DECLS [Choice2] >>> ***/
307
Lev Walkinb85a8132005-08-18 13:38:19 +0000308struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000309struct Everything;
310
311/*** <<< TYPE-DECLS [Choice2] >>> ***/
312
313typedef struct Choice2 {
314 Choice2_PR present;
315 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000316 struct Sequence *typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000317 /*
318 * This type is extensible,
319 * possible extensions are below.
320 */
321 struct Everything *some3;
322 } choice;
323
324 /* Context for parsing across buffer boundaries */
325 asn_struct_ctx_t _asn_ctx;
326} Choice2_t;
327
328/*** <<< FUNC-DECLS [Choice2] >>> ***/
329
330extern asn_TYPE_descriptor_t asn_DEF_Choice2;
331
332/*** <<< POST-INCLUDE [Choice2] >>> ***/
333
Lev Walkin22b5ed42006-09-13 02:51:20 +0000334#include "TypeRef.h"
335#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000336
337/*** <<< STAT-DEFS [Choice2] >>> ***/
338
339static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000340 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000341 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
342 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000343 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000344 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000345 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
346 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000347 .name = "typeref"
348 },
349 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
350 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
351 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000352 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000353 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000354 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
355 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000356 .name = "some3"
357 },
358};
Lev Walkina7591b52014-10-12 18:37:35 -0700359static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700360 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
361 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000362};
Lev Walkin59b176e2005-11-26 11:25:14 +0000363static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000364 sizeof(struct Choice2),
365 offsetof(struct Choice2, _asn_ctx),
366 offsetof(struct Choice2, present),
367 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000368 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000369 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000370 .canonical_order = 0,
371 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000372};
373asn_TYPE_descriptor_t asn_DEF_Choice2 = {
374 "Choice2",
375 "Choice2",
376 CHOICE_free,
377 CHOICE_print,
378 CHOICE_constraint,
379 CHOICE_decode_ber,
380 CHOICE_encode_der,
381 CHOICE_decode_xer,
382 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000383 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700384 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000385 CHOICE_outmost_tag,
386 0, /* No effective tags (pointer) */
387 0, /* No effective tags (count) */
388 0, /* No tags (pointer) */
389 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000390 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000391 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000392 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000393 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000394};
395
396
Lev Walkinb85a8132005-08-18 13:38:19 +0000397/*** <<< INCLUDES [Choice3] >>> ***/
398
399#include <constr_SEQUENCE.h>
400#include <asn_SEQUENCE_OF.h>
401#include <constr_SEQUENCE_OF.h>
402#include <constr_CHOICE.h>
403
404/*** <<< DEPS [Choice3] >>> ***/
405
406typedef enum Choice3_PR {
407 Choice3_PR_NOTHING, /* No components present */
408 Choice3_PR_a,
409 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000410 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000411} Choice3_PR;
412
413/*** <<< FWD-DECLS [Choice3] >>> ***/
414
415struct Everything;
416struct Choice3;
417
418/*** <<< TYPE-DECLS [Choice3] >>> ***/
419
420typedef struct Choice3 {
421 Choice3_PR present;
422 union Choice3_u {
423 struct a {
424 struct Everything *aa;
425
426 /* Context for parsing across buffer boundaries */
427 asn_struct_ctx_t _asn_ctx;
428 } *a;
429 struct Everything *b;
430 struct c {
431 A_SEQUENCE_OF(struct Choice3) list;
432
433 /* Context for parsing across buffer boundaries */
434 asn_struct_ctx_t _asn_ctx;
435 } *c;
436 } choice;
437
438 /* Context for parsing across buffer boundaries */
439 asn_struct_ctx_t _asn_ctx;
440} Choice3_t;
441
442/*** <<< FUNC-DECLS [Choice3] >>> ***/
443
444extern asn_TYPE_descriptor_t asn_DEF_Choice3;
445
446/*** <<< POST-INCLUDE [Choice3] >>> ***/
447
Lev Walkin22b5ed42006-09-13 02:51:20 +0000448#include "Everything.h"
449#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000450
451/*** <<< STAT-DEFS [Choice3] >>> ***/
452
453static asn_TYPE_member_t asn_MBR_a_2[] = {
454 { ATF_POINTER, 0, offsetof(struct a, aa),
455 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
456 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000457 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000458 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000459 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
460 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000461 .name = "aa"
462 },
463};
Lev Walkina7591b52014-10-12 18:37:35 -0700464static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000465 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
466 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
467};
Lev Walkina7591b52014-10-12 18:37:35 -0700468static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700469 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000470};
Lev Walkin59b176e2005-11-26 11:25:14 +0000471static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000472 sizeof(struct a),
473 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000474 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000475 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000476 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000477 -1, /* Start extensions */
478 -1 /* Stop extensions */
479};
480static /* Use -fall-defs-global to expose */
481asn_TYPE_descriptor_t asn_DEF_a_2 = {
482 "a",
483 "a",
484 SEQUENCE_free,
485 SEQUENCE_print,
486 SEQUENCE_constraint,
487 SEQUENCE_decode_ber,
488 SEQUENCE_encode_der,
489 SEQUENCE_decode_xer,
490 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000491 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700492 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000493 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000494 asn_DEF_a_tags_2,
495 sizeof(asn_DEF_a_tags_2)
496 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
497 asn_DEF_a_tags_2, /* Same as above */
498 sizeof(asn_DEF_a_tags_2)
499 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
500 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000501 asn_MBR_a_2,
502 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000503 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000504};
505
506static asn_TYPE_member_t asn_MBR_c_5[] = {
507 { ATF_POINTER, 0, 0,
508 .tag = -1 /* Ambiguous tag (CHOICE?) */,
509 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000510 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000511 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000512 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
513 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000514 .name = ""
515 },
516};
Lev Walkina7591b52014-10-12 18:37:35 -0700517static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000518 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
519 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
520};
Lev Walkin59b176e2005-11-26 11:25:14 +0000521static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000522 sizeof(struct c),
523 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000524 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000525};
526static /* Use -fall-defs-global to expose */
527asn_TYPE_descriptor_t asn_DEF_c_5 = {
528 "c",
529 "c",
530 SEQUENCE_OF_free,
531 SEQUENCE_OF_print,
532 SEQUENCE_OF_constraint,
533 SEQUENCE_OF_decode_ber,
534 SEQUENCE_OF_encode_der,
535 SEQUENCE_OF_decode_xer,
536 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000537 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700538 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000539 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000540 asn_DEF_c_tags_5,
541 sizeof(asn_DEF_c_tags_5)
542 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
543 asn_DEF_c_tags_5, /* Same as above */
544 sizeof(asn_DEF_c_tags_5)
545 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
546 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000547 asn_MBR_c_5,
548 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000549 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000550};
551
552static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
553 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
554 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000555 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000556 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000557 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000558 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
559 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000560 .name = "a"
561 },
562 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
563 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
564 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000565 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000566 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000567 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
568 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000569 .name = "b"
570 },
571 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
572 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000573 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000574 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000575 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000576 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
577 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000578 .name = "c"
579 },
580};
Lev Walkina7591b52014-10-12 18:37:35 -0700581static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700582 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
583 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
584 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000585};
Lev Walkin59b176e2005-11-26 11:25:14 +0000586static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000587 sizeof(struct Choice3),
588 offsetof(struct Choice3, _asn_ctx),
589 offsetof(struct Choice3, present),
590 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000591 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000592 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000593 .canonical_order = 0,
594 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000595};
596asn_TYPE_descriptor_t asn_DEF_Choice3 = {
597 "Choice3",
598 "Choice3",
599 CHOICE_free,
600 CHOICE_print,
601 CHOICE_constraint,
602 CHOICE_decode_ber,
603 CHOICE_encode_der,
604 CHOICE_decode_xer,
605 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000606 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700607 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000608 CHOICE_outmost_tag,
609 0, /* No effective tags (pointer) */
610 0, /* No effective tags (count) */
611 0, /* No tags (pointer) */
612 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000613 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000614 asn_MBR_Choice3_1,
615 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000616 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000617};
618
619
Lev Walkincee931e2005-08-16 16:56:59 +0000620/*** <<< INCLUDES [Set] >>> ***/
621
622#include <asn_SET_OF.h>
Lev Walkin2a744a72013-03-27 01:56:23 -0700623#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000624#include <constr_SEQUENCE.h>
625#include <constr_SET_OF.h>
626
627/*** <<< FWD-DECLS [Set] >>> ***/
628
629struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000630struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000631
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800632/*** <<< FWD-DEFS [Set] >>> ***/
633
634typedef struct Member {
635 long Int;
636 struct Set *set;
637 struct Sequence *seq;
638 struct Set *set2 /* OPTIONAL */;
639 /*
640 * This type is extensible,
641 * possible extensions are below.
642 */
643 struct Set *set3;
644
645 /* Context for parsing across buffer boundaries */
646 asn_struct_ctx_t _asn_ctx;
647} Member;
648
Lev Walkincee931e2005-08-16 16:56:59 +0000649/*** <<< TYPE-DECLS [Set] >>> ***/
650
651typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800652 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000653
654 /* Context for parsing across buffer boundaries */
655 asn_struct_ctx_t _asn_ctx;
656} Set_t;
657
658/*** <<< FUNC-DECLS [Set] >>> ***/
659
660extern asn_TYPE_descriptor_t asn_DEF_Set;
661
662/*** <<< POST-INCLUDE [Set] >>> ***/
663
Lev Walkin22b5ed42006-09-13 02:51:20 +0000664#include "Set.h"
665#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000666
667/*** <<< STAT-DEFS [Set] >>> ***/
668
669static asn_TYPE_member_t asn_MBR_Member_2[] = {
670 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
671 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
672 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700673 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000674 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000675 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
676 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000677 .name = "int"
678 },
679 { ATF_POINTER, 0, offsetof(struct Member, set),
680 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
681 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000682 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000683 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000684 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
685 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000686 .name = "set"
687 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000688 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000689 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
690 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000691 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000692 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000693 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
694 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000695 .name = "seq"
696 },
697 { ATF_POINTER, 2, offsetof(struct Member, set2),
698 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
699 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000700 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000701 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000702 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
703 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000704 .name = "set2"
705 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000706 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000707 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
708 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000709 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000710 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000711 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
712 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000713 .name = "set3"
714 },
715};
Lev Walkina7591b52014-10-12 18:37:35 -0700716static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000717 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
718};
Lev Walkina7591b52014-10-12 18:37:35 -0700719static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700720 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
721 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
722 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
723 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
724 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000725};
Lev Walkin59b176e2005-11-26 11:25:14 +0000726static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000727 sizeof(struct Member),
728 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000729 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000730 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000731 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000732 3, /* Start extensions */
733 6 /* Stop extensions */
734};
735static /* Use -fall-defs-global to expose */
736asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000737 "SEQUENCE",
738 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000739 SEQUENCE_free,
740 SEQUENCE_print,
741 SEQUENCE_constraint,
742 SEQUENCE_decode_ber,
743 SEQUENCE_encode_der,
744 SEQUENCE_decode_xer,
745 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000746 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700747 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000748 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000749 asn_DEF_Member_tags_2,
750 sizeof(asn_DEF_Member_tags_2)
751 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
752 asn_DEF_Member_tags_2, /* Same as above */
753 sizeof(asn_DEF_Member_tags_2)
754 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
755 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000756 asn_MBR_Member_2,
757 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000758 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000759};
760
761static asn_TYPE_member_t asn_MBR_Set_1[] = {
762 { ATF_POINTER, 0, 0,
763 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
764 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000765 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000766 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000767 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
768 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000769 .name = ""
770 },
771};
Lev Walkina7591b52014-10-12 18:37:35 -0700772static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000773 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
774};
Lev Walkin59b176e2005-11-26 11:25:14 +0000775static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000776 sizeof(struct Set),
777 offsetof(struct Set, _asn_ctx),
778 0, /* XER encoding is XMLDelimitedItemList */
779};
780asn_TYPE_descriptor_t asn_DEF_Set = {
781 "Set",
782 "Set",
783 SET_OF_free,
784 SET_OF_print,
785 SET_OF_constraint,
786 SET_OF_decode_ber,
787 SET_OF_encode_der,
788 SET_OF_decode_xer,
789 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000790 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700791 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000792 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000793 asn_DEF_Set_tags_1,
794 sizeof(asn_DEF_Set_tags_1)
795 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
796 asn_DEF_Set_tags_1, /* Same as above */
797 sizeof(asn_DEF_Set_tags_1)
798 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
799 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000800 asn_MBR_Set_1,
801 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000802 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000803};
804
805
806/*** <<< INCLUDES [Sequence] >>> ***/
807
Lev Walkin2a744a72013-03-27 01:56:23 -0700808#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000809#include <constr_SEQUENCE.h>
810
811/*** <<< FWD-DECLS [Sequence] >>> ***/
812
813struct Sequence;
814struct Set;
815
816/*** <<< TYPE-DECLS [Sequence] >>> ***/
817
818typedef struct Sequence {
Lev Walkin2a744a72013-03-27 01:56:23 -0700819 long a;
Lev Walkincee931e2005-08-16 16:56:59 +0000820 struct Sequence *seq /* OPTIONAL */;
821 /*
822 * This type is extensible,
823 * possible extensions are below.
824 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700825 long *b;
Lev Walkincee931e2005-08-16 16:56:59 +0000826 struct Set *set /* OPTIONAL */;
827
828 /* Context for parsing across buffer boundaries */
829 asn_struct_ctx_t _asn_ctx;
830} Sequence_t;
831
832/*** <<< FUNC-DECLS [Sequence] >>> ***/
833
834extern asn_TYPE_descriptor_t asn_DEF_Sequence;
835
836/*** <<< POST-INCLUDE [Sequence] >>> ***/
837
Lev Walkin22b5ed42006-09-13 02:51:20 +0000838#include "Sequence.h"
839#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000840
841/*** <<< STAT-DEFS [Sequence] >>> ***/
842
843static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
844 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
845 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
846 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700847 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000848 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000849 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
850 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000851 .name = "a"
852 },
853 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
854 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
855 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000856 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000857 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000858 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
859 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000860 .name = "seq"
861 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000862 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000863 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
864 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700865 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000866 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000867 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
868 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000869 .name = "b"
870 },
871 { ATF_POINTER, 1, offsetof(struct Sequence, set),
872 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
873 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000874 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000875 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000876 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
877 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000878 .name = "set"
879 },
880};
Lev Walkina7591b52014-10-12 18:37:35 -0700881static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000882 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
883};
Lev Walkina7591b52014-10-12 18:37:35 -0700884static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700885 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
886 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
887 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
888 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000889};
Lev Walkin59b176e2005-11-26 11:25:14 +0000890static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000891 sizeof(struct Sequence),
892 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000893 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000894 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000895 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000896 1, /* Start extensions */
897 5 /* Stop extensions */
898};
899asn_TYPE_descriptor_t asn_DEF_Sequence = {
900 "Sequence",
901 "Sequence",
902 SEQUENCE_free,
903 SEQUENCE_print,
904 SEQUENCE_constraint,
905 SEQUENCE_decode_ber,
906 SEQUENCE_encode_der,
907 SEQUENCE_decode_xer,
908 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000909 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700910 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000911 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000912 asn_DEF_Sequence_tags_1,
913 sizeof(asn_DEF_Sequence_tags_1)
914 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
915 asn_DEF_Sequence_tags_1, /* Same as above */
916 sizeof(asn_DEF_Sequence_tags_1)
917 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
918 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000919 asn_MBR_Sequence_1,
920 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000921 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000922};
923
Lev Walkinb85a8132005-08-18 13:38:19 +0000924
925/*** <<< INCLUDES [TypeRef] >>> ***/
926
Lev Walkin22b5ed42006-09-13 02:51:20 +0000927#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000928
929/*** <<< TYPE-DECLS [TypeRef] >>> ***/
930
931typedef Sequence_t TypeRef_t;
932
933/*** <<< FUNC-DECLS [TypeRef] >>> ***/
934
935extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
936asn_struct_free_f TypeRef_free;
937asn_struct_print_f TypeRef_print;
938asn_constr_check_f TypeRef_constraint;
939ber_type_decoder_f TypeRef_decode_ber;
940der_type_encoder_f TypeRef_encode_der;
941xer_type_decoder_f TypeRef_decode_xer;
942xer_type_encoder_f TypeRef_encode_xer;
943
944/*** <<< CODE [TypeRef] >>> ***/
945
946int
947TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000948 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000949 /* Replace with underlying type checker */
950 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000951 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000952}
953
954/*
955 * This type is implemented using Sequence,
956 * so here we adjust the DEF accordingly.
957 */
958static void
959TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
960 td->free_struct = asn_DEF_Sequence.free_struct;
961 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800962 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000963 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
964 td->der_encoder = asn_DEF_Sequence.der_encoder;
965 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
966 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000967 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000968 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -0700969 td->oer_decoder = asn_DEF_Sequence.oer_decoder;
970 td->oer_encoder = asn_DEF_Sequence.oer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000971 if(!td->per_constraints)
972 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000973 td->elements = asn_DEF_Sequence.elements;
974 td->elements_count = asn_DEF_Sequence.elements_count;
975 td->specifics = asn_DEF_Sequence.specifics;
976}
977
978void
979TypeRef_free(asn_TYPE_descriptor_t *td,
980 void *struct_ptr, int contents_only) {
981 TypeRef_1_inherit_TYPE_descriptor(td);
982 td->free_struct(td, struct_ptr, contents_only);
983}
984
985int
986TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
987 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
988 TypeRef_1_inherit_TYPE_descriptor(td);
989 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
990}
991
992asn_dec_rval_t
993TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
994 void **structure, const void *bufptr, size_t size, int tag_mode) {
995 TypeRef_1_inherit_TYPE_descriptor(td);
996 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
997}
998
999asn_enc_rval_t
1000TypeRef_encode_der(asn_TYPE_descriptor_t *td,
1001 void *structure, int tag_mode, ber_tlv_tag_t tag,
1002 asn_app_consume_bytes_f *cb, void *app_key) {
1003 TypeRef_1_inherit_TYPE_descriptor(td);
1004 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1005}
1006
1007asn_dec_rval_t
1008TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1009 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1010 TypeRef_1_inherit_TYPE_descriptor(td);
1011 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1012}
1013
1014asn_enc_rval_t
1015TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1016 int ilevel, enum xer_encoder_flags_e flags,
1017 asn_app_consume_bytes_f *cb, void *app_key) {
1018 TypeRef_1_inherit_TYPE_descriptor(td);
1019 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1020}
1021
1022
1023/*** <<< STAT-DEFS [TypeRef] >>> ***/
1024
Lev Walkina7591b52014-10-12 18:37:35 -07001025static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001026 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1027};
1028asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1029 "TypeRef",
1030 "TypeRef",
1031 TypeRef_free,
1032 TypeRef_print,
1033 TypeRef_constraint,
1034 TypeRef_decode_ber,
1035 TypeRef_encode_der,
1036 TypeRef_decode_xer,
1037 TypeRef_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001038 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001039 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001040 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001041 asn_DEF_TypeRef_tags_1,
1042 sizeof(asn_DEF_TypeRef_tags_1)
1043 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1044 asn_DEF_TypeRef_tags_1, /* Same as above */
1045 sizeof(asn_DEF_TypeRef_tags_1)
1046 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1047 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001048 0, 0, /* Defined elsewhere */
1049 0 /* No specifics */
1050};
1051
1052
1053/*** <<< INCLUDES [Alpha] >>> ***/
1054
1055#include <constr_SEQUENCE.h>
1056
1057/*** <<< FWD-DECLS [Alpha] >>> ***/
1058
1059struct Beta;
1060
1061/*** <<< TYPE-DECLS [Alpha] >>> ***/
1062
1063typedef struct Alpha {
1064 struct Beta *a;
1065 struct b {
1066 struct Beta *b /* OPTIONAL */;
1067
1068 /* Context for parsing across buffer boundaries */
1069 asn_struct_ctx_t _asn_ctx;
1070 } b;
1071
1072 /* Context for parsing across buffer boundaries */
1073 asn_struct_ctx_t _asn_ctx;
1074} Alpha_t;
1075
1076/*** <<< FUNC-DECLS [Alpha] >>> ***/
1077
1078extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1079
1080/*** <<< POST-INCLUDE [Alpha] >>> ***/
1081
Lev Walkin22b5ed42006-09-13 02:51:20 +00001082#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001083
1084/*** <<< STAT-DEFS [Alpha] >>> ***/
1085
1086static asn_TYPE_member_t asn_MBR_b_3[] = {
1087 { ATF_POINTER, 1, offsetof(struct b, b),
1088 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1089 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001090 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001091 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001092 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1093 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001094 .name = "b"
1095 },
1096};
Lev Walkina7591b52014-10-12 18:37:35 -07001097static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001098 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1099 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1100};
Lev Walkina7591b52014-10-12 18:37:35 -07001101static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001102 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001103};
Lev Walkin59b176e2005-11-26 11:25:14 +00001104static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001105 sizeof(struct b),
1106 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001107 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001108 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001109 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001110 -1, /* Start extensions */
1111 -1 /* Stop extensions */
1112};
1113static /* Use -fall-defs-global to expose */
1114asn_TYPE_descriptor_t asn_DEF_b_3 = {
1115 "b",
1116 "b",
1117 SEQUENCE_free,
1118 SEQUENCE_print,
1119 SEQUENCE_constraint,
1120 SEQUENCE_decode_ber,
1121 SEQUENCE_encode_der,
1122 SEQUENCE_decode_xer,
1123 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001124 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001125 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001126 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001127 asn_DEF_b_tags_3,
1128 sizeof(asn_DEF_b_tags_3)
1129 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1130 asn_DEF_b_tags_3, /* Same as above */
1131 sizeof(asn_DEF_b_tags_3)
1132 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1133 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001134 asn_MBR_b_3,
1135 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001136 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001137};
1138
1139static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1140 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1141 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1142 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001143 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001144 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001145 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1146 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001147 .name = "a"
1148 },
1149 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1150 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001151 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001152 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001153 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001154 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1155 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001156 .name = "b"
1157 },
1158};
Lev Walkina7591b52014-10-12 18:37:35 -07001159static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001160 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1161};
Lev Walkina7591b52014-10-12 18:37:35 -07001162static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001163 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1164 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001165};
Lev Walkin59b176e2005-11-26 11:25:14 +00001166static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001167 sizeof(struct Alpha),
1168 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001169 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001170 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001171 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001172 -1, /* Start extensions */
1173 -1 /* Stop extensions */
1174};
1175asn_TYPE_descriptor_t asn_DEF_Alpha = {
1176 "Alpha",
1177 "Alpha",
1178 SEQUENCE_free,
1179 SEQUENCE_print,
1180 SEQUENCE_constraint,
1181 SEQUENCE_decode_ber,
1182 SEQUENCE_encode_der,
1183 SEQUENCE_decode_xer,
1184 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001185 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001186 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001187 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001188 asn_DEF_Alpha_tags_1,
1189 sizeof(asn_DEF_Alpha_tags_1)
1190 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1191 asn_DEF_Alpha_tags_1, /* Same as above */
1192 sizeof(asn_DEF_Alpha_tags_1)
1193 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1194 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001195 asn_MBR_Alpha_1,
1196 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001197 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001198};
1199
1200
1201/*** <<< INCLUDES [Beta] >>> ***/
1202
1203#include <constr_SEQUENCE.h>
1204
1205/*** <<< FWD-DECLS [Beta] >>> ***/
1206
1207struct Alpha;
1208struct Gamma;
1209
1210/*** <<< TYPE-DECLS [Beta] >>> ***/
1211
1212typedef struct Beta {
1213 struct Alpha *b /* OPTIONAL */;
1214 struct Gamma *g /* OPTIONAL */;
1215
1216 /* Context for parsing across buffer boundaries */
1217 asn_struct_ctx_t _asn_ctx;
1218} Beta_t;
1219
1220/*** <<< FUNC-DECLS [Beta] >>> ***/
1221
1222extern asn_TYPE_descriptor_t asn_DEF_Beta;
1223
1224/*** <<< POST-INCLUDE [Beta] >>> ***/
1225
Lev Walkin22b5ed42006-09-13 02:51:20 +00001226#include "Alpha.h"
1227#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001228
1229/*** <<< STAT-DEFS [Beta] >>> ***/
1230
1231static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1232 { ATF_POINTER, 2, offsetof(struct Beta, b),
1233 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1234 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001235 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001236 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001237 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1238 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001239 .name = "b"
1240 },
1241 { ATF_POINTER, 1, offsetof(struct Beta, g),
1242 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1243 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001244 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001245 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001246 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1247 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001248 .name = "g"
1249 },
1250};
Lev Walkina7591b52014-10-12 18:37:35 -07001251static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001252 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1253};
Lev Walkina7591b52014-10-12 18:37:35 -07001254static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001255 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1256 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001257};
Lev Walkin59b176e2005-11-26 11:25:14 +00001258static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001259 sizeof(struct Beta),
1260 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001261 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001262 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001263 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001264 -1, /* Start extensions */
1265 -1 /* Stop extensions */
1266};
1267asn_TYPE_descriptor_t asn_DEF_Beta = {
1268 "Beta",
1269 "Beta",
1270 SEQUENCE_free,
1271 SEQUENCE_print,
1272 SEQUENCE_constraint,
1273 SEQUENCE_decode_ber,
1274 SEQUENCE_encode_der,
1275 SEQUENCE_decode_xer,
1276 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001277 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001278 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001279 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001280 asn_DEF_Beta_tags_1,
1281 sizeof(asn_DEF_Beta_tags_1)
1282 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1283 asn_DEF_Beta_tags_1, /* Same as above */
1284 sizeof(asn_DEF_Beta_tags_1)
1285 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1286 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001287 asn_MBR_Beta_1,
1288 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001289 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001290};
1291
1292
1293/*** <<< INCLUDES [Gamma] >>> ***/
1294
1295#include <constr_SEQUENCE.h>
1296
1297/*** <<< FWD-DECLS [Gamma] >>> ***/
1298
1299struct TwoThree;
1300struct Alpha;
1301struct Beta;
1302
1303/*** <<< TYPE-DECLS [Gamma] >>> ***/
1304
1305typedef struct Gamma {
1306 struct TwoThree *o;
1307 struct Alpha *a;
1308 struct Beta *b;
1309
1310 /* Context for parsing across buffer boundaries */
1311 asn_struct_ctx_t _asn_ctx;
1312} Gamma_t;
1313
1314/*** <<< FUNC-DECLS [Gamma] >>> ***/
1315
1316extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1317
1318/*** <<< POST-INCLUDE [Gamma] >>> ***/
1319
Lev Walkin22b5ed42006-09-13 02:51:20 +00001320#include "TwoThree.h"
1321#include "Alpha.h"
1322#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001323
1324/*** <<< STAT-DEFS [Gamma] >>> ***/
1325
1326static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1327 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1328 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1329 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001330 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001331 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001332 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1333 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001334 .name = "o"
1335 },
1336 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1337 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1338 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001339 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001340 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001341 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1342 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001343 .name = "a"
1344 },
1345 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1346 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1347 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001348 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001349 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001350 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1351 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001352 .name = "b"
1353 },
1354};
Lev Walkina7591b52014-10-12 18:37:35 -07001355static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001356 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1357};
Lev Walkina7591b52014-10-12 18:37:35 -07001358static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001359 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1360 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1361 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001362};
Lev Walkin59b176e2005-11-26 11:25:14 +00001363static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001364 sizeof(struct Gamma),
1365 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001366 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001367 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001368 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001369 -1, /* Start extensions */
1370 -1 /* Stop extensions */
1371};
1372asn_TYPE_descriptor_t asn_DEF_Gamma = {
1373 "Gamma",
1374 "Gamma",
1375 SEQUENCE_free,
1376 SEQUENCE_print,
1377 SEQUENCE_constraint,
1378 SEQUENCE_decode_ber,
1379 SEQUENCE_encode_der,
1380 SEQUENCE_decode_xer,
1381 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001382 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001383 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001384 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001385 asn_DEF_Gamma_tags_1,
1386 sizeof(asn_DEF_Gamma_tags_1)
1387 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1388 asn_DEF_Gamma_tags_1, /* Same as above */
1389 sizeof(asn_DEF_Gamma_tags_1)
1390 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1391 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001392 asn_MBR_Gamma_1,
1393 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001394 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001395};
1396
1397
1398/*** <<< INCLUDES [OneTwo] >>> ***/
1399
1400#include <constr_SET.h>
1401
1402/*** <<< DEPS [OneTwo] >>> ***/
1403
1404
1405/*
1406 * Method of determining the components presence
1407 */
1408typedef enum OneTwo_PR {
1409 OneTwo_PR_m12, /* Member m12 is present */
1410} OneTwo_PR;
1411
1412/*** <<< FWD-DECLS [OneTwo] >>> ***/
1413
1414struct TwoThree;
1415
1416/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1417
1418typedef struct OneTwo {
1419 struct TwoThree *m12;
1420
1421 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1422 unsigned int _presence_map
1423 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1424
1425 /* Context for parsing across buffer boundaries */
1426 asn_struct_ctx_t _asn_ctx;
1427} OneTwo_t;
1428
1429/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1430
1431extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1432
1433/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1434
Lev Walkin22b5ed42006-09-13 02:51:20 +00001435#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001436
1437/*** <<< STAT-DEFS [OneTwo] >>> ***/
1438
1439static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1440 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1441 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1442 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001443 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001444 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001445 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1446 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001447 .name = "m12"
1448 },
1449};
Lev Walkina7591b52014-10-12 18:37:35 -07001450static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001451 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1452};
Lev Walkina7591b52014-10-12 18:37:35 -07001453static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001454 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001455};
Lev Walkina7591b52014-10-12 18:37:35 -07001456static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001457 (1 << 7)
1458};
Lev Walkin59b176e2005-11-26 11:25:14 +00001459static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001460 sizeof(struct OneTwo),
1461 offsetof(struct OneTwo, _asn_ctx),
1462 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001463 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001464 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001465 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001466 1, /* Count of tags in the CXER map */
1467 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001468 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001469};
1470asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1471 "OneTwo",
1472 "OneTwo",
1473 SET_free,
1474 SET_print,
1475 SET_constraint,
1476 SET_decode_ber,
1477 SET_encode_der,
1478 SET_decode_xer,
1479 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001480 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001481 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001482 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001483 asn_DEF_OneTwo_tags_1,
1484 sizeof(asn_DEF_OneTwo_tags_1)
1485 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1486 asn_DEF_OneTwo_tags_1, /* Same as above */
1487 sizeof(asn_DEF_OneTwo_tags_1)
1488 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1489 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001490 asn_MBR_OneTwo_1,
1491 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001492 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001493};
1494
1495
1496/*** <<< INCLUDES [TwoThree] >>> ***/
1497
1498#include <constr_SET.h>
1499
1500/*** <<< DEPS [TwoThree] >>> ***/
1501
1502
1503/*
1504 * Method of determining the components presence
1505 */
1506typedef enum TwoThree_PR {
1507 TwoThree_PR_m23, /* Member m23 is present */
1508} TwoThree_PR;
1509
1510/*** <<< FWD-DECLS [TwoThree] >>> ***/
1511
1512struct ThreeOne;
1513
1514/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1515
1516typedef struct TwoThree {
1517 struct ThreeOne *m23;
1518
1519 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1520 unsigned int _presence_map
1521 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1522
1523 /* Context for parsing across buffer boundaries */
1524 asn_struct_ctx_t _asn_ctx;
1525} TwoThree_t;
1526
1527/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1528
1529extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1530
1531/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1532
Lev Walkin22b5ed42006-09-13 02:51:20 +00001533#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001534
1535/*** <<< STAT-DEFS [TwoThree] >>> ***/
1536
1537static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1538 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1539 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1540 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001541 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001542 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001543 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1544 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001545 .name = "m23"
1546 },
1547};
Lev Walkina7591b52014-10-12 18:37:35 -07001548static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001549 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1550};
Lev Walkina7591b52014-10-12 18:37:35 -07001551static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001552 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001553};
Lev Walkina7591b52014-10-12 18:37:35 -07001554static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001555 (1 << 7)
1556};
Lev Walkin59b176e2005-11-26 11:25:14 +00001557static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001558 sizeof(struct TwoThree),
1559 offsetof(struct TwoThree, _asn_ctx),
1560 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001561 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001562 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001563 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001564 1, /* Count of tags in the CXER map */
1565 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001566 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001567};
1568asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1569 "TwoThree",
1570 "TwoThree",
1571 SET_free,
1572 SET_print,
1573 SET_constraint,
1574 SET_decode_ber,
1575 SET_encode_der,
1576 SET_decode_xer,
1577 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001578 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001579 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001580 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001581 asn_DEF_TwoThree_tags_1,
1582 sizeof(asn_DEF_TwoThree_tags_1)
1583 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1584 asn_DEF_TwoThree_tags_1, /* Same as above */
1585 sizeof(asn_DEF_TwoThree_tags_1)
1586 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1587 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001588 asn_MBR_TwoThree_1,
1589 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001590 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001591};
1592
1593
1594/*** <<< INCLUDES [ThreeOne] >>> ***/
1595
1596#include <constr_SET.h>
1597
1598/*** <<< DEPS [ThreeOne] >>> ***/
1599
1600
1601/*
1602 * Method of determining the components presence
1603 */
1604typedef enum ThreeOne_PR {
1605 ThreeOne_PR_m31, /* Member m31 is present */
1606 ThreeOne_PR_g, /* Member g is present */
1607} ThreeOne_PR;
1608
1609/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1610
1611struct OneTwo;
1612struct Gamma;
1613
1614/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1615
1616typedef struct ThreeOne {
1617 struct OneTwo *m31;
1618 struct Gamma *g;
1619
1620 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1621 unsigned int _presence_map
1622 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1623
1624 /* Context for parsing across buffer boundaries */
1625 asn_struct_ctx_t _asn_ctx;
1626} ThreeOne_t;
1627
1628/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1629
1630extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1631
1632/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1633
Lev Walkin22b5ed42006-09-13 02:51:20 +00001634#include "OneTwo.h"
1635#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001636
1637/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1638
1639static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1640 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1641 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1642 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001643 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001644 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001645 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1646 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001647 .name = "m31"
1648 },
1649 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1650 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1651 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001652 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001653 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001654 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1655 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001656 .name = "g"
1657 },
1658};
Lev Walkina7591b52014-10-12 18:37:35 -07001659static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001660 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1661};
Lev Walkina7591b52014-10-12 18:37:35 -07001662static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001663 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1664 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001665};
Lev Walkina7591b52014-10-12 18:37:35 -07001666static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001667 (1 << 7) | (1 << 6)
1668};
Lev Walkin59b176e2005-11-26 11:25:14 +00001669static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001670 sizeof(struct ThreeOne),
1671 offsetof(struct ThreeOne, _asn_ctx),
1672 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001673 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001674 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001675 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001676 2, /* Count of tags in the CXER map */
1677 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001678 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001679};
1680asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1681 "ThreeOne",
1682 "ThreeOne",
1683 SET_free,
1684 SET_print,
1685 SET_constraint,
1686 SET_decode_ber,
1687 SET_encode_der,
1688 SET_decode_xer,
1689 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001690 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -07001691 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001692 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001693 asn_DEF_ThreeOne_tags_1,
1694 sizeof(asn_DEF_ThreeOne_tags_1)
1695 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1696 asn_DEF_ThreeOne_tags_1, /* Same as above */
1697 sizeof(asn_DEF_ThreeOne_tags_1)
1698 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1699 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001700 asn_MBR_ThreeOne_1,
1701 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001702 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001703};
1704