blob: 576f5c4566a089193a3f3cf8627adec468c33630 [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 Walkinbf56d542005-03-04 23:50:56 +00009struct Tree;
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
Lev Walkin22b5ed42006-09-13 02:51:20 +000026#include "Tree.h"
Lev Walkinc8285712005-03-04 22:18:20 +000027
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 Walkin8eb4b572005-08-16 16:57:17 +000031 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +000032 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
33 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000034 .type = &asn_DEF_Tree,
Lev Walkinba58e1b2005-01-17 12:20:19 +000035 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000036 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
37 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +000038 .name = ""
39 },
40};
Lev Walkin59b176e2005-11-26 11:25:14 +000041static ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000042 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
43};
Lev Walkin59b176e2005-11-26 11:25:14 +000044static asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000045 sizeof(struct Forest),
Lev Walkindfae9752004-09-29 13:19:37 +000046 offsetof(struct Forest, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000047 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +000048};
Lev Walkindfae9752004-09-29 13:19:37 +000049asn_TYPE_descriptor_t asn_DEF_Forest = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000050 "Forest",
Lev Walkindc06f6b2004-10-20 15:50:55 +000051 "Forest",
Lev Walkina9cc46e2004-09-22 16:06:28 +000052 SET_OF_free,
53 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +000054 SET_OF_constraint,
55 SET_OF_decode_ber,
56 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000057 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000058 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000059 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +000060 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000061 asn_DEF_Forest_tags_1,
62 sizeof(asn_DEF_Forest_tags_1)
63 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
64 asn_DEF_Forest_tags_1, /* Same as above */
65 sizeof(asn_DEF_Forest_tags_1)
66 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
67 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +000068 asn_MBR_Forest_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +000069 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000070 &asn_SPC_Forest_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +000071};
72
73
74/*** <<< INCLUDES [Tree] >>> ***/
75
76#include <INTEGER.h>
77#include <constr_SEQUENCE.h>
78
Lev Walkin03ba3e92004-08-22 03:18:17 +000079/*** <<< TYPE-DECLS [Tree] >>> ***/
80
Lev Walkin03ba3e92004-08-22 03:18:17 +000081typedef struct Tree {
82 INTEGER_t height;
83 INTEGER_t width;
84
85 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000086 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000087} Tree_t;
88
Lev Walkinc8285712005-03-04 22:18:20 +000089/*** <<< FUNC-DECLS [Tree] >>> ***/
90
91extern asn_TYPE_descriptor_t asn_DEF_Tree;
92
Lev Walkin03ba3e92004-08-22 03:18:17 +000093/*** <<< STAT-DEFS [Tree] >>> ***/
94
Lev Walkine0272aa2005-03-04 11:26:08 +000095static asn_TYPE_member_t asn_MBR_Tree_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000096 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
Lev Walkin03ba3e92004-08-22 03:18:17 +000097 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
98 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000099 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000100 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000101 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
102 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000103 .name = "height"
104 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000105 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000106 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
107 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000108 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000109 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000110 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
111 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000112 .name = "width"
113 },
114};
Lev Walkin59b176e2005-11-26 11:25:14 +0000115static ber_tlv_tag_t asn_DEF_Tree_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000116 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
117};
Lev Walkin59b176e2005-11-26 11:25:14 +0000118static asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000119 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height at 17 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000120 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width at 19 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000121};
Lev Walkin59b176e2005-11-26 11:25:14 +0000122static asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000123 sizeof(struct Tree),
Lev Walkindfae9752004-09-29 13:19:37 +0000124 offsetof(struct Tree, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000125 asn_MAP_Tree_tag2el_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000126 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000128 -1, /* Start extensions */
129 -1 /* Stop extensions */
130};
Lev Walkindfae9752004-09-29 13:19:37 +0000131asn_TYPE_descriptor_t asn_DEF_Tree = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000132 "Tree",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000133 "Tree",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000134 SEQUENCE_free,
135 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000136 SEQUENCE_constraint,
137 SEQUENCE_decode_ber,
138 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000139 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000140 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000141 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000142 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000143 asn_DEF_Tree_tags_1,
144 sizeof(asn_DEF_Tree_tags_1)
145 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
146 asn_DEF_Tree_tags_1, /* Same as above */
147 sizeof(asn_DEF_Tree_tags_1)
148 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
149 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000150 asn_MBR_Tree_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000151 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000152 &asn_SPC_Tree_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000153};
154
155
156/*** <<< INCLUDES [Stuff] >>> ***/
157
Lev Walkin03ba3e92004-08-22 03:18:17 +0000158#include <asn_SET_OF.h>
159#include <constr_SET_OF.h>
160#include <BIT_STRING.h>
161#include <constr_SEQUENCE.h>
Lev Walkin2a8672e2004-10-03 09:14:49 +0000162#include <INTEGER.h>
163#include <constr_CHOICE.h>
Lev Walkin03ba3e92004-08-22 03:18:17 +0000164#include <constr_SET.h>
165
166/*** <<< DEPS [Stuff] >>> ***/
167
168
169/*
170 * Method of determining the components presence
171 */
172typedef enum Stuff_PR {
173 Stuff_PR_trees, /* Member trees is present */
174 Stuff_PR_anything, /* Member anything is present */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000175 Stuff_PR_other, /* Member other is present */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000176} Stuff_PR;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000177typedef enum other_PR {
178 other_PR_NOTHING, /* No components present */
179 other_PR_a,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000180 other_PR_b
Lev Walkin2a8672e2004-10-03 09:14:49 +0000181} other_PR;
Lev Walkinc8285712005-03-04 22:18:20 +0000182
183/*** <<< FWD-DECLS [Stuff] >>> ***/
184
Lev Walkinbf56d542005-03-04 23:50:56 +0000185struct Forest;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000186
187/*** <<< TYPE-DECLS [Stuff] >>> ***/
188
Lev Walkin03ba3e92004-08-22 03:18:17 +0000189typedef struct Stuff {
190 struct trees {
Lev Walkinc8285712005-03-04 22:18:20 +0000191 A_SET_OF(struct Forest) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000192
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 } *trees;
196 struct anything {
Lev Walkine0272aa2005-03-04 11:26:08 +0000197 A_SET_OF(struct Member {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000198 BIT_STRING_t cup_of_coffee;
199 /*
200 * This type is extensible,
201 * possible extensions are below.
202 */
203
204 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000205 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000206 } ) list;
207
208 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000209 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000210 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000211 /*
212 * This type is extensible,
213 * possible extensions are below.
214 */
215 struct other {
216 other_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000217 union Stuff__other_u {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000218 INTEGER_t a;
219 INTEGER_t b;
220 } choice;
221
222 /* Context for parsing across buffer boundaries */
223 asn_struct_ctx_t _asn_ctx;
224 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000225
226 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
227 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000228 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000229
230 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000231 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000232} Stuff_t;
233
Lev Walkinc8285712005-03-04 22:18:20 +0000234/*** <<< FUNC-DECLS [Stuff] >>> ***/
235
236extern asn_TYPE_descriptor_t asn_DEF_Stuff;
237
238/*** <<< POST-INCLUDE [Stuff] >>> ***/
239
Lev Walkin22b5ed42006-09-13 02:51:20 +0000240#include "Forest.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000241
Lev Walkin03ba3e92004-08-22 03:18:17 +0000242/*** <<< STAT-DEFS [Stuff] >>> ***/
243
Lev Walkine0272aa2005-03-04 11:26:08 +0000244static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000245 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000246 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
247 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000248 .type = &asn_DEF_Forest,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000249 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000250 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
251 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000252 .name = ""
253 },
254};
Lev Walkin59b176e2005-11-26 11:25:14 +0000255static ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000256 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000257 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000258};
Lev Walkin59b176e2005-11-26 11:25:14 +0000259static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000260 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000261 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000262 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000263};
Lev Walkind04430c2004-09-07 06:44:29 +0000264static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000265asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000266 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000267 "trees",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000268 SET_OF_free,
269 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000270 SET_OF_constraint,
271 SET_OF_decode_ber,
272 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000273 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000274 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000275 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000276 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000277 asn_DEF_trees_tags_2,
278 sizeof(asn_DEF_trees_tags_2)
279 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
280 asn_DEF_trees_tags_2, /* Same as above */
281 sizeof(asn_DEF_trees_tags_2)
282 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
283 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000284 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000285 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000286 &asn_SPC_trees_specs_2 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000287};
288
Lev Walkine8318b82005-03-06 09:29:03 +0000289static asn_TYPE_member_t asn_MBR_Member_5[] = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000290 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000291 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
292 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000293 .type = &asn_DEF_BIT_STRING,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000294 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000295 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
296 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000297 .name = "cup-of-coffee"
298 },
299};
Lev Walkin59b176e2005-11-26 11:25:14 +0000300static ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000301 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
302};
Lev Walkin59b176e2005-11-26 11:25:14 +0000303static asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
Lev Walkinf82138b2005-02-25 08:20:32 +0000304 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee at 32 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000305};
Lev Walkin59b176e2005-11-26 11:25:14 +0000306static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000307 sizeof(struct Member),
308 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000309 asn_MAP_Member_tag2el_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000310 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000311 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000312 0, /* Start extensions */
313 2 /* Stop extensions */
314};
Lev Walkind04430c2004-09-07 06:44:29 +0000315static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000316asn_TYPE_descriptor_t asn_DEF_Member_5 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000317 "SEQUENCE",
318 "SEQUENCE",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000319 SEQUENCE_free,
320 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000321 SEQUENCE_constraint,
322 SEQUENCE_decode_ber,
323 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000324 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000325 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000326 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000327 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000328 asn_DEF_Member_tags_5,
329 sizeof(asn_DEF_Member_tags_5)
330 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
331 asn_DEF_Member_tags_5, /* Same as above */
332 sizeof(asn_DEF_Member_tags_5)
333 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
334 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000335 asn_MBR_Member_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000336 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000337 &asn_SPC_Member_specs_5 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000338};
339
Lev Walkine8318b82005-03-06 09:29:03 +0000340static asn_TYPE_member_t asn_MBR_anything_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000341 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000342 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
343 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000344 .type = &asn_DEF_Member_5,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000345 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000346 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
347 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000348 .name = ""
349 },
350};
Lev Walkin59b176e2005-11-26 11:25:14 +0000351static ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000352 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000353 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000354};
Lev Walkin59b176e2005-11-26 11:25:14 +0000355static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000356 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000357 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000358 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000359};
Lev Walkind04430c2004-09-07 06:44:29 +0000360static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000361asn_TYPE_descriptor_t asn_DEF_anything_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000362 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000363 "anything",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000364 SET_OF_free,
365 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000366 SET_OF_constraint,
367 SET_OF_decode_ber,
368 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000369 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000370 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000371 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000372 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000373 asn_DEF_anything_tags_4,
374 sizeof(asn_DEF_anything_tags_4)
375 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
376 asn_DEF_anything_tags_4, /* Same as above */
377 sizeof(asn_DEF_anything_tags_4)
378 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
379 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000380 asn_MBR_anything_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000381 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000382 &asn_SPC_anything_specs_4 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000383};
384
Lev Walkine8318b82005-03-06 09:29:03 +0000385static asn_TYPE_member_t asn_MBR_other_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000386 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000387 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
388 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000389 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000390 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000391 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
392 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000393 .name = "a"
394 },
395 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
396 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
397 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000398 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000399 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000400 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
401 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000402 .name = "b"
403 },
404};
Lev Walkin59b176e2005-11-26 11:25:14 +0000405static asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000406 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 26 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000407 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b at 28 */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000408};
Lev Walkin59b176e2005-11-26 11:25:14 +0000409static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000410 sizeof(struct other),
411 offsetof(struct other, _asn_ctx),
412 offsetof(struct other, present),
413 sizeof(((struct other *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000414 asn_MAP_other_tag2el_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000415 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000416 .canonical_order = 0,
417 .ext_start = -1 /* Extensions start */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000418};
419static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000420asn_TYPE_descriptor_t asn_DEF_other_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000421 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000422 "other",
Lev Walkin2a8672e2004-10-03 09:14:49 +0000423 CHOICE_free,
424 CHOICE_print,
425 CHOICE_constraint,
426 CHOICE_decode_ber,
427 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000428 CHOICE_decode_xer,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000429 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000430 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000431 CHOICE_outmost_tag,
432 0, /* No effective tags (pointer) */
433 0, /* No effective tags (count) */
434 0, /* No tags (pointer) */
435 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000436 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000437 asn_MBR_other_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000438 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000439 &asn_SPC_other_specs_9 /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000440};
441
Lev Walkine0272aa2005-03-04 11:26:08 +0000442static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000443 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
444 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000445 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000446 .type = &asn_DEF_trees_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000447 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000448 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
449 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000450 .name = "trees"
451 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000452 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
453 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000454 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000455 .type = &asn_DEF_anything_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000456 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000457 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
458 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000459 .name = "anything"
460 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000461 { ATF_POINTER, 1, offsetof(struct Stuff, other),
Lev Walkin2a8672e2004-10-03 09:14:49 +0000462 .tag = -1 /* Ambiguous tag (CHOICE?) */,
463 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000464 .type = &asn_DEF_other_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000465 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000466 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
467 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000468 .name = "other"
469 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000470};
Lev Walkin59b176e2005-11-26 11:25:14 +0000471static ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000472 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
473};
Lev Walkin59b176e2005-11-26 11:25:14 +0000474static asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000475 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a at 26 */
476 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */
477 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000478 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b at 28 */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000479};
Lev Walkin59b176e2005-11-26 11:25:14 +0000480static asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000481 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees at 23 */
482 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything at 34 */
Lev Walkinf82138b2005-02-25 08:20:32 +0000483 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a at 26 */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000484};
Lev Walkin59b176e2005-11-26 11:25:14 +0000485static uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000486 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000487};
Lev Walkin59b176e2005-11-26 11:25:14 +0000488static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000489 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000490 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000491 offsetof(struct Stuff, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000492 asn_MAP_Stuff_tag2el_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000493 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000494 asn_MAP_Stuff_tag2el_cxer_1,
Lev Walkinf82138b2005-02-25 08:20:32 +0000495 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000496 1, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +0000497 (unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000498};
Lev Walkindfae9752004-09-29 13:19:37 +0000499asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000500 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000501 "Stuff",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000502 SET_free,
503 SET_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000504 SET_constraint,
505 SET_decode_ber,
506 SET_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000507 SET_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000508 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000509 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000510 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000511 asn_DEF_Stuff_tags_1,
512 sizeof(asn_DEF_Stuff_tags_1)
513 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
514 asn_DEF_Stuff_tags_1, /* Same as above */
515 sizeof(asn_DEF_Stuff_tags_1)
516 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
517 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000518 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000519 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000520 &asn_SPC_Stuff_specs_1 /* Additional specs */
521};
522