blob: 9ab79e91ece476c4ce8423db0befe1a975781ea6 [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 Walkinb33425f2017-07-14 14:59:52 +040055 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000056 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
57 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000058 .name = "ch1"
59 },
Lev Walkinb85a8132005-08-18 13:38:19 +000060 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
Lev Walkincee931e2005-08-16 16:56:59 +000061 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
62 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000063 .type = &asn_DEF_Choice2,
Lev Walkincee931e2005-08-16 16:56:59 +000064 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040065 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000066 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
67 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000068 .name = "ch2"
69 },
Lev Walkinb85a8132005-08-18 13:38:19 +000070 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
Lev Walkincee931e2005-08-16 16:56:59 +000071 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkinb85a8132005-08-18 13:38:19 +000072 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000073 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +000074 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040075 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000076 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
77 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000078 .name = "ch3"
79 },
80 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
81 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkincee931e2005-08-16 16:56:59 +000082 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000083 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +000084 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040085 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000086 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
87 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000088 .name = "set"
89 },
Lev Walkinb85a8132005-08-18 13:38:19 +000090 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
91 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
92 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000093 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +000094 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040095 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000096 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
97 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +000098 .name = "a"
99 },
100 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
101 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
102 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000103 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +0000104 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400105 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000106 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
107 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000108 .name = "b"
109 },
110 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
111 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
112 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000113 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +0000114 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400115 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000116 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
117 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000118 .name = "g"
119 },
120 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
121 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
122 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000123 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +0000124 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400125 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000126 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
127 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000128 .name = "ot"
129 },
130 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
131 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
132 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000133 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +0000134 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400135 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
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 = "tt"
139 },
140 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
141 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
142 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000143 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +0000144 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400145 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000146 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
147 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000148 .name = "to"
149 },
Lev Walkincee931e2005-08-16 16:56:59 +0000150};
Lev Walkina7591b52014-10-12 18:37:35 -0700151static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000152 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
153};
Lev Walkina7591b52014-10-12 18:37:35 -0700154static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700155 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */
156 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */
157 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */
158 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */
159 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */
160 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */
161 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */
162 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */
163 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
164 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
Lev Walkincee931e2005-08-16 16:56:59 +0000165};
Lev Walkin59b176e2005-11-26 11:25:14 +0000166static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000167 sizeof(struct Everything),
168 offsetof(struct Everything, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000169 asn_MAP_Everything_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000170 10, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000171 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000172 -1, /* Start extensions */
173 -1 /* Stop extensions */
174};
175asn_TYPE_descriptor_t asn_DEF_Everything = {
176 "Everything",
177 "Everything",
178 SEQUENCE_free,
179 SEQUENCE_print,
180 SEQUENCE_constraint,
181 SEQUENCE_decode_ber,
182 SEQUENCE_encode_der,
183 SEQUENCE_decode_xer,
184 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700185 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400186 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000187 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000188 asn_DEF_Everything_tags_1,
189 sizeof(asn_DEF_Everything_tags_1)
190 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
191 asn_DEF_Everything_tags_1, /* Same as above */
192 sizeof(asn_DEF_Everything_tags_1)
193 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400194 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000195 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000196 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000197 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000198 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000199};
200
201
202/*** <<< INCLUDES [Choice1] >>> ***/
203
204#include <constr_CHOICE.h>
205
206/*** <<< DEPS [Choice1] >>> ***/
207
208typedef enum Choice1_PR {
209 Choice1_PR_NOTHING, /* No components present */
210 Choice1_PR_something,
211 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000212 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000213} Choice1_PR;
214
215/*** <<< FWD-DECLS [Choice1] >>> ***/
216
217struct Everything;
218
219/*** <<< TYPE-DECLS [Choice1] >>> ***/
220
221typedef struct Choice1 {
222 Choice1_PR present;
223 union Choice1_u {
224 struct Everything *something;
225 /*
226 * This type is extensible,
227 * possible extensions are below.
228 */
229 struct Everything *some2;
230 } choice;
231
232 /* Context for parsing across buffer boundaries */
233 asn_struct_ctx_t _asn_ctx;
234} Choice1_t;
235
236/*** <<< FUNC-DECLS [Choice1] >>> ***/
237
238extern asn_TYPE_descriptor_t asn_DEF_Choice1;
239
240/*** <<< POST-INCLUDE [Choice1] >>> ***/
241
Lev Walkin22b5ed42006-09-13 02:51:20 +0000242#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000243
244/*** <<< STAT-DEFS [Choice1] >>> ***/
245
246static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
247 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
248 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
249 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000250 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000251 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400252 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000253 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
254 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000255 .name = "something"
256 },
257 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
258 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
259 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000260 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000261 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400262 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000263 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
264 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000265 .name = "some2"
266 },
267};
Lev Walkina7591b52014-10-12 18:37:35 -0700268static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700269 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
270 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000271};
Lev Walkin59b176e2005-11-26 11:25:14 +0000272static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000273 sizeof(struct Choice1),
274 offsetof(struct Choice1, _asn_ctx),
275 offsetof(struct Choice1, present),
276 sizeof(((struct Choice1 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000277 asn_MAP_Choice1_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000278 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000279 .canonical_order = 0,
280 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000281};
282asn_TYPE_descriptor_t asn_DEF_Choice1 = {
283 "Choice1",
284 "Choice1",
285 CHOICE_free,
286 CHOICE_print,
287 CHOICE_constraint,
288 CHOICE_decode_ber,
289 CHOICE_encode_der,
290 CHOICE_decode_xer,
291 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700292 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400293 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000294 CHOICE_outmost_tag,
295 0, /* No effective tags (pointer) */
296 0, /* No effective tags (count) */
297 0, /* No tags (pointer) */
298 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400299 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000300 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000301 asn_MBR_Choice1_1,
302 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000303 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000304};
305
306
307/*** <<< INCLUDES [Choice2] >>> ***/
308
309#include <constr_CHOICE.h>
310
311/*** <<< DEPS [Choice2] >>> ***/
312
313typedef enum Choice2_PR {
314 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000315 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000316 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000317 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000318} Choice2_PR;
319
320/*** <<< FWD-DECLS [Choice2] >>> ***/
321
Lev Walkinb85a8132005-08-18 13:38:19 +0000322struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000323struct Everything;
324
325/*** <<< TYPE-DECLS [Choice2] >>> ***/
326
327typedef struct Choice2 {
328 Choice2_PR present;
329 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000330 struct Sequence *typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000331 /*
332 * This type is extensible,
333 * possible extensions are below.
334 */
335 struct Everything *some3;
336 } choice;
337
338 /* Context for parsing across buffer boundaries */
339 asn_struct_ctx_t _asn_ctx;
340} Choice2_t;
341
342/*** <<< FUNC-DECLS [Choice2] >>> ***/
343
344extern asn_TYPE_descriptor_t asn_DEF_Choice2;
345
346/*** <<< POST-INCLUDE [Choice2] >>> ***/
347
Lev Walkin22b5ed42006-09-13 02:51:20 +0000348#include "TypeRef.h"
349#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000350
351/*** <<< STAT-DEFS [Choice2] >>> ***/
352
353static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000354 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000355 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
356 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000357 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000358 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400359 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000360 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
361 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000362 .name = "typeref"
363 },
364 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
365 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
366 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000367 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000368 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400369 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000370 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
371 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000372 .name = "some3"
373 },
374};
Lev Walkina7591b52014-10-12 18:37:35 -0700375static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700376 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
377 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000378};
Lev Walkin59b176e2005-11-26 11:25:14 +0000379static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000380 sizeof(struct Choice2),
381 offsetof(struct Choice2, _asn_ctx),
382 offsetof(struct Choice2, present),
383 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000384 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000385 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000386 .canonical_order = 0,
387 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000388};
389asn_TYPE_descriptor_t asn_DEF_Choice2 = {
390 "Choice2",
391 "Choice2",
392 CHOICE_free,
393 CHOICE_print,
394 CHOICE_constraint,
395 CHOICE_decode_ber,
396 CHOICE_encode_der,
397 CHOICE_decode_xer,
398 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700399 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400400 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000401 CHOICE_outmost_tag,
402 0, /* No effective tags (pointer) */
403 0, /* No effective tags (count) */
404 0, /* No tags (pointer) */
405 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400406 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000407 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000408 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000409 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000410 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000411};
412
413
Lev Walkinb85a8132005-08-18 13:38:19 +0000414/*** <<< INCLUDES [Choice3] >>> ***/
415
416#include <constr_SEQUENCE.h>
417#include <asn_SEQUENCE_OF.h>
418#include <constr_SEQUENCE_OF.h>
419#include <constr_CHOICE.h>
420
421/*** <<< DEPS [Choice3] >>> ***/
422
423typedef enum Choice3_PR {
424 Choice3_PR_NOTHING, /* No components present */
425 Choice3_PR_a,
426 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000427 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000428} Choice3_PR;
429
430/*** <<< FWD-DECLS [Choice3] >>> ***/
431
432struct Everything;
433struct Choice3;
434
435/*** <<< TYPE-DECLS [Choice3] >>> ***/
436
437typedef struct Choice3 {
438 Choice3_PR present;
439 union Choice3_u {
440 struct a {
441 struct Everything *aa;
442
443 /* Context for parsing across buffer boundaries */
444 asn_struct_ctx_t _asn_ctx;
445 } *a;
446 struct Everything *b;
447 struct c {
448 A_SEQUENCE_OF(struct Choice3) list;
449
450 /* Context for parsing across buffer boundaries */
451 asn_struct_ctx_t _asn_ctx;
452 } *c;
453 } choice;
454
455 /* Context for parsing across buffer boundaries */
456 asn_struct_ctx_t _asn_ctx;
457} Choice3_t;
458
459/*** <<< FUNC-DECLS [Choice3] >>> ***/
460
461extern asn_TYPE_descriptor_t asn_DEF_Choice3;
462
463/*** <<< POST-INCLUDE [Choice3] >>> ***/
464
Lev Walkin22b5ed42006-09-13 02:51:20 +0000465#include "Everything.h"
466#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000467
468/*** <<< STAT-DEFS [Choice3] >>> ***/
469
470static asn_TYPE_member_t asn_MBR_a_2[] = {
471 { ATF_POINTER, 0, offsetof(struct a, aa),
472 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
473 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000474 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000475 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400476 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000477 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
478 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000479 .name = "aa"
480 },
481};
Lev Walkina7591b52014-10-12 18:37:35 -0700482static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000483 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
484 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
485};
Lev Walkina7591b52014-10-12 18:37:35 -0700486static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700487 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000488};
Lev Walkin59b176e2005-11-26 11:25:14 +0000489static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000490 sizeof(struct a),
491 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000492 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000493 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000494 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000495 -1, /* Start extensions */
496 -1 /* Stop extensions */
497};
498static /* Use -fall-defs-global to expose */
499asn_TYPE_descriptor_t asn_DEF_a_2 = {
500 "a",
501 "a",
502 SEQUENCE_free,
503 SEQUENCE_print,
504 SEQUENCE_constraint,
505 SEQUENCE_decode_ber,
506 SEQUENCE_encode_der,
507 SEQUENCE_decode_xer,
508 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700509 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400510 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000511 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000512 asn_DEF_a_tags_2,
513 sizeof(asn_DEF_a_tags_2)
514 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
515 asn_DEF_a_tags_2, /* Same as above */
516 sizeof(asn_DEF_a_tags_2)
517 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400518 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000519 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000520 asn_MBR_a_2,
521 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000522 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000523};
524
525static asn_TYPE_member_t asn_MBR_c_5[] = {
526 { ATF_POINTER, 0, 0,
527 .tag = -1 /* Ambiguous tag (CHOICE?) */,
528 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000529 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000530 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400531 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000532 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
533 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000534 .name = ""
535 },
536};
Lev Walkina7591b52014-10-12 18:37:35 -0700537static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000538 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
539 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
540};
Lev Walkin59b176e2005-11-26 11:25:14 +0000541static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000542 sizeof(struct c),
543 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000544 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000545};
546static /* Use -fall-defs-global to expose */
547asn_TYPE_descriptor_t asn_DEF_c_5 = {
548 "c",
549 "c",
550 SEQUENCE_OF_free,
551 SEQUENCE_OF_print,
552 SEQUENCE_OF_constraint,
553 SEQUENCE_OF_decode_ber,
554 SEQUENCE_OF_encode_der,
555 SEQUENCE_OF_decode_xer,
556 SEQUENCE_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700557 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400558 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000559 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000560 asn_DEF_c_tags_5,
561 sizeof(asn_DEF_c_tags_5)
562 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
563 asn_DEF_c_tags_5, /* Same as above */
564 sizeof(asn_DEF_c_tags_5)
565 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400566 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000567 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000568 asn_MBR_c_5,
569 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000571};
572
573static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
574 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
575 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000576 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000577 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000578 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400579 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000580 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
581 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000582 .name = "a"
583 },
584 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
585 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
586 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000587 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000588 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400589 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000590 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
591 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000592 .name = "b"
593 },
594 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
595 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000596 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000597 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000598 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400599 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000600 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
601 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000602 .name = "c"
603 },
604};
Lev Walkina7591b52014-10-12 18:37:35 -0700605static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700606 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
607 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
608 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000609};
Lev Walkin59b176e2005-11-26 11:25:14 +0000610static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000611 sizeof(struct Choice3),
612 offsetof(struct Choice3, _asn_ctx),
613 offsetof(struct Choice3, present),
614 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000615 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000616 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000617 .canonical_order = 0,
618 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000619};
620asn_TYPE_descriptor_t asn_DEF_Choice3 = {
621 "Choice3",
622 "Choice3",
623 CHOICE_free,
624 CHOICE_print,
625 CHOICE_constraint,
626 CHOICE_decode_ber,
627 CHOICE_encode_der,
628 CHOICE_decode_xer,
629 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700630 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400631 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000632 CHOICE_outmost_tag,
633 0, /* No effective tags (pointer) */
634 0, /* No effective tags (count) */
635 0, /* No tags (pointer) */
636 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400637 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000638 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000639 asn_MBR_Choice3_1,
640 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000641 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000642};
643
644
Lev Walkincee931e2005-08-16 16:56:59 +0000645/*** <<< INCLUDES [Set] >>> ***/
646
647#include <asn_SET_OF.h>
Lev Walkin2a744a72013-03-27 01:56:23 -0700648#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000649#include <constr_SEQUENCE.h>
650#include <constr_SET_OF.h>
651
652/*** <<< FWD-DECLS [Set] >>> ***/
653
654struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000655struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000656
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800657/*** <<< FWD-DEFS [Set] >>> ***/
658
659typedef struct Member {
660 long Int;
661 struct Set *set;
662 struct Sequence *seq;
663 struct Set *set2 /* OPTIONAL */;
664 /*
665 * This type is extensible,
666 * possible extensions are below.
667 */
668 struct Set *set3;
669
670 /* Context for parsing across buffer boundaries */
671 asn_struct_ctx_t _asn_ctx;
672} Member;
673
Lev Walkincee931e2005-08-16 16:56:59 +0000674/*** <<< TYPE-DECLS [Set] >>> ***/
675
676typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800677 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000678
679 /* Context for parsing across buffer boundaries */
680 asn_struct_ctx_t _asn_ctx;
681} Set_t;
682
683/*** <<< FUNC-DECLS [Set] >>> ***/
684
685extern asn_TYPE_descriptor_t asn_DEF_Set;
686
687/*** <<< POST-INCLUDE [Set] >>> ***/
688
Lev Walkin22b5ed42006-09-13 02:51:20 +0000689#include "Set.h"
690#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000691
692/*** <<< STAT-DEFS [Set] >>> ***/
693
694static asn_TYPE_member_t asn_MBR_Member_2[] = {
695 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
696 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
697 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700698 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000699 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400700 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000701 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
702 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000703 .name = "int"
704 },
705 { ATF_POINTER, 0, offsetof(struct Member, set),
706 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
707 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000708 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000709 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400710 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
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 = "set"
714 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000715 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000716 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
717 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000718 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000719 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400720 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000721 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
722 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000723 .name = "seq"
724 },
725 { ATF_POINTER, 2, offsetof(struct Member, set2),
726 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
727 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000728 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000729 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400730 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000731 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
732 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000733 .name = "set2"
734 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000735 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000736 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
737 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000738 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000739 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400740 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000741 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
742 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000743 .name = "set3"
744 },
745};
Lev Walkina7591b52014-10-12 18:37:35 -0700746static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000747 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
748};
Lev Walkina7591b52014-10-12 18:37:35 -0700749static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700750 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
751 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
752 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
753 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
754 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000755};
Lev Walkin59b176e2005-11-26 11:25:14 +0000756static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000757 sizeof(struct Member),
758 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000759 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000760 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000761 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000762 3, /* Start extensions */
763 6 /* Stop extensions */
764};
765static /* Use -fall-defs-global to expose */
766asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000767 "SEQUENCE",
768 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000769 SEQUENCE_free,
770 SEQUENCE_print,
771 SEQUENCE_constraint,
772 SEQUENCE_decode_ber,
773 SEQUENCE_encode_der,
774 SEQUENCE_decode_xer,
775 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700776 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400777 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000778 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000779 asn_DEF_Member_tags_2,
780 sizeof(asn_DEF_Member_tags_2)
781 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
782 asn_DEF_Member_tags_2, /* Same as above */
783 sizeof(asn_DEF_Member_tags_2)
784 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400785 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000786 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000787 asn_MBR_Member_2,
788 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000789 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000790};
791
792static asn_TYPE_member_t asn_MBR_Set_1[] = {
793 { ATF_POINTER, 0, 0,
794 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
795 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000796 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000797 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400798 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000799 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
800 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000801 .name = ""
802 },
803};
Lev Walkina7591b52014-10-12 18:37:35 -0700804static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000805 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
806};
Lev Walkin59b176e2005-11-26 11:25:14 +0000807static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000808 sizeof(struct Set),
809 offsetof(struct Set, _asn_ctx),
810 0, /* XER encoding is XMLDelimitedItemList */
811};
812asn_TYPE_descriptor_t asn_DEF_Set = {
813 "Set",
814 "Set",
815 SET_OF_free,
816 SET_OF_print,
817 SET_OF_constraint,
818 SET_OF_decode_ber,
819 SET_OF_encode_der,
820 SET_OF_decode_xer,
821 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700822 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400823 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000824 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000825 asn_DEF_Set_tags_1,
826 sizeof(asn_DEF_Set_tags_1)
827 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
828 asn_DEF_Set_tags_1, /* Same as above */
829 sizeof(asn_DEF_Set_tags_1)
830 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400831 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000832 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000833 asn_MBR_Set_1,
834 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000835 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000836};
837
838
839/*** <<< INCLUDES [Sequence] >>> ***/
840
Lev Walkin2a744a72013-03-27 01:56:23 -0700841#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000842#include <constr_SEQUENCE.h>
843
844/*** <<< FWD-DECLS [Sequence] >>> ***/
845
846struct Sequence;
847struct Set;
848
849/*** <<< TYPE-DECLS [Sequence] >>> ***/
850
851typedef struct Sequence {
Lev Walkin2a744a72013-03-27 01:56:23 -0700852 long a;
Lev Walkincee931e2005-08-16 16:56:59 +0000853 struct Sequence *seq /* OPTIONAL */;
854 /*
855 * This type is extensible,
856 * possible extensions are below.
857 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700858 long *b;
Lev Walkincee931e2005-08-16 16:56:59 +0000859 struct Set *set /* OPTIONAL */;
860
861 /* Context for parsing across buffer boundaries */
862 asn_struct_ctx_t _asn_ctx;
863} Sequence_t;
864
865/*** <<< FUNC-DECLS [Sequence] >>> ***/
866
867extern asn_TYPE_descriptor_t asn_DEF_Sequence;
868
869/*** <<< POST-INCLUDE [Sequence] >>> ***/
870
Lev Walkin22b5ed42006-09-13 02:51:20 +0000871#include "Sequence.h"
872#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000873
874/*** <<< STAT-DEFS [Sequence] >>> ***/
875
876static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
877 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
878 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
879 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700880 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000881 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400882 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000883 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
884 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000885 .name = "a"
886 },
887 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
888 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
889 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000890 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000891 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400892 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000893 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
894 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000895 .name = "seq"
896 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000897 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000898 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
899 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700900 .type = &asn_DEF_NativeInteger,
Lev Walkincee931e2005-08-16 16:56:59 +0000901 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400902 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000903 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
904 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000905 .name = "b"
906 },
907 { ATF_POINTER, 1, offsetof(struct Sequence, set),
908 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
909 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000910 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000911 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400912 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000913 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
914 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000915 .name = "set"
916 },
917};
Lev Walkina7591b52014-10-12 18:37:35 -0700918static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000919 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
920};
Lev Walkina7591b52014-10-12 18:37:35 -0700921static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700922 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
923 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
924 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
925 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000926};
Lev Walkin59b176e2005-11-26 11:25:14 +0000927static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000928 sizeof(struct Sequence),
929 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000930 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000931 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000932 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000933 1, /* Start extensions */
934 5 /* Stop extensions */
935};
936asn_TYPE_descriptor_t asn_DEF_Sequence = {
937 "Sequence",
938 "Sequence",
939 SEQUENCE_free,
940 SEQUENCE_print,
941 SEQUENCE_constraint,
942 SEQUENCE_decode_ber,
943 SEQUENCE_encode_der,
944 SEQUENCE_decode_xer,
945 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700946 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400947 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000948 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000949 asn_DEF_Sequence_tags_1,
950 sizeof(asn_DEF_Sequence_tags_1)
951 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
952 asn_DEF_Sequence_tags_1, /* Same as above */
953 sizeof(asn_DEF_Sequence_tags_1)
954 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400955 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000956 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000957 asn_MBR_Sequence_1,
958 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000959 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000960};
961
Lev Walkinb85a8132005-08-18 13:38:19 +0000962
963/*** <<< INCLUDES [TypeRef] >>> ***/
964
Lev Walkin22b5ed42006-09-13 02:51:20 +0000965#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000966
967/*** <<< TYPE-DECLS [TypeRef] >>> ***/
968
969typedef Sequence_t TypeRef_t;
970
971/*** <<< FUNC-DECLS [TypeRef] >>> ***/
972
973extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
974asn_struct_free_f TypeRef_free;
975asn_struct_print_f TypeRef_print;
976asn_constr_check_f TypeRef_constraint;
977ber_type_decoder_f TypeRef_decode_ber;
978der_type_encoder_f TypeRef_encode_der;
979xer_type_decoder_f TypeRef_decode_xer;
980xer_type_encoder_f TypeRef_encode_xer;
981
982/*** <<< CODE [TypeRef] >>> ***/
983
984int
985TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000986 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000987 /* Replace with underlying type checker */
988 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000989 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000990}
991
992/*
993 * This type is implemented using Sequence,
994 * so here we adjust the DEF accordingly.
995 */
996static void
997TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
998 td->free_struct = asn_DEF_Sequence.free_struct;
999 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -08001000 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +00001001 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
1002 td->der_encoder = asn_DEF_Sequence.der_encoder;
1003 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
1004 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001005 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001006 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -07001007 td->oer_decoder = asn_DEF_Sequence.oer_decoder;
1008 td->oer_encoder = asn_DEF_Sequence.oer_encoder;
Lev Walkinb33425f2017-07-14 14:59:52 +04001009 if(!td->oer_constraints)
1010 td->oer_constraints = asn_DEF_Sequence.oer_constraints;
Lev Walkin59b176e2005-11-26 11:25:14 +00001011 if(!td->per_constraints)
1012 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +00001013 td->elements = asn_DEF_Sequence.elements;
1014 td->elements_count = asn_DEF_Sequence.elements_count;
1015 td->specifics = asn_DEF_Sequence.specifics;
1016}
1017
1018void
1019TypeRef_free(asn_TYPE_descriptor_t *td,
1020 void *struct_ptr, int contents_only) {
1021 TypeRef_1_inherit_TYPE_descriptor(td);
1022 td->free_struct(td, struct_ptr, contents_only);
1023}
1024
1025int
1026TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1027 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1028 TypeRef_1_inherit_TYPE_descriptor(td);
1029 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1030}
1031
1032asn_dec_rval_t
1033TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1034 void **structure, const void *bufptr, size_t size, int tag_mode) {
1035 TypeRef_1_inherit_TYPE_descriptor(td);
1036 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1037}
1038
1039asn_enc_rval_t
1040TypeRef_encode_der(asn_TYPE_descriptor_t *td,
1041 void *structure, int tag_mode, ber_tlv_tag_t tag,
1042 asn_app_consume_bytes_f *cb, void *app_key) {
1043 TypeRef_1_inherit_TYPE_descriptor(td);
1044 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1045}
1046
1047asn_dec_rval_t
1048TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1049 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1050 TypeRef_1_inherit_TYPE_descriptor(td);
1051 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1052}
1053
1054asn_enc_rval_t
1055TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1056 int ilevel, enum xer_encoder_flags_e flags,
1057 asn_app_consume_bytes_f *cb, void *app_key) {
1058 TypeRef_1_inherit_TYPE_descriptor(td);
1059 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1060}
1061
1062
1063/*** <<< STAT-DEFS [TypeRef] >>> ***/
1064
Lev Walkina7591b52014-10-12 18:37:35 -07001065static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001066 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1067};
1068asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1069 "TypeRef",
1070 "TypeRef",
1071 TypeRef_free,
1072 TypeRef_print,
1073 TypeRef_constraint,
1074 TypeRef_decode_ber,
1075 TypeRef_encode_der,
1076 TypeRef_decode_xer,
1077 TypeRef_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001078 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001079 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001080 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001081 asn_DEF_TypeRef_tags_1,
1082 sizeof(asn_DEF_TypeRef_tags_1)
1083 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1084 asn_DEF_TypeRef_tags_1, /* Same as above */
1085 sizeof(asn_DEF_TypeRef_tags_1)
1086 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001087 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001088 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001089 0, 0, /* Defined elsewhere */
1090 0 /* No specifics */
1091};
1092
1093
1094/*** <<< INCLUDES [Alpha] >>> ***/
1095
1096#include <constr_SEQUENCE.h>
1097
1098/*** <<< FWD-DECLS [Alpha] >>> ***/
1099
1100struct Beta;
1101
1102/*** <<< TYPE-DECLS [Alpha] >>> ***/
1103
1104typedef struct Alpha {
1105 struct Beta *a;
1106 struct b {
1107 struct Beta *b /* OPTIONAL */;
1108
1109 /* Context for parsing across buffer boundaries */
1110 asn_struct_ctx_t _asn_ctx;
1111 } b;
1112
1113 /* Context for parsing across buffer boundaries */
1114 asn_struct_ctx_t _asn_ctx;
1115} Alpha_t;
1116
1117/*** <<< FUNC-DECLS [Alpha] >>> ***/
1118
1119extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1120
1121/*** <<< POST-INCLUDE [Alpha] >>> ***/
1122
Lev Walkin22b5ed42006-09-13 02:51:20 +00001123#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001124
1125/*** <<< STAT-DEFS [Alpha] >>> ***/
1126
1127static asn_TYPE_member_t asn_MBR_b_3[] = {
1128 { ATF_POINTER, 1, offsetof(struct b, b),
1129 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1130 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001131 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001132 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001133 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001134 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1135 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001136 .name = "b"
1137 },
1138};
Lev Walkina7591b52014-10-12 18:37:35 -07001139static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001140 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1141 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1142};
Lev Walkina7591b52014-10-12 18:37:35 -07001143static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001144 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001145};
Lev Walkin59b176e2005-11-26 11:25:14 +00001146static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001147 sizeof(struct b),
1148 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001149 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001150 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001151 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001152 -1, /* Start extensions */
1153 -1 /* Stop extensions */
1154};
1155static /* Use -fall-defs-global to expose */
1156asn_TYPE_descriptor_t asn_DEF_b_3 = {
1157 "b",
1158 "b",
1159 SEQUENCE_free,
1160 SEQUENCE_print,
1161 SEQUENCE_constraint,
1162 SEQUENCE_decode_ber,
1163 SEQUENCE_encode_der,
1164 SEQUENCE_decode_xer,
1165 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001166 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001167 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001168 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001169 asn_DEF_b_tags_3,
1170 sizeof(asn_DEF_b_tags_3)
1171 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1172 asn_DEF_b_tags_3, /* Same as above */
1173 sizeof(asn_DEF_b_tags_3)
1174 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001175 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001176 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001177 asn_MBR_b_3,
1178 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001179 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001180};
1181
1182static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1183 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1184 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1185 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001186 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001187 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001188 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001189 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1190 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001191 .name = "a"
1192 },
1193 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1194 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001195 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001196 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001197 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001198 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001199 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1200 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001201 .name = "b"
1202 },
1203};
Lev Walkina7591b52014-10-12 18:37:35 -07001204static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001205 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1206};
Lev Walkina7591b52014-10-12 18:37:35 -07001207static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001208 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1209 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001210};
Lev Walkin59b176e2005-11-26 11:25:14 +00001211static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001212 sizeof(struct Alpha),
1213 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001214 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001215 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001216 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001217 -1, /* Start extensions */
1218 -1 /* Stop extensions */
1219};
1220asn_TYPE_descriptor_t asn_DEF_Alpha = {
1221 "Alpha",
1222 "Alpha",
1223 SEQUENCE_free,
1224 SEQUENCE_print,
1225 SEQUENCE_constraint,
1226 SEQUENCE_decode_ber,
1227 SEQUENCE_encode_der,
1228 SEQUENCE_decode_xer,
1229 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001230 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001231 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001232 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001233 asn_DEF_Alpha_tags_1,
1234 sizeof(asn_DEF_Alpha_tags_1)
1235 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1236 asn_DEF_Alpha_tags_1, /* Same as above */
1237 sizeof(asn_DEF_Alpha_tags_1)
1238 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001239 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001240 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001241 asn_MBR_Alpha_1,
1242 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001243 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001244};
1245
1246
1247/*** <<< INCLUDES [Beta] >>> ***/
1248
1249#include <constr_SEQUENCE.h>
1250
1251/*** <<< FWD-DECLS [Beta] >>> ***/
1252
1253struct Alpha;
1254struct Gamma;
1255
1256/*** <<< TYPE-DECLS [Beta] >>> ***/
1257
1258typedef struct Beta {
1259 struct Alpha *b /* OPTIONAL */;
1260 struct Gamma *g /* OPTIONAL */;
1261
1262 /* Context for parsing across buffer boundaries */
1263 asn_struct_ctx_t _asn_ctx;
1264} Beta_t;
1265
1266/*** <<< FUNC-DECLS [Beta] >>> ***/
1267
1268extern asn_TYPE_descriptor_t asn_DEF_Beta;
1269
1270/*** <<< POST-INCLUDE [Beta] >>> ***/
1271
Lev Walkin22b5ed42006-09-13 02:51:20 +00001272#include "Alpha.h"
1273#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001274
1275/*** <<< STAT-DEFS [Beta] >>> ***/
1276
1277static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1278 { ATF_POINTER, 2, offsetof(struct Beta, b),
1279 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1280 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001281 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001282 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001283 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001284 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1285 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001286 .name = "b"
1287 },
1288 { ATF_POINTER, 1, offsetof(struct Beta, g),
1289 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1290 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001291 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001292 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001293 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001294 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1295 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001296 .name = "g"
1297 },
1298};
Lev Walkina7591b52014-10-12 18:37:35 -07001299static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001300 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1301};
Lev Walkina7591b52014-10-12 18:37:35 -07001302static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001303 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1304 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001305};
Lev Walkin59b176e2005-11-26 11:25:14 +00001306static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001307 sizeof(struct Beta),
1308 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001309 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001310 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001311 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001312 -1, /* Start extensions */
1313 -1 /* Stop extensions */
1314};
1315asn_TYPE_descriptor_t asn_DEF_Beta = {
1316 "Beta",
1317 "Beta",
1318 SEQUENCE_free,
1319 SEQUENCE_print,
1320 SEQUENCE_constraint,
1321 SEQUENCE_decode_ber,
1322 SEQUENCE_encode_der,
1323 SEQUENCE_decode_xer,
1324 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001325 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001326 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001327 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001328 asn_DEF_Beta_tags_1,
1329 sizeof(asn_DEF_Beta_tags_1)
1330 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1331 asn_DEF_Beta_tags_1, /* Same as above */
1332 sizeof(asn_DEF_Beta_tags_1)
1333 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001334 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001335 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001336 asn_MBR_Beta_1,
1337 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001338 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001339};
1340
1341
1342/*** <<< INCLUDES [Gamma] >>> ***/
1343
1344#include <constr_SEQUENCE.h>
1345
1346/*** <<< FWD-DECLS [Gamma] >>> ***/
1347
1348struct TwoThree;
1349struct Alpha;
1350struct Beta;
1351
1352/*** <<< TYPE-DECLS [Gamma] >>> ***/
1353
1354typedef struct Gamma {
1355 struct TwoThree *o;
1356 struct Alpha *a;
1357 struct Beta *b;
1358
1359 /* Context for parsing across buffer boundaries */
1360 asn_struct_ctx_t _asn_ctx;
1361} Gamma_t;
1362
1363/*** <<< FUNC-DECLS [Gamma] >>> ***/
1364
1365extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1366
1367/*** <<< POST-INCLUDE [Gamma] >>> ***/
1368
Lev Walkin22b5ed42006-09-13 02:51:20 +00001369#include "TwoThree.h"
1370#include "Alpha.h"
1371#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001372
1373/*** <<< STAT-DEFS [Gamma] >>> ***/
1374
1375static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1376 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1377 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1378 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001379 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001380 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001381 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001382 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1383 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001384 .name = "o"
1385 },
1386 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1387 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1388 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001389 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001390 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001391 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001392 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1393 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001394 .name = "a"
1395 },
1396 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1397 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1398 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001399 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001400 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001401 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001402 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1403 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001404 .name = "b"
1405 },
1406};
Lev Walkina7591b52014-10-12 18:37:35 -07001407static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001408 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1409};
Lev Walkina7591b52014-10-12 18:37:35 -07001410static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001411 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1412 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1413 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001414};
Lev Walkin59b176e2005-11-26 11:25:14 +00001415static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001416 sizeof(struct Gamma),
1417 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001418 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001419 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001420 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001421 -1, /* Start extensions */
1422 -1 /* Stop extensions */
1423};
1424asn_TYPE_descriptor_t asn_DEF_Gamma = {
1425 "Gamma",
1426 "Gamma",
1427 SEQUENCE_free,
1428 SEQUENCE_print,
1429 SEQUENCE_constraint,
1430 SEQUENCE_decode_ber,
1431 SEQUENCE_encode_der,
1432 SEQUENCE_decode_xer,
1433 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001434 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001435 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001436 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001437 asn_DEF_Gamma_tags_1,
1438 sizeof(asn_DEF_Gamma_tags_1)
1439 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1440 asn_DEF_Gamma_tags_1, /* Same as above */
1441 sizeof(asn_DEF_Gamma_tags_1)
1442 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001443 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001444 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001445 asn_MBR_Gamma_1,
1446 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001447 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001448};
1449
1450
1451/*** <<< INCLUDES [OneTwo] >>> ***/
1452
1453#include <constr_SET.h>
1454
1455/*** <<< DEPS [OneTwo] >>> ***/
1456
1457
1458/*
1459 * Method of determining the components presence
1460 */
1461typedef enum OneTwo_PR {
1462 OneTwo_PR_m12, /* Member m12 is present */
1463} OneTwo_PR;
1464
1465/*** <<< FWD-DECLS [OneTwo] >>> ***/
1466
1467struct TwoThree;
1468
1469/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1470
1471typedef struct OneTwo {
1472 struct TwoThree *m12;
1473
1474 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1475 unsigned int _presence_map
1476 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1477
1478 /* Context for parsing across buffer boundaries */
1479 asn_struct_ctx_t _asn_ctx;
1480} OneTwo_t;
1481
1482/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1483
1484extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1485
1486/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1487
Lev Walkin22b5ed42006-09-13 02:51:20 +00001488#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001489
1490/*** <<< STAT-DEFS [OneTwo] >>> ***/
1491
1492static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1493 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1494 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1495 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001496 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001497 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001498 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001499 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1500 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001501 .name = "m12"
1502 },
1503};
Lev Walkina7591b52014-10-12 18:37:35 -07001504static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001505 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1506};
Lev Walkina7591b52014-10-12 18:37:35 -07001507static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001508 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001509};
Lev Walkina7591b52014-10-12 18:37:35 -07001510static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001511 (1 << 7)
1512};
Lev Walkin59b176e2005-11-26 11:25:14 +00001513static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001514 sizeof(struct OneTwo),
1515 offsetof(struct OneTwo, _asn_ctx),
1516 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001517 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001518 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001519 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001520 1, /* Count of tags in the CXER map */
1521 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001522 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001523};
1524asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1525 "OneTwo",
1526 "OneTwo",
1527 SET_free,
1528 SET_print,
1529 SET_constraint,
1530 SET_decode_ber,
1531 SET_encode_der,
1532 SET_decode_xer,
1533 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001534 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001535 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001536 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001537 asn_DEF_OneTwo_tags_1,
1538 sizeof(asn_DEF_OneTwo_tags_1)
1539 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1540 asn_DEF_OneTwo_tags_1, /* Same as above */
1541 sizeof(asn_DEF_OneTwo_tags_1)
1542 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001543 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001544 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001545 asn_MBR_OneTwo_1,
1546 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001547 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001548};
1549
1550
1551/*** <<< INCLUDES [TwoThree] >>> ***/
1552
1553#include <constr_SET.h>
1554
1555/*** <<< DEPS [TwoThree] >>> ***/
1556
1557
1558/*
1559 * Method of determining the components presence
1560 */
1561typedef enum TwoThree_PR {
1562 TwoThree_PR_m23, /* Member m23 is present */
1563} TwoThree_PR;
1564
1565/*** <<< FWD-DECLS [TwoThree] >>> ***/
1566
1567struct ThreeOne;
1568
1569/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1570
1571typedef struct TwoThree {
1572 struct ThreeOne *m23;
1573
1574 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1575 unsigned int _presence_map
1576 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1577
1578 /* Context for parsing across buffer boundaries */
1579 asn_struct_ctx_t _asn_ctx;
1580} TwoThree_t;
1581
1582/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1583
1584extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1585
1586/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1587
Lev Walkin22b5ed42006-09-13 02:51:20 +00001588#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001589
1590/*** <<< STAT-DEFS [TwoThree] >>> ***/
1591
1592static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1593 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1594 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1595 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001596 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001597 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001598 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001599 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1600 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001601 .name = "m23"
1602 },
1603};
Lev Walkina7591b52014-10-12 18:37:35 -07001604static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001605 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1606};
Lev Walkina7591b52014-10-12 18:37:35 -07001607static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001608 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001609};
Lev Walkina7591b52014-10-12 18:37:35 -07001610static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001611 (1 << 7)
1612};
Lev Walkin59b176e2005-11-26 11:25:14 +00001613static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001614 sizeof(struct TwoThree),
1615 offsetof(struct TwoThree, _asn_ctx),
1616 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001617 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001618 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001619 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001620 1, /* Count of tags in the CXER map */
1621 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001622 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001623};
1624asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1625 "TwoThree",
1626 "TwoThree",
1627 SET_free,
1628 SET_print,
1629 SET_constraint,
1630 SET_decode_ber,
1631 SET_encode_der,
1632 SET_decode_xer,
1633 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001634 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001635 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001636 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001637 asn_DEF_TwoThree_tags_1,
1638 sizeof(asn_DEF_TwoThree_tags_1)
1639 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1640 asn_DEF_TwoThree_tags_1, /* Same as above */
1641 sizeof(asn_DEF_TwoThree_tags_1)
1642 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001643 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001644 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001645 asn_MBR_TwoThree_1,
1646 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001647 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001648};
1649
1650
1651/*** <<< INCLUDES [ThreeOne] >>> ***/
1652
1653#include <constr_SET.h>
1654
1655/*** <<< DEPS [ThreeOne] >>> ***/
1656
1657
1658/*
1659 * Method of determining the components presence
1660 */
1661typedef enum ThreeOne_PR {
1662 ThreeOne_PR_m31, /* Member m31 is present */
1663 ThreeOne_PR_g, /* Member g is present */
1664} ThreeOne_PR;
1665
1666/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1667
1668struct OneTwo;
1669struct Gamma;
1670
1671/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1672
1673typedef struct ThreeOne {
1674 struct OneTwo *m31;
1675 struct Gamma *g;
1676
1677 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1678 unsigned int _presence_map
1679 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1680
1681 /* Context for parsing across buffer boundaries */
1682 asn_struct_ctx_t _asn_ctx;
1683} ThreeOne_t;
1684
1685/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1686
1687extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1688
1689/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1690
Lev Walkin22b5ed42006-09-13 02:51:20 +00001691#include "OneTwo.h"
1692#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001693
1694/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1695
1696static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1697 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1698 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1699 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001700 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001701 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001702 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001703 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1704 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001705 .name = "m31"
1706 },
1707 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1708 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1709 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001710 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001711 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001712 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001713 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1714 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001715 .name = "g"
1716 },
1717};
Lev Walkina7591b52014-10-12 18:37:35 -07001718static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001719 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1720};
Lev Walkina7591b52014-10-12 18:37:35 -07001721static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001722 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1723 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001724};
Lev Walkina7591b52014-10-12 18:37:35 -07001725static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001726 (1 << 7) | (1 << 6)
1727};
Lev Walkin59b176e2005-11-26 11:25:14 +00001728static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001729 sizeof(struct ThreeOne),
1730 offsetof(struct ThreeOne, _asn_ctx),
1731 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001732 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001733 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001734 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001735 2, /* Count of tags in the CXER map */
1736 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001737 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001738};
1739asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1740 "ThreeOne",
1741 "ThreeOne",
1742 SET_free,
1743 SET_print,
1744 SET_constraint,
1745 SET_decode_ber,
1746 SET_encode_der,
1747 SET_decode_xer,
1748 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001749 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001750 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001751 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001752 asn_DEF_ThreeOne_tags_1,
1753 sizeof(asn_DEF_ThreeOne_tags_1)
1754 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1755 asn_DEF_ThreeOne_tags_1, /* Same as above */
1756 sizeof(asn_DEF_ThreeOne_tags_1)
1757 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001758 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001759 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001760 asn_MBR_ThreeOne_1,
1761 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001762 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001763};
1764