blob: 7f53a5195edd3b9976f30d63568b8887e5b54e99 [file] [log] [blame]
Lev Walkinb7f17972005-03-04 09:10:19 +00001
2/*** <<< INCLUDES [Type] >>> ***/
3
4#include <asn_SET_OF.h>
Lev Walkin22b5ed42006-09-13 02:51:20 +00005#include "Type1.h"
6#include "Type2.h"
Lev Walkinb7f17972005-03-04 09:10:19 +00007#include <constr_SEQUENCE.h>
8#include <constr_SET_OF.h>
9
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +080010/*** <<< FWD-DEFS [Type] >>> ***/
11
12typedef struct Member {
13 Type1_t t1;
14 Type2_t t2;
15
16 /* Context for parsing across buffer boundaries */
17 asn_struct_ctx_t _asn_ctx;
18} Member;
19
Lev Walkinb7f17972005-03-04 09:10:19 +000020/*** <<< TYPE-DECLS [Type] >>> ***/
21
Lev Walkinb7f17972005-03-04 09:10:19 +000022typedef struct Type {
Bi-Ruei, Chiu9b87e5b2016-06-06 00:23:16 +080023 A_SET_OF(Member) list;
Lev Walkinb7f17972005-03-04 09:10:19 +000024
25 /* Context for parsing across buffer boundaries */
26 asn_struct_ctx_t _asn_ctx;
27} Type_t;
28
Lev Walkinc8285712005-03-04 22:18:20 +000029/*** <<< FUNC-DECLS [Type] >>> ***/
30
31extern asn_TYPE_descriptor_t asn_DEF_Type;
32
Lev Walkinb7f17972005-03-04 09:10:19 +000033/*** <<< STAT-DEFS [Type] >>> ***/
34
35static asn_TYPE_member_t asn_MBR_Member_2[] = {
36 { ATF_NOFLAGS, 0, offsetof(struct Member, t1),
37 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
38 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000039 .type = &asn_DEF_Type1,
Lev Walkin67a30122017-08-10 05:48:54 -070040 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070041 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070042 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +000043 .name = "t1"
44 },
45 { ATF_NOFLAGS, 0, offsetof(struct Member, t2),
46 .tag = -1 /* Ambiguous tag (CHOICE?) */,
47 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000048 .type = &asn_DEF_Type2,
Lev Walkin67a30122017-08-10 05:48:54 -070049 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070050 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070051 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +000052 .name = "t2"
53 },
54};
Lev Walkina7591b52014-10-12 18:37:35 -070055static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +000056 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
57};
Lev Walkina7591b52014-10-12 18:37:35 -070058static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070059 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */
60 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */
61 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +000062};
Lev Walkin59b176e2005-11-26 11:25:14 +000063static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +000064 sizeof(struct Member),
65 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -070066 .tag2el = asn_MAP_Member_tag2el_2,
67 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000068 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -070069 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +000070};
71static /* Use -fall-defs-global to expose */
72asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +000073 "SEQUENCE",
74 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080075 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +000076 asn_DEF_Member_tags_2,
77 sizeof(asn_DEF_Member_tags_2)
78 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
79 asn_DEF_Member_tags_2, /* Same as above */
80 sizeof(asn_DEF_Member_tags_2)
81 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -070082 { 0, 0, SEQUENCE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +000083 asn_MBR_Member_2,
84 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000085 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +000086};
87
88static asn_TYPE_member_t asn_MBR_Type_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000089 { ATF_POINTER, 0, 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000090 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
91 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000092 .type = &asn_DEF_Member_2,
Lev Walkin67a30122017-08-10 05:48:54 -070093 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070094 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070095 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +000096 .name = ""
97 },
98};
Lev Walkina7591b52014-10-12 18:37:35 -070099static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000100 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
101};
Lev Walkin59b176e2005-11-26 11:25:14 +0000102static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000103 sizeof(struct Type),
104 offsetof(struct Type, _asn_ctx),
105 0, /* XER encoding is XMLDelimitedItemList */
106};
107asn_TYPE_descriptor_t asn_DEF_Type = {
108 "Type",
109 "Type",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800110 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000111 asn_DEF_Type_tags_1,
112 sizeof(asn_DEF_Type_tags_1)
113 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
114 asn_DEF_Type_tags_1, /* Same as above */
115 sizeof(asn_DEF_Type_tags_1)
116 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700117 { 0, 0, SET_OF_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000118 asn_MBR_Type_1,
119 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000120 &asn_SPC_Type_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000121};
122
123
124/*** <<< INCLUDES [Type1] >>> ***/
125
126#include <INTEGER.h>
127#include <constr_SEQUENCE.h>
128#include <constr_CHOICE.h>
129
130/*** <<< DEPS [Type1] >>> ***/
131
132typedef enum one_name_PR {
133 one_name_PR_NOTHING, /* No components present */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000134 one_name_PR_another_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000135} one_name_PR;
Lev Walkinb7f17972005-03-04 09:10:19 +0000136
137/*** <<< TYPE-DECLS [Type1] >>> ***/
138
Lev Walkinb7f17972005-03-04 09:10:19 +0000139typedef struct Type1 {
140 struct one_name {
141 one_name_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000142 union Type1__one_name_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000143 struct another_name {
144 INTEGER_t a;
145 INTEGER_t b;
146
147 /* Context for parsing across buffer boundaries */
148 asn_struct_ctx_t _asn_ctx;
149 } another_name;
150 } choice;
151
152 /* Context for parsing across buffer boundaries */
153 asn_struct_ctx_t _asn_ctx;
154 } one_name;
155
156 /* Context for parsing across buffer boundaries */
157 asn_struct_ctx_t _asn_ctx;
158} Type1_t;
159
Lev Walkinc8285712005-03-04 22:18:20 +0000160/*** <<< FUNC-DECLS [Type1] >>> ***/
161
162extern asn_TYPE_descriptor_t asn_DEF_Type1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800163extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
164extern asn_TYPE_member_t asn_MBR_Type1_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000165
Lev Walkinb7f17972005-03-04 09:10:19 +0000166/*** <<< STAT-DEFS [Type1] >>> ***/
167
168static asn_TYPE_member_t asn_MBR_another_name_3[] = {
169 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
170 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
171 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000172 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700173 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700174 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700175 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000176 .name = "a"
177 },
178 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
179 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
180 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000181 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700182 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700183 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700184 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000185 .name = "b"
186 },
187};
Lev Walkina7591b52014-10-12 18:37:35 -0700188static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000189 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
190};
Lev Walkina7591b52014-10-12 18:37:35 -0700191static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700192 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */
193 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */
Lev Walkinb7f17972005-03-04 09:10:19 +0000194};
Lev Walkin59b176e2005-11-26 11:25:14 +0000195static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000196 sizeof(struct another_name),
197 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700198 .tag2el = asn_MAP_another_name_tag2el_3,
199 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000200 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700201 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +0000202};
203static /* Use -fall-defs-global to expose */
204asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
205 "another-name",
206 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800207 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000208 asn_DEF_another_name_tags_3,
209 sizeof(asn_DEF_another_name_tags_3)
210 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
211 asn_DEF_another_name_tags_3, /* Same as above */
212 sizeof(asn_DEF_another_name_tags_3)
213 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700214 { 0, 0, SEQUENCE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000215 asn_MBR_another_name_3,
216 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000217 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000218};
219
220static asn_TYPE_member_t asn_MBR_one_name_2[] = {
221 { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name),
222 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
223 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000224 .type = &asn_DEF_another_name_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700225 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700226 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700227 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000228 .name = "another-name"
229 },
230};
Lev Walkina7591b52014-10-12 18:37:35 -0700231static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700232 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000233};
Lev Walkin59b176e2005-11-26 11:25:14 +0000234static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000235 sizeof(struct one_name),
236 offsetof(struct one_name, _asn_ctx),
237 offsetof(struct one_name, present),
238 sizeof(((struct one_name *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700239 .tag2el = asn_MAP_one_name_tag2el_2,
240 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700241 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700242 .first_extension = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000243};
244static /* Use -fall-defs-global to expose */
245asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
246 "one-name",
247 "one-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800248 &asn_OP_CHOICE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000249 0, /* No effective tags (pointer) */
250 0, /* No effective tags (count) */
251 0, /* No tags (pointer) */
252 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700253 { 0, 0, CHOICE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000254 asn_MBR_one_name_2,
255 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000256 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000257};
258
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800259asn_TYPE_member_t asn_MBR_Type1_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000260 { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
261 .tag = -1 /* Ambiguous tag (CHOICE?) */,
262 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000263 .type = &asn_DEF_one_name_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700264 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700265 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700266 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000267 .name = "one-name"
268 },
269};
Lev Walkina7591b52014-10-12 18:37:35 -0700270static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000271 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
272};
Lev Walkina7591b52014-10-12 18:37:35 -0700273static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700274 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000275};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800276asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000277 sizeof(struct Type1),
278 offsetof(struct Type1, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700279 .tag2el = asn_MAP_Type1_tag2el_1,
280 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000281 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700282 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +0000283};
284asn_TYPE_descriptor_t asn_DEF_Type1 = {
285 "Type1",
286 "Type1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800287 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000288 asn_DEF_Type1_tags_1,
289 sizeof(asn_DEF_Type1_tags_1)
290 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
291 asn_DEF_Type1_tags_1, /* Same as above */
292 sizeof(asn_DEF_Type1_tags_1)
293 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700294 { 0, 0, SEQUENCE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000295 asn_MBR_Type1_1,
296 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000297 &asn_SPC_Type1_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000298};
299
300
301/*** <<< INCLUDES [Type2] >>> ***/
302
303#include <BIT_STRING.h>
304#include <INTEGER.h>
305#include <constr_SEQUENCE.h>
306#include <constr_SET.h>
307#include <constr_CHOICE.h>
308
309/*** <<< DEPS [Type2] >>> ***/
310
311typedef enum Type2_PR {
312 Type2_PR_NOTHING, /* No components present */
313 Type2_PR_one_name,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000314 Type2_PR_two_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000315} Type2_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000316typedef enum a {
317 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000318} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000319
320/*
321 * Method of determining the components presence
322 */
323typedef enum two_name_PR {
324 two_name_PR_another_name, /* Member another_name is present */
325} two_name_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000326typedef enum a {
327 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000328} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000329
330/*** <<< TYPE-DECLS [Type2] >>> ***/
331
Lev Walkinb7f17972005-03-04 09:10:19 +0000332typedef struct Type2 {
333 Type2_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000334 union Type2_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000335 struct one_name {
336 struct another_name {
337 BIT_STRING_t a;
338 INTEGER_t b;
339
340 /* Context for parsing across buffer boundaries */
341 asn_struct_ctx_t _asn_ctx;
342 } another_name;
343
344 /* Context for parsing across buffer boundaries */
345 asn_struct_ctx_t _asn_ctx;
346 } one_name;
347 struct two_name {
348 struct another_name {
349 BIT_STRING_t a;
350 INTEGER_t b;
351
352 /* Context for parsing across buffer boundaries */
353 asn_struct_ctx_t _asn_ctx;
354 } another_name;
355
356 /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */
357 unsigned int _presence_map
358 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
359
360 /* Context for parsing across buffer boundaries */
361 asn_struct_ctx_t _asn_ctx;
362 } two_name;
363 } choice;
364
365 /* Context for parsing across buffer boundaries */
366 asn_struct_ctx_t _asn_ctx;
367} Type2_t;
368
Lev Walkinc8285712005-03-04 22:18:20 +0000369/*** <<< FUNC-DECLS [Type2] >>> ***/
370
371extern asn_TYPE_descriptor_t asn_DEF_Type2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800372extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
373extern asn_TYPE_member_t asn_MBR_Type2_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000374
Lev Walkinb7f17972005-03-04 09:10:19 +0000375/*** <<< CODE [Type2] >>> ***/
376
377static int
Lev Walkin20696a42017-10-17 21:27:33 -0700378memb_a_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000379 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000380 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
381 size_t size;
382
383 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700384 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000385 "%s: value not given (%s:%d)",
386 td->name, __FILE__, __LINE__);
387 return -1;
388 }
389
390 if(st->size > 0) {
391 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000392 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000393 } else {
394 size = 0;
395 }
396
397 if((size == 2)) {
398 /* Constraint check succeeded */
399 return 0;
400 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700401 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000402 "%s: constraint failed (%s:%d)",
403 td->name, __FILE__, __LINE__);
404 return -1;
405 }
406}
407
408static int
Lev Walkin20696a42017-10-17 21:27:33 -0700409memb_a_constraint_8(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000410 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000411 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
412 size_t size;
413
414 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700415 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000416 "%s: value not given (%s:%d)",
417 td->name, __FILE__, __LINE__);
418 return -1;
419 }
420
421 if(st->size > 0) {
422 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000423 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000424 } else {
425 size = 0;
426 }
427
428 if((size == 2)) {
429 /* Constraint check succeeded */
430 return 0;
431 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700432 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000433 "%s: constraint failed (%s:%d)",
434 td->name, __FILE__, __LINE__);
435 return -1;
436 }
437}
438
439
440/*** <<< STAT-DEFS [Type2] >>> ***/
441
442static asn_TYPE_member_t asn_MBR_another_name_3[] = {
443 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
444 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
445 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000446 .type = &asn_DEF_BIT_STRING,
Lev Walkin67a30122017-08-10 05:48:54 -0700447 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700448 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_3 },
Lev Walkin20696a42017-10-17 21:27:33 -0700449 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000450 .name = "a"
451 },
452 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
453 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
454 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000455 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700456 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700457 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700458 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000459 .name = "b"
460 },
461};
Lev Walkina7591b52014-10-12 18:37:35 -0700462static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000463 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
464};
Lev Walkina7591b52014-10-12 18:37:35 -0700465static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700466 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
467 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000468};
Lev Walkin59b176e2005-11-26 11:25:14 +0000469static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000470 sizeof(struct another_name),
471 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700472 .tag2el = asn_MAP_another_name_tag2el_3,
473 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000474 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700475 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +0000476};
477static /* Use -fall-defs-global to expose */
478asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
479 "another-name",
480 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800481 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000482 asn_DEF_another_name_tags_3,
483 sizeof(asn_DEF_another_name_tags_3)
484 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
485 asn_DEF_another_name_tags_3, /* Same as above */
486 sizeof(asn_DEF_another_name_tags_3)
487 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700488 { 0, 0, SEQUENCE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000489 asn_MBR_another_name_3,
490 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000491 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000492};
493
494static asn_TYPE_member_t asn_MBR_one_name_2[] = {
495 { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name),
496 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
497 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000498 .type = &asn_DEF_another_name_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700499 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700500 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700501 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000502 .name = "another-name"
503 },
504};
Lev Walkina7591b52014-10-12 18:37:35 -0700505static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000506 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
507};
Lev Walkina7591b52014-10-12 18:37:35 -0700508static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700509 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000510};
Lev Walkin59b176e2005-11-26 11:25:14 +0000511static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000512 sizeof(struct one_name),
513 offsetof(struct one_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700514 .tag2el = asn_MAP_one_name_tag2el_2,
515 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000516 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700517 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +0000518};
519static /* Use -fall-defs-global to expose */
520asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
521 "one-name",
522 "one-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800523 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000524 asn_DEF_one_name_tags_2,
525 sizeof(asn_DEF_one_name_tags_2)
526 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
527 asn_DEF_one_name_tags_2, /* Same as above */
528 sizeof(asn_DEF_one_name_tags_2)
529 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700530 { 0, 0, SEQUENCE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000531 asn_MBR_one_name_2,
532 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000533 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000534};
535
Lev Walkine8318b82005-03-06 09:29:03 +0000536static asn_TYPE_member_t asn_MBR_another_name_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000537 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
538 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
539 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000540 .type = &asn_DEF_BIT_STRING,
Lev Walkin67a30122017-08-10 05:48:54 -0700541 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700542 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_8 },
Lev Walkin20696a42017-10-17 21:27:33 -0700543 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000544 .name = "a"
545 },
546 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
547 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
548 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000549 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700550 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700551 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700552 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000553 .name = "b"
554 },
555};
Lev Walkina7591b52014-10-12 18:37:35 -0700556static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000557 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
558};
Lev Walkina7591b52014-10-12 18:37:35 -0700559static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700560 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
561 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000562};
Lev Walkin59b176e2005-11-26 11:25:14 +0000563static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000564 sizeof(struct another_name),
565 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700566 .tag2el = asn_MAP_another_name_tag2el_8,
567 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000568 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -0700569 -1, /* First extension addition */
Lev Walkinb7f17972005-03-04 09:10:19 +0000570};
571static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000572asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000573 "another-name",
574 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800575 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000576 asn_DEF_another_name_tags_8,
577 sizeof(asn_DEF_another_name_tags_8)
578 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
579 asn_DEF_another_name_tags_8, /* Same as above */
580 sizeof(asn_DEF_another_name_tags_8)
581 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700582 { 0, 0, SEQUENCE_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000583 asn_MBR_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000584 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000585 &asn_SPC_another_name_specs_8 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000586};
587
Lev Walkine8318b82005-03-06 09:29:03 +0000588static asn_TYPE_member_t asn_MBR_two_name_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000589 { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
590 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
591 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000592 .type = &asn_DEF_another_name_8,
Lev Walkin67a30122017-08-10 05:48:54 -0700593 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700594 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700595 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000596 .name = "another-name"
597 },
598};
Lev Walkina7591b52014-10-12 18:37:35 -0700599static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000600 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
601};
Lev Walkina7591b52014-10-12 18:37:35 -0700602static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700603 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000604};
Lev Walkina7591b52014-10-12 18:37:35 -0700605static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000606 (1 << 7)
607};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800608static
609asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000610 sizeof(struct two_name),
611 offsetof(struct two_name, _asn_ctx),
612 offsetof(struct two_name, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700613 .tag2el = asn_MAP_two_name_tag2el_7,
614 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000615 asn_MAP_two_name_tag2el_7, /* Same as above */
Lev Walkinb7f17972005-03-04 09:10:19 +0000616 1, /* Count of tags in the CXER map */
617 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700618 (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */
Lev Walkinb7f17972005-03-04 09:10:19 +0000619};
620static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000621asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000622 "two-name",
623 "two-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800624 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000625 asn_DEF_two_name_tags_7,
626 sizeof(asn_DEF_two_name_tags_7)
627 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
628 asn_DEF_two_name_tags_7, /* Same as above */
629 sizeof(asn_DEF_two_name_tags_7)
630 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700631 { 0, 0, SET_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000632 asn_MBR_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000633 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000634 &asn_SPC_two_name_specs_7 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000635};
636
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800637asn_TYPE_member_t asn_MBR_Type2_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000638 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
639 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
640 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000641 .type = &asn_DEF_one_name_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700642 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700643 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700644 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000645 .name = "one-name"
646 },
647 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
648 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
649 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000650 .type = &asn_DEF_two_name_7,
Lev Walkin67a30122017-08-10 05:48:54 -0700651 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700652 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700653 0, 0, /* No default value */
Lev Walkinb7f17972005-03-04 09:10:19 +0000654 .name = "two-name"
655 },
656};
Lev Walkina7591b52014-10-12 18:37:35 -0700657static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700658 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
659 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000660};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800661asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000662 sizeof(struct Type2),
663 offsetof(struct Type2, _asn_ctx),
664 offsetof(struct Type2, present),
665 sizeof(((struct Type2 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700666 .tag2el = asn_MAP_Type2_tag2el_1,
667 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700668 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700669 .first_extension = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000670};
671asn_TYPE_descriptor_t asn_DEF_Type2 = {
672 "Type2",
673 "Type2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800674 &asn_OP_CHOICE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000675 0, /* No effective tags (pointer) */
676 0, /* No effective tags (count) */
677 0, /* No tags (pointer) */
678 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700679 { 0, 0, CHOICE_constraint },
Lev Walkinb7f17972005-03-04 09:10:19 +0000680 asn_MBR_Type2_1,
681 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000682 &asn_SPC_Type2_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000683};
684