blob: b1bdd78a6fde25f5933d3499ff3d38d2b01d0ca8 [file] [log] [blame]
Lev Walkin03ba3e92004-08-22 03:18:17 +00001
2/*** <<< INCLUDES [Forest] >>> ***/
3
Lev Walkin03ba3e92004-08-22 03:18:17 +00004#include <asn_SET_OF.h>
5#include <constr_SET_OF.h>
6
Lev Walkinc8285712005-03-04 22:18:20 +00007/*** <<< FWD-DECLS [Forest] >>> ***/
Lev Walkin03ba3e92004-08-22 03:18:17 +00008
Lev Walkinc8285712005-03-04 22:18:20 +00009struct Tree; /* Forward declaration */
Lev Walkin03ba3e92004-08-22 03:18:17 +000010
11/*** <<< TYPE-DECLS [Forest] >>> ***/
12
Lev Walkin03ba3e92004-08-22 03:18:17 +000013typedef struct Forest {
Lev Walkinc8285712005-03-04 22:18:20 +000014 A_SET_OF(struct Tree) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +000015
16 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000017 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000018} Forest_t;
19
Lev Walkinc8285712005-03-04 22:18:20 +000020/*** <<< FUNC-DECLS [Forest] >>> ***/
21
22extern asn_TYPE_descriptor_t asn_DEF_Forest;
23
24/*** <<< POST-INCLUDE [Forest] >>> ***/
25
26#include <Tree.h>
27
Lev Walkin03ba3e92004-08-22 03:18:17 +000028/*** <<< STAT-DEFS [Forest] >>> ***/
29
Lev Walkine0272aa2005-03-04 11:26:08 +000030static asn_TYPE_member_t asn_MBR_Forest_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000031 { ATF_NOFLAGS, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +000032 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
33 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +000034 .type = (void *)&asn_DEF_Tree,
Lev Walkinba58e1b2005-01-17 12:20:19 +000035 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +000036 .name = ""
37 },
38};
Lev Walkine0272aa2005-03-04 11:26:08 +000039static ber_tlv_tag_t asn_DEF_Forest_1_tags[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000040 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
41};
Lev Walkine0272aa2005-03-04 11:26:08 +000042static asn_SET_OF_specifics_t asn_SPC_Forest_1_specs = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000043 sizeof(struct Forest),
Lev Walkindfae9752004-09-29 13:19:37 +000044 offsetof(struct Forest, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000045 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +000046};
Lev Walkindfae9752004-09-29 13:19:37 +000047asn_TYPE_descriptor_t asn_DEF_Forest = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000048 "Forest",
Lev Walkindc06f6b2004-10-20 15:50:55 +000049 "Forest",
Lev Walkina9cc46e2004-09-22 16:06:28 +000050 SET_OF_free,
51 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +000052 SET_OF_constraint,
53 SET_OF_decode_ber,
54 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000055 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000056 SET_OF_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +000057 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +000058 asn_DEF_Forest_1_tags,
59 sizeof(asn_DEF_Forest_1_tags)
60 /sizeof(asn_DEF_Forest_1_tags[0]), /* 1 */
61 asn_DEF_Forest_1_tags, /* Same as above */
62 sizeof(asn_DEF_Forest_1_tags)
63 /sizeof(asn_DEF_Forest_1_tags[0]), /* 1 */
64 asn_MBR_Forest_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +000065 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +000066 &asn_SPC_Forest_1_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +000067};
68
69
70/*** <<< INCLUDES [Tree] >>> ***/
71
72#include <INTEGER.h>
73#include <constr_SEQUENCE.h>
74
Lev Walkin03ba3e92004-08-22 03:18:17 +000075/*** <<< TYPE-DECLS [Tree] >>> ***/
76
Lev Walkin03ba3e92004-08-22 03:18:17 +000077typedef struct Tree {
78 INTEGER_t height;
79 INTEGER_t width;
80
81 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000082 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000083} Tree_t;
84
Lev Walkinc8285712005-03-04 22:18:20 +000085/*** <<< FUNC-DECLS [Tree] >>> ***/
86
87extern asn_TYPE_descriptor_t asn_DEF_Tree;
88
Lev Walkin03ba3e92004-08-22 03:18:17 +000089/*** <<< STAT-DEFS [Tree] >>> ***/
90
Lev Walkine0272aa2005-03-04 11:26:08 +000091static asn_TYPE_member_t asn_MBR_Tree_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000092 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
Lev Walkin03ba3e92004-08-22 03:18:17 +000093 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
94 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +000095 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +000096 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +000097 .name = "height"
98 },
Lev Walkincc93b0f2004-09-10 09:18:20 +000099 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000100 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
101 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000102 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000103 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000104 .name = "width"
105 },
106};
Lev Walkine0272aa2005-03-04 11:26:08 +0000107static ber_tlv_tag_t asn_DEF_Tree_1_tags[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000108 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
109};
Lev Walkine0272aa2005-03-04 11:26:08 +0000110static asn_TYPE_tag2member_t asn_MAP_Tree_1_tag2el[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000111 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height at 17 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000112 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width at 19 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000113};
Lev Walkine0272aa2005-03-04 11:26:08 +0000114static asn_SEQUENCE_specifics_t asn_SPC_Tree_1_specs = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000115 sizeof(struct Tree),
Lev Walkindfae9752004-09-29 13:19:37 +0000116 offsetof(struct Tree, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000117 asn_MAP_Tree_1_tag2el,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000118 2, /* Count of tags in the map */
119 -1, /* Start extensions */
120 -1 /* Stop extensions */
121};
Lev Walkindfae9752004-09-29 13:19:37 +0000122asn_TYPE_descriptor_t asn_DEF_Tree = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000123 "Tree",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000124 "Tree",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000125 SEQUENCE_free,
126 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000127 SEQUENCE_constraint,
128 SEQUENCE_decode_ber,
129 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000130 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000131 SEQUENCE_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000132 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000133 asn_DEF_Tree_1_tags,
134 sizeof(asn_DEF_Tree_1_tags)
135 /sizeof(asn_DEF_Tree_1_tags[0]), /* 1 */
136 asn_DEF_Tree_1_tags, /* Same as above */
137 sizeof(asn_DEF_Tree_1_tags)
138 /sizeof(asn_DEF_Tree_1_tags[0]), /* 1 */
139 asn_MBR_Tree_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000140 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000141 &asn_SPC_Tree_1_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000142};
143
144
145/*** <<< INCLUDES [Stuff] >>> ***/
146
Lev Walkin03ba3e92004-08-22 03:18:17 +0000147#include <asn_SET_OF.h>
148#include <constr_SET_OF.h>
149#include <BIT_STRING.h>
150#include <constr_SEQUENCE.h>
Lev Walkin2a8672e2004-10-03 09:14:49 +0000151#include <INTEGER.h>
152#include <constr_CHOICE.h>
Lev Walkin03ba3e92004-08-22 03:18:17 +0000153#include <constr_SET.h>
154
155/*** <<< DEPS [Stuff] >>> ***/
156
157
158/*
159 * Method of determining the components presence
160 */
161typedef enum Stuff_PR {
162 Stuff_PR_trees, /* Member trees is present */
163 Stuff_PR_anything, /* Member anything is present */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000164 Stuff_PR_other, /* Member other is present */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000165} Stuff_PR;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000166typedef enum other_PR {
167 other_PR_NOTHING, /* No components present */
168 other_PR_a,
169 other_PR_b,
170} other_PR;
Lev Walkinc8285712005-03-04 22:18:20 +0000171
172/*** <<< FWD-DECLS [Stuff] >>> ***/
173
174struct Forest; /* Forward declaration */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000175
176/*** <<< TYPE-DECLS [Stuff] >>> ***/
177
Lev Walkin03ba3e92004-08-22 03:18:17 +0000178typedef struct Stuff {
179 struct trees {
Lev Walkinc8285712005-03-04 22:18:20 +0000180 A_SET_OF(struct Forest) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000181
182 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000183 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000184 } *trees;
185 struct anything {
Lev Walkine0272aa2005-03-04 11:26:08 +0000186 A_SET_OF(struct Member {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000187 BIT_STRING_t cup_of_coffee;
188 /*
189 * This type is extensible,
190 * possible extensions are below.
191 */
192
193 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000194 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000195 } ) list;
196
197 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000198 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000199 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000200 /*
201 * This type is extensible,
202 * possible extensions are below.
203 */
204 struct other {
205 other_PR present;
206 union {
207 INTEGER_t a;
208 INTEGER_t b;
209 } choice;
210
211 /* Context for parsing across buffer boundaries */
212 asn_struct_ctx_t _asn_ctx;
213 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000214
215 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
216 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000217 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000218
219 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000220 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000221} Stuff_t;
222
Lev Walkinc8285712005-03-04 22:18:20 +0000223/*** <<< FUNC-DECLS [Stuff] >>> ***/
224
225extern asn_TYPE_descriptor_t asn_DEF_Stuff;
226
227/*** <<< POST-INCLUDE [Stuff] >>> ***/
228
229#include <Forest.h>
230
Lev Walkin03ba3e92004-08-22 03:18:17 +0000231/*** <<< STAT-DEFS [Stuff] >>> ***/
232
Lev Walkine0272aa2005-03-04 11:26:08 +0000233static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000234 { ATF_NOFLAGS, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000235 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
236 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000237 .type = (void *)&asn_DEF_Forest,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000238 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000239 .name = ""
240 },
241};
Lev Walkine0272aa2005-03-04 11:26:08 +0000242static ber_tlv_tag_t asn_DEF_trees_2_tags[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000243 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000244 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000245};
Lev Walkine0272aa2005-03-04 11:26:08 +0000246static asn_SET_OF_specifics_t asn_SPC_trees_2_specs = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000247 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000248 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000249 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000250};
Lev Walkind04430c2004-09-07 06:44:29 +0000251static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000252asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000253 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000254 "trees",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000255 SET_OF_free,
256 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000257 SET_OF_constraint,
258 SET_OF_decode_ber,
259 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000260 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000261 SET_OF_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000262 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000263 asn_DEF_trees_2_tags,
264 sizeof(asn_DEF_trees_2_tags)
265 /sizeof(asn_DEF_trees_2_tags[0]) - 1, /* 1 */
266 asn_DEF_trees_2_tags, /* Same as above */
267 sizeof(asn_DEF_trees_2_tags)
268 /sizeof(asn_DEF_trees_2_tags[0]), /* 2 */
269 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000270 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +0000271 &asn_SPC_trees_2_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000272};
273
Lev Walkine0272aa2005-03-04 11:26:08 +0000274static asn_TYPE_member_t asn_MBR_Member_4[] = {
275 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000276 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
277 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000278 .type = (void *)&asn_DEF_BIT_STRING,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000279 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000280 .name = "cup-of-coffee"
281 },
282};
Lev Walkine0272aa2005-03-04 11:26:08 +0000283static ber_tlv_tag_t asn_DEF_Member_4_tags[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000284 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
285};
Lev Walkine0272aa2005-03-04 11:26:08 +0000286static asn_TYPE_tag2member_t asn_MAP_Member_4_tag2el[] = {
Lev Walkinf82138b2005-02-25 08:20:32 +0000287 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee at 32 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000288};
Lev Walkine0272aa2005-03-04 11:26:08 +0000289static asn_SEQUENCE_specifics_t asn_SPC_Member_4_specs = {
290 sizeof(struct Member),
291 offsetof(struct Member, _asn_ctx),
292 asn_MAP_Member_4_tag2el,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000293 1, /* Count of tags in the map */
294 0, /* Start extensions */
295 2 /* Stop extensions */
296};
Lev Walkind04430c2004-09-07 06:44:29 +0000297static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000298asn_TYPE_descriptor_t asn_DEF_Member_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000299 "",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000300 "",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000301 SEQUENCE_free,
302 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000303 SEQUENCE_constraint,
304 SEQUENCE_decode_ber,
305 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000306 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000307 SEQUENCE_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000308 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000309 asn_DEF_Member_4_tags,
310 sizeof(asn_DEF_Member_4_tags)
311 /sizeof(asn_DEF_Member_4_tags[0]), /* 1 */
312 asn_DEF_Member_4_tags, /* Same as above */
313 sizeof(asn_DEF_Member_4_tags)
314 /sizeof(asn_DEF_Member_4_tags[0]), /* 1 */
315 asn_MBR_Member_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000316 1, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000317 &asn_SPC_Member_4_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000318};
319
Lev Walkine0272aa2005-03-04 11:26:08 +0000320static asn_TYPE_member_t asn_MBR_anything_3[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000321 { ATF_NOFLAGS, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000322 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
323 .tag_mode = 0,
Lev Walkine0272aa2005-03-04 11:26:08 +0000324 .type = (void *)&asn_DEF_Member_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000325 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000326 .name = ""
327 },
328};
Lev Walkine0272aa2005-03-04 11:26:08 +0000329static ber_tlv_tag_t asn_DEF_anything_3_tags[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000330 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000331 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000332};
Lev Walkine0272aa2005-03-04 11:26:08 +0000333static asn_SET_OF_specifics_t asn_SPC_anything_3_specs = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000334 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000335 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000336 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000337};
Lev Walkind04430c2004-09-07 06:44:29 +0000338static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000339asn_TYPE_descriptor_t asn_DEF_anything_3 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000340 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000341 "anything",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000342 SET_OF_free,
343 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000344 SET_OF_constraint,
345 SET_OF_decode_ber,
346 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000347 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000348 SET_OF_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000349 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000350 asn_DEF_anything_3_tags,
351 sizeof(asn_DEF_anything_3_tags)
352 /sizeof(asn_DEF_anything_3_tags[0]) - 1, /* 1 */
353 asn_DEF_anything_3_tags, /* Same as above */
354 sizeof(asn_DEF_anything_3_tags)
355 /sizeof(asn_DEF_anything_3_tags[0]), /* 2 */
356 asn_MBR_anything_3,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000357 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +0000358 &asn_SPC_anything_3_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000359};
360
Lev Walkine0272aa2005-03-04 11:26:08 +0000361static asn_TYPE_member_t asn_MBR_other_5[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000362 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000363 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
364 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000365 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000366 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000367 .name = "a"
368 },
369 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
370 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
371 .tag_mode = -1, /* IMPLICIT tag at current level */
372 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000373 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000374 .name = "b"
375 },
376};
Lev Walkine0272aa2005-03-04 11:26:08 +0000377static asn_TYPE_tag2member_t asn_MAP_other_5_tag2el[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000378 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 26 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000379 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b at 28 */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000380};
Lev Walkine0272aa2005-03-04 11:26:08 +0000381static asn_CHOICE_specifics_t asn_SPC_other_5_specs = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000382 sizeof(struct other),
383 offsetof(struct other, _asn_ctx),
384 offsetof(struct other, present),
385 sizeof(((struct other *)0)->present),
Lev Walkine0272aa2005-03-04 11:26:08 +0000386 asn_MAP_other_5_tag2el,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000387 2, /* Count of tags in the map */
388 0 /* Whether extensible */
389};
390static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000391asn_TYPE_descriptor_t asn_DEF_other_5 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000392 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000393 "other",
Lev Walkin2a8672e2004-10-03 09:14:49 +0000394 CHOICE_free,
395 CHOICE_print,
396 CHOICE_constraint,
397 CHOICE_decode_ber,
398 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000399 CHOICE_decode_xer,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000400 CHOICE_encode_xer,
401 CHOICE_outmost_tag,
402 0, /* No effective tags (pointer) */
403 0, /* No effective tags (count) */
404 0, /* No tags (pointer) */
405 0, /* No tags (count) */
Lev Walkine0272aa2005-03-04 11:26:08 +0000406 asn_MBR_other_5,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000407 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000408 &asn_SPC_other_5_specs /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000409};
410
Lev Walkine0272aa2005-03-04 11:26:08 +0000411static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000412 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
413 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
414 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkine0272aa2005-03-04 11:26:08 +0000415 .type = (void *)&asn_DEF_trees_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000416 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000417 .name = "trees"
418 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000419 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
420 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000421 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkine0272aa2005-03-04 11:26:08 +0000422 .type = (void *)&asn_DEF_anything_3,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000423 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000424 .name = "anything"
425 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000426 { ATF_POINTER, 0, offsetof(struct Stuff, other),
427 .tag = -1 /* Ambiguous tag (CHOICE?) */,
428 .tag_mode = 0,
Lev Walkine0272aa2005-03-04 11:26:08 +0000429 .type = (void *)&asn_DEF_other_5,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000430 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000431 .name = "other"
432 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000433};
Lev Walkine0272aa2005-03-04 11:26:08 +0000434static ber_tlv_tag_t asn_DEF_Stuff_1_tags[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000435 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
436};
Lev Walkine0272aa2005-03-04 11:26:08 +0000437static asn_TYPE_tag2member_t asn_MAP_Stuff_1_tag2el[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000438 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a at 26 */
439 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */
440 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000441 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b at 28 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000442};
Lev Walkine0272aa2005-03-04 11:26:08 +0000443static asn_TYPE_tag2member_t asn_MAP_Stuff_1_tag2el_cxer[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000444 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */
445 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000446 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a at 26 */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000447};
Lev Walkine0272aa2005-03-04 11:26:08 +0000448static uint8_t asn_MAP_Stuff_1_mmap[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000449 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000450};
Lev Walkine0272aa2005-03-04 11:26:08 +0000451static asn_SET_specifics_t asn_SPC_Stuff_1_specs = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000452 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000453 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000454 offsetof(struct Stuff, _presence_map),
Lev Walkine0272aa2005-03-04 11:26:08 +0000455 asn_MAP_Stuff_1_tag2el,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000456 4, /* Count of tags in the map */
Lev Walkine0272aa2005-03-04 11:26:08 +0000457 asn_MAP_Stuff_1_tag2el_cxer,
Lev Walkinf82138b2005-02-25 08:20:32 +0000458 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000459 1, /* Whether extensible */
Lev Walkine0272aa2005-03-04 11:26:08 +0000460 (unsigned int *)asn_MAP_Stuff_1_mmap /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000461};
Lev Walkindfae9752004-09-29 13:19:37 +0000462asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000463 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000464 "Stuff",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000465 SET_free,
466 SET_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000467 SET_constraint,
468 SET_decode_ber,
469 SET_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000470 SET_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000471 SET_encode_xer,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000472 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000473 asn_DEF_Stuff_1_tags,
474 sizeof(asn_DEF_Stuff_1_tags)
475 /sizeof(asn_DEF_Stuff_1_tags[0]), /* 1 */
476 asn_DEF_Stuff_1_tags, /* Same as above */
477 sizeof(asn_DEF_Stuff_1_tags)
478 /sizeof(asn_DEF_Stuff_1_tags[0]), /* 1 */
479 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000480 3, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000481 &asn_SPC_Stuff_1_specs /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000482};
483