blob: 2a4cf8f690d43ec48422b8ee49df4bdf6f4d8049 [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;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080023extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1;
24extern asn_TYPE_member_t asn_MBR_Forest_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +000025
26/*** <<< POST-INCLUDE [Forest] >>> ***/
27
Lev Walkin22b5ed42006-09-13 02:51:20 +000028#include "Tree.h"
Lev Walkinc8285712005-03-04 22:18:20 +000029
Lev Walkin03ba3e92004-08-22 03:18:17 +000030/*** <<< STAT-DEFS [Forest] >>> ***/
31
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080032asn_TYPE_member_t asn_MBR_Forest_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000033 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +000034 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
35 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000036 .type = &asn_DEF_Tree,
Lev Walkin67a30122017-08-10 05:48:54 -070037 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070038 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070039 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +000040 .name = ""
41 },
42};
Lev Walkina7591b52014-10-12 18:37:35 -070043static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000044 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
45};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080046asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000047 sizeof(struct Forest),
Lev Walkindfae9752004-09-29 13:19:37 +000048 offsetof(struct Forest, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000049 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +000050};
Lev Walkindfae9752004-09-29 13:19:37 +000051asn_TYPE_descriptor_t asn_DEF_Forest = {
Lev Walkin03ba3e92004-08-22 03:18:17 +000052 "Forest",
Lev Walkindc06f6b2004-10-20 15:50:55 +000053 "Forest",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080054 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +000055 asn_DEF_Forest_tags_1,
56 sizeof(asn_DEF_Forest_tags_1)
57 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
58 asn_DEF_Forest_tags_1, /* Same as above */
59 sizeof(asn_DEF_Forest_tags_1)
60 /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -070061 { 0, 0, SET_OF_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +000062 asn_MBR_Forest_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +000063 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000064 &asn_SPC_Forest_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +000065};
66
67
68/*** <<< INCLUDES [Tree] >>> ***/
69
70#include <INTEGER.h>
71#include <constr_SEQUENCE.h>
72
Lev Walkin03ba3e92004-08-22 03:18:17 +000073/*** <<< TYPE-DECLS [Tree] >>> ***/
74
Lev Walkin03ba3e92004-08-22 03:18:17 +000075typedef struct Tree {
76 INTEGER_t height;
77 INTEGER_t width;
78
79 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000080 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +000081} Tree_t;
82
Lev Walkinc8285712005-03-04 22:18:20 +000083/*** <<< FUNC-DECLS [Tree] >>> ***/
84
85extern asn_TYPE_descriptor_t asn_DEF_Tree;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080086extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1;
87extern asn_TYPE_member_t asn_MBR_Tree_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +000088
Lev Walkin03ba3e92004-08-22 03:18:17 +000089/*** <<< STAT-DEFS [Tree] >>> ***/
90
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080091asn_TYPE_member_t asn_MBR_Tree_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000092 { ATF_NOFLAGS, 0, offsetof(struct Tree, height),
Lev Walkin03ba3e92004-08-22 03:18:17 +000093 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
94 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000095 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -070096 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070097 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070098 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +000099 .name = "height"
100 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000101 { ATF_NOFLAGS, 0, offsetof(struct Tree, width),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000102 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
103 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000104 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700105 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700106 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700107 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000108 .name = "width"
109 },
110};
Lev Walkina7591b52014-10-12 18:37:35 -0700111static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000112 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
113};
Lev Walkina7591b52014-10-12 18:37:35 -0700114static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700115 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
116 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000117};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800118asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000119 sizeof(struct Tree),
Lev Walkindfae9752004-09-29 13:19:37 +0000120 offsetof(struct Tree, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700121 .tag2el = asn_MAP_Tree_tag2el_1,
122 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000123 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700124 -1, /* First extension addition */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000125};
Lev Walkindfae9752004-09-29 13:19:37 +0000126asn_TYPE_descriptor_t asn_DEF_Tree = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000127 "Tree",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000128 "Tree",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800129 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 asn_DEF_Tree_tags_1,
131 sizeof(asn_DEF_Tree_tags_1)
132 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
133 asn_DEF_Tree_tags_1, /* Same as above */
134 sizeof(asn_DEF_Tree_tags_1)
135 /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700136 { 0, 0, SEQUENCE_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000137 asn_MBR_Tree_1,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000138 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000139 &asn_SPC_Tree_specs_1 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000140};
141
142
143/*** <<< INCLUDES [Stuff] >>> ***/
144
Lev Walkin03ba3e92004-08-22 03:18:17 +0000145#include <asn_SET_OF.h>
146#include <constr_SET_OF.h>
147#include <BIT_STRING.h>
148#include <constr_SEQUENCE.h>
Lev Walkin2a8672e2004-10-03 09:14:49 +0000149#include <INTEGER.h>
150#include <constr_CHOICE.h>
Lev Walkin03ba3e92004-08-22 03:18:17 +0000151#include <constr_SET.h>
152
153/*** <<< DEPS [Stuff] >>> ***/
154
155
156/*
157 * Method of determining the components presence
158 */
159typedef enum Stuff_PR {
160 Stuff_PR_trees, /* Member trees is present */
161 Stuff_PR_anything, /* Member anything is present */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000162 Stuff_PR_other, /* Member other is present */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000163} Stuff_PR;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000164typedef enum other_PR {
165 other_PR_NOTHING, /* No components present */
166 other_PR_a,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000167 other_PR_b
Lev Walkin2a8672e2004-10-03 09:14:49 +0000168} other_PR;
Lev Walkinc8285712005-03-04 22:18:20 +0000169
170/*** <<< FWD-DECLS [Stuff] >>> ***/
171
Lev Walkinbf56d542005-03-04 23:50:56 +0000172struct Forest;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000173
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800174/*** <<< FWD-DEFS [Stuff] >>> ***/
175
176typedef struct Member {
177 BIT_STRING_t cup_of_coffee;
178 /*
179 * This type is extensible,
180 * possible extensions are below.
181 */
182
183 /* Context for parsing across buffer boundaries */
184 asn_struct_ctx_t _asn_ctx;
185} Member;
186
Lev Walkin03ba3e92004-08-22 03:18:17 +0000187/*** <<< 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 {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +0800197 A_SET_OF(Member) list;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000198
199 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000200 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000201 } *anything;
Lev Walkin2a8672e2004-10-03 09:14:49 +0000202 /*
203 * This type is extensible,
204 * possible extensions are below.
205 */
206 struct other {
207 other_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000208 union Stuff__other_u {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000209 INTEGER_t a;
210 INTEGER_t b;
211 } choice;
212
213 /* Context for parsing across buffer boundaries */
214 asn_struct_ctx_t _asn_ctx;
215 } *other;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000216
217 /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
218 unsigned int _presence_map
Lev Walkin2a8672e2004-10-03 09:14:49 +0000219 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin03ba3e92004-08-22 03:18:17 +0000220
221 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000222 asn_struct_ctx_t _asn_ctx;
Lev Walkin03ba3e92004-08-22 03:18:17 +0000223} Stuff_t;
224
Lev Walkinc8285712005-03-04 22:18:20 +0000225/*** <<< FUNC-DECLS [Stuff] >>> ***/
226
227extern asn_TYPE_descriptor_t asn_DEF_Stuff;
228
229/*** <<< POST-INCLUDE [Stuff] >>> ***/
230
Lev Walkin22b5ed42006-09-13 02:51:20 +0000231#include "Forest.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000232
Lev Walkin03ba3e92004-08-22 03:18:17 +0000233/*** <<< STAT-DEFS [Stuff] >>> ***/
234
Lev Walkine0272aa2005-03-04 11:26:08 +0000235static asn_TYPE_member_t asn_MBR_trees_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000236 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000237 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
238 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000239 .type = &asn_DEF_Forest,
Lev Walkin67a30122017-08-10 05:48:54 -0700240 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700241 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700242 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000243 .name = ""
244 },
245};
Lev Walkina7591b52014-10-12 18:37:35 -0700246static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000247 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000248 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000249};
Lev Walkin59b176e2005-11-26 11:25:14 +0000250static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000251 sizeof(struct trees),
Lev Walkindfae9752004-09-29 13:19:37 +0000252 offsetof(struct trees, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000253 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000254};
Lev Walkind04430c2004-09-07 06:44:29 +0000255static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000256asn_TYPE_descriptor_t asn_DEF_trees_2 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000257 "trees",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000258 "trees",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800259 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000260 asn_DEF_trees_tags_2,
261 sizeof(asn_DEF_trees_tags_2)
262 /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */
263 asn_DEF_trees_tags_2, /* Same as above */
264 sizeof(asn_DEF_trees_tags_2)
265 /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700266 { 0, 0, SET_OF_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000267 asn_MBR_trees_2,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000268 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000269 &asn_SPC_trees_specs_2 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000270};
271
Lev Walkine8318b82005-03-06 09:29:03 +0000272static asn_TYPE_member_t asn_MBR_Member_5[] = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000273 { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000274 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
275 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000276 .type = &asn_DEF_BIT_STRING,
Lev Walkin67a30122017-08-10 05:48:54 -0700277 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700278 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700279 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000280 .name = "cup-of-coffee"
281 },
282};
Lev Walkina7591b52014-10-12 18:37:35 -0700283static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000284 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
285};
Lev Walkina7591b52014-10-12 18:37:35 -0700286static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700287 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000288};
Lev Walkin59b176e2005-11-26 11:25:14 +0000289static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = {
Lev Walkine0272aa2005-03-04 11:26:08 +0000290 sizeof(struct Member),
291 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700292 .tag2el = asn_MAP_Member_tag2el_5,
293 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000294 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700295 1, /* First extension addition */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000296};
Lev Walkind04430c2004-09-07 06:44:29 +0000297static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000298asn_TYPE_descriptor_t asn_DEF_Member_5 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000299 "SEQUENCE",
300 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800301 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000302 asn_DEF_Member_tags_5,
303 sizeof(asn_DEF_Member_tags_5)
304 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
305 asn_DEF_Member_tags_5, /* Same as above */
306 sizeof(asn_DEF_Member_tags_5)
307 /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700308 { 0, 0, SEQUENCE_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000309 asn_MBR_Member_5,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000310 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000311 &asn_SPC_Member_specs_5 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000312};
313
Lev Walkine8318b82005-03-06 09:29:03 +0000314static asn_TYPE_member_t asn_MBR_anything_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000315 { ATF_POINTER, 0, 0,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000316 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
317 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000318 .type = &asn_DEF_Member_5,
Lev Walkin67a30122017-08-10 05:48:54 -0700319 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700320 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700321 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000322 .name = ""
323 },
324};
Lev Walkina7591b52014-10-12 18:37:35 -0700325static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000326 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin188ed2c2004-09-13 08:31:01 +0000327 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin03ba3e92004-08-22 03:18:17 +0000328};
Lev Walkin59b176e2005-11-26 11:25:14 +0000329static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000330 sizeof(struct anything),
Lev Walkindfae9752004-09-29 13:19:37 +0000331 offsetof(struct anything, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000332 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000333};
Lev Walkind04430c2004-09-07 06:44:29 +0000334static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000335asn_TYPE_descriptor_t asn_DEF_anything_4 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000336 "anything",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000337 "anything",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800338 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000339 asn_DEF_anything_tags_4,
340 sizeof(asn_DEF_anything_tags_4)
341 /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */
342 asn_DEF_anything_tags_4, /* Same as above */
343 sizeof(asn_DEF_anything_tags_4)
344 /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700345 { 0, 0, SET_OF_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000346 asn_MBR_anything_4,
Lev Walkin03ba3e92004-08-22 03:18:17 +0000347 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000348 &asn_SPC_anything_specs_4 /* Additional specs */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000349};
350
Lev Walkine8318b82005-03-06 09:29:03 +0000351static asn_TYPE_member_t asn_MBR_other_9[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000352 { ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000353 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
354 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000355 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700356 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700357 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700358 0, 0, /* No default value */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000359 .name = "a"
360 },
361 { ATF_NOFLAGS, 0, offsetof(struct other, choice.b),
362 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
363 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000364 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700365 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700366 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700367 0, 0, /* No default value */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000368 .name = "b"
369 },
370};
Lev Walkina7591b52014-10-12 18:37:35 -0700371static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700372 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
373 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000374};
Lev Walkin59b176e2005-11-26 11:25:14 +0000375static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000376 sizeof(struct other),
377 offsetof(struct other, _asn_ctx),
378 offsetof(struct other, present),
379 sizeof(((struct other *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700380 .tag2el = asn_MAP_other_tag2el_9,
381 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700382 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700383 .first_extension = -1 /* Extensions start */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000384};
385static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000386asn_TYPE_descriptor_t asn_DEF_other_9 = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000387 "other",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000388 "other",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800389 &asn_OP_CHOICE,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000390 0, /* No effective tags (pointer) */
391 0, /* No effective tags (count) */
392 0, /* No tags (pointer) */
393 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700394 { 0, 0, CHOICE_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000395 asn_MBR_other_9,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000396 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000397 &asn_SPC_other_specs_9 /* Additional specs */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000398};
399
Lev Walkine0272aa2005-03-04 11:26:08 +0000400static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000401 { ATF_POINTER, 3, offsetof(struct Stuff, trees),
402 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000403 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000404 .type = &asn_DEF_trees_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700405 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700406 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700407 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000408 .name = "trees"
409 },
Lev Walkin2a8672e2004-10-03 09:14:49 +0000410 { ATF_POINTER, 2, offsetof(struct Stuff, anything),
411 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000412 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000413 .type = &asn_DEF_anything_4,
Lev Walkin67a30122017-08-10 05:48:54 -0700414 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700415 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700416 0, 0, /* No default value */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000417 .name = "anything"
418 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000419 { ATF_POINTER, 1, offsetof(struct Stuff, other),
Lev Walkin2a8672e2004-10-03 09:14:49 +0000420 .tag = -1 /* Ambiguous tag (CHOICE?) */,
421 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000422 .type = &asn_DEF_other_9,
Lev Walkin67a30122017-08-10 05:48:54 -0700423 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700424 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700425 0, 0, /* No default value */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000426 .name = "other"
427 },
Lev Walkin03ba3e92004-08-22 03:18:17 +0000428};
Lev Walkina7591b52014-10-12 18:37:35 -0700429static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000430 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
431};
Lev Walkina7591b52014-10-12 18:37:35 -0700432static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700433 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */
434 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
435 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
436 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000437};
Lev Walkina7591b52014-10-12 18:37:35 -0700438static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700439 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */
440 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */
441 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000442};
Lev Walkina7591b52014-10-12 18:37:35 -0700443static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin2a8672e2004-10-03 09:14:49 +0000444 (0 << 7) | (0 << 6) | (0 << 5)
Lev Walkin03ba3e92004-08-22 03:18:17 +0000445};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800446static
447asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000448 sizeof(struct Stuff),
Lev Walkindfae9752004-09-29 13:19:37 +0000449 offsetof(struct Stuff, _asn_ctx),
Lev Walkin03ba3e92004-08-22 03:18:17 +0000450 offsetof(struct Stuff, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700451 .tag2el = asn_MAP_Stuff_tag2el_1,
452 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000453 asn_MAP_Stuff_tag2el_cxer_1,
Lev Walkinf82138b2005-02-25 08:20:32 +0000454 3, /* Count of tags in the CXER map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000455 1, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700456 (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */
Lev Walkin03ba3e92004-08-22 03:18:17 +0000457};
Lev Walkindfae9752004-09-29 13:19:37 +0000458asn_TYPE_descriptor_t asn_DEF_Stuff = {
Lev Walkin03ba3e92004-08-22 03:18:17 +0000459 "Stuff",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000460 "Stuff",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800461 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000462 asn_DEF_Stuff_tags_1,
463 sizeof(asn_DEF_Stuff_tags_1)
464 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
465 asn_DEF_Stuff_tags_1, /* Same as above */
466 sizeof(asn_DEF_Stuff_tags_1)
467 /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700468 { 0, 0, SET_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000469 asn_MBR_Stuff_1,
Lev Walkin2a8672e2004-10-03 09:14:49 +0000470 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000471 &asn_SPC_Stuff_specs_1 /* Additional specs */
472};
473