blob: 8ba7f73e02485ea0f4f7ee4c1da576df0b08f83b [file] [log] [blame]
Lev Walkincee931e2005-08-16 16:56:59 +00001
2/*** <<< INCLUDES [Everything] >>> ***/
3
Lev Walkin22b5ed42006-09-13 02:51:20 +00004#include "Set.h"
5#include "Alpha.h"
6#include "Beta.h"
7#include "Gamma.h"
8#include "OneTwo.h"
9#include "TwoThree.h"
10#include "ThreeOne.h"
Lev Walkincee931e2005-08-16 16:56:59 +000011#include <constr_SEQUENCE.h>
12
Lev Walkinb85a8132005-08-18 13:38:19 +000013/*** <<< FWD-DECLS [Everything] >>> ***/
14
15struct Choice1;
16struct Choice2;
17struct Choice3;
18
Lev Walkincee931e2005-08-16 16:56:59 +000019/*** <<< TYPE-DECLS [Everything] >>> ***/
20
21typedef struct Everything {
Lev Walkinb85a8132005-08-18 13:38:19 +000022 struct Choice1 *ch1;
23 struct Choice2 *ch2;
24 struct Choice3 *ch3;
Lev Walkincee931e2005-08-16 16:56:59 +000025 Set_t set;
Lev Walkinb85a8132005-08-18 13:38:19 +000026 Alpha_t a;
27 Beta_t b;
28 Gamma_t g;
29 OneTwo_t ot;
30 TwoThree_t tt;
31 ThreeOne_t to;
Lev Walkincee931e2005-08-16 16:56:59 +000032
33 /* Context for parsing across buffer boundaries */
34 asn_struct_ctx_t _asn_ctx;
35} Everything_t;
36
37/*** <<< FUNC-DECLS [Everything] >>> ***/
38
39extern asn_TYPE_descriptor_t asn_DEF_Everything;
40
Lev Walkinb85a8132005-08-18 13:38:19 +000041/*** <<< POST-INCLUDE [Everything] >>> ***/
42
Lev Walkin22b5ed42006-09-13 02:51:20 +000043#include "Choice1.h"
44#include "Choice2.h"
45#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +000046
Lev Walkincee931e2005-08-16 16:56:59 +000047/*** <<< STAT-DEFS [Everything] >>> ***/
48
49static asn_TYPE_member_t asn_MBR_Everything_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +000050 { ATF_POINTER, 0, offsetof(struct Everything, ch1),
Lev Walkincee931e2005-08-16 16:56:59 +000051 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
52 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000053 .type = &asn_DEF_Choice1,
Lev Walkincee931e2005-08-16 16:56:59 +000054 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000055 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
56 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000057 .name = "ch1"
58 },
Lev Walkinb85a8132005-08-18 13:38:19 +000059 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
Lev Walkincee931e2005-08-16 16:56:59 +000060 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
61 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000062 .type = &asn_DEF_Choice2,
Lev Walkincee931e2005-08-16 16:56:59 +000063 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000064 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
65 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000066 .name = "ch2"
67 },
Lev Walkinb85a8132005-08-18 13:38:19 +000068 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
Lev Walkincee931e2005-08-16 16:56:59 +000069 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkinb85a8132005-08-18 13:38:19 +000070 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000071 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +000072 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000073 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
74 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000075 .name = "ch3"
76 },
77 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
78 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkincee931e2005-08-16 16:56:59 +000079 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000080 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +000081 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000082 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
83 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000084 .name = "set"
85 },
Lev Walkinb85a8132005-08-18 13:38:19 +000086 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
87 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
88 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000089 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +000090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000091 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
92 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000093 .name = "a"
94 },
95 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
96 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
97 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000098 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +000099 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000100 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
101 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000102 .name = "b"
103 },
104 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
105 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
106 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000107 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +0000108 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000109 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
110 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000111 .name = "g"
112 },
113 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
114 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
115 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000116 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +0000117 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000118 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
119 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000120 .name = "ot"
121 },
122 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
123 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
124 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +0000126 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
128 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000129 .name = "tt"
130 },
131 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
132 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
133 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +0000135 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000136 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
137 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000138 .name = "to"
139 },
Lev Walkincee931e2005-08-16 16:56:59 +0000140};
Lev Walkina7591b52014-10-12 18:37:35 -0700141static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000142 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
143};
Lev Walkina7591b52014-10-12 18:37:35 -0700144static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */
147 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */
148 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */
149 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */
150 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */
151 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */
152 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */
153 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
154 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
Lev Walkincee931e2005-08-16 16:56:59 +0000155};
Lev Walkin59b176e2005-11-26 11:25:14 +0000156static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000157 sizeof(struct Everything),
158 offsetof(struct Everything, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000159 asn_MAP_Everything_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000160 10, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000162 -1, /* Start extensions */
163 -1 /* Stop extensions */
164};
165asn_TYPE_descriptor_t asn_DEF_Everything = {
166 "Everything",
167 "Everything",
168 SEQUENCE_free,
169 SEQUENCE_print,
170 SEQUENCE_constraint,
171 SEQUENCE_decode_ber,
172 SEQUENCE_encode_der,
173 SEQUENCE_decode_xer,
174 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000175 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000176 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000177 asn_DEF_Everything_tags_1,
178 sizeof(asn_DEF_Everything_tags_1)
179 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
180 asn_DEF_Everything_tags_1, /* Same as above */
181 sizeof(asn_DEF_Everything_tags_1)
182 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
183 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000184 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000185 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000186 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000187};
188
189
190/*** <<< INCLUDES [Choice1] >>> ***/
191
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 */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000200 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000201} 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
Lev Walkin22b5ed42006-09-13 02:51:20 +0000230#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000231
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 Walkina7591b52014-10-12 18:37:35 -0700254static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700255 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
256 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000257};
Lev Walkin59b176e2005-11-26 11:25:14 +0000258static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000259 sizeof(struct Choice1),
260 offsetof(struct Choice1, _asn_ctx),
261 offsetof(struct Choice1, present),
262 sizeof(((struct Choice1 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000263 asn_MAP_Choice1_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000264 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000265 .canonical_order = 0,
266 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000267};
268asn_TYPE_descriptor_t asn_DEF_Choice1 = {
269 "Choice1",
270 "Choice1",
271 CHOICE_free,
272 CHOICE_print,
273 CHOICE_constraint,
274 CHOICE_decode_ber,
275 CHOICE_encode_der,
276 CHOICE_decode_xer,
277 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000278 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000279 CHOICE_outmost_tag,
280 0, /* No effective tags (pointer) */
281 0, /* No effective tags (count) */
282 0, /* No tags (pointer) */
283 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000284 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000285 asn_MBR_Choice1_1,
286 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000287 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000288};
289
290
291/*** <<< INCLUDES [Choice2] >>> ***/
292
Lev Walkin22b5ed42006-09-13 02:51:20 +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 */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000302 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000303} 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
Lev Walkin22b5ed42006-09-13 02:51:20 +0000332#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000333
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 Walkina7591b52014-10-12 18:37:35 -0700356static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700357 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
358 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
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 Walkin9f5bb3a2006-08-18 01:46:46 +0000380 0, 0, /* No PER support, use "-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,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000406 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000407} 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
Lev Walkin22b5ed42006-09-13 02:51:20 +0000444#include "Everything.h"
445#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000446
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 Walkina7591b52014-10-12 18:37:35 -0700460static const 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 Walkina7591b52014-10-12 18:37:35 -0700464static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700465 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000466};
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 Walkin9f5bb3a2006-08-18 01:46:46 +0000487 0, 0, /* No PER support, use "-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 Walkina7591b52014-10-12 18:37:35 -0700512static const 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 Walkin9f5bb3a2006-08-18 01:46:46 +0000532 0, 0, /* No PER support, use "-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)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000549 .tag_mode = 0,
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)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000567 .tag_mode = 0,
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 Walkina7591b52014-10-12 18:37:35 -0700575static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700576 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
577 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
578 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000579};
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 Walkin9f5bb3a2006-08-18 01:46:46 +0000600 0, 0, /* No PER support, use "-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
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800625/*** <<< FWD-DEFS [Set] >>> ***/
626
627typedef struct Member {
628 INTEGER_t Int;
629 struct Set *set;
630 struct Sequence *seq;
631 struct Set *set2 /* OPTIONAL */;
632 /*
633 * This type is extensible,
634 * possible extensions are below.
635 */
636 struct Set *set3;
637
638 /* Context for parsing across buffer boundaries */
639 asn_struct_ctx_t _asn_ctx;
640} Member;
641
Lev Walkincee931e2005-08-16 16:56:59 +0000642/*** <<< TYPE-DECLS [Set] >>> ***/
643
644typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800645 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000646
647 /* Context for parsing across buffer boundaries */
648 asn_struct_ctx_t _asn_ctx;
649} Set_t;
650
651/*** <<< FUNC-DECLS [Set] >>> ***/
652
653extern asn_TYPE_descriptor_t asn_DEF_Set;
654
655/*** <<< POST-INCLUDE [Set] >>> ***/
656
Lev Walkin22b5ed42006-09-13 02:51:20 +0000657#include "Set.h"
658#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000659
660/*** <<< STAT-DEFS [Set] >>> ***/
661
662static asn_TYPE_member_t asn_MBR_Member_2[] = {
663 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
664 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
665 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000666 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000667 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000668 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
669 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000670 .name = "int"
671 },
672 { ATF_POINTER, 0, offsetof(struct Member, set),
673 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
674 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000675 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000676 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000677 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
678 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000679 .name = "set"
680 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000681 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000682 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
683 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000684 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000685 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000686 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
687 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000688 .name = "seq"
689 },
690 { ATF_POINTER, 2, offsetof(struct Member, set2),
691 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
692 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000693 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000694 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000695 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
696 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000697 .name = "set2"
698 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000699 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000700 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
701 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000702 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000703 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000704 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
705 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000706 .name = "set3"
707 },
708};
Lev Walkina7591b52014-10-12 18:37:35 -0700709static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000710 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
711};
Lev Walkina7591b52014-10-12 18:37:35 -0700712static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700713 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
714 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
715 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
716 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
717 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000718};
Lev Walkin59b176e2005-11-26 11:25:14 +0000719static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000720 sizeof(struct Member),
721 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000722 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000723 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000724 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000725 3, /* Start extensions */
726 6 /* Stop extensions */
727};
728static /* Use -fall-defs-global to expose */
729asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000730 "SEQUENCE",
731 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000732 SEQUENCE_free,
733 SEQUENCE_print,
734 SEQUENCE_constraint,
735 SEQUENCE_decode_ber,
736 SEQUENCE_encode_der,
737 SEQUENCE_decode_xer,
738 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000739 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000740 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000741 asn_DEF_Member_tags_2,
742 sizeof(asn_DEF_Member_tags_2)
743 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
744 asn_DEF_Member_tags_2, /* Same as above */
745 sizeof(asn_DEF_Member_tags_2)
746 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
747 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000748 asn_MBR_Member_2,
749 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000750 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000751};
752
753static asn_TYPE_member_t asn_MBR_Set_1[] = {
754 { ATF_POINTER, 0, 0,
755 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
756 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000757 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000758 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000759 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
760 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000761 .name = ""
762 },
763};
Lev Walkina7591b52014-10-12 18:37:35 -0700764static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000765 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
766};
Lev Walkin59b176e2005-11-26 11:25:14 +0000767static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000768 sizeof(struct Set),
769 offsetof(struct Set, _asn_ctx),
770 0, /* XER encoding is XMLDelimitedItemList */
771};
772asn_TYPE_descriptor_t asn_DEF_Set = {
773 "Set",
774 "Set",
775 SET_OF_free,
776 SET_OF_print,
777 SET_OF_constraint,
778 SET_OF_decode_ber,
779 SET_OF_encode_der,
780 SET_OF_decode_xer,
781 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000782 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000783 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000784 asn_DEF_Set_tags_1,
785 sizeof(asn_DEF_Set_tags_1)
786 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
787 asn_DEF_Set_tags_1, /* Same as above */
788 sizeof(asn_DEF_Set_tags_1)
789 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
790 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000791 asn_MBR_Set_1,
792 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000793 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000794};
795
796
797/*** <<< INCLUDES [Sequence] >>> ***/
798
799#include <INTEGER.h>
800#include <constr_SEQUENCE.h>
801
802/*** <<< FWD-DECLS [Sequence] >>> ***/
803
804struct Sequence;
805struct Set;
806
807/*** <<< TYPE-DECLS [Sequence] >>> ***/
808
809typedef struct Sequence {
810 INTEGER_t a;
811 struct Sequence *seq /* OPTIONAL */;
812 /*
813 * This type is extensible,
814 * possible extensions are below.
815 */
816 INTEGER_t *b;
817 struct Set *set /* OPTIONAL */;
818
819 /* Context for parsing across buffer boundaries */
820 asn_struct_ctx_t _asn_ctx;
821} Sequence_t;
822
823/*** <<< FUNC-DECLS [Sequence] >>> ***/
824
825extern asn_TYPE_descriptor_t asn_DEF_Sequence;
826
827/*** <<< POST-INCLUDE [Sequence] >>> ***/
828
Lev Walkin22b5ed42006-09-13 02:51:20 +0000829#include "Sequence.h"
830#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000831
832/*** <<< STAT-DEFS [Sequence] >>> ***/
833
834static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
835 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
836 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
837 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000838 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000839 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000840 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
841 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000842 .name = "a"
843 },
844 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
845 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
846 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000847 .type = &asn_DEF_Sequence,
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 = "seq"
852 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000853 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000854 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
855 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000856 .type = &asn_DEF_INTEGER,
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 = "b"
861 },
862 { ATF_POINTER, 1, offsetof(struct Sequence, set),
863 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
864 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000865 .type = &asn_DEF_Set,
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 = "set"
870 },
871};
Lev Walkina7591b52014-10-12 18:37:35 -0700872static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000873 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
874};
Lev Walkina7591b52014-10-12 18:37:35 -0700875static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700876 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
877 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
878 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
879 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000880};
Lev Walkin59b176e2005-11-26 11:25:14 +0000881static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000882 sizeof(struct Sequence),
883 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000884 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000885 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000886 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000887 1, /* Start extensions */
888 5 /* Stop extensions */
889};
890asn_TYPE_descriptor_t asn_DEF_Sequence = {
891 "Sequence",
892 "Sequence",
893 SEQUENCE_free,
894 SEQUENCE_print,
895 SEQUENCE_constraint,
896 SEQUENCE_decode_ber,
897 SEQUENCE_encode_der,
898 SEQUENCE_decode_xer,
899 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000900 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000901 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000902 asn_DEF_Sequence_tags_1,
903 sizeof(asn_DEF_Sequence_tags_1)
904 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
905 asn_DEF_Sequence_tags_1, /* Same as above */
906 sizeof(asn_DEF_Sequence_tags_1)
907 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
908 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000909 asn_MBR_Sequence_1,
910 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000911 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000912};
913
Lev Walkinb85a8132005-08-18 13:38:19 +0000914
915/*** <<< INCLUDES [TypeRef] >>> ***/
916
Lev Walkin22b5ed42006-09-13 02:51:20 +0000917#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000918
919/*** <<< TYPE-DECLS [TypeRef] >>> ***/
920
921typedef Sequence_t TypeRef_t;
922
923/*** <<< FUNC-DECLS [TypeRef] >>> ***/
924
925extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
926asn_struct_free_f TypeRef_free;
927asn_struct_print_f TypeRef_print;
928asn_constr_check_f TypeRef_constraint;
929ber_type_decoder_f TypeRef_decode_ber;
930der_type_encoder_f TypeRef_encode_der;
931xer_type_decoder_f TypeRef_decode_xer;
932xer_type_encoder_f TypeRef_encode_xer;
933
934/*** <<< CODE [TypeRef] >>> ***/
935
936int
937TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000938 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000939 /* Replace with underlying type checker */
940 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000941 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000942}
943
944/*
945 * This type is implemented using Sequence,
946 * so here we adjust the DEF accordingly.
947 */
948static void
949TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
950 td->free_struct = asn_DEF_Sequence.free_struct;
951 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800952 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000953 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
954 td->der_encoder = asn_DEF_Sequence.der_encoder;
955 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
956 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000957 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000958 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000959 if(!td->per_constraints)
960 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +0000961 td->elements = asn_DEF_Sequence.elements;
962 td->elements_count = asn_DEF_Sequence.elements_count;
963 td->specifics = asn_DEF_Sequence.specifics;
964}
965
966void
967TypeRef_free(asn_TYPE_descriptor_t *td,
968 void *struct_ptr, int contents_only) {
969 TypeRef_1_inherit_TYPE_descriptor(td);
970 td->free_struct(td, struct_ptr, contents_only);
971}
972
973int
974TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
975 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
976 TypeRef_1_inherit_TYPE_descriptor(td);
977 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
978}
979
980asn_dec_rval_t
981TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
982 void **structure, const void *bufptr, size_t size, int tag_mode) {
983 TypeRef_1_inherit_TYPE_descriptor(td);
984 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
985}
986
987asn_enc_rval_t
988TypeRef_encode_der(asn_TYPE_descriptor_t *td,
989 void *structure, int tag_mode, ber_tlv_tag_t tag,
990 asn_app_consume_bytes_f *cb, void *app_key) {
991 TypeRef_1_inherit_TYPE_descriptor(td);
992 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
993}
994
995asn_dec_rval_t
996TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
997 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
998 TypeRef_1_inherit_TYPE_descriptor(td);
999 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1000}
1001
1002asn_enc_rval_t
1003TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1004 int ilevel, enum xer_encoder_flags_e flags,
1005 asn_app_consume_bytes_f *cb, void *app_key) {
1006 TypeRef_1_inherit_TYPE_descriptor(td);
1007 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1008}
1009
1010
1011/*** <<< STAT-DEFS [TypeRef] >>> ***/
1012
Lev Walkina7591b52014-10-12 18:37:35 -07001013static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001014 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1015};
1016asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1017 "TypeRef",
1018 "TypeRef",
1019 TypeRef_free,
1020 TypeRef_print,
1021 TypeRef_constraint,
1022 TypeRef_decode_ber,
1023 TypeRef_encode_der,
1024 TypeRef_decode_xer,
1025 TypeRef_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001026 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001027 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001028 asn_DEF_TypeRef_tags_1,
1029 sizeof(asn_DEF_TypeRef_tags_1)
1030 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1031 asn_DEF_TypeRef_tags_1, /* Same as above */
1032 sizeof(asn_DEF_TypeRef_tags_1)
1033 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1034 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001035 0, 0, /* Defined elsewhere */
1036 0 /* No specifics */
1037};
1038
1039
1040/*** <<< INCLUDES [Alpha] >>> ***/
1041
1042#include <constr_SEQUENCE.h>
1043
1044/*** <<< FWD-DECLS [Alpha] >>> ***/
1045
1046struct Beta;
1047
1048/*** <<< TYPE-DECLS [Alpha] >>> ***/
1049
1050typedef struct Alpha {
1051 struct Beta *a;
1052 struct b {
1053 struct Beta *b /* OPTIONAL */;
1054
1055 /* Context for parsing across buffer boundaries */
1056 asn_struct_ctx_t _asn_ctx;
1057 } b;
1058
1059 /* Context for parsing across buffer boundaries */
1060 asn_struct_ctx_t _asn_ctx;
1061} Alpha_t;
1062
1063/*** <<< FUNC-DECLS [Alpha] >>> ***/
1064
1065extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1066
1067/*** <<< POST-INCLUDE [Alpha] >>> ***/
1068
Lev Walkin22b5ed42006-09-13 02:51:20 +00001069#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001070
1071/*** <<< STAT-DEFS [Alpha] >>> ***/
1072
1073static asn_TYPE_member_t asn_MBR_b_3[] = {
1074 { ATF_POINTER, 1, offsetof(struct b, b),
1075 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1076 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001077 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001078 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001079 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1080 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001081 .name = "b"
1082 },
1083};
Lev Walkina7591b52014-10-12 18:37:35 -07001084static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001085 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1086 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1087};
Lev Walkina7591b52014-10-12 18:37:35 -07001088static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001089 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001090};
Lev Walkin59b176e2005-11-26 11:25:14 +00001091static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001092 sizeof(struct b),
1093 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001094 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001095 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001096 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001097 -1, /* Start extensions */
1098 -1 /* Stop extensions */
1099};
1100static /* Use -fall-defs-global to expose */
1101asn_TYPE_descriptor_t asn_DEF_b_3 = {
1102 "b",
1103 "b",
1104 SEQUENCE_free,
1105 SEQUENCE_print,
1106 SEQUENCE_constraint,
1107 SEQUENCE_decode_ber,
1108 SEQUENCE_encode_der,
1109 SEQUENCE_decode_xer,
1110 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001111 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001112 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001113 asn_DEF_b_tags_3,
1114 sizeof(asn_DEF_b_tags_3)
1115 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1116 asn_DEF_b_tags_3, /* Same as above */
1117 sizeof(asn_DEF_b_tags_3)
1118 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
1119 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001120 asn_MBR_b_3,
1121 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001122 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001123};
1124
1125static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1126 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1127 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1128 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001129 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001130 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001131 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1132 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001133 .name = "a"
1134 },
1135 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1136 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001137 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001138 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001139 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001140 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1141 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001142 .name = "b"
1143 },
1144};
Lev Walkina7591b52014-10-12 18:37:35 -07001145static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001146 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1147};
Lev Walkina7591b52014-10-12 18:37:35 -07001148static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001149 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1150 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001151};
Lev Walkin59b176e2005-11-26 11:25:14 +00001152static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001153 sizeof(struct Alpha),
1154 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001155 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001156 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001157 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001158 -1, /* Start extensions */
1159 -1 /* Stop extensions */
1160};
1161asn_TYPE_descriptor_t asn_DEF_Alpha = {
1162 "Alpha",
1163 "Alpha",
1164 SEQUENCE_free,
1165 SEQUENCE_print,
1166 SEQUENCE_constraint,
1167 SEQUENCE_decode_ber,
1168 SEQUENCE_encode_der,
1169 SEQUENCE_decode_xer,
1170 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001171 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001172 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001173 asn_DEF_Alpha_tags_1,
1174 sizeof(asn_DEF_Alpha_tags_1)
1175 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1176 asn_DEF_Alpha_tags_1, /* Same as above */
1177 sizeof(asn_DEF_Alpha_tags_1)
1178 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1179 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001180 asn_MBR_Alpha_1,
1181 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001182 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001183};
1184
1185
1186/*** <<< INCLUDES [Beta] >>> ***/
1187
1188#include <constr_SEQUENCE.h>
1189
1190/*** <<< FWD-DECLS [Beta] >>> ***/
1191
1192struct Alpha;
1193struct Gamma;
1194
1195/*** <<< TYPE-DECLS [Beta] >>> ***/
1196
1197typedef struct Beta {
1198 struct Alpha *b /* OPTIONAL */;
1199 struct Gamma *g /* OPTIONAL */;
1200
1201 /* Context for parsing across buffer boundaries */
1202 asn_struct_ctx_t _asn_ctx;
1203} Beta_t;
1204
1205/*** <<< FUNC-DECLS [Beta] >>> ***/
1206
1207extern asn_TYPE_descriptor_t asn_DEF_Beta;
1208
1209/*** <<< POST-INCLUDE [Beta] >>> ***/
1210
Lev Walkin22b5ed42006-09-13 02:51:20 +00001211#include "Alpha.h"
1212#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001213
1214/*** <<< STAT-DEFS [Beta] >>> ***/
1215
1216static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1217 { ATF_POINTER, 2, offsetof(struct Beta, b),
1218 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1219 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001220 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001221 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001222 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1223 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001224 .name = "b"
1225 },
1226 { ATF_POINTER, 1, offsetof(struct Beta, g),
1227 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1228 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001229 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001230 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001231 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1232 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001233 .name = "g"
1234 },
1235};
Lev Walkina7591b52014-10-12 18:37:35 -07001236static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001237 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1238};
Lev Walkina7591b52014-10-12 18:37:35 -07001239static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001240 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1241 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001242};
Lev Walkin59b176e2005-11-26 11:25:14 +00001243static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001244 sizeof(struct Beta),
1245 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001246 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001247 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001248 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001249 -1, /* Start extensions */
1250 -1 /* Stop extensions */
1251};
1252asn_TYPE_descriptor_t asn_DEF_Beta = {
1253 "Beta",
1254 "Beta",
1255 SEQUENCE_free,
1256 SEQUENCE_print,
1257 SEQUENCE_constraint,
1258 SEQUENCE_decode_ber,
1259 SEQUENCE_encode_der,
1260 SEQUENCE_decode_xer,
1261 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001262 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001263 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001264 asn_DEF_Beta_tags_1,
1265 sizeof(asn_DEF_Beta_tags_1)
1266 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1267 asn_DEF_Beta_tags_1, /* Same as above */
1268 sizeof(asn_DEF_Beta_tags_1)
1269 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1270 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001271 asn_MBR_Beta_1,
1272 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001273 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001274};
1275
1276
1277/*** <<< INCLUDES [Gamma] >>> ***/
1278
1279#include <constr_SEQUENCE.h>
1280
1281/*** <<< FWD-DECLS [Gamma] >>> ***/
1282
1283struct TwoThree;
1284struct Alpha;
1285struct Beta;
1286
1287/*** <<< TYPE-DECLS [Gamma] >>> ***/
1288
1289typedef struct Gamma {
1290 struct TwoThree *o;
1291 struct Alpha *a;
1292 struct Beta *b;
1293
1294 /* Context for parsing across buffer boundaries */
1295 asn_struct_ctx_t _asn_ctx;
1296} Gamma_t;
1297
1298/*** <<< FUNC-DECLS [Gamma] >>> ***/
1299
1300extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1301
1302/*** <<< POST-INCLUDE [Gamma] >>> ***/
1303
Lev Walkin22b5ed42006-09-13 02:51:20 +00001304#include "TwoThree.h"
1305#include "Alpha.h"
1306#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001307
1308/*** <<< STAT-DEFS [Gamma] >>> ***/
1309
1310static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1311 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1312 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1313 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001314 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001315 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001316 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1317 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001318 .name = "o"
1319 },
1320 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1321 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1322 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001323 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001324 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001325 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1326 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001327 .name = "a"
1328 },
1329 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1330 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1331 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001332 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001333 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001334 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1335 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001336 .name = "b"
1337 },
1338};
Lev Walkina7591b52014-10-12 18:37:35 -07001339static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001340 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1341};
Lev Walkina7591b52014-10-12 18:37:35 -07001342static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001343 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1344 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1345 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001346};
Lev Walkin59b176e2005-11-26 11:25:14 +00001347static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001348 sizeof(struct Gamma),
1349 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001350 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001351 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001352 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001353 -1, /* Start extensions */
1354 -1 /* Stop extensions */
1355};
1356asn_TYPE_descriptor_t asn_DEF_Gamma = {
1357 "Gamma",
1358 "Gamma",
1359 SEQUENCE_free,
1360 SEQUENCE_print,
1361 SEQUENCE_constraint,
1362 SEQUENCE_decode_ber,
1363 SEQUENCE_encode_der,
1364 SEQUENCE_decode_xer,
1365 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001366 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001367 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001368 asn_DEF_Gamma_tags_1,
1369 sizeof(asn_DEF_Gamma_tags_1)
1370 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1371 asn_DEF_Gamma_tags_1, /* Same as above */
1372 sizeof(asn_DEF_Gamma_tags_1)
1373 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1374 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001375 asn_MBR_Gamma_1,
1376 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001377 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001378};
1379
1380
1381/*** <<< INCLUDES [OneTwo] >>> ***/
1382
1383#include <constr_SET.h>
1384
1385/*** <<< DEPS [OneTwo] >>> ***/
1386
1387
1388/*
1389 * Method of determining the components presence
1390 */
1391typedef enum OneTwo_PR {
1392 OneTwo_PR_m12, /* Member m12 is present */
1393} OneTwo_PR;
1394
1395/*** <<< FWD-DECLS [OneTwo] >>> ***/
1396
1397struct TwoThree;
1398
1399/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1400
1401typedef struct OneTwo {
1402 struct TwoThree *m12;
1403
1404 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1405 unsigned int _presence_map
1406 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1407
1408 /* Context for parsing across buffer boundaries */
1409 asn_struct_ctx_t _asn_ctx;
1410} OneTwo_t;
1411
1412/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1413
1414extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1415
1416/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1417
Lev Walkin22b5ed42006-09-13 02:51:20 +00001418#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001419
1420/*** <<< STAT-DEFS [OneTwo] >>> ***/
1421
1422static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1423 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1424 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1425 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001426 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001427 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001428 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1429 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001430 .name = "m12"
1431 },
1432};
Lev Walkina7591b52014-10-12 18:37:35 -07001433static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001434 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1435};
Lev Walkina7591b52014-10-12 18:37:35 -07001436static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001437 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001438};
Lev Walkina7591b52014-10-12 18:37:35 -07001439static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001440 (1 << 7)
1441};
Lev Walkin59b176e2005-11-26 11:25:14 +00001442static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001443 sizeof(struct OneTwo),
1444 offsetof(struct OneTwo, _asn_ctx),
1445 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001446 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001447 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001448 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001449 1, /* Count of tags in the CXER map */
1450 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001451 (unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001452};
1453asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1454 "OneTwo",
1455 "OneTwo",
1456 SET_free,
1457 SET_print,
1458 SET_constraint,
1459 SET_decode_ber,
1460 SET_encode_der,
1461 SET_decode_xer,
1462 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001463 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001464 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001465 asn_DEF_OneTwo_tags_1,
1466 sizeof(asn_DEF_OneTwo_tags_1)
1467 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1468 asn_DEF_OneTwo_tags_1, /* Same as above */
1469 sizeof(asn_DEF_OneTwo_tags_1)
1470 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1471 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001472 asn_MBR_OneTwo_1,
1473 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001474 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001475};
1476
1477
1478/*** <<< INCLUDES [TwoThree] >>> ***/
1479
1480#include <constr_SET.h>
1481
1482/*** <<< DEPS [TwoThree] >>> ***/
1483
1484
1485/*
1486 * Method of determining the components presence
1487 */
1488typedef enum TwoThree_PR {
1489 TwoThree_PR_m23, /* Member m23 is present */
1490} TwoThree_PR;
1491
1492/*** <<< FWD-DECLS [TwoThree] >>> ***/
1493
1494struct ThreeOne;
1495
1496/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1497
1498typedef struct TwoThree {
1499 struct ThreeOne *m23;
1500
1501 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1502 unsigned int _presence_map
1503 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1504
1505 /* Context for parsing across buffer boundaries */
1506 asn_struct_ctx_t _asn_ctx;
1507} TwoThree_t;
1508
1509/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1510
1511extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1512
1513/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1514
Lev Walkin22b5ed42006-09-13 02:51:20 +00001515#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001516
1517/*** <<< STAT-DEFS [TwoThree] >>> ***/
1518
1519static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1520 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1521 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1522 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001523 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001524 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001525 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1526 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001527 .name = "m23"
1528 },
1529};
Lev Walkina7591b52014-10-12 18:37:35 -07001530static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001531 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1532};
Lev Walkina7591b52014-10-12 18:37:35 -07001533static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001534 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001535};
Lev Walkina7591b52014-10-12 18:37:35 -07001536static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001537 (1 << 7)
1538};
Lev Walkin59b176e2005-11-26 11:25:14 +00001539static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001540 sizeof(struct TwoThree),
1541 offsetof(struct TwoThree, _asn_ctx),
1542 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001543 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001544 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001545 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001546 1, /* Count of tags in the CXER map */
1547 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001548 (unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001549};
1550asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1551 "TwoThree",
1552 "TwoThree",
1553 SET_free,
1554 SET_print,
1555 SET_constraint,
1556 SET_decode_ber,
1557 SET_encode_der,
1558 SET_decode_xer,
1559 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001560 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001561 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001562 asn_DEF_TwoThree_tags_1,
1563 sizeof(asn_DEF_TwoThree_tags_1)
1564 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1565 asn_DEF_TwoThree_tags_1, /* Same as above */
1566 sizeof(asn_DEF_TwoThree_tags_1)
1567 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1568 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001569 asn_MBR_TwoThree_1,
1570 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001571 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001572};
1573
1574
1575/*** <<< INCLUDES [ThreeOne] >>> ***/
1576
1577#include <constr_SET.h>
1578
1579/*** <<< DEPS [ThreeOne] >>> ***/
1580
1581
1582/*
1583 * Method of determining the components presence
1584 */
1585typedef enum ThreeOne_PR {
1586 ThreeOne_PR_m31, /* Member m31 is present */
1587 ThreeOne_PR_g, /* Member g is present */
1588} ThreeOne_PR;
1589
1590/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1591
1592struct OneTwo;
1593struct Gamma;
1594
1595/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1596
1597typedef struct ThreeOne {
1598 struct OneTwo *m31;
1599 struct Gamma *g;
1600
1601 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1602 unsigned int _presence_map
1603 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1604
1605 /* Context for parsing across buffer boundaries */
1606 asn_struct_ctx_t _asn_ctx;
1607} ThreeOne_t;
1608
1609/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1610
1611extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1612
1613/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1614
Lev Walkin22b5ed42006-09-13 02:51:20 +00001615#include "OneTwo.h"
1616#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001617
1618/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1619
1620static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1621 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1622 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1623 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001624 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001625 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001626 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1627 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001628 .name = "m31"
1629 },
1630 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1631 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1632 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001633 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001634 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001635 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1636 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001637 .name = "g"
1638 },
1639};
Lev Walkina7591b52014-10-12 18:37:35 -07001640static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001641 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1642};
Lev Walkina7591b52014-10-12 18:37:35 -07001643static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001644 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1645 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001646};
Lev Walkina7591b52014-10-12 18:37:35 -07001647static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001648 (1 << 7) | (1 << 6)
1649};
Lev Walkin59b176e2005-11-26 11:25:14 +00001650static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001651 sizeof(struct ThreeOne),
1652 offsetof(struct ThreeOne, _asn_ctx),
1653 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001654 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001655 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001656 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001657 2, /* Count of tags in the CXER map */
1658 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +00001659 (unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001660};
1661asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1662 "ThreeOne",
1663 "ThreeOne",
1664 SET_free,
1665 SET_print,
1666 SET_constraint,
1667 SET_decode_ber,
1668 SET_encode_der,
1669 SET_decode_xer,
1670 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001671 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001672 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001673 asn_DEF_ThreeOne_tags_1,
1674 sizeof(asn_DEF_ThreeOne_tags_1)
1675 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1676 asn_DEF_ThreeOne_tags_1, /* Same as above */
1677 sizeof(asn_DEF_ThreeOne_tags_1)
1678 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1679 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001680 asn_MBR_ThreeOne_1,
1681 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001682 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001683};
1684