blob: dafb1766f21dcffbbf5e3133af16628861e41034 [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;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080040extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1;
41extern asn_TYPE_member_t asn_MBR_Everything_1[10];
Lev Walkincee931e2005-08-16 16:56:59 +000042
Lev Walkinb85a8132005-08-18 13:38:19 +000043/*** <<< POST-INCLUDE [Everything] >>> ***/
44
Lev Walkin22b5ed42006-09-13 02:51:20 +000045#include "Choice1.h"
46#include "Choice2.h"
47#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +000048
Lev Walkincee931e2005-08-16 16:56:59 +000049/*** <<< STAT-DEFS [Everything] >>> ***/
50
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080051asn_TYPE_member_t asn_MBR_Everything_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +000052 { ATF_POINTER, 0, offsetof(struct Everything, ch1),
Lev Walkincee931e2005-08-16 16:56:59 +000053 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
54 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000055 .type = &asn_DEF_Choice1,
Lev Walkin67a30122017-08-10 05:48:54 -070056 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070057 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070058 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +000059 .name = "ch1"
60 },
Lev Walkinb85a8132005-08-18 13:38:19 +000061 { ATF_POINTER, 0, offsetof(struct Everything, ch2),
Lev Walkincee931e2005-08-16 16:56:59 +000062 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
63 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000064 .type = &asn_DEF_Choice2,
Lev Walkin67a30122017-08-10 05:48:54 -070065 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070066 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070067 0, 0, /* No default value */
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 Walkin67a30122017-08-10 05:48:54 -070074 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070075 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070076 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +000077 .name = "ch3"
78 },
79 { ATF_NOFLAGS, 0, offsetof(struct Everything, set),
80 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkincee931e2005-08-16 16:56:59 +000081 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000082 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -070083 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070084 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070085 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +000086 .name = "set"
87 },
Lev Walkinb85a8132005-08-18 13:38:19 +000088 { ATF_NOFLAGS, 0, offsetof(struct Everything, a),
89 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
90 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000091 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -070092 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070093 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070094 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +000095 .name = "a"
96 },
97 { ATF_NOFLAGS, 0, offsetof(struct Everything, b),
98 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
99 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000100 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700101 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700102 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700103 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000104 .name = "b"
105 },
106 { ATF_NOFLAGS, 0, offsetof(struct Everything, g),
107 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
108 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000109 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -0700110 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700111 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700112 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000113 .name = "g"
114 },
115 { ATF_NOFLAGS, 0, offsetof(struct Everything, ot),
116 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
117 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000118 .type = &asn_DEF_OneTwo,
Lev Walkin67a30122017-08-10 05:48:54 -0700119 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700120 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700121 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000122 .name = "ot"
123 },
124 { ATF_NOFLAGS, 0, offsetof(struct Everything, tt),
125 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
126 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000127 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -0700128 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700129 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700130 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000131 .name = "tt"
132 },
133 { ATF_NOFLAGS, 0, offsetof(struct Everything, to),
134 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
135 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000136 .type = &asn_DEF_ThreeOne,
Lev Walkin67a30122017-08-10 05:48:54 -0700137 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700138 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700139 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000140 .name = "to"
141 },
Lev Walkincee931e2005-08-16 16:56:59 +0000142};
Lev Walkina7591b52014-10-12 18:37:35 -0700143static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000144 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
145};
Lev Walkina7591b52014-10-12 18:37:35 -0700146static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700147 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */
148 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */
149 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */
150 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */
151 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */
152 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */
153 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */
154 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */
155 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
156 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
Lev Walkincee931e2005-08-16 16:56:59 +0000157};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800158asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000159 sizeof(struct Everything),
160 offsetof(struct Everything, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700161 .tag2el = asn_MAP_Everything_tag2el_1,
162 .tag2el_count = 10, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000163 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700164 -1, /* First extension addition */
Lev Walkincee931e2005-08-16 16:56:59 +0000165};
166asn_TYPE_descriptor_t asn_DEF_Everything = {
167 "Everything",
168 "Everything",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800169 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000170 asn_DEF_Everything_tags_1,
171 sizeof(asn_DEF_Everything_tags_1)
172 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
173 asn_DEF_Everything_tags_1, /* Same as above */
174 sizeof(asn_DEF_Everything_tags_1)
175 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700176 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000177 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000178 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000179 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000180};
181
182
183/*** <<< INCLUDES [Choice1] >>> ***/
184
Lev Walkincee931e2005-08-16 16:56:59 +0000185#include <constr_CHOICE.h>
186
187/*** <<< DEPS [Choice1] >>> ***/
188
189typedef enum Choice1_PR {
190 Choice1_PR_NOTHING, /* No components present */
191 Choice1_PR_something,
192 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000193 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000194} Choice1_PR;
195
Lev Walkinb85a8132005-08-18 13:38:19 +0000196/*** <<< FWD-DECLS [Choice1] >>> ***/
197
198struct Everything;
199
Lev Walkincee931e2005-08-16 16:56:59 +0000200/*** <<< TYPE-DECLS [Choice1] >>> ***/
201
202typedef struct Choice1 {
203 Choice1_PR present;
204 union Choice1_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000205 struct Everything *something;
Lev Walkincee931e2005-08-16 16:56:59 +0000206 /*
207 * This type is extensible,
208 * possible extensions are below.
209 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000210 struct Everything *some2;
Lev Walkincee931e2005-08-16 16:56:59 +0000211 } choice;
212
213 /* Context for parsing across buffer boundaries */
214 asn_struct_ctx_t _asn_ctx;
215} Choice1_t;
216
217/*** <<< FUNC-DECLS [Choice1] >>> ***/
218
219extern asn_TYPE_descriptor_t asn_DEF_Choice1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800220extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
221extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
Lev Walkincee931e2005-08-16 16:56:59 +0000222
Lev Walkinb85a8132005-08-18 13:38:19 +0000223/*** <<< POST-INCLUDE [Choice1] >>> ***/
224
Lev Walkin22b5ed42006-09-13 02:51:20 +0000225#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000226
Lev Walkincee931e2005-08-16 16:56:59 +0000227/*** <<< STAT-DEFS [Choice1] >>> ***/
228
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800229asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000230 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
Lev Walkincee931e2005-08-16 16:56:59 +0000231 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
232 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000233 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700234 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700235 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700236 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000237 .name = "something"
238 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000239 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
Lev Walkincee931e2005-08-16 16:56:59 +0000240 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
241 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000242 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700243 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700244 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700245 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000246 .name = "some2"
247 },
248};
Lev Walkina7591b52014-10-12 18:37:35 -0700249static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700250 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
251 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000252};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800253asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000254 sizeof(struct Choice1),
255 offsetof(struct Choice1, _asn_ctx),
256 offsetof(struct Choice1, present),
257 sizeof(((struct Choice1 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700258 .tag2el = asn_MAP_Choice1_tag2el_1,
259 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700260 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700261 .first_extension = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000262};
263asn_TYPE_descriptor_t asn_DEF_Choice1 = {
264 "Choice1",
265 "Choice1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800266 &asn_OP_CHOICE,
Lev Walkincee931e2005-08-16 16:56:59 +0000267 0, /* No effective tags (pointer) */
268 0, /* No effective tags (count) */
269 0, /* No tags (pointer) */
270 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700271 { 0, 0, CHOICE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000272 asn_MBR_Choice1_1,
273 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000274 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000275};
276
277
278/*** <<< INCLUDES [Choice2] >>> ***/
279
Lev Walkin22b5ed42006-09-13 02:51:20 +0000280#include "TypeRef.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000281#include <constr_CHOICE.h>
282
283/*** <<< DEPS [Choice2] >>> ***/
284
285typedef enum Choice2_PR {
286 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000287 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000288 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000289 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000290} Choice2_PR;
291
Lev Walkinb85a8132005-08-18 13:38:19 +0000292/*** <<< FWD-DECLS [Choice2] >>> ***/
293
294struct Everything;
295
Lev Walkincee931e2005-08-16 16:56:59 +0000296/*** <<< TYPE-DECLS [Choice2] >>> ***/
297
298typedef struct Choice2 {
299 Choice2_PR present;
300 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000301 TypeRef_t typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000302 /*
303 * This type is extensible,
304 * possible extensions are below.
305 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000306 struct Everything *some3;
Lev Walkincee931e2005-08-16 16:56:59 +0000307 } choice;
308
309 /* Context for parsing across buffer boundaries */
310 asn_struct_ctx_t _asn_ctx;
311} Choice2_t;
312
313/*** <<< FUNC-DECLS [Choice2] >>> ***/
314
315extern asn_TYPE_descriptor_t asn_DEF_Choice2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800316extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
317extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
Lev Walkincee931e2005-08-16 16:56:59 +0000318
Lev Walkinb85a8132005-08-18 13:38:19 +0000319/*** <<< POST-INCLUDE [Choice2] >>> ***/
320
Lev Walkin22b5ed42006-09-13 02:51:20 +0000321#include "Everything.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000322
Lev Walkincee931e2005-08-16 16:56:59 +0000323/*** <<< STAT-DEFS [Choice2] >>> ***/
324
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800325asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000326 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000327 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
328 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000329 .type = &asn_DEF_TypeRef,
Lev Walkin67a30122017-08-10 05:48:54 -0700330 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700331 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700332 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000333 .name = "typeref"
334 },
335 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
336 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
337 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000338 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700339 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700340 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700341 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000342 .name = "some3"
343 },
344};
Lev Walkina7591b52014-10-12 18:37:35 -0700345static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700346 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
347 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000348};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800349asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000350 sizeof(struct Choice2),
351 offsetof(struct Choice2, _asn_ctx),
352 offsetof(struct Choice2, present),
353 sizeof(((struct Choice2 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700354 .tag2el = asn_MAP_Choice2_tag2el_1,
355 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700356 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700357 .first_extension = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000358};
359asn_TYPE_descriptor_t asn_DEF_Choice2 = {
360 "Choice2",
361 "Choice2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800362 &asn_OP_CHOICE,
Lev Walkincee931e2005-08-16 16:56:59 +0000363 0, /* No effective tags (pointer) */
364 0, /* No effective tags (count) */
365 0, /* No tags (pointer) */
366 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700367 { 0, 0, CHOICE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000368 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000369 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000370 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000371};
372
373
Lev Walkinb85a8132005-08-18 13:38:19 +0000374/*** <<< INCLUDES [Choice3] >>> ***/
375
376#include <constr_SEQUENCE.h>
377#include <asn_SEQUENCE_OF.h>
378#include <constr_SEQUENCE_OF.h>
379#include <constr_CHOICE.h>
380
381/*** <<< DEPS [Choice3] >>> ***/
382
383typedef enum Choice3_PR {
384 Choice3_PR_NOTHING, /* No components present */
385 Choice3_PR_a,
386 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000387 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000388} Choice3_PR;
389
390/*** <<< FWD-DECLS [Choice3] >>> ***/
391
392struct Everything;
393struct Choice3;
394
395/*** <<< TYPE-DECLS [Choice3] >>> ***/
396
397typedef struct Choice3 {
398 Choice3_PR present;
399 union Choice3_u {
400 struct a {
401 struct Everything *aa;
402
403 /* Context for parsing across buffer boundaries */
404 asn_struct_ctx_t _asn_ctx;
405 } a;
406 struct Everything *b;
407 struct c {
408 A_SEQUENCE_OF(struct Choice3) list;
409
410 /* Context for parsing across buffer boundaries */
411 asn_struct_ctx_t _asn_ctx;
412 } c;
413 } choice;
414
415 /* Context for parsing across buffer boundaries */
416 asn_struct_ctx_t _asn_ctx;
417} Choice3_t;
418
419/*** <<< FUNC-DECLS [Choice3] >>> ***/
420
421extern asn_TYPE_descriptor_t asn_DEF_Choice3;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800422extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
423extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +0000424
425/*** <<< POST-INCLUDE [Choice3] >>> ***/
426
Lev Walkin22b5ed42006-09-13 02:51:20 +0000427#include "Everything.h"
428#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000429
430/*** <<< STAT-DEFS [Choice3] >>> ***/
431
432static asn_TYPE_member_t asn_MBR_a_2[] = {
433 { ATF_POINTER, 0, offsetof(struct a, aa),
434 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
435 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000436 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700437 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700438 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700439 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000440 .name = "aa"
441 },
442};
Lev Walkina7591b52014-10-12 18:37:35 -0700443static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000444 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
445 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
446};
Lev Walkina7591b52014-10-12 18:37:35 -0700447static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700448 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000449};
Lev Walkin59b176e2005-11-26 11:25:14 +0000450static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000451 sizeof(struct a),
452 offsetof(struct a, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700453 .tag2el = asn_MAP_a_tag2el_2,
454 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000455 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700456 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +0000457};
458static /* Use -fall-defs-global to expose */
459asn_TYPE_descriptor_t asn_DEF_a_2 = {
460 "a",
461 "a",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800462 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000463 asn_DEF_a_tags_2,
464 sizeof(asn_DEF_a_tags_2)
465 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
466 asn_DEF_a_tags_2, /* Same as above */
467 sizeof(asn_DEF_a_tags_2)
468 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700469 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000470 asn_MBR_a_2,
471 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000472 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000473};
474
475static asn_TYPE_member_t asn_MBR_c_5[] = {
476 { ATF_POINTER, 0, 0,
477 .tag = -1 /* Ambiguous tag (CHOICE?) */,
478 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000479 .type = &asn_DEF_Choice3,
Lev Walkin67a30122017-08-10 05:48:54 -0700480 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700481 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700482 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000483 .name = ""
484 },
485};
Lev Walkina7591b52014-10-12 18:37:35 -0700486static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000487 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
488 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
489};
Lev Walkin59b176e2005-11-26 11:25:14 +0000490static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000491 sizeof(struct c),
492 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000493 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000494};
495static /* Use -fall-defs-global to expose */
496asn_TYPE_descriptor_t asn_DEF_c_5 = {
497 "c",
498 "c",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800499 &asn_OP_SEQUENCE_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000500 asn_DEF_c_tags_5,
501 sizeof(asn_DEF_c_tags_5)
502 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
503 asn_DEF_c_tags_5, /* Same as above */
504 sizeof(asn_DEF_c_tags_5)
505 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700506 { 0, 0, SEQUENCE_OF_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000507 asn_MBR_c_5,
508 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000509 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000510};
511
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800512asn_TYPE_member_t asn_MBR_Choice3_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000513 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
514 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000515 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000516 .type = &asn_DEF_a_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700517 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700518 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700519 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000520 .name = "a"
521 },
522 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
523 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
524 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000525 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700526 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700527 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700528 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000529 .name = "b"
530 },
531 { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
532 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000533 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000534 .type = &asn_DEF_c_5,
Lev Walkin67a30122017-08-10 05:48:54 -0700535 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700536 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700537 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000538 .name = "c"
539 },
540};
Lev Walkina7591b52014-10-12 18:37:35 -0700541static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700542 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
543 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
544 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000545};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800546asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000547 sizeof(struct Choice3),
548 offsetof(struct Choice3, _asn_ctx),
549 offsetof(struct Choice3, present),
550 sizeof(((struct Choice3 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700551 .tag2el = asn_MAP_Choice3_tag2el_1,
552 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700553 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700554 .first_extension = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000555};
556asn_TYPE_descriptor_t asn_DEF_Choice3 = {
557 "Choice3",
558 "Choice3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800559 &asn_OP_CHOICE,
Lev Walkinb85a8132005-08-18 13:38:19 +0000560 0, /* No effective tags (pointer) */
561 0, /* No effective tags (count) */
562 0, /* No tags (pointer) */
563 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700564 { 0, 0, CHOICE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000565 asn_MBR_Choice3_1,
566 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000567 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000568};
569
570
Lev Walkincee931e2005-08-16 16:56:59 +0000571/*** <<< INCLUDES [Set] >>> ***/
572
573#include <asn_SET_OF.h>
574#include <INTEGER.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000575#include <constr_SEQUENCE.h>
576#include <constr_SET_OF.h>
577
578/*** <<< FWD-DECLS [Set] >>> ***/
579
580struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000581struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000582
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800583/*** <<< FWD-DEFS [Set] >>> ***/
584
585typedef struct Member {
586 INTEGER_t Int;
587 struct Set *set;
588 struct Sequence *seq;
589 struct Set *set2 /* OPTIONAL */;
590 /*
591 * This type is extensible,
592 * possible extensions are below.
593 */
594 struct Set *set3;
595
596 /* Context for parsing across buffer boundaries */
597 asn_struct_ctx_t _asn_ctx;
598} Member;
599
Lev Walkincee931e2005-08-16 16:56:59 +0000600/*** <<< TYPE-DECLS [Set] >>> ***/
601
602typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800603 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000604
605 /* Context for parsing across buffer boundaries */
606 asn_struct_ctx_t _asn_ctx;
607} Set_t;
608
609/*** <<< FUNC-DECLS [Set] >>> ***/
610
611extern asn_TYPE_descriptor_t asn_DEF_Set;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800612extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
613extern asn_TYPE_member_t asn_MBR_Set_1[1];
Lev Walkincee931e2005-08-16 16:56:59 +0000614
615/*** <<< POST-INCLUDE [Set] >>> ***/
616
Lev Walkin22b5ed42006-09-13 02:51:20 +0000617#include "Set.h"
618#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000619
620/*** <<< STAT-DEFS [Set] >>> ***/
621
622static asn_TYPE_member_t asn_MBR_Member_2[] = {
623 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
624 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
625 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000626 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700627 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700628 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700629 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000630 .name = "int"
631 },
632 { ATF_POINTER, 0, offsetof(struct Member, set),
633 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
634 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000635 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700636 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700637 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700638 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000639 .name = "set"
640 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000641 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000642 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
643 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000644 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700645 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700646 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700647 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000648 .name = "seq"
649 },
650 { ATF_POINTER, 2, offsetof(struct Member, set2),
651 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
652 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000653 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700654 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700655 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700656 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000657 .name = "set2"
658 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000659 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000660 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
661 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000662 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700663 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700664 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700665 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000666 .name = "set3"
667 },
668};
Lev Walkina7591b52014-10-12 18:37:35 -0700669static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000670 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
671};
Lev Walkina7591b52014-10-12 18:37:35 -0700672static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700673 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
674 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
675 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
676 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
677 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000678};
Lev Walkin59b176e2005-11-26 11:25:14 +0000679static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000680 sizeof(struct Member),
681 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700682 .tag2el = asn_MAP_Member_tag2el_2,
683 .tag2el_count = 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000684 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700685 4, /* First extension addition */
Lev Walkincee931e2005-08-16 16:56:59 +0000686};
687static /* Use -fall-defs-global to expose */
688asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000689 "SEQUENCE",
690 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800691 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000692 asn_DEF_Member_tags_2,
693 sizeof(asn_DEF_Member_tags_2)
694 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
695 asn_DEF_Member_tags_2, /* Same as above */
696 sizeof(asn_DEF_Member_tags_2)
697 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700698 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000699 asn_MBR_Member_2,
700 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000701 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000702};
703
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800704asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000705 { ATF_POINTER, 0, 0,
706 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
707 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000708 .type = &asn_DEF_Member_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700709 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700710 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700711 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000712 .name = ""
713 },
714};
Lev Walkina7591b52014-10-12 18:37:35 -0700715static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000716 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
717};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800718asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000719 sizeof(struct Set),
720 offsetof(struct Set, _asn_ctx),
721 0, /* XER encoding is XMLDelimitedItemList */
722};
723asn_TYPE_descriptor_t asn_DEF_Set = {
724 "Set",
725 "Set",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800726 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000727 asn_DEF_Set_tags_1,
728 sizeof(asn_DEF_Set_tags_1)
729 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
730 asn_DEF_Set_tags_1, /* Same as above */
731 sizeof(asn_DEF_Set_tags_1)
732 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700733 { 0, 0, SET_OF_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000734 asn_MBR_Set_1,
735 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000736 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000737};
738
739
740/*** <<< INCLUDES [Sequence] >>> ***/
741
742#include <INTEGER.h>
743#include <constr_SEQUENCE.h>
744
745/*** <<< FWD-DECLS [Sequence] >>> ***/
746
747struct Sequence;
748struct Set;
749
750/*** <<< TYPE-DECLS [Sequence] >>> ***/
751
752typedef struct Sequence {
753 INTEGER_t a;
754 struct Sequence *seq /* OPTIONAL */;
755 /*
756 * This type is extensible,
757 * possible extensions are below.
758 */
759 INTEGER_t *b;
760 struct Set *set /* OPTIONAL */;
761
762 /* Context for parsing across buffer boundaries */
763 asn_struct_ctx_t _asn_ctx;
764} Sequence_t;
765
766/*** <<< FUNC-DECLS [Sequence] >>> ***/
767
768extern asn_TYPE_descriptor_t asn_DEF_Sequence;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800769extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
770extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
Lev Walkincee931e2005-08-16 16:56:59 +0000771
772/*** <<< POST-INCLUDE [Sequence] >>> ***/
773
Lev Walkin22b5ed42006-09-13 02:51:20 +0000774#include "Sequence.h"
775#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000776
777/*** <<< STAT-DEFS [Sequence] >>> ***/
778
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800779asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000780 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
781 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
782 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000783 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700784 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700785 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700786 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000787 .name = "a"
788 },
789 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
790 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
791 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000792 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700793 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700794 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700795 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000796 .name = "seq"
797 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000798 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000799 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
800 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000801 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700802 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700803 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700804 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000805 .name = "b"
806 },
807 { ATF_POINTER, 1, offsetof(struct Sequence, set),
808 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
809 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000810 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700811 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700812 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700813 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000814 .name = "set"
815 },
816};
Lev Walkina7591b52014-10-12 18:37:35 -0700817static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000818 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
819};
Lev Walkina7591b52014-10-12 18:37:35 -0700820static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700821 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
822 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
823 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
824 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000825};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800826asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000827 sizeof(struct Sequence),
828 offsetof(struct Sequence, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700829 .tag2el = asn_MAP_Sequence_tag2el_1,
830 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000831 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700832 2, /* First extension addition */
Lev Walkincee931e2005-08-16 16:56:59 +0000833};
834asn_TYPE_descriptor_t asn_DEF_Sequence = {
835 "Sequence",
836 "Sequence",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800837 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000838 asn_DEF_Sequence_tags_1,
839 sizeof(asn_DEF_Sequence_tags_1)
840 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
841 asn_DEF_Sequence_tags_1, /* Same as above */
842 sizeof(asn_DEF_Sequence_tags_1)
843 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700844 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000845 asn_MBR_Sequence_1,
846 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000847 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000848};
849
Lev Walkinb85a8132005-08-18 13:38:19 +0000850
851/*** <<< INCLUDES [TypeRef] >>> ***/
852
Lev Walkin22b5ed42006-09-13 02:51:20 +0000853#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000854
855/*** <<< TYPE-DECLS [TypeRef] >>> ***/
856
857typedef Sequence_t TypeRef_t;
858
859/*** <<< FUNC-DECLS [TypeRef] >>> ***/
860
861extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
862asn_struct_free_f TypeRef_free;
863asn_struct_print_f TypeRef_print;
864asn_constr_check_f TypeRef_constraint;
865ber_type_decoder_f TypeRef_decode_ber;
866der_type_encoder_f TypeRef_encode_der;
867xer_type_decoder_f TypeRef_decode_xer;
868xer_type_encoder_f TypeRef_encode_xer;
869
870/*** <<< CODE [TypeRef] >>> ***/
871
Lev Walkinb85a8132005-08-18 13:38:19 +0000872/*
873 * This type is implemented using Sequence,
874 * so here we adjust the DEF accordingly.
875 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000876
877/*** <<< STAT-DEFS [TypeRef] >>> ***/
878
Lev Walkina7591b52014-10-12 18:37:35 -0700879static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000880 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
881};
882asn_TYPE_descriptor_t asn_DEF_TypeRef = {
883 "TypeRef",
884 "TypeRef",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800885 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000886 asn_DEF_TypeRef_tags_1,
887 sizeof(asn_DEF_TypeRef_tags_1)
888 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
889 asn_DEF_TypeRef_tags_1, /* Same as above */
890 sizeof(asn_DEF_TypeRef_tags_1)
891 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700892 { 0, 0, SEQUENCE_constraint },
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800893 asn_MBR_Sequence_1,
894 4, /* Elements count */
895 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000896};
897
898
899/*** <<< INCLUDES [Alpha] >>> ***/
900
901#include <constr_SEQUENCE.h>
902
903/*** <<< FWD-DECLS [Alpha] >>> ***/
904
905struct Beta;
906
907/*** <<< TYPE-DECLS [Alpha] >>> ***/
908
909typedef struct Alpha {
910 struct Beta *a;
911 struct b {
912 struct Beta *b /* OPTIONAL */;
913
914 /* Context for parsing across buffer boundaries */
915 asn_struct_ctx_t _asn_ctx;
916 } b;
917
918 /* Context for parsing across buffer boundaries */
919 asn_struct_ctx_t _asn_ctx;
920} Alpha_t;
921
922/*** <<< FUNC-DECLS [Alpha] >>> ***/
923
924extern asn_TYPE_descriptor_t asn_DEF_Alpha;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800925extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
926extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +0000927
928/*** <<< POST-INCLUDE [Alpha] >>> ***/
929
Lev Walkin22b5ed42006-09-13 02:51:20 +0000930#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000931
932/*** <<< STAT-DEFS [Alpha] >>> ***/
933
934static asn_TYPE_member_t asn_MBR_b_3[] = {
935 { ATF_POINTER, 1, offsetof(struct b, b),
936 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
937 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000938 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700939 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700940 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700941 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000942 .name = "b"
943 },
944};
Lev Walkina7591b52014-10-12 18:37:35 -0700945static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000946 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
947 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
948};
Lev Walkina7591b52014-10-12 18:37:35 -0700949static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700950 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +0000951};
Lev Walkin59b176e2005-11-26 11:25:14 +0000952static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000953 sizeof(struct b),
954 offsetof(struct b, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700955 .tag2el = asn_MAP_b_tag2el_3,
956 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000957 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700958 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +0000959};
960static /* Use -fall-defs-global to expose */
961asn_TYPE_descriptor_t asn_DEF_b_3 = {
962 "b",
963 "b",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800964 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000965 asn_DEF_b_tags_3,
966 sizeof(asn_DEF_b_tags_3)
967 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
968 asn_DEF_b_tags_3, /* Same as above */
969 sizeof(asn_DEF_b_tags_3)
970 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700971 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000972 asn_MBR_b_3,
973 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000974 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000975};
976
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800977asn_TYPE_member_t asn_MBR_Alpha_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000978 { ATF_POINTER, 0, offsetof(struct Alpha, a),
979 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
980 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000981 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700982 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700983 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700984 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000985 .name = "a"
986 },
987 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
988 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000989 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000990 .type = &asn_DEF_b_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700991 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700992 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700993 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000994 .name = "b"
995 },
996};
Lev Walkina7591b52014-10-12 18:37:35 -0700997static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000998 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
999};
Lev Walkina7591b52014-10-12 18:37:35 -07001000static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001001 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1002 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001003};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001004asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001005 sizeof(struct Alpha),
1006 offsetof(struct Alpha, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001007 .tag2el = asn_MAP_Alpha_tag2el_1,
1008 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001009 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001010 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001011};
1012asn_TYPE_descriptor_t asn_DEF_Alpha = {
1013 "Alpha",
1014 "Alpha",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001015 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001016 asn_DEF_Alpha_tags_1,
1017 sizeof(asn_DEF_Alpha_tags_1)
1018 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1019 asn_DEF_Alpha_tags_1, /* Same as above */
1020 sizeof(asn_DEF_Alpha_tags_1)
1021 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001022 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001023 asn_MBR_Alpha_1,
1024 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001025 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001026};
1027
1028
1029/*** <<< INCLUDES [Beta] >>> ***/
1030
1031#include <constr_SEQUENCE.h>
1032
1033/*** <<< FWD-DECLS [Beta] >>> ***/
1034
1035struct Alpha;
1036struct Gamma;
1037
1038/*** <<< TYPE-DECLS [Beta] >>> ***/
1039
1040typedef struct Beta {
1041 struct Alpha *b /* OPTIONAL */;
1042 struct Gamma *g /* OPTIONAL */;
1043
1044 /* Context for parsing across buffer boundaries */
1045 asn_struct_ctx_t _asn_ctx;
1046} Beta_t;
1047
1048/*** <<< FUNC-DECLS [Beta] >>> ***/
1049
1050extern asn_TYPE_descriptor_t asn_DEF_Beta;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001051extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
1052extern asn_TYPE_member_t asn_MBR_Beta_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001053
1054/*** <<< POST-INCLUDE [Beta] >>> ***/
1055
Lev Walkin22b5ed42006-09-13 02:51:20 +00001056#include "Alpha.h"
1057#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001058
1059/*** <<< STAT-DEFS [Beta] >>> ***/
1060
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001061asn_TYPE_member_t asn_MBR_Beta_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001062 { ATF_POINTER, 2, offsetof(struct Beta, b),
1063 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1064 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001065 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001066 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001067 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001068 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001069 .name = "b"
1070 },
1071 { ATF_POINTER, 1, offsetof(struct Beta, g),
1072 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1073 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001074 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001075 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001076 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001077 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001078 .name = "g"
1079 },
1080};
Lev Walkina7591b52014-10-12 18:37:35 -07001081static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001082 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1083};
Lev Walkina7591b52014-10-12 18:37:35 -07001084static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001085 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1086 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001087};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001088asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001089 sizeof(struct Beta),
1090 offsetof(struct Beta, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001091 .tag2el = asn_MAP_Beta_tag2el_1,
1092 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001093 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001094 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001095};
1096asn_TYPE_descriptor_t asn_DEF_Beta = {
1097 "Beta",
1098 "Beta",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001099 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001100 asn_DEF_Beta_tags_1,
1101 sizeof(asn_DEF_Beta_tags_1)
1102 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1103 asn_DEF_Beta_tags_1, /* Same as above */
1104 sizeof(asn_DEF_Beta_tags_1)
1105 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001106 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001107 asn_MBR_Beta_1,
1108 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001109 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001110};
1111
1112
1113/*** <<< INCLUDES [Gamma] >>> ***/
1114
1115#include <constr_SEQUENCE.h>
1116
1117/*** <<< FWD-DECLS [Gamma] >>> ***/
1118
1119struct TwoThree;
1120struct Alpha;
1121struct Beta;
1122
1123/*** <<< TYPE-DECLS [Gamma] >>> ***/
1124
1125typedef struct Gamma {
1126 struct TwoThree *o;
1127 struct Alpha *a;
1128 struct Beta *b;
1129
1130 /* Context for parsing across buffer boundaries */
1131 asn_struct_ctx_t _asn_ctx;
1132} Gamma_t;
1133
1134/*** <<< FUNC-DECLS [Gamma] >>> ***/
1135
1136extern asn_TYPE_descriptor_t asn_DEF_Gamma;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001137extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
1138extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +00001139
1140/*** <<< POST-INCLUDE [Gamma] >>> ***/
1141
Lev Walkin22b5ed42006-09-13 02:51:20 +00001142#include "TwoThree.h"
1143#include "Alpha.h"
1144#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001145
1146/*** <<< STAT-DEFS [Gamma] >>> ***/
1147
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001148asn_TYPE_member_t asn_MBR_Gamma_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001149 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1150 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1151 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001152 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001153 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001154 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001155 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001156 .name = "o"
1157 },
1158 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1159 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1160 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001161 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001162 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001163 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001164 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001165 .name = "a"
1166 },
1167 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1168 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1169 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001170 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -07001171 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001172 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001173 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001174 .name = "b"
1175 },
1176};
Lev Walkina7591b52014-10-12 18:37:35 -07001177static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001178 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1179};
Lev Walkina7591b52014-10-12 18:37:35 -07001180static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001181 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1182 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1183 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001184};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001185asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001186 sizeof(struct Gamma),
1187 offsetof(struct Gamma, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001188 .tag2el = asn_MAP_Gamma_tag2el_1,
1189 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001190 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001191 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001192};
1193asn_TYPE_descriptor_t asn_DEF_Gamma = {
1194 "Gamma",
1195 "Gamma",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001196 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001197 asn_DEF_Gamma_tags_1,
1198 sizeof(asn_DEF_Gamma_tags_1)
1199 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1200 asn_DEF_Gamma_tags_1, /* Same as above */
1201 sizeof(asn_DEF_Gamma_tags_1)
1202 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001203 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001204 asn_MBR_Gamma_1,
1205 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001206 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001207};
1208
1209
1210/*** <<< INCLUDES [OneTwo] >>> ***/
1211
1212#include <constr_SET.h>
1213
1214/*** <<< DEPS [OneTwo] >>> ***/
1215
1216
1217/*
1218 * Method of determining the components presence
1219 */
1220typedef enum OneTwo_PR {
1221 OneTwo_PR_m12, /* Member m12 is present */
1222} OneTwo_PR;
1223
1224/*** <<< FWD-DECLS [OneTwo] >>> ***/
1225
1226struct TwoThree;
1227
1228/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1229
1230typedef struct OneTwo {
1231 struct TwoThree *m12;
1232
1233 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1234 unsigned int _presence_map
1235 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1236
1237 /* Context for parsing across buffer boundaries */
1238 asn_struct_ctx_t _asn_ctx;
1239} OneTwo_t;
1240
1241/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1242
1243extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001244extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
1245extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001246
1247/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1248
Lev Walkin22b5ed42006-09-13 02:51:20 +00001249#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001250
1251/*** <<< STAT-DEFS [OneTwo] >>> ***/
1252
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001253asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001254 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1255 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1256 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001257 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001258 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001259 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001260 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001261 .name = "m12"
1262 },
1263};
Lev Walkina7591b52014-10-12 18:37:35 -07001264static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001265 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1266};
Lev Walkina7591b52014-10-12 18:37:35 -07001267static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001268 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001269};
Lev Walkina7591b52014-10-12 18:37:35 -07001270static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001271 (1 << 7)
1272};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001273asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001274 sizeof(struct OneTwo),
1275 offsetof(struct OneTwo, _asn_ctx),
1276 offsetof(struct OneTwo, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001277 .tag2el = asn_MAP_OneTwo_tag2el_1,
1278 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001279 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001280 1, /* Count of tags in the CXER map */
1281 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001282 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001283};
1284asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1285 "OneTwo",
1286 "OneTwo",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001287 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001288 asn_DEF_OneTwo_tags_1,
1289 sizeof(asn_DEF_OneTwo_tags_1)
1290 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1291 asn_DEF_OneTwo_tags_1, /* Same as above */
1292 sizeof(asn_DEF_OneTwo_tags_1)
1293 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001294 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001295 asn_MBR_OneTwo_1,
1296 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001297 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001298};
1299
1300
1301/*** <<< INCLUDES [TwoThree] >>> ***/
1302
1303#include <constr_SET.h>
1304
1305/*** <<< DEPS [TwoThree] >>> ***/
1306
1307
1308/*
1309 * Method of determining the components presence
1310 */
1311typedef enum TwoThree_PR {
1312 TwoThree_PR_m23, /* Member m23 is present */
1313} TwoThree_PR;
1314
1315/*** <<< FWD-DECLS [TwoThree] >>> ***/
1316
1317struct ThreeOne;
1318
1319/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1320
1321typedef struct TwoThree {
1322 struct ThreeOne *m23;
1323
1324 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1325 unsigned int _presence_map
1326 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1327
1328 /* Context for parsing across buffer boundaries */
1329 asn_struct_ctx_t _asn_ctx;
1330} TwoThree_t;
1331
1332/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1333
1334extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001335extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
1336extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001337
1338/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1339
Lev Walkin22b5ed42006-09-13 02:51:20 +00001340#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001341
1342/*** <<< STAT-DEFS [TwoThree] >>> ***/
1343
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001344asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001345 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1346 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1347 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001348 .type = &asn_DEF_ThreeOne,
Lev Walkin67a30122017-08-10 05:48:54 -07001349 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001350 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001351 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001352 .name = "m23"
1353 },
1354};
Lev Walkina7591b52014-10-12 18:37:35 -07001355static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001356 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1357};
Lev Walkina7591b52014-10-12 18:37:35 -07001358static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001359 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001360};
Lev Walkina7591b52014-10-12 18:37:35 -07001361static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001362 (1 << 7)
1363};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001364asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001365 sizeof(struct TwoThree),
1366 offsetof(struct TwoThree, _asn_ctx),
1367 offsetof(struct TwoThree, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001368 .tag2el = asn_MAP_TwoThree_tag2el_1,
1369 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001370 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001371 1, /* Count of tags in the CXER map */
1372 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001373 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001374};
1375asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1376 "TwoThree",
1377 "TwoThree",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001378 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001379 asn_DEF_TwoThree_tags_1,
1380 sizeof(asn_DEF_TwoThree_tags_1)
1381 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1382 asn_DEF_TwoThree_tags_1, /* Same as above */
1383 sizeof(asn_DEF_TwoThree_tags_1)
1384 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001385 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001386 asn_MBR_TwoThree_1,
1387 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001388 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001389};
1390
1391
1392/*** <<< INCLUDES [ThreeOne] >>> ***/
1393
1394#include <constr_SET.h>
1395
1396/*** <<< DEPS [ThreeOne] >>> ***/
1397
1398
1399/*
1400 * Method of determining the components presence
1401 */
1402typedef enum ThreeOne_PR {
1403 ThreeOne_PR_m31, /* Member m31 is present */
1404 ThreeOne_PR_g, /* Member g is present */
1405} ThreeOne_PR;
1406
1407/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1408
1409struct OneTwo;
1410struct Gamma;
1411
1412/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1413
1414typedef struct ThreeOne {
1415 struct OneTwo *m31;
1416 struct Gamma *g;
1417
1418 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1419 unsigned int _presence_map
1420 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1421
1422 /* Context for parsing across buffer boundaries */
1423 asn_struct_ctx_t _asn_ctx;
1424} ThreeOne_t;
1425
1426/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1427
1428extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001429extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
1430extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001431
1432/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1433
Lev Walkin22b5ed42006-09-13 02:51:20 +00001434#include "OneTwo.h"
1435#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001436
1437/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1438
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001439asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001440 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1441 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1442 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001443 .type = &asn_DEF_OneTwo,
Lev Walkin67a30122017-08-10 05:48:54 -07001444 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001445 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001446 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001447 .name = "m31"
1448 },
1449 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1450 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1451 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001452 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001453 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001454 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001455 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001456 .name = "g"
1457 },
1458};
Lev Walkina7591b52014-10-12 18:37:35 -07001459static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001460 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1461};
Lev Walkina7591b52014-10-12 18:37:35 -07001462static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001463 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1464 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001465};
Lev Walkina7591b52014-10-12 18:37:35 -07001466static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001467 (1 << 7) | (1 << 6)
1468};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001469asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001470 sizeof(struct ThreeOne),
1471 offsetof(struct ThreeOne, _asn_ctx),
1472 offsetof(struct ThreeOne, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001473 .tag2el = asn_MAP_ThreeOne_tag2el_1,
1474 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001475 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001476 2, /* Count of tags in the CXER map */
1477 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001478 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001479};
1480asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1481 "ThreeOne",
1482 "ThreeOne",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001483 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001484 asn_DEF_ThreeOne_tags_1,
1485 sizeof(asn_DEF_ThreeOne_tags_1)
1486 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1487 asn_DEF_ThreeOne_tags_1, /* Same as above */
1488 sizeof(asn_DEF_ThreeOne_tags_1)
1489 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001490 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001491 asn_MBR_ThreeOne_1,
1492 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001493 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001494};
1495