blob: b6f81ca3747b26aca5f0190b023a90b6c58ef73d [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 Walkinb33425f2017-07-14 14:59:52 +040036 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000037 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
38 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +000039 .name = ""
40 },
41};
Lev Walkina7591b52014-10-12 18:37:35 -070042static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000043 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
44};
Lev Walkin59b176e2005-11-26 11:25:14 +000045static asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000046 sizeof(struct Forest),
Lev Walkindfae9752004-09-29 13:19:37 +000047 offsetof(struct Forest, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000048 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +000049};
Lev Walkindfae9752004-09-29 13:19:37 +000050asn_TYPE_descriptor_t asn_DEF_Forest = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000051 "Forest",
Lev Walkindc06f6b2004-10-20 15:50:55 +000052 "Forest",
Lev Walkina9cc46e2004-09-22 16:06:28 +000053 SET_OF_free,
54 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +000055 SET_OF_constraint,
56 SET_OF_decode_ber,
57 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000058 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000059 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070060 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040061 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +000062 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000063 asn_DEF_Forest_tags_1,
64 sizeof(asn_DEF_Forest_tags_1)
65 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
66 asn_DEF_Forest_tags_1, /* Same as above */
67 sizeof(asn_DEF_Forest_tags_1)
68 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040069 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000070 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +000071 asn_MBR_Forest_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +000072 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000073 &asn_SPC_Forest_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +000074};
75
76
77/*** <<< INCLUDES [Tree] >>> ***/
78
79#include <INTEGER.h>
80#include <constr_SEQUENCE.h>
81
Lev Walkin03ba3e92004-08-22 03:18:17 +000082/*** <<< TYPE-DECLS [Tree] >>> ***/
83
Lev Walkin03ba3e92004-08-22 03:18:17 +000084typedef struct Tree {
85 INTEGER_t height;
86 INTEGER_t width;
87
88 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000089 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000090} Tree_t;
91
Lev Walkinc8285712005-03-04 22:18:20 +000092/*** <<< FUNC-DECLS [Tree] >>> ***/
93
94extern asn_TYPE_descriptor_t asn_DEF_Tree;
95
Lev Walkin03ba3e92004-08-22 03:18:17 +000096/*** <<< STAT-DEFS [Tree] >>> ***/
97
Lev Walkine0272aa2005-03-04 11:26:08 +000098static asn_TYPE_member_t asn_MBR_Tree_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000099 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000100 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
101 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000102 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000103 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400104 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000105 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
106 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000107 .name = "height"
108 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000109 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000110 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
111 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000112 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000113 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400114 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000115 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
116 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000117 .name = "width"
118 },
119};
Lev Walkina7591b52014-10-12 18:37:35 -0700120static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000121 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
122};
Lev Walkina7591b52014-10-12 18:37:35 -0700123static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700124 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
125 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000126};
Lev Walkin59b176e2005-11-26 11:25:14 +0000127static asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000128 sizeof(struct Tree),
Lev Walkindfae9752004-09-29 13:19:37 +0000129 offsetof(struct Tree, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 asn_MAP_Tree_tag2el_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000131 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000132 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000133 -1, /* Start extensions */
134 -1 /* Stop extensions */
135};
Lev Walkindfae9752004-09-29 13:19:37 +0000136asn_TYPE_descriptor_t asn_DEF_Tree = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000137 "Tree",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000138 "Tree",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000139 SEQUENCE_free,
140 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000141 SEQUENCE_constraint,
142 SEQUENCE_decode_ber,
143 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000144 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000145 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700146 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400147 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000148 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000149 asn_DEF_Tree_tags_1,
150 sizeof(asn_DEF_Tree_tags_1)
151 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
152 asn_DEF_Tree_tags_1, /* Same as above */
153 sizeof(asn_DEF_Tree_tags_1)
154 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400155 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000156 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000157 asn_MBR_Tree_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000158 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000159 &asn_SPC_Tree_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000160};
161
162
163/*** <<< INCLUDES [Stuff] >>> ***/
164
Lev Walkin03ba3e92004-08-22 03:18:17 +0000165#include <asn_SET_OF.h>
166#include <constr_SET_OF.h>
167#include <BIT_STRING.h>
168#include <constr_SEQUENCE.h>
Lev Walkin2a8672e2004-10-03 09:14:49 +0000169#include <INTEGER.h>
170#include <constr_CHOICE.h>
Lev Walkin03ba3e92004-08-22 03:18:17 +0000171#include <constr_SET.h>
172
173/*** <<< DEPS [Stuff] >>> ***/
174
175
176/*
177 * Method of determining the components presence
178 */
179typedef enum Stuff_PR {
180 Stuff_PR_trees, /* Member trees is present */
181 Stuff_PR_anything, /* Member anything is present */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000182 Stuff_PR_other, /* Member other is present */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000183} Stuff_PR;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000184typedef enum other_PR {
185 other_PR_NOTHING, /* No components present */
186 other_PR_a,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000187 other_PR_b
Lev Walkin2a8672e2004-10-03 09:14:49 +0000188} other_PR;
Lev Walkinc8285712005-03-04 22:18:20 +0000189
190/*** <<< FWD-DECLS [Stuff] >>> ***/
191
Lev Walkinbf56d542005-03-04 23:50:56 +0000192struct Forest;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000193
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800194/*** <<< FWD-DEFS [Stuff] >>> ***/
195
196typedef struct Member {
197 BIT_STRING_t cup_of_coffee;
198 /*
199 * This type is extensible,
200 * possible extensions are below.
201 */
202
203 /* Context for parsing across buffer boundaries */
204 asn_struct_ctx_t _asn_ctx;
205} Member;
206
Lev Walkin03ba3e92004-08-22 03:18:17 +0000207/*** <<< TYPE-DECLS [Stuff] >>> ***/
208
Lev Walkin03ba3e92004-08-22 03:18:17 +0000209typedef struct Stuff {
210 struct trees {
Lev Walkinc8285712005-03-04 22:18:20 +0000211 A_SET_OF(struct Forest) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000212
213 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000214 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000215 } *trees;
216 struct anything {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800217 A_SET_OF(Member) list;
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 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000222 /*
223 * This type is extensible,
224 * possible extensions are below.
225 */
226 struct other {
227 other_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000228 union Stuff__other_u {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000229 INTEGER_t a;
230 INTEGER_t b;
231 } choice;
232
233 /* Context for parsing across buffer boundaries */
234 asn_struct_ctx_t _asn_ctx;
235 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000236
237 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
238 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000239 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000240
241 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000242 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000243} Stuff_t;
244
Lev Walkinc8285712005-03-04 22:18:20 +0000245/*** <<< FUNC-DECLS [Stuff] >>> ***/
246
247extern asn_TYPE_descriptor_t asn_DEF_Stuff;
248
249/*** <<< POST-INCLUDE [Stuff] >>> ***/
250
Lev Walkin22b5ed42006-09-13 02:51:20 +0000251#include "Forest.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000252
Lev Walkin03ba3e92004-08-22 03:18:17 +0000253/*** <<< STAT-DEFS [Stuff] >>> ***/
254
Lev Walkine0272aa2005-03-04 11:26:08 +0000255static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000256 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000257 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
258 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000259 .type = &asn_DEF_Forest,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000260 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400261 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000262 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
263 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000264 .name = ""
265 },
266};
Lev Walkina7591b52014-10-12 18:37:35 -0700267static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000268 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000269 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000270};
Lev Walkin59b176e2005-11-26 11:25:14 +0000271static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000272 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000273 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000274 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000275};
Lev Walkind04430c2004-09-07 06:44:29 +0000276static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000277asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000278 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000279 "trees",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000280 SET_OF_free,
281 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000282 SET_OF_constraint,
283 SET_OF_decode_ber,
284 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000285 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000286 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700287 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400288 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000289 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000290 asn_DEF_trees_tags_2,
291 sizeof(asn_DEF_trees_tags_2)
292 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
293 asn_DEF_trees_tags_2, /* Same as above */
294 sizeof(asn_DEF_trees_tags_2)
295 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400296 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000297 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000298 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000299 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000300 &asn_SPC_trees_specs_2 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000301};
302
Lev Walkine8318b82005-03-06 09:29:03 +0000303static asn_TYPE_member_t asn_MBR_Member_5[] = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000304 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000305 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
306 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000307 .type = &asn_DEF_BIT_STRING,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000308 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400309 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000310 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
311 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000312 .name = "cup-of-coffee"
313 },
314};
Lev Walkina7591b52014-10-12 18:37:35 -0700315static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000316 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
317};
Lev Walkina7591b52014-10-12 18:37:35 -0700318static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700319 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000320};
Lev Walkin59b176e2005-11-26 11:25:14 +0000321static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000322 sizeof(struct Member),
323 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000324 asn_MAP_Member_tag2el_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000325 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000326 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000327 0, /* Start extensions */
328 2 /* Stop extensions */
329};
Lev Walkind04430c2004-09-07 06:44:29 +0000330static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000331asn_TYPE_descriptor_t asn_DEF_Member_5 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000332 "SEQUENCE",
333 "SEQUENCE",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000334 SEQUENCE_free,
335 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000336 SEQUENCE_constraint,
337 SEQUENCE_decode_ber,
338 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000339 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000340 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700341 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400342 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000343 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000344 asn_DEF_Member_tags_5,
345 sizeof(asn_DEF_Member_tags_5)
346 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
347 asn_DEF_Member_tags_5, /* Same as above */
348 sizeof(asn_DEF_Member_tags_5)
349 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400350 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000351 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000352 asn_MBR_Member_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000353 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000354 &asn_SPC_Member_specs_5 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000355};
356
Lev Walkine8318b82005-03-06 09:29:03 +0000357static asn_TYPE_member_t asn_MBR_anything_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000358 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000359 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
360 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000361 .type = &asn_DEF_Member_5,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000362 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400363 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000364 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
365 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000366 .name = ""
367 },
368};
Lev Walkina7591b52014-10-12 18:37:35 -0700369static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000370 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000371 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000372};
Lev Walkin59b176e2005-11-26 11:25:14 +0000373static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000374 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000375 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000376 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000377};
Lev Walkind04430c2004-09-07 06:44:29 +0000378static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000379asn_TYPE_descriptor_t asn_DEF_anything_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000380 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000381 "anything",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000382 SET_OF_free,
383 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000384 SET_OF_constraint,
385 SET_OF_decode_ber,
386 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000387 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000388 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700389 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400390 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000391 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000392 asn_DEF_anything_tags_4,
393 sizeof(asn_DEF_anything_tags_4)
394 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
395 asn_DEF_anything_tags_4, /* Same as above */
396 sizeof(asn_DEF_anything_tags_4)
397 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400398 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000399 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000400 asn_MBR_anything_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000401 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000402 &asn_SPC_anything_specs_4 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000403};
404
Lev Walkine8318b82005-03-06 09:29:03 +0000405static asn_TYPE_member_t asn_MBR_other_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000406 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000407 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
408 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000409 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000410 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400411 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000412 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
413 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000414 .name = "a"
415 },
416 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
417 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
418 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000419 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000420 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400421 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000422 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
423 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000424 .name = "b"
425 },
426};
Lev Walkina7591b52014-10-12 18:37:35 -0700427static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700428 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
429 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000430};
Lev Walkin59b176e2005-11-26 11:25:14 +0000431static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000432 sizeof(struct other),
433 offsetof(struct other, _asn_ctx),
434 offsetof(struct other, present),
435 sizeof(((struct other *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000436 asn_MAP_other_tag2el_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000437 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000438 .canonical_order = 0,
439 .ext_start = -1 /* Extensions start */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000440};
441static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000442asn_TYPE_descriptor_t asn_DEF_other_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000443 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000444 "other",
Lev Walkin2a8672e2004-10-03 09:14:49 +0000445 CHOICE_free,
446 CHOICE_print,
447 CHOICE_constraint,
448 CHOICE_decode_ber,
449 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000450 CHOICE_decode_xer,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000451 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700452 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400453 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000454 CHOICE_outmost_tag,
455 0, /* No effective tags (pointer) */
456 0, /* No effective tags (count) */
457 0, /* No tags (pointer) */
458 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400459 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000460 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000461 asn_MBR_other_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000462 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000463 &asn_SPC_other_specs_9 /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000464};
465
Lev Walkine0272aa2005-03-04 11:26:08 +0000466static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000467 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
468 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000469 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000470 .type = &asn_DEF_trees_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000471 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400472 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000473 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
474 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000475 .name = "trees"
476 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000477 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
478 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000479 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000480 .type = &asn_DEF_anything_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000481 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400482 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000483 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
484 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000485 .name = "anything"
486 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000487 { ATF_POINTER, 1, offsetof(struct Stuff, other),
Lev Walkin2a8672e2004-10-03 09:14:49 +0000488 .tag = -1 /* Ambiguous tag (CHOICE?) */,
489 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000490 .type = &asn_DEF_other_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000491 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400492 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000493 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
494 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000495 .name = "other"
496 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000497};
Lev Walkina7591b52014-10-12 18:37:35 -0700498static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000499 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
500};
Lev Walkina7591b52014-10-12 18:37:35 -0700501static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700502 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */
503 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
504 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
505 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000506};
Lev Walkina7591b52014-10-12 18:37:35 -0700507static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700508 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
509 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
510 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000511};
Lev Walkina7591b52014-10-12 18:37:35 -0700512static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000513 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000514};
Lev Walkin59b176e2005-11-26 11:25:14 +0000515static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000516 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000517 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000518 offsetof(struct Stuff, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000519 asn_MAP_Stuff_tag2el_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000520 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000521 asn_MAP_Stuff_tag2el_cxer_1,
Lev Walkinf82138b2005-02-25 08:20:32 +0000522 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000523 1, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700524 (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000525};
Lev Walkindfae9752004-09-29 13:19:37 +0000526asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000527 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000528 "Stuff",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000529 SET_free,
530 SET_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000531 SET_constraint,
532 SET_decode_ber,
533 SET_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000534 SET_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000535 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700536 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400537 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000538 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000539 asn_DEF_Stuff_tags_1,
540 sizeof(asn_DEF_Stuff_tags_1)
541 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
542 asn_DEF_Stuff_tags_1, /* Same as above */
543 sizeof(asn_DEF_Stuff_tags_1)
544 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400545 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000546 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000547 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000548 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000549 &asn_SPC_Stuff_specs_1 /* Additional specs */
550};
551