blob: 87077dd279e8eac7b054f480a2ddbbe40dbc0e72 [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 Walkinba68c912017-07-06 07:52:39 -070060 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +000061 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000062 asn_DEF_Forest_tags_1,
63 sizeof(asn_DEF_Forest_tags_1)
64 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
65 asn_DEF_Forest_tags_1, /* Same as above */
66 sizeof(asn_DEF_Forest_tags_1)
67 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
68 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +000069 asn_MBR_Forest_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +000070 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000071 &asn_SPC_Forest_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +000072};
73
74
75/*** <<< INCLUDES [Tree] >>> ***/
76
77#include <INTEGER.h>
78#include <constr_SEQUENCE.h>
79
Lev Walkin03ba3e92004-08-22 03:18:17 +000080/*** <<< TYPE-DECLS [Tree] >>> ***/
81
Lev Walkin03ba3e92004-08-22 03:18:17 +000082typedef struct Tree {
83 INTEGER_t height;
84 INTEGER_t width;
85
86 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000087 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000088} Tree_t;
89
Lev Walkinc8285712005-03-04 22:18:20 +000090/*** <<< FUNC-DECLS [Tree] >>> ***/
91
92extern asn_TYPE_descriptor_t asn_DEF_Tree;
93
Lev Walkin03ba3e92004-08-22 03:18:17 +000094/*** <<< STAT-DEFS [Tree] >>> ***/
95
Lev Walkine0272aa2005-03-04 11:26:08 +000096static asn_TYPE_member_t asn_MBR_Tree_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000097 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
Lev Walkin03ba3e92004-08-22 03:18:17 +000098 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
99 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000100 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000101 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000102 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
103 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000104 .name = "height"
105 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000106 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000107 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
108 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000109 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000110 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000111 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
112 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000113 .name = "width"
114 },
115};
Lev Walkina7591b52014-10-12 18:37:35 -0700116static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000117 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
118};
Lev Walkina7591b52014-10-12 18:37:35 -0700119static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700120 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
121 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000122};
Lev Walkin59b176e2005-11-26 11:25:14 +0000123static asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000124 sizeof(struct Tree),
Lev Walkindfae9752004-09-29 13:19:37 +0000125 offsetof(struct Tree, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000126 asn_MAP_Tree_tag2el_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000127 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000128 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000129 -1, /* Start extensions */
130 -1 /* Stop extensions */
131};
Lev Walkindfae9752004-09-29 13:19:37 +0000132asn_TYPE_descriptor_t asn_DEF_Tree = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000133 "Tree",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000134 "Tree",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000135 SEQUENCE_free,
136 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000137 SEQUENCE_constraint,
138 SEQUENCE_decode_ber,
139 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000140 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000141 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000142 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700143 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000144 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000145 asn_DEF_Tree_tags_1,
146 sizeof(asn_DEF_Tree_tags_1)
147 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
148 asn_DEF_Tree_tags_1, /* Same as above */
149 sizeof(asn_DEF_Tree_tags_1)
150 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
151 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000152 asn_MBR_Tree_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000153 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000154 &asn_SPC_Tree_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000155};
156
157
158/*** <<< INCLUDES [Stuff] >>> ***/
159
Lev Walkin03ba3e92004-08-22 03:18:17 +0000160#include <asn_SET_OF.h>
161#include <constr_SET_OF.h>
162#include <BIT_STRING.h>
163#include <constr_SEQUENCE.h>
Lev Walkin2a8672e2004-10-03 09:14:49 +0000164#include <INTEGER.h>
165#include <constr_CHOICE.h>
Lev Walkin03ba3e92004-08-22 03:18:17 +0000166#include <constr_SET.h>
167
168/*** <<< DEPS [Stuff] >>> ***/
169
170
171/*
172 * Method of determining the components presence
173 */
174typedef enum Stuff_PR {
175 Stuff_PR_trees, /* Member trees is present */
176 Stuff_PR_anything, /* Member anything is present */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000177 Stuff_PR_other, /* Member other is present */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000178} Stuff_PR;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000179typedef enum other_PR {
180 other_PR_NOTHING, /* No components present */
181 other_PR_a,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000182 other_PR_b
Lev Walkin2a8672e2004-10-03 09:14:49 +0000183} other_PR;
Lev Walkinc8285712005-03-04 22:18:20 +0000184
185/*** <<< FWD-DECLS [Stuff] >>> ***/
186
Lev Walkinbf56d542005-03-04 23:50:56 +0000187struct Forest;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000188
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800189/*** <<< FWD-DEFS [Stuff] >>> ***/
190
191typedef struct Member {
192 BIT_STRING_t cup_of_coffee;
193 /*
194 * This type is extensible,
195 * possible extensions are below.
196 */
197
198 /* Context for parsing across buffer boundaries */
199 asn_struct_ctx_t _asn_ctx;
200} Member;
201
Lev Walkin03ba3e92004-08-22 03:18:17 +0000202/*** <<< TYPE-DECLS [Stuff] >>> ***/
203
Lev Walkin03ba3e92004-08-22 03:18:17 +0000204typedef struct Stuff {
205 struct trees {
Lev Walkinc8285712005-03-04 22:18:20 +0000206 A_SET_OF(struct Forest) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000207
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 } *trees;
211 struct anything {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800212 A_SET_OF(Member) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000213
214 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000215 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000216 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000217 /*
218 * This type is extensible,
219 * possible extensions are below.
220 */
221 struct other {
222 other_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000223 union Stuff__other_u {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000224 INTEGER_t a;
225 INTEGER_t b;
226 } choice;
227
228 /* Context for parsing across buffer boundaries */
229 asn_struct_ctx_t _asn_ctx;
230 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000231
232 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
233 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000234 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000235
236 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000237 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000238} Stuff_t;
239
Lev Walkinc8285712005-03-04 22:18:20 +0000240/*** <<< FUNC-DECLS [Stuff] >>> ***/
241
242extern asn_TYPE_descriptor_t asn_DEF_Stuff;
243
244/*** <<< POST-INCLUDE [Stuff] >>> ***/
245
Lev Walkin22b5ed42006-09-13 02:51:20 +0000246#include "Forest.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000247
Lev Walkin03ba3e92004-08-22 03:18:17 +0000248/*** <<< STAT-DEFS [Stuff] >>> ***/
249
Lev Walkine0272aa2005-03-04 11:26:08 +0000250static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000251 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000252 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
253 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000254 .type = &asn_DEF_Forest,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000255 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000256 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
257 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000258 .name = ""
259 },
260};
Lev Walkina7591b52014-10-12 18:37:35 -0700261static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000262 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000263 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000264};
Lev Walkin59b176e2005-11-26 11:25:14 +0000265static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000266 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000267 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000268 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000269};
Lev Walkind04430c2004-09-07 06:44:29 +0000270static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000271asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000272 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000273 "trees",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000274 SET_OF_free,
275 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000276 SET_OF_constraint,
277 SET_OF_decode_ber,
278 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000279 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000280 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000281 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700282 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000283 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000284 asn_DEF_trees_tags_2,
285 sizeof(asn_DEF_trees_tags_2)
286 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
287 asn_DEF_trees_tags_2, /* Same as above */
288 sizeof(asn_DEF_trees_tags_2)
289 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
290 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000291 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000292 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000293 &asn_SPC_trees_specs_2 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000294};
295
Lev Walkine8318b82005-03-06 09:29:03 +0000296static asn_TYPE_member_t asn_MBR_Member_5[] = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000297 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000298 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
299 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000300 .type = &asn_DEF_BIT_STRING,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000301 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000302 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
303 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000304 .name = "cup-of-coffee"
305 },
306};
Lev Walkina7591b52014-10-12 18:37:35 -0700307static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000308 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
309};
Lev Walkina7591b52014-10-12 18:37:35 -0700310static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700311 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000312};
Lev Walkin59b176e2005-11-26 11:25:14 +0000313static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000314 sizeof(struct Member),
315 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000316 asn_MAP_Member_tag2el_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000317 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000318 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000319 0, /* Start extensions */
320 2 /* Stop extensions */
321};
Lev Walkind04430c2004-09-07 06:44:29 +0000322static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000323asn_TYPE_descriptor_t asn_DEF_Member_5 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000324 "SEQUENCE",
325 "SEQUENCE",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000326 SEQUENCE_free,
327 SEQUENCE_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000328 SEQUENCE_constraint,
329 SEQUENCE_decode_ber,
330 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000331 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000332 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000333 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700334 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000335 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000336 asn_DEF_Member_tags_5,
337 sizeof(asn_DEF_Member_tags_5)
338 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
339 asn_DEF_Member_tags_5, /* Same as above */
340 sizeof(asn_DEF_Member_tags_5)
341 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
342 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000343 asn_MBR_Member_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000344 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000345 &asn_SPC_Member_specs_5 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000346};
347
Lev Walkine8318b82005-03-06 09:29:03 +0000348static asn_TYPE_member_t asn_MBR_anything_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000349 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000350 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
351 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000352 .type = &asn_DEF_Member_5,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000353 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000354 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
355 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000356 .name = ""
357 },
358};
Lev Walkina7591b52014-10-12 18:37:35 -0700359static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000360 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000361 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000362};
Lev Walkin59b176e2005-11-26 11:25:14 +0000363static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000364 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000365 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000366 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000367};
Lev Walkind04430c2004-09-07 06:44:29 +0000368static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000369asn_TYPE_descriptor_t asn_DEF_anything_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000370 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000371 "anything",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000372 SET_OF_free,
373 SET_OF_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000374 SET_OF_constraint,
375 SET_OF_decode_ber,
376 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000377 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000378 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000379 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700380 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000381 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000382 asn_DEF_anything_tags_4,
383 sizeof(asn_DEF_anything_tags_4)
384 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
385 asn_DEF_anything_tags_4, /* Same as above */
386 sizeof(asn_DEF_anything_tags_4)
387 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
388 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000389 asn_MBR_anything_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000390 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000391 &asn_SPC_anything_specs_4 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000392};
393
Lev Walkine8318b82005-03-06 09:29:03 +0000394static asn_TYPE_member_t asn_MBR_other_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000395 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000396 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 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 = "a"
403 },
404 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
405 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
406 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000407 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000408 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000409 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
410 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000411 .name = "b"
412 },
413};
Lev Walkina7591b52014-10-12 18:37:35 -0700414static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700415 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
416 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000417};
Lev Walkin59b176e2005-11-26 11:25:14 +0000418static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000419 sizeof(struct other),
420 offsetof(struct other, _asn_ctx),
421 offsetof(struct other, present),
422 sizeof(((struct other *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000423 asn_MAP_other_tag2el_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000424 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000425 .canonical_order = 0,
426 .ext_start = -1 /* Extensions start */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000427};
428static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000429asn_TYPE_descriptor_t asn_DEF_other_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000430 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000431 "other",
Lev Walkin2a8672e2004-10-03 09:14:49 +0000432 CHOICE_free,
433 CHOICE_print,
434 CHOICE_constraint,
435 CHOICE_decode_ber,
436 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000437 CHOICE_decode_xer,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000438 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000439 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700440 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000441 CHOICE_outmost_tag,
442 0, /* No effective tags (pointer) */
443 0, /* No effective tags (count) */
444 0, /* No tags (pointer) */
445 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000446 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000447 asn_MBR_other_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000448 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000449 &asn_SPC_other_specs_9 /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000450};
451
Lev Walkine0272aa2005-03-04 11:26:08 +0000452static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000453 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
454 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000455 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000456 .type = &asn_DEF_trees_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000457 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000458 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
459 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000460 .name = "trees"
461 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000462 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
463 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000464 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000465 .type = &asn_DEF_anything_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000466 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000467 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
468 .default_value = 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000469 .name = "anything"
470 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000471 { ATF_POINTER, 1, offsetof(struct Stuff, other),
Lev Walkin2a8672e2004-10-03 09:14:49 +0000472 .tag = -1 /* Ambiguous tag (CHOICE?) */,
473 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000474 .type = &asn_DEF_other_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000475 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000476 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
477 .default_value = 0,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000478 .name = "other"
479 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000480};
Lev Walkina7591b52014-10-12 18:37:35 -0700481static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000482 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
483};
Lev Walkina7591b52014-10-12 18:37:35 -0700484static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700485 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */
486 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
487 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
488 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000489};
Lev Walkina7591b52014-10-12 18:37:35 -0700490static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700491 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
492 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
493 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000494};
Lev Walkina7591b52014-10-12 18:37:35 -0700495static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000496 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000497};
Lev Walkin59b176e2005-11-26 11:25:14 +0000498static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000499 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000500 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000501 offsetof(struct Stuff, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000502 asn_MAP_Stuff_tag2el_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000503 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000504 asn_MAP_Stuff_tag2el_cxer_1,
Lev Walkinf82138b2005-02-25 08:20:32 +0000505 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000506 1, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700507 (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000508};
Lev Walkindfae9752004-09-29 13:19:37 +0000509asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000510 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000511 "Stuff",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000512 SET_free,
513 SET_print,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000514 SET_constraint,
515 SET_decode_ber,
516 SET_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000517 SET_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000518 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000519 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700520 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000521 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000522 asn_DEF_Stuff_tags_1,
523 sizeof(asn_DEF_Stuff_tags_1)
524 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
525 asn_DEF_Stuff_tags_1, /* Same as above */
526 sizeof(asn_DEF_Stuff_tags_1)
527 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
528 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000529 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000530 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000531 &asn_SPC_Stuff_specs_1 /* Additional specs */
532};
533