blob: 743d731c5f4853590a0a7f2fbb4746eee637dc44 [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 Walkina7591b52014-10-12 18:37:35 -070041static const 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 Walkina7591b52014-10-12 18:37:35 -0700115static const 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 Walkina7591b52014-10-12 18:37:35 -0700118static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700119 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
120 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
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
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800187/*** <<< FWD-DEFS [Stuff] >>> ***/
188
189typedef struct Member {
190 BIT_STRING_t cup_of_coffee;
191 /*
192 * This type is extensible,
193 * possible extensions are below.
194 */
195
196 /* Context for parsing across buffer boundaries */
197 asn_struct_ctx_t _asn_ctx;
198} Member;
199
Lev Walkin03ba3e92004-08-22 03:18:17 +0000200/*** <<< TYPE-DECLS [Stuff] >>> ***/
201
Lev Walkin03ba3e92004-08-22 03:18:17 +0000202typedef struct Stuff {
203 struct trees {
Lev Walkinc8285712005-03-04 22:18:20 +0000204 A_SET_OF(struct Forest) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000205
206 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000207 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000208 } *trees;
209 struct anything {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800210 A_SET_OF(Member) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000211
212 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000213 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000214 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000215 /*
216 * This type is extensible,
217 * possible extensions are below.
218 */
219 struct other {
220 other_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000221 union Stuff__other_u {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000222 INTEGER_t a;
223 INTEGER_t b;
224 } choice;
225
226 /* Context for parsing across buffer boundaries */
227 asn_struct_ctx_t _asn_ctx;
228 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000229
230 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
231 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000232 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000233
234 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000235 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000236} Stuff_t;
237
Lev Walkinc8285712005-03-04 22:18:20 +0000238/*** <<< FUNC-DECLS [Stuff] >>> ***/
239
240extern asn_TYPE_descriptor_t asn_DEF_Stuff;
241
242/*** <<< POST-INCLUDE [Stuff] >>> ***/
243
Lev Walkin22b5ed42006-09-13 02:51:20 +0000244#include "Forest.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000245
Lev Walkin03ba3e92004-08-22 03:18:17 +0000246/*** <<< STAT-DEFS [Stuff] >>> ***/
247
Lev Walkine0272aa2005-03-04 11:26:08 +0000248static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000249 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000250 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
251 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000252 .type = &asn_DEF_Forest,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000253 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000254 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
255 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000256 .name = ""
257 },
258};
Lev Walkina7591b52014-10-12 18:37:35 -0700259static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000260 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000261 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000262};
Lev Walkin59b176e2005-11-26 11:25:14 +0000263static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000264 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000265 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000266 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000267};
Lev Walkind04430c2004-09-07 06:44:29 +0000268static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000269asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000270 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000271 "trees",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000272 SET_OF_free,
273 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000274 SET_OF_constraint,
275 SET_OF_decode_ber,
276 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000277 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000278 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000279 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000280 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000281 asn_DEF_trees_tags_2,
282 sizeof(asn_DEF_trees_tags_2)
283 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
284 asn_DEF_trees_tags_2, /* Same as above */
285 sizeof(asn_DEF_trees_tags_2)
286 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
287 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000288 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000289 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000290 &asn_SPC_trees_specs_2 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000291};
292
Lev Walkine8318b82005-03-06 09:29:03 +0000293static asn_TYPE_member_t asn_MBR_Member_5[] = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000294 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000295 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
296 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000297 .type = &asn_DEF_BIT_STRING,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000298 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000299 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
300 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000301 .name = "cup-of-coffee"
302 },
303};
Lev Walkina7591b52014-10-12 18:37:35 -0700304static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000305 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
306};
Lev Walkina7591b52014-10-12 18:37:35 -0700307static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700308 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000309};
Lev Walkin59b176e2005-11-26 11:25:14 +0000310static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000311 sizeof(struct Member),
312 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000313 asn_MAP_Member_tag2el_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000314 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000315 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000316 0, /* Start extensions */
317 2 /* Stop extensions */
318};
Lev Walkind04430c2004-09-07 06:44:29 +0000319static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000320asn_TYPE_descriptor_t asn_DEF_Member_5 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000321 "SEQUENCE",
322 "SEQUENCE",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000323 SEQUENCE_free,
324 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000325 SEQUENCE_constraint,
326 SEQUENCE_decode_ber,
327 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000328 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000329 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000330 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000331 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000332 asn_DEF_Member_tags_5,
333 sizeof(asn_DEF_Member_tags_5)
334 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
335 asn_DEF_Member_tags_5, /* Same as above */
336 sizeof(asn_DEF_Member_tags_5)
337 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
338 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000339 asn_MBR_Member_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000340 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000341 &asn_SPC_Member_specs_5 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000342};
343
Lev Walkine8318b82005-03-06 09:29:03 +0000344static asn_TYPE_member_t asn_MBR_anything_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000345 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000346 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
347 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000348 .type = &asn_DEF_Member_5,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000349 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000350 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
351 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000352 .name = ""
353 },
354};
Lev Walkina7591b52014-10-12 18:37:35 -0700355static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000356 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000357 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000358};
Lev Walkin59b176e2005-11-26 11:25:14 +0000359static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000360 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000361 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000362 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000363};
Lev Walkind04430c2004-09-07 06:44:29 +0000364static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000365asn_TYPE_descriptor_t asn_DEF_anything_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000366 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000367 "anything",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000368 SET_OF_free,
369 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000370 SET_OF_constraint,
371 SET_OF_decode_ber,
372 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000373 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000374 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000375 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000376 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000377 asn_DEF_anything_tags_4,
378 sizeof(asn_DEF_anything_tags_4)
379 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
380 asn_DEF_anything_tags_4, /* Same as above */
381 sizeof(asn_DEF_anything_tags_4)
382 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
383 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000384 asn_MBR_anything_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000385 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000386 &asn_SPC_anything_specs_4 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000387};
388
Lev Walkine8318b82005-03-06 09:29:03 +0000389static asn_TYPE_member_t asn_MBR_other_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000390 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000391 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
392 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000393 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000394 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000395 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
396 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000397 .name = "a"
398 },
399 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
400 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
401 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000402 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000403 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000404 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
405 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000406 .name = "b"
407 },
408};
Lev Walkina7591b52014-10-12 18:37:35 -0700409static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700410 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
411 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000412};
Lev Walkin59b176e2005-11-26 11:25:14 +0000413static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000414 sizeof(struct other),
415 offsetof(struct other, _asn_ctx),
416 offsetof(struct other, present),
417 sizeof(((struct other *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000418 asn_MAP_other_tag2el_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000419 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000420 .canonical_order = 0,
421 .ext_start = -1 /* Extensions start */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000422};
423static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000424asn_TYPE_descriptor_t asn_DEF_other_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000425 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000426 "other",
Lev Walkin2a8672e2004-10-03 09:14:49 +0000427 CHOICE_free,
428 CHOICE_print,
429 CHOICE_constraint,
430 CHOICE_decode_ber,
431 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000432 CHOICE_decode_xer,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000433 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000434 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000435 CHOICE_outmost_tag,
436 0, /* No effective tags (pointer) */
437 0, /* No effective tags (count) */
438 0, /* No tags (pointer) */
439 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000440 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000441 asn_MBR_other_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000442 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000443 &asn_SPC_other_specs_9 /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000444};
445
Lev Walkine0272aa2005-03-04 11:26:08 +0000446static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000447 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
448 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000449 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000450 .type = &asn_DEF_trees_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000451 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000452 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
453 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000454 .name = "trees"
455 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000456 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
457 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000458 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000459 .type = &asn_DEF_anything_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000460 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000461 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
462 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000463 .name = "anything"
464 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000465 { ATF_POINTER, 1, offsetof(struct Stuff, other),
Lev Walkin2a8672e2004-10-03 09:14:49 +0000466 .tag = -1 /* Ambiguous tag (CHOICE?) */,
467 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000468 .type = &asn_DEF_other_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000469 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000470 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
471 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000472 .name = "other"
473 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000474};
Lev Walkina7591b52014-10-12 18:37:35 -0700475static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000476 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
477};
Lev Walkina7591b52014-10-12 18:37:35 -0700478static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700479 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */
480 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
481 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
482 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000483};
Lev Walkina7591b52014-10-12 18:37:35 -0700484static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700485 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
486 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
487 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000488};
Lev Walkina7591b52014-10-12 18:37:35 -0700489static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000490 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000491};
Lev Walkin59b176e2005-11-26 11:25:14 +0000492static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000493 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000494 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000495 offsetof(struct Stuff, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000496 asn_MAP_Stuff_tag2el_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000497 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000498 asn_MAP_Stuff_tag2el_cxer_1,
Lev Walkinf82138b2005-02-25 08:20:32 +0000499 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000500 1, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700501 (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000502};
Lev Walkindfae9752004-09-29 13:19:37 +0000503asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000504 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000505 "Stuff",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000506 SET_free,
507 SET_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000508 SET_constraint,
509 SET_decode_ber,
510 SET_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000511 SET_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000512 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000513 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000514 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000515 asn_DEF_Stuff_tags_1,
516 sizeof(asn_DEF_Stuff_tags_1)
517 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
518 asn_DEF_Stuff_tags_1, /* Same as above */
519 sizeof(asn_DEF_Stuff_tags_1)
520 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
521 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000522 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000523 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000524 &asn_SPC_Stuff_specs_1 /* Additional specs */
525};
526