blob: 03779e22d6d3b6654a22bdcac2e64653c482efbd [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
Lev Walkincee931e2005-08-16 16:56:59 +0000204#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
Lev Walkinb85a8132005-08-18 13:38:19 +0000215/*** <<< FWD-DECLS [Choice1] >>> ***/
216
217struct Everything;
218
Lev Walkincee931e2005-08-16 16:56:59 +0000219/*** <<< TYPE-DECLS [Choice1] >>> ***/
220
221typedef struct Choice1 {
222 Choice1_PR present;
223 union Choice1_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000224 struct Everything *something;
Lev Walkincee931e2005-08-16 16:56:59 +0000225 /*
226 * This type is extensible,
227 * possible extensions are below.
228 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000229 struct Everything *some2;
Lev Walkincee931e2005-08-16 16:56:59 +0000230 } 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
Lev Walkinb85a8132005-08-18 13:38:19 +0000240/*** <<< POST-INCLUDE [Choice1] >>> ***/
241
Lev Walkin22b5ed42006-09-13 02:51:20 +0000242#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000243
Lev Walkincee931e2005-08-16 16:56:59 +0000244/*** <<< STAT-DEFS [Choice1] >>> ***/
245
246static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000247 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
Lev Walkincee931e2005-08-16 16:56:59 +0000248 .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 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000257 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
Lev Walkincee931e2005-08-16 16:56:59 +0000258 .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
Lev Walkin22b5ed42006-09-13 02:51:20 +0000309#include "TypeRef.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000310#include <constr_CHOICE.h>
311
312/*** <<< DEPS [Choice2] >>> ***/
313
314typedef enum Choice2_PR {
315 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000316 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000317 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000318 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000319} Choice2_PR;
320
Lev Walkinb85a8132005-08-18 13:38:19 +0000321/*** <<< FWD-DECLS [Choice2] >>> ***/
322
323struct Everything;
324
Lev Walkincee931e2005-08-16 16:56:59 +0000325/*** <<< TYPE-DECLS [Choice2] >>> ***/
326
327typedef struct Choice2 {
328 Choice2_PR present;
329 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000330 TypeRef_t typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000331 /*
332 * This type is extensible,
333 * possible extensions are below.
334 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000335 struct Everything *some3;
Lev Walkincee931e2005-08-16 16:56:59 +0000336 } 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
Lev Walkinb85a8132005-08-18 13:38:19 +0000346/*** <<< POST-INCLUDE [Choice2] >>> ***/
347
Lev Walkin22b5ed42006-09-13 02:51:20 +0000348#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000349
Lev Walkincee931e2005-08-16 16:56:59 +0000350/*** <<< STAT-DEFS [Choice2] >>> ***/
351
352static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000353 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000354 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
355 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000356 .type = &asn_DEF_TypeRef,
Lev Walkinb85a8132005-08-18 13:38:19 +0000357 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400358 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000359 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
360 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000361 .name = "typeref"
362 },
363 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
364 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
365 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000366 .type = &asn_DEF_Everything,
Lev Walkincee931e2005-08-16 16:56:59 +0000367 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400368 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000369 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
370 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000371 .name = "some3"
372 },
373};
Lev Walkina7591b52014-10-12 18:37:35 -0700374static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700375 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
376 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000377};
Lev Walkin59b176e2005-11-26 11:25:14 +0000378static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000379 sizeof(struct Choice2),
380 offsetof(struct Choice2, _asn_ctx),
381 offsetof(struct Choice2, present),
382 sizeof(((struct Choice2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000383 asn_MAP_Choice2_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000384 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000385 .canonical_order = 0,
386 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000387};
388asn_TYPE_descriptor_t asn_DEF_Choice2 = {
389 "Choice2",
390 "Choice2",
391 CHOICE_free,
392 CHOICE_print,
393 CHOICE_constraint,
394 CHOICE_decode_ber,
395 CHOICE_encode_der,
396 CHOICE_decode_xer,
397 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700398 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400399 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000400 CHOICE_outmost_tag,
401 0, /* No effective tags (pointer) */
402 0, /* No effective tags (count) */
403 0, /* No tags (pointer) */
404 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400405 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000406 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000407 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000408 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000409 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000410};
411
412
Lev Walkinb85a8132005-08-18 13:38:19 +0000413/*** <<< INCLUDES [Choice3] >>> ***/
414
415#include <constr_SEQUENCE.h>
416#include <asn_SEQUENCE_OF.h>
417#include <constr_SEQUENCE_OF.h>
418#include <constr_CHOICE.h>
419
420/*** <<< DEPS [Choice3] >>> ***/
421
422typedef enum Choice3_PR {
423 Choice3_PR_NOTHING, /* No components present */
424 Choice3_PR_a,
425 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000426 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000427} Choice3_PR;
428
429/*** <<< FWD-DECLS [Choice3] >>> ***/
430
431struct Everything;
432struct Choice3;
433
434/*** <<< TYPE-DECLS [Choice3] >>> ***/
435
436typedef struct Choice3 {
437 Choice3_PR present;
438 union Choice3_u {
439 struct a {
440 struct Everything *aa;
441
442 /* Context for parsing across buffer boundaries */
443 asn_struct_ctx_t _asn_ctx;
444 } a;
445 struct Everything *b;
446 struct c {
447 A_SEQUENCE_OF(struct Choice3) list;
448
449 /* Context for parsing across buffer boundaries */
450 asn_struct_ctx_t _asn_ctx;
451 } c;
452 } choice;
453
454 /* Context for parsing across buffer boundaries */
455 asn_struct_ctx_t _asn_ctx;
456} Choice3_t;
457
458/*** <<< FUNC-DECLS [Choice3] >>> ***/
459
460extern asn_TYPE_descriptor_t asn_DEF_Choice3;
461
462/*** <<< POST-INCLUDE [Choice3] >>> ***/
463
Lev Walkin22b5ed42006-09-13 02:51:20 +0000464#include "Everything.h"
465#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000466
467/*** <<< STAT-DEFS [Choice3] >>> ***/
468
469static asn_TYPE_member_t asn_MBR_a_2[] = {
470 { ATF_POINTER, 0, offsetof(struct a, aa),
471 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
472 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000473 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000474 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400475 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000476 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
477 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000478 .name = "aa"
479 },
480};
Lev Walkina7591b52014-10-12 18:37:35 -0700481static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000482 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
483 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
484};
Lev Walkina7591b52014-10-12 18:37:35 -0700485static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700486 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000487};
Lev Walkin59b176e2005-11-26 11:25:14 +0000488static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000489 sizeof(struct a),
490 offsetof(struct a, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000491 asn_MAP_a_tag2el_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000492 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000493 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000494 -1, /* Start extensions */
495 -1 /* Stop extensions */
496};
497static /* Use -fall-defs-global to expose */
498asn_TYPE_descriptor_t asn_DEF_a_2 = {
499 "a",
500 "a",
501 SEQUENCE_free,
502 SEQUENCE_print,
503 SEQUENCE_constraint,
504 SEQUENCE_decode_ber,
505 SEQUENCE_encode_der,
506 SEQUENCE_decode_xer,
507 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700508 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400509 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000510 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000511 asn_DEF_a_tags_2,
512 sizeof(asn_DEF_a_tags_2)
513 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
514 asn_DEF_a_tags_2, /* Same as above */
515 sizeof(asn_DEF_a_tags_2)
516 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400517 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000518 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000519 asn_MBR_a_2,
520 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000521 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000522};
523
524static asn_TYPE_member_t asn_MBR_c_5[] = {
525 { ATF_POINTER, 0, 0,
526 .tag = -1 /* Ambiguous tag (CHOICE?) */,
527 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000528 .type = &asn_DEF_Choice3,
Lev Walkinb85a8132005-08-18 13:38:19 +0000529 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400530 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000531 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
532 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000533 .name = ""
534 },
535};
Lev Walkina7591b52014-10-12 18:37:35 -0700536static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000537 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
538 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
539};
Lev Walkin59b176e2005-11-26 11:25:14 +0000540static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000541 sizeof(struct c),
542 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000543 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000544};
545static /* Use -fall-defs-global to expose */
546asn_TYPE_descriptor_t asn_DEF_c_5 = {
547 "c",
548 "c",
549 SEQUENCE_OF_free,
550 SEQUENCE_OF_print,
551 SEQUENCE_OF_constraint,
552 SEQUENCE_OF_decode_ber,
553 SEQUENCE_OF_encode_der,
554 SEQUENCE_OF_decode_xer,
555 SEQUENCE_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700556 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400557 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000558 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000559 asn_DEF_c_tags_5,
560 sizeof(asn_DEF_c_tags_5)
561 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
562 asn_DEF_c_tags_5, /* Same as above */
563 sizeof(asn_DEF_c_tags_5)
564 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400565 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000566 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000567 asn_MBR_c_5,
568 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000569 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000570};
571
572static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
573 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
574 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000575 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000576 .type = &asn_DEF_a_2,
Lev Walkinb85a8132005-08-18 13:38:19 +0000577 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400578 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000579 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
580 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000581 .name = "a"
582 },
583 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
584 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
585 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000586 .type = &asn_DEF_Everything,
Lev Walkinb85a8132005-08-18 13:38:19 +0000587 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400588 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000589 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
590 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000591 .name = "b"
592 },
593 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
594 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000595 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000596 .type = &asn_DEF_c_5,
Lev Walkinb85a8132005-08-18 13:38:19 +0000597 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400598 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000599 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
600 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000601 .name = "c"
602 },
603};
Lev Walkina7591b52014-10-12 18:37:35 -0700604static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700605 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
606 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
607 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000608};
Lev Walkin59b176e2005-11-26 11:25:14 +0000609static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000610 sizeof(struct Choice3),
611 offsetof(struct Choice3, _asn_ctx),
612 offsetof(struct Choice3, present),
613 sizeof(((struct Choice3 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000614 asn_MAP_Choice3_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000615 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000616 .canonical_order = 0,
617 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000618};
619asn_TYPE_descriptor_t asn_DEF_Choice3 = {
620 "Choice3",
621 "Choice3",
622 CHOICE_free,
623 CHOICE_print,
624 CHOICE_constraint,
625 CHOICE_decode_ber,
626 CHOICE_encode_der,
627 CHOICE_decode_xer,
628 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700629 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400630 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +0000631 CHOICE_outmost_tag,
632 0, /* No effective tags (pointer) */
633 0, /* No effective tags (count) */
634 0, /* No tags (pointer) */
635 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400636 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000637 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +0000638 asn_MBR_Choice3_1,
639 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000640 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000641};
642
643
Lev Walkincee931e2005-08-16 16:56:59 +0000644/*** <<< INCLUDES [Set] >>> ***/
645
646#include <asn_SET_OF.h>
647#include <INTEGER.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000648#include <constr_SEQUENCE.h>
649#include <constr_SET_OF.h>
650
651/*** <<< FWD-DECLS [Set] >>> ***/
652
653struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000654struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000655
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800656/*** <<< FWD-DEFS [Set] >>> ***/
657
658typedef struct Member {
659 INTEGER_t Int;
660 struct Set *set;
661 struct Sequence *seq;
662 struct Set *set2 /* OPTIONAL */;
663 /*
664 * This type is extensible,
665 * possible extensions are below.
666 */
667 struct Set *set3;
668
669 /* Context for parsing across buffer boundaries */
670 asn_struct_ctx_t _asn_ctx;
671} Member;
672
Lev Walkincee931e2005-08-16 16:56:59 +0000673/*** <<< TYPE-DECLS [Set] >>> ***/
674
675typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800676 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000677
678 /* Context for parsing across buffer boundaries */
679 asn_struct_ctx_t _asn_ctx;
680} Set_t;
681
682/*** <<< FUNC-DECLS [Set] >>> ***/
683
684extern asn_TYPE_descriptor_t asn_DEF_Set;
685
686/*** <<< POST-INCLUDE [Set] >>> ***/
687
Lev Walkin22b5ed42006-09-13 02:51:20 +0000688#include "Set.h"
689#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000690
691/*** <<< STAT-DEFS [Set] >>> ***/
692
693static asn_TYPE_member_t asn_MBR_Member_2[] = {
694 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
695 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
696 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000697 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000698 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400699 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000700 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
701 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000702 .name = "int"
703 },
704 { ATF_POINTER, 0, offsetof(struct Member, set),
705 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
706 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000707 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000708 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400709 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000710 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
711 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000712 .name = "set"
713 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000714 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000715 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
716 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000717 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000718 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400719 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000720 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
721 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000722 .name = "seq"
723 },
724 { ATF_POINTER, 2, offsetof(struct Member, set2),
725 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
726 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000727 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000728 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400729 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000730 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
731 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000732 .name = "set2"
733 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000734 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000735 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
736 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000737 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000738 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400739 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000740 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
741 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000742 .name = "set3"
743 },
744};
Lev Walkina7591b52014-10-12 18:37:35 -0700745static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000746 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
747};
Lev Walkina7591b52014-10-12 18:37:35 -0700748static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700749 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
750 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
751 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
752 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
753 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000754};
Lev Walkin59b176e2005-11-26 11:25:14 +0000755static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000756 sizeof(struct Member),
757 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000758 asn_MAP_Member_tag2el_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000759 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000760 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000761 3, /* Start extensions */
762 6 /* Stop extensions */
763};
764static /* Use -fall-defs-global to expose */
765asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000766 "SEQUENCE",
767 "SEQUENCE",
Lev Walkincee931e2005-08-16 16:56:59 +0000768 SEQUENCE_free,
769 SEQUENCE_print,
770 SEQUENCE_constraint,
771 SEQUENCE_decode_ber,
772 SEQUENCE_encode_der,
773 SEQUENCE_decode_xer,
774 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700775 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400776 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000777 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000778 asn_DEF_Member_tags_2,
779 sizeof(asn_DEF_Member_tags_2)
780 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
781 asn_DEF_Member_tags_2, /* Same as above */
782 sizeof(asn_DEF_Member_tags_2)
783 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400784 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000785 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000786 asn_MBR_Member_2,
787 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000788 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000789};
790
791static asn_TYPE_member_t asn_MBR_Set_1[] = {
792 { ATF_POINTER, 0, 0,
793 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
794 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000795 .type = &asn_DEF_Member_2,
Lev Walkincee931e2005-08-16 16:56:59 +0000796 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400797 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000798 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
799 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000800 .name = ""
801 },
802};
Lev Walkina7591b52014-10-12 18:37:35 -0700803static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000804 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
805};
Lev Walkin59b176e2005-11-26 11:25:14 +0000806static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000807 sizeof(struct Set),
808 offsetof(struct Set, _asn_ctx),
809 0, /* XER encoding is XMLDelimitedItemList */
810};
811asn_TYPE_descriptor_t asn_DEF_Set = {
812 "Set",
813 "Set",
814 SET_OF_free,
815 SET_OF_print,
816 SET_OF_constraint,
817 SET_OF_decode_ber,
818 SET_OF_encode_der,
819 SET_OF_decode_xer,
820 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700821 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400822 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000823 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000824 asn_DEF_Set_tags_1,
825 sizeof(asn_DEF_Set_tags_1)
826 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
827 asn_DEF_Set_tags_1, /* Same as above */
828 sizeof(asn_DEF_Set_tags_1)
829 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400830 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000831 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000832 asn_MBR_Set_1,
833 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000834 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000835};
836
837
838/*** <<< INCLUDES [Sequence] >>> ***/
839
840#include <INTEGER.h>
841#include <constr_SEQUENCE.h>
842
843/*** <<< FWD-DECLS [Sequence] >>> ***/
844
845struct Sequence;
846struct Set;
847
848/*** <<< TYPE-DECLS [Sequence] >>> ***/
849
850typedef struct Sequence {
851 INTEGER_t a;
852 struct Sequence *seq /* OPTIONAL */;
853 /*
854 * This type is extensible,
855 * possible extensions are below.
856 */
857 INTEGER_t *b;
858 struct Set *set /* OPTIONAL */;
859
860 /* Context for parsing across buffer boundaries */
861 asn_struct_ctx_t _asn_ctx;
862} Sequence_t;
863
864/*** <<< FUNC-DECLS [Sequence] >>> ***/
865
866extern asn_TYPE_descriptor_t asn_DEF_Sequence;
867
868/*** <<< POST-INCLUDE [Sequence] >>> ***/
869
Lev Walkin22b5ed42006-09-13 02:51:20 +0000870#include "Sequence.h"
871#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000872
873/*** <<< STAT-DEFS [Sequence] >>> ***/
874
875static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
876 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
877 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
878 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000879 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000880 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400881 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000882 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
883 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000884 .name = "a"
885 },
886 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
887 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
888 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000889 .type = &asn_DEF_Sequence,
Lev Walkincee931e2005-08-16 16:56:59 +0000890 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400891 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000892 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
893 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000894 .name = "seq"
895 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000896 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000897 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
898 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000899 .type = &asn_DEF_INTEGER,
Lev Walkincee931e2005-08-16 16:56:59 +0000900 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400901 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000902 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
903 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000904 .name = "b"
905 },
906 { ATF_POINTER, 1, offsetof(struct Sequence, set),
907 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
908 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000909 .type = &asn_DEF_Set,
Lev Walkincee931e2005-08-16 16:56:59 +0000910 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400911 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000912 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
913 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000914 .name = "set"
915 },
916};
Lev Walkina7591b52014-10-12 18:37:35 -0700917static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000918 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
919};
Lev Walkina7591b52014-10-12 18:37:35 -0700920static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700921 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
922 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
923 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
924 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000925};
Lev Walkin59b176e2005-11-26 11:25:14 +0000926static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000927 sizeof(struct Sequence),
928 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000929 asn_MAP_Sequence_tag2el_1,
Lev Walkincee931e2005-08-16 16:56:59 +0000930 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000931 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000932 1, /* Start extensions */
933 5 /* Stop extensions */
934};
935asn_TYPE_descriptor_t asn_DEF_Sequence = {
936 "Sequence",
937 "Sequence",
938 SEQUENCE_free,
939 SEQUENCE_print,
940 SEQUENCE_constraint,
941 SEQUENCE_decode_ber,
942 SEQUENCE_encode_der,
943 SEQUENCE_decode_xer,
944 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700945 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400946 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincee931e2005-08-16 16:56:59 +0000947 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000948 asn_DEF_Sequence_tags_1,
949 sizeof(asn_DEF_Sequence_tags_1)
950 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
951 asn_DEF_Sequence_tags_1, /* Same as above */
952 sizeof(asn_DEF_Sequence_tags_1)
953 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400954 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000955 0, /* No PER visible constraints */
Lev Walkincee931e2005-08-16 16:56:59 +0000956 asn_MBR_Sequence_1,
957 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000958 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000959};
960
Lev Walkinb85a8132005-08-18 13:38:19 +0000961
962/*** <<< INCLUDES [TypeRef] >>> ***/
963
Lev Walkin22b5ed42006-09-13 02:51:20 +0000964#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000965
966/*** <<< TYPE-DECLS [TypeRef] >>> ***/
967
968typedef Sequence_t TypeRef_t;
969
970/*** <<< FUNC-DECLS [TypeRef] >>> ***/
971
972extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
973asn_struct_free_f TypeRef_free;
974asn_struct_print_f TypeRef_print;
975asn_constr_check_f TypeRef_constraint;
976ber_type_decoder_f TypeRef_decode_ber;
977der_type_encoder_f TypeRef_encode_der;
978xer_type_decoder_f TypeRef_decode_xer;
979xer_type_encoder_f TypeRef_encode_xer;
980
981/*** <<< CODE [TypeRef] >>> ***/
982
983int
984TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000985 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb85a8132005-08-18 13:38:19 +0000986 /* Replace with underlying type checker */
987 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000988 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb85a8132005-08-18 13:38:19 +0000989}
990
991/*
992 * This type is implemented using Sequence,
993 * so here we adjust the DEF accordingly.
994 */
995static void
996TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
997 td->free_struct = asn_DEF_Sequence.free_struct;
998 td->print_struct = asn_DEF_Sequence.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800999 td->check_constraints = asn_DEF_Sequence.check_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +00001000 td->ber_decoder = asn_DEF_Sequence.ber_decoder;
1001 td->der_encoder = asn_DEF_Sequence.der_encoder;
1002 td->xer_decoder = asn_DEF_Sequence.xer_decoder;
1003 td->xer_encoder = asn_DEF_Sequence.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001004 td->uper_decoder = asn_DEF_Sequence.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001005 td->uper_encoder = asn_DEF_Sequence.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -07001006 td->oer_decoder = asn_DEF_Sequence.oer_decoder;
1007 td->oer_encoder = asn_DEF_Sequence.oer_encoder;
Lev Walkinb33425f2017-07-14 14:59:52 +04001008 if(!td->oer_constraints)
1009 td->oer_constraints = asn_DEF_Sequence.oer_constraints;
Lev Walkin59b176e2005-11-26 11:25:14 +00001010 if(!td->per_constraints)
1011 td->per_constraints = asn_DEF_Sequence.per_constraints;
Lev Walkinb85a8132005-08-18 13:38:19 +00001012 td->elements = asn_DEF_Sequence.elements;
1013 td->elements_count = asn_DEF_Sequence.elements_count;
1014 td->specifics = asn_DEF_Sequence.specifics;
1015}
1016
1017void
1018TypeRef_free(asn_TYPE_descriptor_t *td,
1019 void *struct_ptr, int contents_only) {
1020 TypeRef_1_inherit_TYPE_descriptor(td);
1021 td->free_struct(td, struct_ptr, contents_only);
1022}
1023
1024int
1025TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1026 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1027 TypeRef_1_inherit_TYPE_descriptor(td);
1028 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1029}
1030
1031asn_dec_rval_t
1032TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1033 void **structure, const void *bufptr, size_t size, int tag_mode) {
1034 TypeRef_1_inherit_TYPE_descriptor(td);
1035 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1036}
1037
1038asn_enc_rval_t
1039TypeRef_encode_der(asn_TYPE_descriptor_t *td,
1040 void *structure, int tag_mode, ber_tlv_tag_t tag,
1041 asn_app_consume_bytes_f *cb, void *app_key) {
1042 TypeRef_1_inherit_TYPE_descriptor(td);
1043 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1044}
1045
1046asn_dec_rval_t
1047TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1048 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1049 TypeRef_1_inherit_TYPE_descriptor(td);
1050 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1051}
1052
1053asn_enc_rval_t
1054TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1055 int ilevel, enum xer_encoder_flags_e flags,
1056 asn_app_consume_bytes_f *cb, void *app_key) {
1057 TypeRef_1_inherit_TYPE_descriptor(td);
1058 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1059}
1060
1061
1062/*** <<< STAT-DEFS [TypeRef] >>> ***/
1063
Lev Walkina7591b52014-10-12 18:37:35 -07001064static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001065 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1066};
1067asn_TYPE_descriptor_t asn_DEF_TypeRef = {
1068 "TypeRef",
1069 "TypeRef",
1070 TypeRef_free,
1071 TypeRef_print,
1072 TypeRef_constraint,
1073 TypeRef_decode_ber,
1074 TypeRef_encode_der,
1075 TypeRef_decode_xer,
1076 TypeRef_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001077 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001078 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001079 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001080 asn_DEF_TypeRef_tags_1,
1081 sizeof(asn_DEF_TypeRef_tags_1)
1082 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
1083 asn_DEF_TypeRef_tags_1, /* Same as above */
1084 sizeof(asn_DEF_TypeRef_tags_1)
1085 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001086 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001087 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001088 0, 0, /* Defined elsewhere */
1089 0 /* No specifics */
1090};
1091
1092
1093/*** <<< INCLUDES [Alpha] >>> ***/
1094
1095#include <constr_SEQUENCE.h>
1096
1097/*** <<< FWD-DECLS [Alpha] >>> ***/
1098
1099struct Beta;
1100
1101/*** <<< TYPE-DECLS [Alpha] >>> ***/
1102
1103typedef struct Alpha {
1104 struct Beta *a;
1105 struct b {
1106 struct Beta *b /* OPTIONAL */;
1107
1108 /* Context for parsing across buffer boundaries */
1109 asn_struct_ctx_t _asn_ctx;
1110 } b;
1111
1112 /* Context for parsing across buffer boundaries */
1113 asn_struct_ctx_t _asn_ctx;
1114} Alpha_t;
1115
1116/*** <<< FUNC-DECLS [Alpha] >>> ***/
1117
1118extern asn_TYPE_descriptor_t asn_DEF_Alpha;
1119
1120/*** <<< POST-INCLUDE [Alpha] >>> ***/
1121
Lev Walkin22b5ed42006-09-13 02:51:20 +00001122#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001123
1124/*** <<< STAT-DEFS [Alpha] >>> ***/
1125
1126static asn_TYPE_member_t asn_MBR_b_3[] = {
1127 { ATF_POINTER, 1, offsetof(struct b, b),
1128 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1129 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001130 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001131 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001132 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001133 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1134 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001135 .name = "b"
1136 },
1137};
Lev Walkina7591b52014-10-12 18:37:35 -07001138static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001139 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1140 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1141};
Lev Walkina7591b52014-10-12 18:37:35 -07001142static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001143 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001144};
Lev Walkin59b176e2005-11-26 11:25:14 +00001145static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001146 sizeof(struct b),
1147 offsetof(struct b, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001148 asn_MAP_b_tag2el_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001149 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001150 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001151 -1, /* Start extensions */
1152 -1 /* Stop extensions */
1153};
1154static /* Use -fall-defs-global to expose */
1155asn_TYPE_descriptor_t asn_DEF_b_3 = {
1156 "b",
1157 "b",
1158 SEQUENCE_free,
1159 SEQUENCE_print,
1160 SEQUENCE_constraint,
1161 SEQUENCE_decode_ber,
1162 SEQUENCE_encode_der,
1163 SEQUENCE_decode_xer,
1164 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001165 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001166 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001167 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001168 asn_DEF_b_tags_3,
1169 sizeof(asn_DEF_b_tags_3)
1170 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
1171 asn_DEF_b_tags_3, /* Same as above */
1172 sizeof(asn_DEF_b_tags_3)
1173 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001174 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001175 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001176 asn_MBR_b_3,
1177 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001178 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001179};
1180
1181static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
1182 { ATF_POINTER, 0, offsetof(struct Alpha, a),
1183 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1184 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001185 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001186 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001187 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001188 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1189 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001190 .name = "a"
1191 },
1192 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
1193 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001194 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001195 .type = &asn_DEF_b_3,
Lev Walkinb85a8132005-08-18 13:38:19 +00001196 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001197 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001198 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1199 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001200 .name = "b"
1201 },
1202};
Lev Walkina7591b52014-10-12 18:37:35 -07001203static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001204 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1205};
Lev Walkina7591b52014-10-12 18:37:35 -07001206static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001207 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1208 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001209};
Lev Walkin59b176e2005-11-26 11:25:14 +00001210static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001211 sizeof(struct Alpha),
1212 offsetof(struct Alpha, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001213 asn_MAP_Alpha_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001214 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001215 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001216 -1, /* Start extensions */
1217 -1 /* Stop extensions */
1218};
1219asn_TYPE_descriptor_t asn_DEF_Alpha = {
1220 "Alpha",
1221 "Alpha",
1222 SEQUENCE_free,
1223 SEQUENCE_print,
1224 SEQUENCE_constraint,
1225 SEQUENCE_decode_ber,
1226 SEQUENCE_encode_der,
1227 SEQUENCE_decode_xer,
1228 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001229 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001230 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001231 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001232 asn_DEF_Alpha_tags_1,
1233 sizeof(asn_DEF_Alpha_tags_1)
1234 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1235 asn_DEF_Alpha_tags_1, /* Same as above */
1236 sizeof(asn_DEF_Alpha_tags_1)
1237 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001238 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001239 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001240 asn_MBR_Alpha_1,
1241 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001242 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001243};
1244
1245
1246/*** <<< INCLUDES [Beta] >>> ***/
1247
1248#include <constr_SEQUENCE.h>
1249
1250/*** <<< FWD-DECLS [Beta] >>> ***/
1251
1252struct Alpha;
1253struct Gamma;
1254
1255/*** <<< TYPE-DECLS [Beta] >>> ***/
1256
1257typedef struct Beta {
1258 struct Alpha *b /* OPTIONAL */;
1259 struct Gamma *g /* OPTIONAL */;
1260
1261 /* Context for parsing across buffer boundaries */
1262 asn_struct_ctx_t _asn_ctx;
1263} Beta_t;
1264
1265/*** <<< FUNC-DECLS [Beta] >>> ***/
1266
1267extern asn_TYPE_descriptor_t asn_DEF_Beta;
1268
1269/*** <<< POST-INCLUDE [Beta] >>> ***/
1270
Lev Walkin22b5ed42006-09-13 02:51:20 +00001271#include "Alpha.h"
1272#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001273
1274/*** <<< STAT-DEFS [Beta] >>> ***/
1275
1276static asn_TYPE_member_t asn_MBR_Beta_1[] = {
1277 { ATF_POINTER, 2, offsetof(struct Beta, b),
1278 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1279 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001280 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001281 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001282 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001283 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1284 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001285 .name = "b"
1286 },
1287 { ATF_POINTER, 1, offsetof(struct Beta, g),
1288 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1289 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001290 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001291 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001292 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001293 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1294 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001295 .name = "g"
1296 },
1297};
Lev Walkina7591b52014-10-12 18:37:35 -07001298static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001299 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1300};
Lev Walkina7591b52014-10-12 18:37:35 -07001301static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001302 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1303 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001304};
Lev Walkin59b176e2005-11-26 11:25:14 +00001305static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001306 sizeof(struct Beta),
1307 offsetof(struct Beta, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001308 asn_MAP_Beta_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001309 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001310 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001311 -1, /* Start extensions */
1312 -1 /* Stop extensions */
1313};
1314asn_TYPE_descriptor_t asn_DEF_Beta = {
1315 "Beta",
1316 "Beta",
1317 SEQUENCE_free,
1318 SEQUENCE_print,
1319 SEQUENCE_constraint,
1320 SEQUENCE_decode_ber,
1321 SEQUENCE_encode_der,
1322 SEQUENCE_decode_xer,
1323 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001324 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001325 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001326 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001327 asn_DEF_Beta_tags_1,
1328 sizeof(asn_DEF_Beta_tags_1)
1329 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1330 asn_DEF_Beta_tags_1, /* Same as above */
1331 sizeof(asn_DEF_Beta_tags_1)
1332 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001333 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001334 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001335 asn_MBR_Beta_1,
1336 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001337 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001338};
1339
1340
1341/*** <<< INCLUDES [Gamma] >>> ***/
1342
1343#include <constr_SEQUENCE.h>
1344
1345/*** <<< FWD-DECLS [Gamma] >>> ***/
1346
1347struct TwoThree;
1348struct Alpha;
1349struct Beta;
1350
1351/*** <<< TYPE-DECLS [Gamma] >>> ***/
1352
1353typedef struct Gamma {
1354 struct TwoThree *o;
1355 struct Alpha *a;
1356 struct Beta *b;
1357
1358 /* Context for parsing across buffer boundaries */
1359 asn_struct_ctx_t _asn_ctx;
1360} Gamma_t;
1361
1362/*** <<< FUNC-DECLS [Gamma] >>> ***/
1363
1364extern asn_TYPE_descriptor_t asn_DEF_Gamma;
1365
1366/*** <<< POST-INCLUDE [Gamma] >>> ***/
1367
Lev Walkin22b5ed42006-09-13 02:51:20 +00001368#include "TwoThree.h"
1369#include "Alpha.h"
1370#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001371
1372/*** <<< STAT-DEFS [Gamma] >>> ***/
1373
1374static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
1375 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1376 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1377 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001378 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001379 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001380 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001381 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1382 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001383 .name = "o"
1384 },
1385 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1386 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1387 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001388 .type = &asn_DEF_Alpha,
Lev Walkinb85a8132005-08-18 13:38:19 +00001389 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001390 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001391 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1392 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001393 .name = "a"
1394 },
1395 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1396 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1397 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001398 .type = &asn_DEF_Beta,
Lev Walkinb85a8132005-08-18 13:38:19 +00001399 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001400 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001401 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1402 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001403 .name = "b"
1404 },
1405};
Lev Walkina7591b52014-10-12 18:37:35 -07001406static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001407 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1408};
Lev Walkina7591b52014-10-12 18:37:35 -07001409static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001410 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1411 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1412 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001413};
Lev Walkin59b176e2005-11-26 11:25:14 +00001414static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001415 sizeof(struct Gamma),
1416 offsetof(struct Gamma, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +00001417 asn_MAP_Gamma_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001418 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001419 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001420 -1, /* Start extensions */
1421 -1 /* Stop extensions */
1422};
1423asn_TYPE_descriptor_t asn_DEF_Gamma = {
1424 "Gamma",
1425 "Gamma",
1426 SEQUENCE_free,
1427 SEQUENCE_print,
1428 SEQUENCE_constraint,
1429 SEQUENCE_decode_ber,
1430 SEQUENCE_encode_der,
1431 SEQUENCE_decode_xer,
1432 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001433 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001434 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001435 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001436 asn_DEF_Gamma_tags_1,
1437 sizeof(asn_DEF_Gamma_tags_1)
1438 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1439 asn_DEF_Gamma_tags_1, /* Same as above */
1440 sizeof(asn_DEF_Gamma_tags_1)
1441 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001442 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001443 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001444 asn_MBR_Gamma_1,
1445 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001446 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001447};
1448
1449
1450/*** <<< INCLUDES [OneTwo] >>> ***/
1451
1452#include <constr_SET.h>
1453
1454/*** <<< DEPS [OneTwo] >>> ***/
1455
1456
1457/*
1458 * Method of determining the components presence
1459 */
1460typedef enum OneTwo_PR {
1461 OneTwo_PR_m12, /* Member m12 is present */
1462} OneTwo_PR;
1463
1464/*** <<< FWD-DECLS [OneTwo] >>> ***/
1465
1466struct TwoThree;
1467
1468/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1469
1470typedef struct OneTwo {
1471 struct TwoThree *m12;
1472
1473 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1474 unsigned int _presence_map
1475 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1476
1477 /* Context for parsing across buffer boundaries */
1478 asn_struct_ctx_t _asn_ctx;
1479} OneTwo_t;
1480
1481/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1482
1483extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
1484
1485/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1486
Lev Walkin22b5ed42006-09-13 02:51:20 +00001487#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001488
1489/*** <<< STAT-DEFS [OneTwo] >>> ***/
1490
1491static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
1492 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1493 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1494 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001495 .type = &asn_DEF_TwoThree,
Lev Walkinb85a8132005-08-18 13:38:19 +00001496 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001497 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001498 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1499 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001500 .name = "m12"
1501 },
1502};
Lev Walkina7591b52014-10-12 18:37:35 -07001503static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001504 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1505};
Lev Walkina7591b52014-10-12 18:37:35 -07001506static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001507 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001508};
Lev Walkina7591b52014-10-12 18:37:35 -07001509static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001510 (1 << 7)
1511};
Lev Walkin59b176e2005-11-26 11:25:14 +00001512static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001513 sizeof(struct OneTwo),
1514 offsetof(struct OneTwo, _asn_ctx),
1515 offsetof(struct OneTwo, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001516 asn_MAP_OneTwo_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001517 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001518 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001519 1, /* Count of tags in the CXER map */
1520 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001521 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001522};
1523asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1524 "OneTwo",
1525 "OneTwo",
1526 SET_free,
1527 SET_print,
1528 SET_constraint,
1529 SET_decode_ber,
1530 SET_encode_der,
1531 SET_decode_xer,
1532 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001533 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001534 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001535 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001536 asn_DEF_OneTwo_tags_1,
1537 sizeof(asn_DEF_OneTwo_tags_1)
1538 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1539 asn_DEF_OneTwo_tags_1, /* Same as above */
1540 sizeof(asn_DEF_OneTwo_tags_1)
1541 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001542 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001543 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001544 asn_MBR_OneTwo_1,
1545 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001546 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001547};
1548
1549
1550/*** <<< INCLUDES [TwoThree] >>> ***/
1551
1552#include <constr_SET.h>
1553
1554/*** <<< DEPS [TwoThree] >>> ***/
1555
1556
1557/*
1558 * Method of determining the components presence
1559 */
1560typedef enum TwoThree_PR {
1561 TwoThree_PR_m23, /* Member m23 is present */
1562} TwoThree_PR;
1563
1564/*** <<< FWD-DECLS [TwoThree] >>> ***/
1565
1566struct ThreeOne;
1567
1568/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1569
1570typedef struct TwoThree {
1571 struct ThreeOne *m23;
1572
1573 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1574 unsigned int _presence_map
1575 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1576
1577 /* Context for parsing across buffer boundaries */
1578 asn_struct_ctx_t _asn_ctx;
1579} TwoThree_t;
1580
1581/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1582
1583extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
1584
1585/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1586
Lev Walkin22b5ed42006-09-13 02:51:20 +00001587#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001588
1589/*** <<< STAT-DEFS [TwoThree] >>> ***/
1590
1591static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
1592 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1593 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1594 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001595 .type = &asn_DEF_ThreeOne,
Lev Walkinb85a8132005-08-18 13:38:19 +00001596 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001597 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001598 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1599 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001600 .name = "m23"
1601 },
1602};
Lev Walkina7591b52014-10-12 18:37:35 -07001603static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001604 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1605};
Lev Walkina7591b52014-10-12 18:37:35 -07001606static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001607 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001608};
Lev Walkina7591b52014-10-12 18:37:35 -07001609static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001610 (1 << 7)
1611};
Lev Walkin59b176e2005-11-26 11:25:14 +00001612static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001613 sizeof(struct TwoThree),
1614 offsetof(struct TwoThree, _asn_ctx),
1615 offsetof(struct TwoThree, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001616 asn_MAP_TwoThree_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001617 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001618 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001619 1, /* Count of tags in the CXER map */
1620 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001621 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001622};
1623asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1624 "TwoThree",
1625 "TwoThree",
1626 SET_free,
1627 SET_print,
1628 SET_constraint,
1629 SET_decode_ber,
1630 SET_encode_der,
1631 SET_decode_xer,
1632 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001633 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001634 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001635 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001636 asn_DEF_TwoThree_tags_1,
1637 sizeof(asn_DEF_TwoThree_tags_1)
1638 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1639 asn_DEF_TwoThree_tags_1, /* Same as above */
1640 sizeof(asn_DEF_TwoThree_tags_1)
1641 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001642 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001643 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001644 asn_MBR_TwoThree_1,
1645 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001646 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001647};
1648
1649
1650/*** <<< INCLUDES [ThreeOne] >>> ***/
1651
1652#include <constr_SET.h>
1653
1654/*** <<< DEPS [ThreeOne] >>> ***/
1655
1656
1657/*
1658 * Method of determining the components presence
1659 */
1660typedef enum ThreeOne_PR {
1661 ThreeOne_PR_m31, /* Member m31 is present */
1662 ThreeOne_PR_g, /* Member g is present */
1663} ThreeOne_PR;
1664
1665/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1666
1667struct OneTwo;
1668struct Gamma;
1669
1670/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1671
1672typedef struct ThreeOne {
1673 struct OneTwo *m31;
1674 struct Gamma *g;
1675
1676 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1677 unsigned int _presence_map
1678 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1679
1680 /* Context for parsing across buffer boundaries */
1681 asn_struct_ctx_t _asn_ctx;
1682} ThreeOne_t;
1683
1684/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1685
1686extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
1687
1688/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1689
Lev Walkin22b5ed42006-09-13 02:51:20 +00001690#include "OneTwo.h"
1691#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001692
1693/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1694
1695static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
1696 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1697 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1698 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001699 .type = &asn_DEF_OneTwo,
Lev Walkinb85a8132005-08-18 13:38:19 +00001700 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001701 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001702 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1703 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001704 .name = "m31"
1705 },
1706 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1707 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1708 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001709 .type = &asn_DEF_Gamma,
Lev Walkinb85a8132005-08-18 13:38:19 +00001710 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001711 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +00001712 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1713 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001714 .name = "g"
1715 },
1716};
Lev Walkina7591b52014-10-12 18:37:35 -07001717static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001718 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1719};
Lev Walkina7591b52014-10-12 18:37:35 -07001720static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001721 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1722 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001723};
Lev Walkina7591b52014-10-12 18:37:35 -07001724static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001725 (1 << 7) | (1 << 6)
1726};
Lev Walkin59b176e2005-11-26 11:25:14 +00001727static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001728 sizeof(struct ThreeOne),
1729 offsetof(struct ThreeOne, _asn_ctx),
1730 offsetof(struct ThreeOne, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +00001731 asn_MAP_ThreeOne_tag2el_1,
Lev Walkinb85a8132005-08-18 13:38:19 +00001732 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001733 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001734 2, /* Count of tags in the CXER map */
1735 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001736 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001737};
1738asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1739 "ThreeOne",
1740 "ThreeOne",
1741 SET_free,
1742 SET_print,
1743 SET_constraint,
1744 SET_decode_ber,
1745 SET_encode_der,
1746 SET_decode_xer,
1747 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -07001748 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +04001749 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb85a8132005-08-18 13:38:19 +00001750 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001751 asn_DEF_ThreeOne_tags_1,
1752 sizeof(asn_DEF_ThreeOne_tags_1)
1753 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1754 asn_DEF_ThreeOne_tags_1, /* Same as above */
1755 sizeof(asn_DEF_ThreeOne_tags_1)
1756 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001757 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +00001758 0, /* No PER visible constraints */
Lev Walkinb85a8132005-08-18 13:38:19 +00001759 asn_MBR_ThreeOne_1,
1760 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001761 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001762};
1763