blob: cbed23c869d79b433f13401b96c43e2312a2b9fd [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 Walkin59b176e2005-11-26 11:25:14 +000058 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +000067 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +000068 .name = "ch2"
69 },
Lev Walkinb85a8132005-08-18 13:38:19 +000070 { ATF_POINTER, 0, offsetof(struct Everything, ch3),
Lev Walkincee931e2005-08-16 16:56:59 +000071 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkinb85a8132005-08-18 13:38:19 +000072 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000073 .type = &asn_DEF_Choice3,
Lev 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 Walkin59b176e2005-11-26 11:25:14 +000076 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +000085 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +000094 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +0000103 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +0000112 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +0000121 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +0000130 .default_value = 0,
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 Walkin59b176e2005-11-26 11:25:14 +0000139 .default_value = 0,
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 Walkincee931e2005-08-16 16:56:59 +0000164 -1, /* Start extensions */
165 -1 /* Stop extensions */
166};
167asn_TYPE_descriptor_t asn_DEF_Everything = {
168 "Everything",
169 "Everything",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800170 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000171 asn_DEF_Everything_tags_1,
172 sizeof(asn_DEF_Everything_tags_1)
173 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
174 asn_DEF_Everything_tags_1, /* Same as above */
175 sizeof(asn_DEF_Everything_tags_1)
176 /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700177 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000178 asn_MBR_Everything_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000179 10, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000180 &asn_SPC_Everything_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000181};
182
183
184/*** <<< INCLUDES [Choice1] >>> ***/
185
186#include <constr_CHOICE.h>
187
188/*** <<< DEPS [Choice1] >>> ***/
189
190typedef enum Choice1_PR {
191 Choice1_PR_NOTHING, /* No components present */
192 Choice1_PR_something,
193 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000194 Choice1_PR_some2
Lev Walkincee931e2005-08-16 16:56:59 +0000195} Choice1_PR;
196
197/*** <<< FWD-DECLS [Choice1] >>> ***/
198
199struct Everything;
200
201/*** <<< TYPE-DECLS [Choice1] >>> ***/
202
203typedef struct Choice1 {
204 Choice1_PR present;
205 union Choice1_u {
206 struct Everything *something;
207 /*
208 * This type is extensible,
209 * possible extensions are below.
210 */
211 struct Everything *some2;
212 } choice;
213
214 /* Context for parsing across buffer boundaries */
215 asn_struct_ctx_t _asn_ctx;
216} Choice1_t;
217
218/*** <<< FUNC-DECLS [Choice1] >>> ***/
219
220extern asn_TYPE_descriptor_t asn_DEF_Choice1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800221extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
222extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
Lev Walkincee931e2005-08-16 16:56:59 +0000223
224/*** <<< POST-INCLUDE [Choice1] >>> ***/
225
Lev Walkin22b5ed42006-09-13 02:51:20 +0000226#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000227
228/*** <<< STAT-DEFS [Choice1] >>> ***/
229
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800230asn_TYPE_member_t asn_MBR_Choice1_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000231 { ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
232 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
233 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000234 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700235 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700236 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000237 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000238 .name = "something"
239 },
240 { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2),
241 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
242 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000243 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700244 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700245 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000246 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000247 .name = "some2"
248 },
249};
Lev Walkina7591b52014-10-12 18:37:35 -0700250static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700251 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
252 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
Lev Walkincee931e2005-08-16 16:56:59 +0000253};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800254asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000255 sizeof(struct Choice1),
256 offsetof(struct Choice1, _asn_ctx),
257 offsetof(struct Choice1, present),
258 sizeof(((struct Choice1 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700259 .tag2el = asn_MAP_Choice1_tag2el_1,
260 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000261 .canonical_order = 0,
262 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000263};
264asn_TYPE_descriptor_t asn_DEF_Choice1 = {
265 "Choice1",
266 "Choice1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800267 &asn_OP_CHOICE,
Lev Walkincee931e2005-08-16 16:56:59 +0000268 0, /* No effective tags (pointer) */
269 0, /* No effective tags (count) */
270 0, /* No tags (pointer) */
271 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700272 { 0, 0, CHOICE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000273 asn_MBR_Choice1_1,
274 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000275 &asn_SPC_Choice1_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000276};
277
278
279/*** <<< INCLUDES [Choice2] >>> ***/
280
281#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
292/*** <<< FWD-DECLS [Choice2] >>> ***/
293
Lev Walkinb85a8132005-08-18 13:38:19 +0000294struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000295struct Everything;
296
297/*** <<< TYPE-DECLS [Choice2] >>> ***/
298
299typedef struct Choice2 {
300 Choice2_PR present;
301 union Choice2_u {
Lev Walkinb85a8132005-08-18 13:38:19 +0000302 struct Sequence *typeref;
Lev Walkincee931e2005-08-16 16:56:59 +0000303 /*
304 * This type is extensible,
305 * possible extensions are below.
306 */
307 struct Everything *some3;
308 } choice;
309
310 /* Context for parsing across buffer boundaries */
311 asn_struct_ctx_t _asn_ctx;
312} Choice2_t;
313
314/*** <<< FUNC-DECLS [Choice2] >>> ***/
315
316extern asn_TYPE_descriptor_t asn_DEF_Choice2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800317extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
318extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
Lev Walkincee931e2005-08-16 16:56:59 +0000319
320/*** <<< POST-INCLUDE [Choice2] >>> ***/
321
Lev Walkin22b5ed42006-09-13 02:51:20 +0000322#include "TypeRef.h"
323#include "Everything.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000324
325/*** <<< STAT-DEFS [Choice2] >>> ***/
326
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800327asn_TYPE_member_t asn_MBR_Choice2_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000328 { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
Lev Walkincee931e2005-08-16 16:56:59 +0000329 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
330 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000331 .type = &asn_DEF_TypeRef,
Lev Walkin67a30122017-08-10 05:48:54 -0700332 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700333 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000334 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000335 .name = "typeref"
336 },
337 { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3),
338 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
339 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000340 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700341 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700342 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000343 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000344 .name = "some3"
345 },
346};
Lev Walkina7591b52014-10-12 18:37:35 -0700347static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700348 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
349 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000350};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800351asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000352 sizeof(struct Choice2),
353 offsetof(struct Choice2, _asn_ctx),
354 offsetof(struct Choice2, present),
355 sizeof(((struct Choice2 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700356 .tag2el = asn_MAP_Choice2_tag2el_1,
357 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000358 .canonical_order = 0,
359 .ext_start = 1 /* Extensions start */
Lev Walkincee931e2005-08-16 16:56:59 +0000360};
361asn_TYPE_descriptor_t asn_DEF_Choice2 = {
362 "Choice2",
363 "Choice2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800364 &asn_OP_CHOICE,
Lev Walkincee931e2005-08-16 16:56:59 +0000365 0, /* No effective tags (pointer) */
366 0, /* No effective tags (count) */
367 0, /* No tags (pointer) */
368 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700369 { 0, 0, CHOICE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000370 asn_MBR_Choice2_1,
Lev Walkinb85a8132005-08-18 13:38:19 +0000371 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000372 &asn_SPC_Choice2_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000373};
374
375
Lev Walkinb85a8132005-08-18 13:38:19 +0000376/*** <<< INCLUDES [Choice3] >>> ***/
377
378#include <constr_SEQUENCE.h>
379#include <asn_SEQUENCE_OF.h>
380#include <constr_SEQUENCE_OF.h>
381#include <constr_CHOICE.h>
382
383/*** <<< DEPS [Choice3] >>> ***/
384
385typedef enum Choice3_PR {
386 Choice3_PR_NOTHING, /* No components present */
387 Choice3_PR_a,
388 Choice3_PR_b,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000389 Choice3_PR_c
Lev Walkinb85a8132005-08-18 13:38:19 +0000390} Choice3_PR;
391
392/*** <<< FWD-DECLS [Choice3] >>> ***/
393
394struct Everything;
395struct Choice3;
396
397/*** <<< TYPE-DECLS [Choice3] >>> ***/
398
399typedef struct Choice3 {
400 Choice3_PR present;
401 union Choice3_u {
402 struct a {
403 struct Everything *aa;
404
405 /* Context for parsing across buffer boundaries */
406 asn_struct_ctx_t _asn_ctx;
407 } *a;
408 struct Everything *b;
409 struct c {
410 A_SEQUENCE_OF(struct Choice3) list;
411
412 /* Context for parsing across buffer boundaries */
413 asn_struct_ctx_t _asn_ctx;
414 } *c;
415 } choice;
416
417 /* Context for parsing across buffer boundaries */
418 asn_struct_ctx_t _asn_ctx;
419} Choice3_t;
420
421/*** <<< FUNC-DECLS [Choice3] >>> ***/
422
423extern asn_TYPE_descriptor_t asn_DEF_Choice3;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800424extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
425extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +0000426
427/*** <<< POST-INCLUDE [Choice3] >>> ***/
428
Lev Walkin22b5ed42006-09-13 02:51:20 +0000429#include "Everything.h"
430#include "Choice3.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000431
432/*** <<< STAT-DEFS [Choice3] >>> ***/
433
434static asn_TYPE_member_t asn_MBR_a_2[] = {
435 { ATF_POINTER, 0, offsetof(struct a, aa),
436 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
437 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000438 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700439 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700440 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000441 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000442 .name = "aa"
443 },
444};
Lev Walkina7591b52014-10-12 18:37:35 -0700445static const ber_tlv_tag_t asn_DEF_a_tags_2[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000446 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
447 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
448};
Lev Walkina7591b52014-10-12 18:37:35 -0700449static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700450 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */
Lev Walkinb85a8132005-08-18 13:38:19 +0000451};
Lev Walkin59b176e2005-11-26 11:25:14 +0000452static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000453 sizeof(struct a),
454 offsetof(struct a, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700455 .tag2el = asn_MAP_a_tag2el_2,
456 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000457 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000458 -1, /* Start extensions */
459 -1 /* Stop extensions */
460};
461static /* Use -fall-defs-global to expose */
462asn_TYPE_descriptor_t asn_DEF_a_2 = {
463 "a",
464 "a",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800465 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000466 asn_DEF_a_tags_2,
467 sizeof(asn_DEF_a_tags_2)
468 /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */
469 asn_DEF_a_tags_2, /* Same as above */
470 sizeof(asn_DEF_a_tags_2)
471 /sizeof(asn_DEF_a_tags_2[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700472 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000473 asn_MBR_a_2,
474 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000475 &asn_SPC_a_specs_2 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000476};
477
478static asn_TYPE_member_t asn_MBR_c_5[] = {
479 { ATF_POINTER, 0, 0,
480 .tag = -1 /* Ambiguous tag (CHOICE?) */,
481 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000482 .type = &asn_DEF_Choice3,
Lev Walkin67a30122017-08-10 05:48:54 -0700483 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700484 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000485 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000486 .name = ""
487 },
488};
Lev Walkina7591b52014-10-12 18:37:35 -0700489static const ber_tlv_tag_t asn_DEF_c_tags_5[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000490 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
491 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
492};
Lev Walkin59b176e2005-11-26 11:25:14 +0000493static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000494 sizeof(struct c),
495 offsetof(struct c, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000496 2, /* XER encoding is XMLValueList */
Lev Walkinb85a8132005-08-18 13:38:19 +0000497};
498static /* Use -fall-defs-global to expose */
499asn_TYPE_descriptor_t asn_DEF_c_5 = {
500 "c",
501 "c",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800502 &asn_OP_SEQUENCE_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000503 asn_DEF_c_tags_5,
504 sizeof(asn_DEF_c_tags_5)
505 /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */
506 asn_DEF_c_tags_5, /* Same as above */
507 sizeof(asn_DEF_c_tags_5)
508 /sizeof(asn_DEF_c_tags_5[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700509 { 0, 0, SEQUENCE_OF_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000510 asn_MBR_c_5,
511 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000512 &asn_SPC_c_specs_5 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000513};
514
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800515asn_TYPE_member_t asn_MBR_Choice3_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000516 { ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
517 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000518 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000519 .type = &asn_DEF_a_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700520 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700521 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000522 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000523 .name = "a"
524 },
525 { ATF_POINTER, 0, offsetof(struct Choice3, choice.b),
526 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
527 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000528 .type = &asn_DEF_Everything,
Lev Walkin67a30122017-08-10 05:48:54 -0700529 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700530 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000531 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000532 .name = "b"
533 },
534 { ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
535 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000536 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000537 .type = &asn_DEF_c_5,
Lev Walkin67a30122017-08-10 05:48:54 -0700538 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700539 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000540 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000541 .name = "c"
542 },
543};
Lev Walkina7591b52014-10-12 18:37:35 -0700544static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700545 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
546 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
547 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
Lev Walkinb85a8132005-08-18 13:38:19 +0000548};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800549asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000550 sizeof(struct Choice3),
551 offsetof(struct Choice3, _asn_ctx),
552 offsetof(struct Choice3, present),
553 sizeof(((struct Choice3 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700554 .tag2el = asn_MAP_Choice3_tag2el_1,
555 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000556 .canonical_order = 0,
557 .ext_start = -1 /* Extensions start */
Lev Walkinb85a8132005-08-18 13:38:19 +0000558};
559asn_TYPE_descriptor_t asn_DEF_Choice3 = {
560 "Choice3",
561 "Choice3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800562 &asn_OP_CHOICE,
Lev Walkinb85a8132005-08-18 13:38:19 +0000563 0, /* No effective tags (pointer) */
564 0, /* No effective tags (count) */
565 0, /* No tags (pointer) */
566 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700567 { 0, 0, CHOICE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000568 asn_MBR_Choice3_1,
569 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 &asn_SPC_Choice3_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000571};
572
573
Lev Walkincee931e2005-08-16 16:56:59 +0000574/*** <<< INCLUDES [Set] >>> ***/
575
576#include <asn_SET_OF.h>
Lev Walkin2a744a72013-03-27 01:56:23 -0700577#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000578#include <constr_SEQUENCE.h>
579#include <constr_SET_OF.h>
580
581/*** <<< FWD-DECLS [Set] >>> ***/
582
583struct Set;
Lev Walkinb85a8132005-08-18 13:38:19 +0000584struct Sequence;
Lev Walkincee931e2005-08-16 16:56:59 +0000585
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800586/*** <<< FWD-DEFS [Set] >>> ***/
587
588typedef struct Member {
589 long Int;
590 struct Set *set;
591 struct Sequence *seq;
592 struct Set *set2 /* OPTIONAL */;
593 /*
594 * This type is extensible,
595 * possible extensions are below.
596 */
597 struct Set *set3;
598
599 /* Context for parsing across buffer boundaries */
600 asn_struct_ctx_t _asn_ctx;
601} Member;
602
Lev Walkincee931e2005-08-16 16:56:59 +0000603/*** <<< TYPE-DECLS [Set] >>> ***/
604
605typedef struct Set {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800606 A_SET_OF(Member) list;
Lev Walkincee931e2005-08-16 16:56:59 +0000607
608 /* Context for parsing across buffer boundaries */
609 asn_struct_ctx_t _asn_ctx;
610} Set_t;
611
612/*** <<< FUNC-DECLS [Set] >>> ***/
613
614extern asn_TYPE_descriptor_t asn_DEF_Set;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800615extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
616extern asn_TYPE_member_t asn_MBR_Set_1[1];
Lev Walkincee931e2005-08-16 16:56:59 +0000617
618/*** <<< POST-INCLUDE [Set] >>> ***/
619
Lev Walkin22b5ed42006-09-13 02:51:20 +0000620#include "Set.h"
621#include "Sequence.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000622
623/*** <<< STAT-DEFS [Set] >>> ***/
624
625static asn_TYPE_member_t asn_MBR_Member_2[] = {
626 { ATF_NOFLAGS, 0, offsetof(struct Member, Int),
627 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
628 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700629 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700630 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700631 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000632 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000633 .name = "int"
634 },
635 { ATF_POINTER, 0, offsetof(struct Member, set),
636 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
637 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000638 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700639 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700640 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000641 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000642 .name = "set"
643 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000644 { ATF_POINTER, 0, offsetof(struct Member, seq),
Lev Walkincee931e2005-08-16 16:56:59 +0000645 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
646 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000647 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700648 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700649 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000650 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000651 .name = "seq"
652 },
653 { ATF_POINTER, 2, offsetof(struct Member, set2),
654 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
655 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000656 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700657 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700658 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000659 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000660 .name = "set2"
661 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000662 { ATF_POINTER, 1, offsetof(struct Member, set3),
Lev Walkincee931e2005-08-16 16:56:59 +0000663 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
664 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000665 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700666 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700667 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000668 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000669 .name = "set3"
670 },
671};
Lev Walkina7591b52014-10-12 18:37:35 -0700672static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000673 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
674};
Lev Walkina7591b52014-10-12 18:37:35 -0700675static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700676 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */
677 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
678 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */
679 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */
680 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */
Lev Walkincee931e2005-08-16 16:56:59 +0000681};
Lev Walkin59b176e2005-11-26 11:25:14 +0000682static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000683 sizeof(struct Member),
684 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700685 .tag2el = asn_MAP_Member_tag2el_2,
686 .tag2el_count = 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000687 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000688 3, /* Start extensions */
689 6 /* Stop extensions */
690};
691static /* Use -fall-defs-global to expose */
692asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000693 "SEQUENCE",
694 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800695 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000696 asn_DEF_Member_tags_2,
697 sizeof(asn_DEF_Member_tags_2)
698 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
699 asn_DEF_Member_tags_2, /* Same as above */
700 sizeof(asn_DEF_Member_tags_2)
701 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700702 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000703 asn_MBR_Member_2,
704 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000705 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000706};
707
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800708asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000709 { ATF_POINTER, 0, 0,
710 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
711 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000712 .type = &asn_DEF_Member_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700713 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700714 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000715 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000716 .name = ""
717 },
718};
Lev Walkina7591b52014-10-12 18:37:35 -0700719static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000720 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
721};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800722asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000723 sizeof(struct Set),
724 offsetof(struct Set, _asn_ctx),
725 0, /* XER encoding is XMLDelimitedItemList */
726};
727asn_TYPE_descriptor_t asn_DEF_Set = {
728 "Set",
729 "Set",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800730 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000731 asn_DEF_Set_tags_1,
732 sizeof(asn_DEF_Set_tags_1)
733 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
734 asn_DEF_Set_tags_1, /* Same as above */
735 sizeof(asn_DEF_Set_tags_1)
736 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700737 { 0, 0, SET_OF_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000738 asn_MBR_Set_1,
739 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000740 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000741};
742
743
744/*** <<< INCLUDES [Sequence] >>> ***/
745
Lev Walkin2a744a72013-03-27 01:56:23 -0700746#include <NativeInteger.h>
Lev Walkincee931e2005-08-16 16:56:59 +0000747#include <constr_SEQUENCE.h>
748
749/*** <<< FWD-DECLS [Sequence] >>> ***/
750
751struct Sequence;
752struct Set;
753
754/*** <<< TYPE-DECLS [Sequence] >>> ***/
755
756typedef struct Sequence {
Lev Walkin2a744a72013-03-27 01:56:23 -0700757 long a;
Lev Walkincee931e2005-08-16 16:56:59 +0000758 struct Sequence *seq /* OPTIONAL */;
759 /*
760 * This type is extensible,
761 * possible extensions are below.
762 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700763 long *b;
Lev Walkincee931e2005-08-16 16:56:59 +0000764 struct Set *set /* OPTIONAL */;
765
766 /* Context for parsing across buffer boundaries */
767 asn_struct_ctx_t _asn_ctx;
768} Sequence_t;
769
770/*** <<< FUNC-DECLS [Sequence] >>> ***/
771
772extern asn_TYPE_descriptor_t asn_DEF_Sequence;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800773extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
774extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
Lev Walkincee931e2005-08-16 16:56:59 +0000775
776/*** <<< POST-INCLUDE [Sequence] >>> ***/
777
Lev Walkin22b5ed42006-09-13 02:51:20 +0000778#include "Sequence.h"
779#include "Set.h"
Lev Walkincee931e2005-08-16 16:56:59 +0000780
781/*** <<< STAT-DEFS [Sequence] >>> ***/
782
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800783asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000784 { ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
785 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
786 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700787 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700788 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700789 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000790 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000791 .name = "a"
792 },
793 { ATF_POINTER, 3, offsetof(struct Sequence, seq),
794 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
795 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000796 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700797 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700798 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000799 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000800 .name = "seq"
801 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000802 { ATF_POINTER, 2, offsetof(struct Sequence, b),
Lev Walkincee931e2005-08-16 16:56:59 +0000803 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
804 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -0700805 .type = &asn_DEF_NativeInteger,
Lev Walkin67a30122017-08-10 05:48:54 -0700806 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700807 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000808 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000809 .name = "b"
810 },
811 { ATF_POINTER, 1, offsetof(struct Sequence, set),
812 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
813 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000814 .type = &asn_DEF_Set,
Lev Walkin67a30122017-08-10 05:48:54 -0700815 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700816 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000817 .default_value = 0,
Lev Walkincee931e2005-08-16 16:56:59 +0000818 .name = "set"
819 },
820};
Lev Walkina7591b52014-10-12 18:37:35 -0700821static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkincee931e2005-08-16 16:56:59 +0000822 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
823};
Lev Walkina7591b52014-10-12 18:37:35 -0700824static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700825 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
826 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */
827 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
828 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
Lev Walkincee931e2005-08-16 16:56:59 +0000829};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800830asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkincee931e2005-08-16 16:56:59 +0000831 sizeof(struct Sequence),
832 offsetof(struct Sequence, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700833 .tag2el = asn_MAP_Sequence_tag2el_1,
834 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000835 0, 0, 0, /* Optional elements (not needed) */
Lev Walkincee931e2005-08-16 16:56:59 +0000836 1, /* Start extensions */
837 5 /* Stop extensions */
838};
839asn_TYPE_descriptor_t asn_DEF_Sequence = {
840 "Sequence",
841 "Sequence",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800842 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000843 asn_DEF_Sequence_tags_1,
844 sizeof(asn_DEF_Sequence_tags_1)
845 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
846 asn_DEF_Sequence_tags_1, /* Same as above */
847 sizeof(asn_DEF_Sequence_tags_1)
848 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700849 { 0, 0, SEQUENCE_constraint },
Lev Walkincee931e2005-08-16 16:56:59 +0000850 asn_MBR_Sequence_1,
851 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000852 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkincee931e2005-08-16 16:56:59 +0000853};
854
Lev Walkinb85a8132005-08-18 13:38:19 +0000855
856/*** <<< INCLUDES [TypeRef] >>> ***/
857
Lev Walkin22b5ed42006-09-13 02:51:20 +0000858#include "Sequence.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000859
860/*** <<< TYPE-DECLS [TypeRef] >>> ***/
861
862typedef Sequence_t TypeRef_t;
863
864/*** <<< FUNC-DECLS [TypeRef] >>> ***/
865
866extern asn_TYPE_descriptor_t asn_DEF_TypeRef;
867asn_struct_free_f TypeRef_free;
868asn_struct_print_f TypeRef_print;
869asn_constr_check_f TypeRef_constraint;
870ber_type_decoder_f TypeRef_decode_ber;
871der_type_encoder_f TypeRef_encode_der;
872xer_type_decoder_f TypeRef_decode_xer;
873xer_type_encoder_f TypeRef_encode_xer;
874
875/*** <<< CODE [TypeRef] >>> ***/
876
Lev Walkinb85a8132005-08-18 13:38:19 +0000877/*
878 * This type is implemented using Sequence,
879 * so here we adjust the DEF accordingly.
880 */
Lev Walkinb85a8132005-08-18 13:38:19 +0000881
882/*** <<< STAT-DEFS [TypeRef] >>> ***/
883
Lev Walkina7591b52014-10-12 18:37:35 -0700884static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000885 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
886};
887asn_TYPE_descriptor_t asn_DEF_TypeRef = {
888 "TypeRef",
889 "TypeRef",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800890 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000891 asn_DEF_TypeRef_tags_1,
892 sizeof(asn_DEF_TypeRef_tags_1)
893 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
894 asn_DEF_TypeRef_tags_1, /* Same as above */
895 sizeof(asn_DEF_TypeRef_tags_1)
896 /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700897 { 0, 0, SEQUENCE_constraint },
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800898 asn_MBR_Sequence_1,
899 4, /* Elements count */
900 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000901};
902
903
904/*** <<< INCLUDES [Alpha] >>> ***/
905
906#include <constr_SEQUENCE.h>
907
908/*** <<< FWD-DECLS [Alpha] >>> ***/
909
910struct Beta;
911
912/*** <<< TYPE-DECLS [Alpha] >>> ***/
913
914typedef struct Alpha {
915 struct Beta *a;
916 struct b {
917 struct Beta *b /* OPTIONAL */;
918
919 /* Context for parsing across buffer boundaries */
920 asn_struct_ctx_t _asn_ctx;
921 } b;
922
923 /* Context for parsing across buffer boundaries */
924 asn_struct_ctx_t _asn_ctx;
925} Alpha_t;
926
927/*** <<< FUNC-DECLS [Alpha] >>> ***/
928
929extern asn_TYPE_descriptor_t asn_DEF_Alpha;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800930extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
931extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +0000932
933/*** <<< POST-INCLUDE [Alpha] >>> ***/
934
Lev Walkin22b5ed42006-09-13 02:51:20 +0000935#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000936
937/*** <<< STAT-DEFS [Alpha] >>> ***/
938
939static asn_TYPE_member_t asn_MBR_b_3[] = {
940 { ATF_POINTER, 1, offsetof(struct b, b),
941 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
942 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000943 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700944 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700945 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000946 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000947 .name = "b"
948 },
949};
Lev Walkina7591b52014-10-12 18:37:35 -0700950static const ber_tlv_tag_t asn_DEF_b_tags_3[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000951 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
952 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
953};
Lev Walkina7591b52014-10-12 18:37:35 -0700954static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700955 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +0000956};
Lev Walkin59b176e2005-11-26 11:25:14 +0000957static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000958 sizeof(struct b),
959 offsetof(struct b, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700960 .tag2el = asn_MAP_b_tag2el_3,
961 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000962 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +0000963 -1, /* Start extensions */
964 -1 /* Stop extensions */
965};
966static /* Use -fall-defs-global to expose */
967asn_TYPE_descriptor_t asn_DEF_b_3 = {
968 "b",
969 "b",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800970 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000971 asn_DEF_b_tags_3,
972 sizeof(asn_DEF_b_tags_3)
973 /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */
974 asn_DEF_b_tags_3, /* Same as above */
975 sizeof(asn_DEF_b_tags_3)
976 /sizeof(asn_DEF_b_tags_3[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700977 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +0000978 asn_MBR_b_3,
979 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000980 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +0000981};
982
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800983asn_TYPE_member_t asn_MBR_Alpha_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000984 { ATF_POINTER, 0, offsetof(struct Alpha, a),
985 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
986 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000987 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -0700988 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700989 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000990 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +0000991 .name = "a"
992 },
993 { ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
994 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000995 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000996 .type = &asn_DEF_b_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700997 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700998 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000999 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001000 .name = "b"
1001 },
1002};
Lev Walkina7591b52014-10-12 18:37:35 -07001003static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001004 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1005};
Lev Walkina7591b52014-10-12 18:37:35 -07001006static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001007 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1008 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001009};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001010asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001011 sizeof(struct Alpha),
1012 offsetof(struct Alpha, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001013 .tag2el = asn_MAP_Alpha_tag2el_1,
1014 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001015 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001016 -1, /* Start extensions */
1017 -1 /* Stop extensions */
1018};
1019asn_TYPE_descriptor_t asn_DEF_Alpha = {
1020 "Alpha",
1021 "Alpha",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001022 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001023 asn_DEF_Alpha_tags_1,
1024 sizeof(asn_DEF_Alpha_tags_1)
1025 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
1026 asn_DEF_Alpha_tags_1, /* Same as above */
1027 sizeof(asn_DEF_Alpha_tags_1)
1028 /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001029 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001030 asn_MBR_Alpha_1,
1031 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001032 &asn_SPC_Alpha_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001033};
1034
1035
1036/*** <<< INCLUDES [Beta] >>> ***/
1037
1038#include <constr_SEQUENCE.h>
1039
1040/*** <<< FWD-DECLS [Beta] >>> ***/
1041
1042struct Alpha;
1043struct Gamma;
1044
1045/*** <<< TYPE-DECLS [Beta] >>> ***/
1046
1047typedef struct Beta {
1048 struct Alpha *b /* OPTIONAL */;
1049 struct Gamma *g /* OPTIONAL */;
1050
1051 /* Context for parsing across buffer boundaries */
1052 asn_struct_ctx_t _asn_ctx;
1053} Beta_t;
1054
1055/*** <<< FUNC-DECLS [Beta] >>> ***/
1056
1057extern asn_TYPE_descriptor_t asn_DEF_Beta;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001058extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
1059extern asn_TYPE_member_t asn_MBR_Beta_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001060
1061/*** <<< POST-INCLUDE [Beta] >>> ***/
1062
Lev Walkin22b5ed42006-09-13 02:51:20 +00001063#include "Alpha.h"
1064#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001065
1066/*** <<< STAT-DEFS [Beta] >>> ***/
1067
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001068asn_TYPE_member_t asn_MBR_Beta_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001069 { ATF_POINTER, 2, offsetof(struct Beta, b),
1070 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1071 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001072 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001073 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001074 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001075 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001076 .name = "b"
1077 },
1078 { ATF_POINTER, 1, offsetof(struct Beta, g),
1079 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1080 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001081 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001082 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001083 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001084 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001085 .name = "g"
1086 },
1087};
Lev Walkina7591b52014-10-12 18:37:35 -07001088static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001089 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1090};
Lev Walkina7591b52014-10-12 18:37:35 -07001091static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001092 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
1093 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001094};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001095asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001096 sizeof(struct Beta),
1097 offsetof(struct Beta, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001098 .tag2el = asn_MAP_Beta_tag2el_1,
1099 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001100 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001101 -1, /* Start extensions */
1102 -1 /* Stop extensions */
1103};
1104asn_TYPE_descriptor_t asn_DEF_Beta = {
1105 "Beta",
1106 "Beta",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001107 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001108 asn_DEF_Beta_tags_1,
1109 sizeof(asn_DEF_Beta_tags_1)
1110 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
1111 asn_DEF_Beta_tags_1, /* Same as above */
1112 sizeof(asn_DEF_Beta_tags_1)
1113 /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001114 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001115 asn_MBR_Beta_1,
1116 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001117 &asn_SPC_Beta_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001118};
1119
1120
1121/*** <<< INCLUDES [Gamma] >>> ***/
1122
1123#include <constr_SEQUENCE.h>
1124
1125/*** <<< FWD-DECLS [Gamma] >>> ***/
1126
1127struct TwoThree;
1128struct Alpha;
1129struct Beta;
1130
1131/*** <<< TYPE-DECLS [Gamma] >>> ***/
1132
1133typedef struct Gamma {
1134 struct TwoThree *o;
1135 struct Alpha *a;
1136 struct Beta *b;
1137
1138 /* Context for parsing across buffer boundaries */
1139 asn_struct_ctx_t _asn_ctx;
1140} Gamma_t;
1141
1142/*** <<< FUNC-DECLS [Gamma] >>> ***/
1143
1144extern asn_TYPE_descriptor_t asn_DEF_Gamma;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001145extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
1146extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
Lev Walkinb85a8132005-08-18 13:38:19 +00001147
1148/*** <<< POST-INCLUDE [Gamma] >>> ***/
1149
Lev Walkin22b5ed42006-09-13 02:51:20 +00001150#include "TwoThree.h"
1151#include "Alpha.h"
1152#include "Beta.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001153
1154/*** <<< STAT-DEFS [Gamma] >>> ***/
1155
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001156asn_TYPE_member_t asn_MBR_Gamma_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001157 { ATF_POINTER, 0, offsetof(struct Gamma, o),
1158 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1159 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001160 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001161 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001162 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001163 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001164 .name = "o"
1165 },
1166 { ATF_POINTER, 0, offsetof(struct Gamma, a),
1167 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1168 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001169 .type = &asn_DEF_Alpha,
Lev Walkin67a30122017-08-10 05:48:54 -07001170 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001171 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001172 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001173 .name = "a"
1174 },
1175 { ATF_POINTER, 0, offsetof(struct Gamma, b),
1176 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1177 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001178 .type = &asn_DEF_Beta,
Lev Walkin67a30122017-08-10 05:48:54 -07001179 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001180 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001181 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001182 .name = "b"
1183 },
1184};
Lev Walkina7591b52014-10-12 18:37:35 -07001185static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001186 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1187};
Lev Walkina7591b52014-10-12 18:37:35 -07001188static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001189 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */
1190 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
1191 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
Lev Walkinb85a8132005-08-18 13:38:19 +00001192};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001193asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001194 sizeof(struct Gamma),
1195 offsetof(struct Gamma, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001196 .tag2el = asn_MAP_Gamma_tag2el_1,
1197 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001198 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb85a8132005-08-18 13:38:19 +00001199 -1, /* Start extensions */
1200 -1 /* Stop extensions */
1201};
1202asn_TYPE_descriptor_t asn_DEF_Gamma = {
1203 "Gamma",
1204 "Gamma",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001205 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00001206 asn_DEF_Gamma_tags_1,
1207 sizeof(asn_DEF_Gamma_tags_1)
1208 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
1209 asn_DEF_Gamma_tags_1, /* Same as above */
1210 sizeof(asn_DEF_Gamma_tags_1)
1211 /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001212 { 0, 0, SEQUENCE_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001213 asn_MBR_Gamma_1,
1214 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001215 &asn_SPC_Gamma_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001216};
1217
1218
1219/*** <<< INCLUDES [OneTwo] >>> ***/
1220
1221#include <constr_SET.h>
1222
1223/*** <<< DEPS [OneTwo] >>> ***/
1224
1225
1226/*
1227 * Method of determining the components presence
1228 */
1229typedef enum OneTwo_PR {
1230 OneTwo_PR_m12, /* Member m12 is present */
1231} OneTwo_PR;
1232
1233/*** <<< FWD-DECLS [OneTwo] >>> ***/
1234
1235struct TwoThree;
1236
1237/*** <<< TYPE-DECLS [OneTwo] >>> ***/
1238
1239typedef struct OneTwo {
1240 struct TwoThree *m12;
1241
1242 /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */
1243 unsigned int _presence_map
1244 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1245
1246 /* Context for parsing across buffer boundaries */
1247 asn_struct_ctx_t _asn_ctx;
1248} OneTwo_t;
1249
1250/*** <<< FUNC-DECLS [OneTwo] >>> ***/
1251
1252extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001253extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
1254extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001255
1256/*** <<< POST-INCLUDE [OneTwo] >>> ***/
1257
Lev Walkin22b5ed42006-09-13 02:51:20 +00001258#include "TwoThree.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001259
1260/*** <<< STAT-DEFS [OneTwo] >>> ***/
1261
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001262asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001263 { ATF_POINTER, 0, offsetof(struct OneTwo, m12),
1264 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1265 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001266 .type = &asn_DEF_TwoThree,
Lev Walkin67a30122017-08-10 05:48:54 -07001267 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001268 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001269 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001270 .name = "m12"
1271 },
1272};
Lev Walkina7591b52014-10-12 18:37:35 -07001273static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001274 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1275};
Lev Walkina7591b52014-10-12 18:37:35 -07001276static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001277 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001278};
Lev Walkina7591b52014-10-12 18:37:35 -07001279static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001280 (1 << 7)
1281};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001282asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001283 sizeof(struct OneTwo),
1284 offsetof(struct OneTwo, _asn_ctx),
1285 offsetof(struct OneTwo, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001286 .tag2el = asn_MAP_OneTwo_tag2el_1,
1287 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001288 asn_MAP_OneTwo_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001289 1, /* Count of tags in the CXER map */
1290 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001291 (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001292};
1293asn_TYPE_descriptor_t asn_DEF_OneTwo = {
1294 "OneTwo",
1295 "OneTwo",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001296 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001297 asn_DEF_OneTwo_tags_1,
1298 sizeof(asn_DEF_OneTwo_tags_1)
1299 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
1300 asn_DEF_OneTwo_tags_1, /* Same as above */
1301 sizeof(asn_DEF_OneTwo_tags_1)
1302 /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001303 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001304 asn_MBR_OneTwo_1,
1305 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001306 &asn_SPC_OneTwo_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001307};
1308
1309
1310/*** <<< INCLUDES [TwoThree] >>> ***/
1311
1312#include <constr_SET.h>
1313
1314/*** <<< DEPS [TwoThree] >>> ***/
1315
1316
1317/*
1318 * Method of determining the components presence
1319 */
1320typedef enum TwoThree_PR {
1321 TwoThree_PR_m23, /* Member m23 is present */
1322} TwoThree_PR;
1323
1324/*** <<< FWD-DECLS [TwoThree] >>> ***/
1325
1326struct ThreeOne;
1327
1328/*** <<< TYPE-DECLS [TwoThree] >>> ***/
1329
1330typedef struct TwoThree {
1331 struct ThreeOne *m23;
1332
1333 /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */
1334 unsigned int _presence_map
1335 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1336
1337 /* Context for parsing across buffer boundaries */
1338 asn_struct_ctx_t _asn_ctx;
1339} TwoThree_t;
1340
1341/*** <<< FUNC-DECLS [TwoThree] >>> ***/
1342
1343extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001344extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
1345extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
Lev Walkinb85a8132005-08-18 13:38:19 +00001346
1347/*** <<< POST-INCLUDE [TwoThree] >>> ***/
1348
Lev Walkin22b5ed42006-09-13 02:51:20 +00001349#include "ThreeOne.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001350
1351/*** <<< STAT-DEFS [TwoThree] >>> ***/
1352
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001353asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001354 { ATF_POINTER, 0, offsetof(struct TwoThree, m23),
1355 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1356 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001357 .type = &asn_DEF_ThreeOne,
Lev Walkin67a30122017-08-10 05:48:54 -07001358 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001359 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001360 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001361 .name = "m23"
1362 },
1363};
Lev Walkina7591b52014-10-12 18:37:35 -07001364static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001365 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1366};
Lev Walkina7591b52014-10-12 18:37:35 -07001367static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001368 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */
Lev Walkinb85a8132005-08-18 13:38:19 +00001369};
Lev Walkina7591b52014-10-12 18:37:35 -07001370static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001371 (1 << 7)
1372};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001373asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001374 sizeof(struct TwoThree),
1375 offsetof(struct TwoThree, _asn_ctx),
1376 offsetof(struct TwoThree, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001377 .tag2el = asn_MAP_TwoThree_tag2el_1,
1378 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001379 asn_MAP_TwoThree_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001380 1, /* Count of tags in the CXER map */
1381 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001382 (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001383};
1384asn_TYPE_descriptor_t asn_DEF_TwoThree = {
1385 "TwoThree",
1386 "TwoThree",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001387 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001388 asn_DEF_TwoThree_tags_1,
1389 sizeof(asn_DEF_TwoThree_tags_1)
1390 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
1391 asn_DEF_TwoThree_tags_1, /* Same as above */
1392 sizeof(asn_DEF_TwoThree_tags_1)
1393 /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001394 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001395 asn_MBR_TwoThree_1,
1396 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001397 &asn_SPC_TwoThree_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001398};
1399
1400
1401/*** <<< INCLUDES [ThreeOne] >>> ***/
1402
1403#include <constr_SET.h>
1404
1405/*** <<< DEPS [ThreeOne] >>> ***/
1406
1407
1408/*
1409 * Method of determining the components presence
1410 */
1411typedef enum ThreeOne_PR {
1412 ThreeOne_PR_m31, /* Member m31 is present */
1413 ThreeOne_PR_g, /* Member g is present */
1414} ThreeOne_PR;
1415
1416/*** <<< FWD-DECLS [ThreeOne] >>> ***/
1417
1418struct OneTwo;
1419struct Gamma;
1420
1421/*** <<< TYPE-DECLS [ThreeOne] >>> ***/
1422
1423typedef struct ThreeOne {
1424 struct OneTwo *m31;
1425 struct Gamma *g;
1426
1427 /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */
1428 unsigned int _presence_map
1429 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
1430
1431 /* Context for parsing across buffer boundaries */
1432 asn_struct_ctx_t _asn_ctx;
1433} ThreeOne_t;
1434
1435/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
1436
1437extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001438extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
1439extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
Lev Walkinb85a8132005-08-18 13:38:19 +00001440
1441/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
1442
Lev Walkin22b5ed42006-09-13 02:51:20 +00001443#include "OneTwo.h"
1444#include "Gamma.h"
Lev Walkinb85a8132005-08-18 13:38:19 +00001445
1446/*** <<< STAT-DEFS [ThreeOne] >>> ***/
1447
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001448asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001449 { ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
1450 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1451 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001452 .type = &asn_DEF_OneTwo,
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 Walkin59b176e2005-11-26 11:25:14 +00001455 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001456 .name = "m31"
1457 },
1458 { ATF_POINTER, 0, offsetof(struct ThreeOne, g),
1459 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1460 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001461 .type = &asn_DEF_Gamma,
Lev Walkin67a30122017-08-10 05:48:54 -07001462 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07001463 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +00001464 .default_value = 0,
Lev Walkinb85a8132005-08-18 13:38:19 +00001465 .name = "g"
1466 },
1467};
Lev Walkina7591b52014-10-12 18:37:35 -07001468static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001469 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1470};
Lev Walkina7591b52014-10-12 18:37:35 -07001471static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001472 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */
1473 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
Lev Walkinb85a8132005-08-18 13:38:19 +00001474};
Lev Walkina7591b52014-10-12 18:37:35 -07001475static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001476 (1 << 7) | (1 << 6)
1477};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001478asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
Lev Walkinb85a8132005-08-18 13:38:19 +00001479 sizeof(struct ThreeOne),
1480 offsetof(struct ThreeOne, _asn_ctx),
1481 offsetof(struct ThreeOne, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -07001482 .tag2el = asn_MAP_ThreeOne_tag2el_1,
1483 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001484 asn_MAP_ThreeOne_tag2el_1, /* Same as above */
Lev Walkinb85a8132005-08-18 13:38:19 +00001485 2, /* Count of tags in the CXER map */
1486 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -07001487 (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */
Lev Walkinb85a8132005-08-18 13:38:19 +00001488};
1489asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
1490 "ThreeOne",
1491 "ThreeOne",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001492 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +00001493 asn_DEF_ThreeOne_tags_1,
1494 sizeof(asn_DEF_ThreeOne_tags_1)
1495 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
1496 asn_DEF_ThreeOne_tags_1, /* Same as above */
1497 sizeof(asn_DEF_ThreeOne_tags_1)
1498 /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001499 { 0, 0, SET_constraint },
Lev Walkinb85a8132005-08-18 13:38:19 +00001500 asn_MBR_ThreeOne_1,
1501 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001502 &asn_SPC_ThreeOne_specs_1 /* Additional specs */
Lev Walkinb85a8132005-08-18 13:38:19 +00001503};
1504