blob: f41738079e4737413410a544c60c76e05351a736 [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
185#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
196/*** <<< FWD-DECLS [Choice1] >>> ***/
197
198struct Everything;
199
200/*** <<< TYPE-DECLS [Choice1] >>> ***/
201
202typedef struct Choice1 {
203 Choice1_PR present;
204 union Choice1_u {
205 struct Everything *something;
206 /*
207 * This type is extensible,
208 * possible extensions are below.
209 */
210 struct Everything *some2;
211 } 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
223/*** <<< POST-INCLUDE [Choice1] >>> ***/
224
Lev Walkin22b5ed42006-09-13 02:51:20 +0000225#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000226
227/*** <<< STAT-DEFS [Choice1] >>> ***/
228
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800229asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000230 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
231 .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 },
239 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
240 .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
280#include <constr_CHOICE.h>
281
282/*** <<< DEPS [Choice2] >>> ***/
283
284typedef enum Choice2_PR {
285 Choice2_PR_NOTHING, /* No components present */
Lev Walkinb85a8132005-08-18 13:38:19 +0000286 Choice2_PR_typeref,
Lev Walkincee931e2005-08-16 16:56:59 +0000287 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000288 Choice2_PR_some3
Lev Walkincee931e2005-08-16 16:56:59 +0000289} Choice2_PR;
290
291/*** <<< FWD-DECLS [Choice2] >>> ***/
292
Lev Walkind20f1742017-10-08 23:02:34 -0700293struct TypeRef;
Lev Walkincee931e2005-08-16 16:56:59 +0000294struct Everything;
295
296/*** <<< TYPE-DECLS [Choice2] >>> ***/
297
298typedef struct Choice2 {
299 Choice2_PR present;
300 union Choice2_u {
Lev Walkind20f1742017-10-08 23:02:34 -0700301 struct TypeRef *typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000302 /*
303 * This type is extensible,
304 * possible extensions are below.
305 */
306 struct Everything *some3;
307 } 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
319/*** <<< POST-INCLUDE [Choice2] >>> ***/
320
Lev Walkin22b5ed42006-09-13 02:51:20 +0000321#include "TypeRef.h"
322#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000323
324/*** <<< STAT-DEFS [Choice2] >>> ***/
325
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800326asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000327 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000328 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
329 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000330 .type = &asn_DEF_TypeRef,
Lev Walkin67a30122017-08-10 05:48:54 -0700331 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700332 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700333 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000334 .name = "typeref"
335 },
336 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
337 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
338 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000339 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700340 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700341 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700342 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000343 .name = "some3"
344 },
345};
Lev Walkina7591b52014-10-12 18:37:35 -0700346static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700347 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
348 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000349};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800350asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000351 sizeof(struct Choice2),
352 offsetof(struct Choice2, _asn_ctx),
353 offsetof(struct Choice2, present),
354 sizeof(((struct Choice2 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700355 .tag2el = asn_MAP_Choice2_tag2el_1,
356 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700357 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700358 .first_extension = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000359};
360asn_TYPE_descriptor_t asn_DEF_Choice2 = {
361 "Choice2",
362 "Choice2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800363 &asn_OP_CHOICE,
Lev Walkincee931e2005-08-16 16:56:59 +0000364 0, /* No effective tags (pointer) */
365 0, /* No effective tags (count) */
366 0, /* No tags (pointer) */
367 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700368 { 0, 0, CHOICE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000369 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000370 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000371 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000372};
373
374
Lev Walkinb85a8132005-08-18 13:38:19 +0000375/*** <<< INCLUDES [Choice3] >>> ***/
376
377#include <constr_SEQUENCE.h>
378#include <asn_SEQUENCE_OF.h>
379#include <constr_SEQUENCE_OF.h>
380#include <constr_CHOICE.h>
381
382/*** <<< DEPS [Choice3] >>> ***/
383
384typedef enum Choice3_PR {
385 Choice3_PR_NOTHING, /* No components present */
386 Choice3_PR_a,
387 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000388 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000389} Choice3_PR;
390
391/*** <<< FWD-DECLS [Choice3] >>> ***/
392
393struct Everything;
394struct Choice3;
395
396/*** <<< TYPE-DECLS [Choice3] >>> ***/
397
398typedef struct Choice3 {
399 Choice3_PR present;
400 union Choice3_u {
401 struct a {
402 struct Everything *aa;
403
404 /* Context for parsing across buffer boundaries */
405 asn_struct_ctx_t _asn_ctx;
406 } *a;
407 struct Everything *b;
408 struct c {
409 A_SEQUENCE_OF(struct Choice3) list;
410
411 /* Context for parsing across buffer boundaries */
412 asn_struct_ctx_t _asn_ctx;
413 } *c;
414 } choice;
415
416 /* Context for parsing across buffer boundaries */
417 asn_struct_ctx_t _asn_ctx;
418} Choice3_t;
419
420/*** <<< FUNC-DECLS [Choice3] >>> ***/
421
422extern asn_TYPE_descriptor_t asn_DEF_Choice3;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800423extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
424extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +0000425
426/*** <<< POST-INCLUDE [Choice3] >>> ***/
427
Lev Walkin22b5ed42006-09-13 02:51:20 +0000428#include "Everything.h"
429#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000430
431/*** <<< STAT-DEFS [Choice3] >>> ***/
432
433static asn_TYPE_member_t asn_MBR_a_2[] = {
434 { ATF_POINTER, 0, offsetof(struct a, aa),
435 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
436 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000437 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700438 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700439 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700440 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000441 .name = "aa"
442 },
443};
Lev Walkina7591b52014-10-12 18:37:35 -0700444static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000445 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
446 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
447};
Lev Walkina7591b52014-10-12 18:37:35 -0700448static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700449 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000450};
Lev Walkin59b176e2005-11-26 11:25:14 +0000451static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000452 sizeof(struct a),
453 offsetof(struct a, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700454 .tag2el = asn_MAP_a_tag2el_2,
455 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000456 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700457 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +0000458};
459static /* Use -fall-defs-global to expose */
460asn_TYPE_descriptor_t asn_DEF_a_2 = {
461 "a",
462 "a",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800463 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000464 asn_DEF_a_tags_2,
465 sizeof(asn_DEF_a_tags_2)
466 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
467 asn_DEF_a_tags_2, /* Same as above */
468 sizeof(asn_DEF_a_tags_2)
469 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700470 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000471 asn_MBR_a_2,
472 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000473 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000474};
475
476static asn_TYPE_member_t asn_MBR_c_5[] = {
477 { ATF_POINTER, 0, 0,
478 .tag = -1 /* Ambiguous tag (CHOICE?) */,
479 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000480 .type = &asn_DEF_Choice3,
Lev Walkin67a30122017-08-10 05:48:54 -0700481 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700482 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700483 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000484 .name = ""
485 },
486};
Lev Walkina7591b52014-10-12 18:37:35 -0700487static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000488 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
489 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
490};
Lev Walkin59b176e2005-11-26 11:25:14 +0000491static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000492 sizeof(struct c),
493 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000494 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000495};
496static /* Use -fall-defs-global to expose */
497asn_TYPE_descriptor_t asn_DEF_c_5 = {
498 "c",
499 "c",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800500 &asn_OP_SEQUENCE_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000501 asn_DEF_c_tags_5,
502 sizeof(asn_DEF_c_tags_5)
503 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
504 asn_DEF_c_tags_5, /* Same as above */
505 sizeof(asn_DEF_c_tags_5)
506 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700507 { 0, 0, SEQUENCE_OF_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000508 asn_MBR_c_5,
509 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000510 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000511};
512
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800513asn_TYPE_member_t asn_MBR_Choice3_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000514 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
515 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000516 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000517 .type = &asn_DEF_a_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700518 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700519 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700520 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000521 .name = "a"
522 },
523 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
524 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
525 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000526 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700527 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700528 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700529 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000530 .name = "b"
531 },
532 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
533 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000534 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000535 .type = &asn_DEF_c_5,
Lev Walkin67a30122017-08-10 05:48:54 -0700536 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700537 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700538 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000539 .name = "c"
540 },
541};
Lev Walkina7591b52014-10-12 18:37:35 -0700542static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700543 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
544 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
545 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000546};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800547asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000548 sizeof(struct Choice3),
549 offsetof(struct Choice3, _asn_ctx),
550 offsetof(struct Choice3, present),
551 sizeof(((struct Choice3 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700552 .tag2el = asn_MAP_Choice3_tag2el_1,
553 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700554 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700555 .first_extension = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000556};
557asn_TYPE_descriptor_t asn_DEF_Choice3 = {
558 "Choice3",
559 "Choice3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800560 &asn_OP_CHOICE,
Lev Walkinb85a8132005-08-18 13:38:19 +0000561 0, /* No effective tags (pointer) */
562 0, /* No effective tags (count) */
563 0, /* No tags (pointer) */
564 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700565 { 0, 0, CHOICE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000566 asn_MBR_Choice3_1,
567 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000568 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000569};
570
571
Lev Walkincee931e2005-08-16 16:56:59 +0000572/*** <<< INCLUDES [Set] >>> ***/
573
574#include <asn_SET_OF.h>
Lev Walkin2a744a72013-03-27 01:56:23 -0700575#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000576#include <constr_SEQUENCE.h>
577#include <constr_SET_OF.h>
578
579/*** <<< FWD-DECLS [Set] >>> ***/
580
581struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000582struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000583
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800584/*** <<< FWD-DEFS [Set] >>> ***/
585
586typedef struct Member {
587 long Int;
588 struct Set *set;
589 struct Sequence *seq;
590 struct Set *set2 /* OPTIONAL */;
591 /*
592 * This type is extensible,
593 * possible extensions are below.
594 */
595 struct Set *set3;
596
597 /* Context for parsing across buffer boundaries */
598 asn_struct_ctx_t _asn_ctx;
599} Member;
600
Lev Walkincee931e2005-08-16 16:56:59 +0000601/*** <<< TYPE-DECLS [Set] >>> ***/
602
603typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800604 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000605
606 /* Context for parsing across buffer boundaries */
607 asn_struct_ctx_t _asn_ctx;
608} Set_t;
609
610/*** <<< FUNC-DECLS [Set] >>> ***/
611
612extern asn_TYPE_descriptor_t asn_DEF_Set;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800613extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
614extern asn_TYPE_member_t asn_MBR_Set_1[1];
Lev Walkincee931e2005-08-16 16:56:59 +0000615
616/*** <<< POST-INCLUDE [Set] >>> ***/
617
Lev Walkin22b5ed42006-09-13 02:51:20 +0000618#include "Set.h"
619#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000620
621/*** <<< STAT-DEFS [Set] >>> ***/
622
623static asn_TYPE_member_t asn_MBR_Member_2[] = {
624 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
625 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
626 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700627 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700628 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700629 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700630 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000631 .name = "int"
632 },
633 { ATF_POINTER, 0, offsetof(struct Member, set),
634 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
635 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000636 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700637 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700638 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700639 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000640 .name = "set"
641 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000642 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000643 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
644 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000645 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700646 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700647 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700648 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000649 .name = "seq"
650 },
651 { ATF_POINTER, 2, offsetof(struct Member, set2),
652 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
653 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000654 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700655 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700656 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700657 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000658 .name = "set2"
659 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000660 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000661 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
662 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000663 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700664 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700665 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700666 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000667 .name = "set3"
668 },
669};
Lev Walkina7591b52014-10-12 18:37:35 -0700670static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000671 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
672};
Lev Walkina7591b52014-10-12 18:37:35 -0700673static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700674 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
675 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
676 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
677 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
678 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000679};
Lev Walkin59b176e2005-11-26 11:25:14 +0000680static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000681 sizeof(struct Member),
682 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700683 .tag2el = asn_MAP_Member_tag2el_2,
684 .tag2el_count = 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000685 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700686 4, /* First extension addition */
Lev Walkincee931e2005-08-16 16:56:59 +0000687};
688static /* Use -fall-defs-global to expose */
689asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000690 "SEQUENCE",
691 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800692 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000693 asn_DEF_Member_tags_2,
694 sizeof(asn_DEF_Member_tags_2)
695 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
696 asn_DEF_Member_tags_2, /* Same as above */
697 sizeof(asn_DEF_Member_tags_2)
698 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700699 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000700 asn_MBR_Member_2,
701 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000702 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000703};
704
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800705asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000706 { ATF_POINTER, 0, 0,
707 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
708 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000709 .type = &asn_DEF_Member_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700710 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700711 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700712 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000713 .name = ""
714 },
715};
Lev Walkina7591b52014-10-12 18:37:35 -0700716static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000717 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
718};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800719asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000720 sizeof(struct Set),
721 offsetof(struct Set, _asn_ctx),
722 0, /* XER encoding is XMLDelimitedItemList */
723};
724asn_TYPE_descriptor_t asn_DEF_Set = {
725 "Set",
726 "Set",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800727 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000728 asn_DEF_Set_tags_1,
729 sizeof(asn_DEF_Set_tags_1)
730 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
731 asn_DEF_Set_tags_1, /* Same as above */
732 sizeof(asn_DEF_Set_tags_1)
733 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700734 { 0, 0, SET_OF_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000735 asn_MBR_Set_1,
736 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000737 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000738};
739
740
741/*** <<< INCLUDES [Sequence] >>> ***/
742
Lev Walkin2a744a72013-03-27 01:56:23 -0700743#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000744#include <constr_SEQUENCE.h>
745
746/*** <<< FWD-DECLS [Sequence] >>> ***/
747
748struct Sequence;
749struct Set;
750
751/*** <<< TYPE-DECLS [Sequence] >>> ***/
752
753typedef struct Sequence {
Lev Walkin2a744a72013-03-27 01:56:23 -0700754 long a;
Lev Walkincee931e2005-08-16 16:56:59 +0000755 struct Sequence *seq /* OPTIONAL */;
756 /*
757 * This type is extensible,
758 * possible extensions are below.
759 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700760 long *b;
Lev Walkincee931e2005-08-16 16:56:59 +0000761 struct Set *set /* OPTIONAL */;
762
763 /* Context for parsing across buffer boundaries */
764 asn_struct_ctx_t _asn_ctx;
765} Sequence_t;
766
767/*** <<< FUNC-DECLS [Sequence] >>> ***/
768
769extern asn_TYPE_descriptor_t asn_DEF_Sequence;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800770extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
771extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
Lev Walkincee931e2005-08-16 16:56:59 +0000772
773/*** <<< POST-INCLUDE [Sequence] >>> ***/
774
Lev Walkin22b5ed42006-09-13 02:51:20 +0000775#include "Sequence.h"
776#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000777
778/*** <<< STAT-DEFS [Sequence] >>> ***/
779
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800780asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000781 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
782 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
783 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700784 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700785 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700786 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700787 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000788 .name = "a"
789 },
790 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
791 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
792 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000793 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700794 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700795 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700796 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000797 .name = "seq"
798 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000799 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000800 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
801 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700802 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700803 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700804 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700805 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000806 .name = "b"
807 },
808 { ATF_POINTER, 1, offsetof(struct Sequence, set),
809 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
810 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000811 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700812 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700813 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700814 0, 0, /* No default value */
Lev Walkincee931e2005-08-16 16:56:59 +0000815 .name = "set"
816 },
817};
Lev Walkina7591b52014-10-12 18:37:35 -0700818static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000819 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
820};
Lev Walkina7591b52014-10-12 18:37:35 -0700821static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700822 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
823 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
824 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
825 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000826};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800827asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000828 sizeof(struct Sequence),
829 offsetof(struct Sequence, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700830 .tag2el = asn_MAP_Sequence_tag2el_1,
831 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000832 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700833 2, /* First extension addition */
Lev Walkincee931e2005-08-16 16:56:59 +0000834};
835asn_TYPE_descriptor_t asn_DEF_Sequence = {
836 "Sequence",
837 "Sequence",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800838 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000839 asn_DEF_Sequence_tags_1,
840 sizeof(asn_DEF_Sequence_tags_1)
841 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
842 asn_DEF_Sequence_tags_1, /* Same as above */
843 sizeof(asn_DEF_Sequence_tags_1)
844 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700845 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000846 asn_MBR_Sequence_1,
847 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000848 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000849};
850
Lev Walkinb85a8132005-08-18 13:38:19 +0000851
852/*** <<< INCLUDES [TypeRef] >>> ***/
853
Lev Walkin22b5ed42006-09-13 02:51:20 +0000854#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000855
856/*** <<< TYPE-DECLS [TypeRef] >>> ***/
857
858typedef Sequence_t TypeRef_t;
859
860/*** <<< FUNC-DECLS [TypeRef] >>> ***/
861
862extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
863asn_struct_free_f TypeRef_free;
864asn_struct_print_f TypeRef_print;
865asn_constr_check_f TypeRef_constraint;
866ber_type_decoder_f TypeRef_decode_ber;
867der_type_encoder_f TypeRef_encode_der;
868xer_type_decoder_f TypeRef_decode_xer;
869xer_type_encoder_f TypeRef_encode_xer;
870
871/*** <<< CODE [TypeRef] >>> ***/
872
Lev Walkinb85a8132005-08-18 13:38:19 +0000873/*
874 * This type is implemented using Sequence,
875 * so here we adjust the DEF accordingly.
876 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000877
878/*** <<< STAT-DEFS [TypeRef] >>> ***/
879
Lev Walkina7591b52014-10-12 18:37:35 -0700880static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000881 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
882};
883asn_TYPE_descriptor_t asn_DEF_TypeRef = {
884 "TypeRef",
885 "TypeRef",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800886 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000887 asn_DEF_TypeRef_tags_1,
888 sizeof(asn_DEF_TypeRef_tags_1)
889 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
890 asn_DEF_TypeRef_tags_1, /* Same as above */
891 sizeof(asn_DEF_TypeRef_tags_1)
892 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700893 { 0, 0, SEQUENCE_constraint },
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800894 asn_MBR_Sequence_1,
895 4, /* Elements count */
896 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000897};
898
899
900/*** <<< INCLUDES [Alpha] >>> ***/
901
902#include <constr_SEQUENCE.h>
903
904/*** <<< FWD-DECLS [Alpha] >>> ***/
905
906struct Beta;
907
908/*** <<< TYPE-DECLS [Alpha] >>> ***/
909
910typedef struct Alpha {
911 struct Beta *a;
912 struct b {
913 struct Beta *b /* OPTIONAL */;
914
915 /* Context for parsing across buffer boundaries */
916 asn_struct_ctx_t _asn_ctx;
917 } b;
918
919 /* Context for parsing across buffer boundaries */
920 asn_struct_ctx_t _asn_ctx;
921} Alpha_t;
922
923/*** <<< FUNC-DECLS [Alpha] >>> ***/
924
925extern asn_TYPE_descriptor_t asn_DEF_Alpha;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800926extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
927extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +0000928
929/*** <<< POST-INCLUDE [Alpha] >>> ***/
930
Lev Walkin22b5ed42006-09-13 02:51:20 +0000931#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000932
933/*** <<< STAT-DEFS [Alpha] >>> ***/
934
935static asn_TYPE_member_t asn_MBR_b_3[] = {
936 { ATF_POINTER, 1, offsetof(struct b, b),
937 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
938 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000939 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700940 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700941 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700942 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000943 .name = "b"
944 },
945};
Lev Walkina7591b52014-10-12 18:37:35 -0700946static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000947 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
948 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
949};
Lev Walkina7591b52014-10-12 18:37:35 -0700950static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700951 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +0000952};
Lev Walkin59b176e2005-11-26 11:25:14 +0000953static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000954 sizeof(struct b),
955 offsetof(struct b, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700956 .tag2el = asn_MAP_b_tag2el_3,
957 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000958 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700959 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +0000960};
961static /* Use -fall-defs-global to expose */
962asn_TYPE_descriptor_t asn_DEF_b_3 = {
963 "b",
964 "b",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800965 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000966 asn_DEF_b_tags_3,
967 sizeof(asn_DEF_b_tags_3)
968 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
969 asn_DEF_b_tags_3, /* Same as above */
970 sizeof(asn_DEF_b_tags_3)
971 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700972 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000973 asn_MBR_b_3,
974 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000975 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000976};
977
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800978asn_TYPE_member_t asn_MBR_Alpha_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000979 { ATF_POINTER, 0, offsetof(struct Alpha, a),
980 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
981 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000982 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700983 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700984 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700985 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000986 .name = "a"
987 },
988 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
989 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000990 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000991 .type = &asn_DEF_b_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700992 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700993 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700994 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +0000995 .name = "b"
996 },
997};
Lev Walkina7591b52014-10-12 18:37:35 -0700998static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000999 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1000};
Lev Walkina7591b52014-10-12 18:37:35 -07001001static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001002 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1003 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001004};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001005asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001006 sizeof(struct Alpha),
1007 offsetof(struct Alpha, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001008 .tag2el = asn_MAP_Alpha_tag2el_1,
1009 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001010 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001011 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001012};
1013asn_TYPE_descriptor_t asn_DEF_Alpha = {
1014 "Alpha",
1015 "Alpha",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001016 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001017 asn_DEF_Alpha_tags_1,
1018 sizeof(asn_DEF_Alpha_tags_1)
1019 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1020 asn_DEF_Alpha_tags_1, /* Same as above */
1021 sizeof(asn_DEF_Alpha_tags_1)
1022 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001023 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001024 asn_MBR_Alpha_1,
1025 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001026 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001027};
1028
1029
1030/*** <<< INCLUDES [Beta] >>> ***/
1031
1032#include <constr_SEQUENCE.h>
1033
1034/*** <<< FWD-DECLS [Beta] >>> ***/
1035
1036struct Alpha;
1037struct Gamma;
1038
1039/*** <<< TYPE-DECLS [Beta] >>> ***/
1040
1041typedef struct Beta {
1042 struct Alpha *b /* OPTIONAL */;
1043 struct Gamma *g /* OPTIONAL */;
1044
1045 /* Context for parsing across buffer boundaries */
1046 asn_struct_ctx_t _asn_ctx;
1047} Beta_t;
1048
1049/*** <<< FUNC-DECLS [Beta] >>> ***/
1050
1051extern asn_TYPE_descriptor_t asn_DEF_Beta;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001052extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
1053extern asn_TYPE_member_t asn_MBR_Beta_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001054
1055/*** <<< POST-INCLUDE [Beta] >>> ***/
1056
Lev Walkin22b5ed42006-09-13 02:51:20 +00001057#include "Alpha.h"
1058#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001059
1060/*** <<< STAT-DEFS [Beta] >>> ***/
1061
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001062asn_TYPE_member_t asn_MBR_Beta_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001063 { ATF_POINTER, 2, offsetof(struct Beta, b),
1064 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1065 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001066 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001067 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001068 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001069 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001070 .name = "b"
1071 },
1072 { ATF_POINTER, 1, offsetof(struct Beta, g),
1073 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1074 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001075 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001076 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001077 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001078 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001079 .name = "g"
1080 },
1081};
Lev Walkina7591b52014-10-12 18:37:35 -07001082static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001083 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1084};
Lev Walkina7591b52014-10-12 18:37:35 -07001085static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001086 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1087 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001088};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001089asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001090 sizeof(struct Beta),
1091 offsetof(struct Beta, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001092 .tag2el = asn_MAP_Beta_tag2el_1,
1093 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001094 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001095 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001096};
1097asn_TYPE_descriptor_t asn_DEF_Beta = {
1098 "Beta",
1099 "Beta",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001100 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001101 asn_DEF_Beta_tags_1,
1102 sizeof(asn_DEF_Beta_tags_1)
1103 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1104 asn_DEF_Beta_tags_1, /* Same as above */
1105 sizeof(asn_DEF_Beta_tags_1)
1106 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001107 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001108 asn_MBR_Beta_1,
1109 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001110 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001111};
1112
1113
1114/*** <<< INCLUDES [Gamma] >>> ***/
1115
1116#include <constr_SEQUENCE.h>
1117
1118/*** <<< FWD-DECLS [Gamma] >>> ***/
1119
1120struct TwoThree;
1121struct Alpha;
1122struct Beta;
1123
1124/*** <<< TYPE-DECLS [Gamma] >>> ***/
1125
1126typedef struct Gamma {
1127 struct TwoThree *o;
1128 struct Alpha *a;
1129 struct Beta *b;
1130
1131 /* Context for parsing across buffer boundaries */
1132 asn_struct_ctx_t _asn_ctx;
1133} Gamma_t;
1134
1135/*** <<< FUNC-DECLS [Gamma] >>> ***/
1136
1137extern asn_TYPE_descriptor_t asn_DEF_Gamma;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001138extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
1139extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +00001140
1141/*** <<< POST-INCLUDE [Gamma] >>> ***/
1142
Lev Walkin22b5ed42006-09-13 02:51:20 +00001143#include "TwoThree.h"
1144#include "Alpha.h"
1145#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001146
1147/*** <<< STAT-DEFS [Gamma] >>> ***/
1148
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001149asn_TYPE_member_t asn_MBR_Gamma_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001150 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1151 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1152 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001153 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001154 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001155 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001156 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001157 .name = "o"
1158 },
1159 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1160 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1161 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001162 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001163 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001164 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001165 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001166 .name = "a"
1167 },
1168 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1169 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1170 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001171 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -07001172 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001173 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001174 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001175 .name = "b"
1176 },
1177};
Lev Walkina7591b52014-10-12 18:37:35 -07001178static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001179 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1180};
Lev Walkina7591b52014-10-12 18:37:35 -07001181static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001182 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1183 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1184 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001185};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001186asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001187 sizeof(struct Gamma),
1188 offsetof(struct Gamma, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001189 .tag2el = asn_MAP_Gamma_tag2el_1,
1190 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001191 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -07001192 -1, /* First extension addition */
Lev Walkinb85a8132005-08-18 13:38:19 +00001193};
1194asn_TYPE_descriptor_t asn_DEF_Gamma = {
1195 "Gamma",
1196 "Gamma",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001197 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001198 asn_DEF_Gamma_tags_1,
1199 sizeof(asn_DEF_Gamma_tags_1)
1200 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1201 asn_DEF_Gamma_tags_1, /* Same as above */
1202 sizeof(asn_DEF_Gamma_tags_1)
1203 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001204 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001205 asn_MBR_Gamma_1,
1206 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001207 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001208};
1209
1210
1211/*** <<< INCLUDES [OneTwo] >>> ***/
1212
1213#include <constr_SET.h>
1214
1215/*** <<< DEPS [OneTwo] >>> ***/
1216
1217
1218/*
1219 * Method of determining the components presence
1220 */
1221typedef enum OneTwo_PR {
1222 OneTwo_PR_m12, /* Member m12 is present */
1223} OneTwo_PR;
1224
1225/*** <<< FWD-DECLS [OneTwo] >>> ***/
1226
1227struct TwoThree;
1228
1229/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1230
1231typedef struct OneTwo {
1232 struct TwoThree *m12;
1233
1234 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1235 unsigned int _presence_map
1236 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1237
1238 /* Context for parsing across buffer boundaries */
1239 asn_struct_ctx_t _asn_ctx;
1240} OneTwo_t;
1241
1242/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1243
1244extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001245extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
1246extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001247
1248/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1249
Lev Walkin22b5ed42006-09-13 02:51:20 +00001250#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001251
1252/*** <<< STAT-DEFS [OneTwo] >>> ***/
1253
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001254asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001255 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1256 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1257 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001258 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001259 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001260 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001261 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001262 .name = "m12"
1263 },
1264};
Lev Walkina7591b52014-10-12 18:37:35 -07001265static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001266 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1267};
Lev Walkina7591b52014-10-12 18:37:35 -07001268static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001269 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001270};
Lev Walkina7591b52014-10-12 18:37:35 -07001271static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001272 (1 << 7)
1273};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001274asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001275 sizeof(struct OneTwo),
1276 offsetof(struct OneTwo, _asn_ctx),
1277 offsetof(struct OneTwo, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001278 .tag2el = asn_MAP_OneTwo_tag2el_1,
1279 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001280 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001281 1, /* Count of tags in the CXER map */
1282 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001283 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001284};
1285asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1286 "OneTwo",
1287 "OneTwo",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001288 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001289 asn_DEF_OneTwo_tags_1,
1290 sizeof(asn_DEF_OneTwo_tags_1)
1291 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1292 asn_DEF_OneTwo_tags_1, /* Same as above */
1293 sizeof(asn_DEF_OneTwo_tags_1)
1294 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001295 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001296 asn_MBR_OneTwo_1,
1297 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001298 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001299};
1300
1301
1302/*** <<< INCLUDES [TwoThree] >>> ***/
1303
1304#include <constr_SET.h>
1305
1306/*** <<< DEPS [TwoThree] >>> ***/
1307
1308
1309/*
1310 * Method of determining the components presence
1311 */
1312typedef enum TwoThree_PR {
1313 TwoThree_PR_m23, /* Member m23 is present */
1314} TwoThree_PR;
1315
1316/*** <<< FWD-DECLS [TwoThree] >>> ***/
1317
1318struct ThreeOne;
1319
1320/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1321
1322typedef struct TwoThree {
1323 struct ThreeOne *m23;
1324
1325 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1326 unsigned int _presence_map
1327 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1328
1329 /* Context for parsing across buffer boundaries */
1330 asn_struct_ctx_t _asn_ctx;
1331} TwoThree_t;
1332
1333/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1334
1335extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001336extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
1337extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001338
1339/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1340
Lev Walkin22b5ed42006-09-13 02:51:20 +00001341#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001342
1343/*** <<< STAT-DEFS [TwoThree] >>> ***/
1344
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001345asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001346 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1347 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1348 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001349 .type = &asn_DEF_ThreeOne,
Lev Walkin67a30122017-08-10 05:48:54 -07001350 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001351 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001352 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001353 .name = "m23"
1354 },
1355};
Lev Walkina7591b52014-10-12 18:37:35 -07001356static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001357 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1358};
Lev Walkina7591b52014-10-12 18:37:35 -07001359static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001360 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001361};
Lev Walkina7591b52014-10-12 18:37:35 -07001362static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001363 (1 << 7)
1364};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001365asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001366 sizeof(struct TwoThree),
1367 offsetof(struct TwoThree, _asn_ctx),
1368 offsetof(struct TwoThree, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001369 .tag2el = asn_MAP_TwoThree_tag2el_1,
1370 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001371 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001372 1, /* Count of tags in the CXER map */
1373 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001374 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001375};
1376asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1377 "TwoThree",
1378 "TwoThree",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001379 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001380 asn_DEF_TwoThree_tags_1,
1381 sizeof(asn_DEF_TwoThree_tags_1)
1382 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1383 asn_DEF_TwoThree_tags_1, /* Same as above */
1384 sizeof(asn_DEF_TwoThree_tags_1)
1385 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001386 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001387 asn_MBR_TwoThree_1,
1388 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001389 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001390};
1391
1392
1393/*** <<< INCLUDES [ThreeOne] >>> ***/
1394
1395#include <constr_SET.h>
1396
1397/*** <<< DEPS [ThreeOne] >>> ***/
1398
1399
1400/*
1401 * Method of determining the components presence
1402 */
1403typedef enum ThreeOne_PR {
1404 ThreeOne_PR_m31, /* Member m31 is present */
1405 ThreeOne_PR_g, /* Member g is present */
1406} ThreeOne_PR;
1407
1408/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1409
1410struct OneTwo;
1411struct Gamma;
1412
1413/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1414
1415typedef struct ThreeOne {
1416 struct OneTwo *m31;
1417 struct Gamma *g;
1418
1419 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1420 unsigned int _presence_map
1421 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1422
1423 /* Context for parsing across buffer boundaries */
1424 asn_struct_ctx_t _asn_ctx;
1425} ThreeOne_t;
1426
1427/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1428
1429extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001430extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
1431extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001432
1433/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1434
Lev Walkin22b5ed42006-09-13 02:51:20 +00001435#include "OneTwo.h"
1436#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001437
1438/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1439
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001440asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001441 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1442 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1443 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001444 .type = &asn_DEF_OneTwo,
Lev Walkin67a30122017-08-10 05:48:54 -07001445 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001446 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001447 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001448 .name = "m31"
1449 },
1450 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1451 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1452 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001453 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001454 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001455 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07001456 0, 0, /* No default value */
Lev Walkinb85a8132005-08-18 13:38:19 +00001457 .name = "g"
1458 },
1459};
Lev Walkina7591b52014-10-12 18:37:35 -07001460static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001461 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1462};
Lev Walkina7591b52014-10-12 18:37:35 -07001463static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001464 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1465 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001466};
Lev Walkina7591b52014-10-12 18:37:35 -07001467static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001468 (1 << 7) | (1 << 6)
1469};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001470asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001471 sizeof(struct ThreeOne),
1472 offsetof(struct ThreeOne, _asn_ctx),
1473 offsetof(struct ThreeOne, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001474 .tag2el = asn_MAP_ThreeOne_tag2el_1,
1475 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001476 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001477 2, /* Count of tags in the CXER map */
1478 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001479 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001480};
1481asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1482 "ThreeOne",
1483 "ThreeOne",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001484 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001485 asn_DEF_ThreeOne_tags_1,
1486 sizeof(asn_DEF_ThreeOne_tags_1)
1487 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1488 asn_DEF_ThreeOne_tags_1, /* Same as above */
1489 sizeof(asn_DEF_ThreeOne_tags_1)
1490 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001491 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001492 asn_MBR_ThreeOne_1,
1493 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001494 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001495};
1496