blob: 138e561299ad7977dfaec30acdb149b6ee08443f [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 Walkinb7f17972005-03-04 09:10:19 +000041 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040042 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000043 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
44 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000045 .name = "t1"
46 },
47 { ATF_NOFLAGS, 0, offsetof(struct Member, t2),
48 .tag = -1 /* Ambiguous tag (CHOICE?) */,
49 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000050 .type = &asn_DEF_Type2,
Lev Walkin67a30122017-08-10 05:48:54 -070051 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000052 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040053 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000054 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
55 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000056 .name = "t2"
57 },
58};
Lev Walkina7591b52014-10-12 18:37:35 -070059static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +000060 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
61};
Lev Walkina7591b52014-10-12 18:37:35 -070062static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070063 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */
64 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */
65 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +000066};
Lev Walkin59b176e2005-11-26 11:25:14 +000067static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +000068 sizeof(struct Member),
69 offsetof(struct Member, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -070070 .tag2el = asn_MAP_Member_tag2el_2,
71 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000072 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +000073 -1, /* Start extensions */
74 -1 /* Stop extensions */
75};
76static /* Use -fall-defs-global to expose */
77asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +000078 "SEQUENCE",
79 "SEQUENCE",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080080 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +000081 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +000082 asn_DEF_Member_tags_2,
83 sizeof(asn_DEF_Member_tags_2)
84 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
85 asn_DEF_Member_tags_2, /* Same as above */
86 sizeof(asn_DEF_Member_tags_2)
87 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040088 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000089 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +000090 asn_MBR_Member_2,
91 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000092 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +000093};
94
95static asn_TYPE_member_t asn_MBR_Type_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000096 { ATF_POINTER, 0, 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000097 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
98 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000099 .type = &asn_DEF_Member_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700100 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000101 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400102 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000103 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
104 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000105 .name = ""
106 },
107};
Lev Walkina7591b52014-10-12 18:37:35 -0700108static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000109 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
110};
Lev Walkin59b176e2005-11-26 11:25:14 +0000111static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000112 sizeof(struct Type),
113 offsetof(struct Type, _asn_ctx),
114 0, /* XER encoding is XMLDelimitedItemList */
115};
116asn_TYPE_descriptor_t asn_DEF_Type = {
117 "Type",
118 "Type",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800119 &asn_OP_SET_OF,
Lev Walkinb7f17972005-03-04 09:10:19 +0000120 SET_OF_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000121 asn_DEF_Type_tags_1,
122 sizeof(asn_DEF_Type_tags_1)
123 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
124 asn_DEF_Type_tags_1, /* Same as above */
125 sizeof(asn_DEF_Type_tags_1)
126 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400127 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000128 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000129 asn_MBR_Type_1,
130 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000131 &asn_SPC_Type_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000132};
133
134
135/*** <<< INCLUDES [Type1] >>> ***/
136
137#include <INTEGER.h>
138#include <constr_SEQUENCE.h>
139#include <constr_CHOICE.h>
140
141/*** <<< DEPS [Type1] >>> ***/
142
143typedef enum one_name_PR {
144 one_name_PR_NOTHING, /* No components present */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000145 one_name_PR_another_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000146} one_name_PR;
Lev Walkinb7f17972005-03-04 09:10:19 +0000147
148/*** <<< TYPE-DECLS [Type1] >>> ***/
149
Lev Walkinb7f17972005-03-04 09:10:19 +0000150typedef struct Type1 {
151 struct one_name {
152 one_name_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000153 union Type1__one_name_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000154 struct another_name {
155 INTEGER_t a;
156 INTEGER_t b;
157
158 /* Context for parsing across buffer boundaries */
159 asn_struct_ctx_t _asn_ctx;
160 } another_name;
161 } choice;
162
163 /* Context for parsing across buffer boundaries */
164 asn_struct_ctx_t _asn_ctx;
165 } one_name;
166
167 /* Context for parsing across buffer boundaries */
168 asn_struct_ctx_t _asn_ctx;
169} Type1_t;
170
Lev Walkinc8285712005-03-04 22:18:20 +0000171/*** <<< FUNC-DECLS [Type1] >>> ***/
172
173extern asn_TYPE_descriptor_t asn_DEF_Type1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800174extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
175extern asn_TYPE_member_t asn_MBR_Type1_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000176
Lev Walkinb7f17972005-03-04 09:10:19 +0000177/*** <<< STAT-DEFS [Type1] >>> ***/
178
179static asn_TYPE_member_t asn_MBR_another_name_3[] = {
180 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
181 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
182 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000183 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700184 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000185 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400186 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000187 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
188 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000189 .name = "a"
190 },
191 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
192 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
193 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000194 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700195 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000196 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400197 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000198 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
199 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000200 .name = "b"
201 },
202};
Lev Walkina7591b52014-10-12 18:37:35 -0700203static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000204 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
205};
Lev Walkina7591b52014-10-12 18:37:35 -0700206static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700207 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */
208 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */
Lev Walkinb7f17972005-03-04 09:10:19 +0000209};
Lev Walkin59b176e2005-11-26 11:25:14 +0000210static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000211 sizeof(struct another_name),
212 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700213 .tag2el = asn_MAP_another_name_tag2el_3,
214 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000215 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000216 -1, /* Start extensions */
217 -1 /* Stop extensions */
218};
219static /* Use -fall-defs-global to expose */
220asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
221 "another-name",
222 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800223 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000224 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000225 asn_DEF_another_name_tags_3,
226 sizeof(asn_DEF_another_name_tags_3)
227 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
228 asn_DEF_another_name_tags_3, /* Same as above */
229 sizeof(asn_DEF_another_name_tags_3)
230 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400231 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000232 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000233 asn_MBR_another_name_3,
234 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000235 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000236};
237
238static asn_TYPE_member_t asn_MBR_one_name_2[] = {
239 { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name),
240 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
241 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000242 .type = &asn_DEF_another_name_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700243 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000244 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400245 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000246 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
247 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000248 .name = "another-name"
249 },
250};
Lev Walkina7591b52014-10-12 18:37:35 -0700251static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700252 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000253};
Lev Walkin59b176e2005-11-26 11:25:14 +0000254static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000255 sizeof(struct one_name),
256 offsetof(struct one_name, _asn_ctx),
257 offsetof(struct one_name, present),
258 sizeof(((struct one_name *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700259 .tag2el = asn_MAP_one_name_tag2el_2,
260 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000261 .canonical_order = 0,
262 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000263};
264static /* Use -fall-defs-global to expose */
265asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
266 "one-name",
267 "one-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800268 &asn_OP_CHOICE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000269 CHOICE_constraint,
Lev Walkinb7f17972005-03-04 09:10:19 +0000270 0, /* No effective tags (pointer) */
271 0, /* No effective tags (count) */
272 0, /* No tags (pointer) */
273 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400274 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000275 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000276 asn_MBR_one_name_2,
277 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000278 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000279};
280
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800281asn_TYPE_member_t asn_MBR_Type1_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000282 { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
283 .tag = -1 /* Ambiguous tag (CHOICE?) */,
284 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000285 .type = &asn_DEF_one_name_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700286 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000287 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400288 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000289 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
290 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000291 .name = "one-name"
292 },
293};
Lev Walkina7591b52014-10-12 18:37:35 -0700294static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000295 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
296};
Lev Walkina7591b52014-10-12 18:37:35 -0700297static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700298 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000299};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800300asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000301 sizeof(struct Type1),
302 offsetof(struct Type1, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700303 .tag2el = asn_MAP_Type1_tag2el_1,
304 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000305 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000306 -1, /* Start extensions */
307 -1 /* Stop extensions */
308};
309asn_TYPE_descriptor_t asn_DEF_Type1 = {
310 "Type1",
311 "Type1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800312 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000313 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000314 asn_DEF_Type1_tags_1,
315 sizeof(asn_DEF_Type1_tags_1)
316 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
317 asn_DEF_Type1_tags_1, /* Same as above */
318 sizeof(asn_DEF_Type1_tags_1)
319 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400320 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000321 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000322 asn_MBR_Type1_1,
323 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000324 &asn_SPC_Type1_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000325};
326
327
328/*** <<< INCLUDES [Type2] >>> ***/
329
330#include <BIT_STRING.h>
331#include <INTEGER.h>
332#include <constr_SEQUENCE.h>
333#include <constr_SET.h>
334#include <constr_CHOICE.h>
335
336/*** <<< DEPS [Type2] >>> ***/
337
338typedef enum Type2_PR {
339 Type2_PR_NOTHING, /* No components present */
340 Type2_PR_one_name,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000341 Type2_PR_two_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000342} Type2_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000343typedef enum a {
344 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000345} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000346
347/*
348 * Method of determining the components presence
349 */
350typedef enum two_name_PR {
351 two_name_PR_another_name, /* Member another_name is present */
352} two_name_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000353typedef enum a {
354 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000355} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000356
357/*** <<< TYPE-DECLS [Type2] >>> ***/
358
Lev Walkinb7f17972005-03-04 09:10:19 +0000359typedef struct Type2 {
360 Type2_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000361 union Type2_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000362 struct one_name {
363 struct another_name {
364 BIT_STRING_t a;
365 INTEGER_t b;
366
367 /* Context for parsing across buffer boundaries */
368 asn_struct_ctx_t _asn_ctx;
369 } another_name;
370
371 /* Context for parsing across buffer boundaries */
372 asn_struct_ctx_t _asn_ctx;
373 } one_name;
374 struct two_name {
375 struct another_name {
376 BIT_STRING_t a;
377 INTEGER_t b;
378
379 /* Context for parsing across buffer boundaries */
380 asn_struct_ctx_t _asn_ctx;
381 } another_name;
382
383 /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */
384 unsigned int _presence_map
385 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
386
387 /* Context for parsing across buffer boundaries */
388 asn_struct_ctx_t _asn_ctx;
389 } two_name;
390 } choice;
391
392 /* Context for parsing across buffer boundaries */
393 asn_struct_ctx_t _asn_ctx;
394} Type2_t;
395
Lev Walkinc8285712005-03-04 22:18:20 +0000396/*** <<< FUNC-DECLS [Type2] >>> ***/
397
398extern asn_TYPE_descriptor_t asn_DEF_Type2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800399extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
400extern asn_TYPE_member_t asn_MBR_Type2_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000401
Lev Walkinb7f17972005-03-04 09:10:19 +0000402/*** <<< CODE [Type2] >>> ***/
403
404static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000405memb_a_constraint_3(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000406 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000407 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
408 size_t size;
409
410 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700411 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000412 "%s: value not given (%s:%d)",
413 td->name, __FILE__, __LINE__);
414 return -1;
415 }
416
417 if(st->size > 0) {
418 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000419 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000420 } else {
421 size = 0;
422 }
423
424 if((size == 2)) {
425 /* Constraint check succeeded */
426 return 0;
427 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700428 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000429 "%s: constraint failed (%s:%d)",
430 td->name, __FILE__, __LINE__);
431 return -1;
432 }
433}
434
435static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000436memb_a_constraint_8(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000437 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000438 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
439 size_t size;
440
441 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700442 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000443 "%s: value not given (%s:%d)",
444 td->name, __FILE__, __LINE__);
445 return -1;
446 }
447
448 if(st->size > 0) {
449 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000450 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000451 } else {
452 size = 0;
453 }
454
455 if((size == 2)) {
456 /* Constraint check succeeded */
457 return 0;
458 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700459 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000460 "%s: constraint failed (%s:%d)",
461 td->name, __FILE__, __LINE__);
462 return -1;
463 }
464}
465
466
467/*** <<< STAT-DEFS [Type2] >>> ***/
468
469static asn_TYPE_member_t asn_MBR_another_name_3[] = {
470 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
471 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
472 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000473 .type = &asn_DEF_BIT_STRING,
Lev Walkin67a30122017-08-10 05:48:54 -0700474 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000475 .memb_constraints = memb_a_constraint_3,
Lev Walkinb33425f2017-07-14 14:59:52 +0400476 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000477 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
478 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000479 .name = "a"
480 },
481 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
482 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
483 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000484 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700485 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000486 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400487 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000488 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
489 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000490 .name = "b"
491 },
492};
Lev Walkina7591b52014-10-12 18:37:35 -0700493static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000494 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
495};
Lev Walkina7591b52014-10-12 18:37:35 -0700496static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700497 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
498 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000499};
Lev Walkin59b176e2005-11-26 11:25:14 +0000500static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000501 sizeof(struct another_name),
502 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700503 .tag2el = asn_MAP_another_name_tag2el_3,
504 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000505 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000506 -1, /* Start extensions */
507 -1 /* Stop extensions */
508};
509static /* Use -fall-defs-global to expose */
510asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
511 "another-name",
512 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800513 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000514 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000515 asn_DEF_another_name_tags_3,
516 sizeof(asn_DEF_another_name_tags_3)
517 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
518 asn_DEF_another_name_tags_3, /* Same as above */
519 sizeof(asn_DEF_another_name_tags_3)
520 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400521 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000522 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000523 asn_MBR_another_name_3,
524 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000525 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000526};
527
528static asn_TYPE_member_t asn_MBR_one_name_2[] = {
529 { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name),
530 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
531 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000532 .type = &asn_DEF_another_name_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700533 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000534 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400535 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000536 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
537 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000538 .name = "another-name"
539 },
540};
Lev Walkina7591b52014-10-12 18:37:35 -0700541static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000542 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
543};
Lev Walkina7591b52014-10-12 18:37:35 -0700544static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700545 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000546};
Lev Walkin59b176e2005-11-26 11:25:14 +0000547static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000548 sizeof(struct one_name),
549 offsetof(struct one_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700550 .tag2el = asn_MAP_one_name_tag2el_2,
551 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000552 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000553 -1, /* Start extensions */
554 -1 /* Stop extensions */
555};
556static /* Use -fall-defs-global to expose */
557asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
558 "one-name",
559 "one-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800560 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000561 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000562 asn_DEF_one_name_tags_2,
563 sizeof(asn_DEF_one_name_tags_2)
564 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
565 asn_DEF_one_name_tags_2, /* Same as above */
566 sizeof(asn_DEF_one_name_tags_2)
567 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400568 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000569 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000570 asn_MBR_one_name_2,
571 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000572 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000573};
574
Lev Walkine8318b82005-03-06 09:29:03 +0000575static asn_TYPE_member_t asn_MBR_another_name_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000576 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
577 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
578 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000579 .type = &asn_DEF_BIT_STRING,
Lev Walkin67a30122017-08-10 05:48:54 -0700580 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000581 .memb_constraints = memb_a_constraint_8,
Lev Walkinb33425f2017-07-14 14:59:52 +0400582 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000583 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
584 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000585 .name = "a"
586 },
587 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
588 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
589 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000590 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700591 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000592 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400593 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000594 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
595 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000596 .name = "b"
597 },
598};
Lev Walkina7591b52014-10-12 18:37:35 -0700599static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000600 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
601};
Lev Walkina7591b52014-10-12 18:37:35 -0700602static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700603 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
604 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000605};
Lev Walkin59b176e2005-11-26 11:25:14 +0000606static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000607 sizeof(struct another_name),
608 offsetof(struct another_name, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700609 .tag2el = asn_MAP_another_name_tag2el_8,
610 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000611 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000612 -1, /* Start extensions */
613 -1 /* Stop extensions */
614};
615static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000616asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000617 "another-name",
618 "another-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800619 &asn_OP_SEQUENCE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000620 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000621 asn_DEF_another_name_tags_8,
622 sizeof(asn_DEF_another_name_tags_8)
623 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
624 asn_DEF_another_name_tags_8, /* Same as above */
625 sizeof(asn_DEF_another_name_tags_8)
626 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400627 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000628 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000629 asn_MBR_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000630 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000631 &asn_SPC_another_name_specs_8 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000632};
633
Lev Walkine8318b82005-03-06 09:29:03 +0000634static asn_TYPE_member_t asn_MBR_two_name_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000635 { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
636 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
637 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000638 .type = &asn_DEF_another_name_8,
Lev Walkin67a30122017-08-10 05:48:54 -0700639 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000640 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400641 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000642 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
643 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000644 .name = "another-name"
645 },
646};
Lev Walkina7591b52014-10-12 18:37:35 -0700647static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000648 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
649};
Lev Walkina7591b52014-10-12 18:37:35 -0700650static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700651 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000652};
Lev Walkina7591b52014-10-12 18:37:35 -0700653static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000654 (1 << 7)
655};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800656static
657asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000658 sizeof(struct two_name),
659 offsetof(struct two_name, _asn_ctx),
660 offsetof(struct two_name, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700661 .tag2el = asn_MAP_two_name_tag2el_7,
662 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000663 asn_MAP_two_name_tag2el_7, /* Same as above */
Lev Walkinb7f17972005-03-04 09:10:19 +0000664 1, /* Count of tags in the CXER map */
665 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700666 (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */
Lev Walkinb7f17972005-03-04 09:10:19 +0000667};
668static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000669asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000670 "two-name",
671 "two-name",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800672 &asn_OP_SET,
Lev Walkinb7f17972005-03-04 09:10:19 +0000673 SET_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000674 asn_DEF_two_name_tags_7,
675 sizeof(asn_DEF_two_name_tags_7)
676 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
677 asn_DEF_two_name_tags_7, /* Same as above */
678 sizeof(asn_DEF_two_name_tags_7)
679 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400680 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000681 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000682 asn_MBR_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000683 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000684 &asn_SPC_two_name_specs_7 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000685};
686
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800687asn_TYPE_member_t asn_MBR_Type2_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000688 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
689 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
690 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000691 .type = &asn_DEF_one_name_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700692 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000693 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400694 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000695 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
696 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000697 .name = "one-name"
698 },
699 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
700 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
701 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000702 .type = &asn_DEF_two_name_7,
Lev Walkin67a30122017-08-10 05:48:54 -0700703 .type_selector = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000704 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400705 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000706 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
707 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000708 .name = "two-name"
709 },
710};
Lev Walkina7591b52014-10-12 18:37:35 -0700711static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700712 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
713 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000714};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800715asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000716 sizeof(struct Type2),
717 offsetof(struct Type2, _asn_ctx),
718 offsetof(struct Type2, present),
719 sizeof(((struct Type2 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700720 .tag2el = asn_MAP_Type2_tag2el_1,
721 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000722 .canonical_order = 0,
723 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000724};
725asn_TYPE_descriptor_t asn_DEF_Type2 = {
726 "Type2",
727 "Type2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800728 &asn_OP_CHOICE,
Lev Walkinb7f17972005-03-04 09:10:19 +0000729 CHOICE_constraint,
Lev Walkinb7f17972005-03-04 09:10:19 +0000730 0, /* No effective tags (pointer) */
731 0, /* No effective tags (count) */
732 0, /* No tags (pointer) */
733 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400734 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000735 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000736 asn_MBR_Type2_1,
737 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000738 &asn_SPC_Type2_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000739};
740