blob: 7a466a4c3544c4b10ffbf0efd1c4317199d82c89 [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 Walkinb7f17972005-03-04 09:10:19 +000040 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040041 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000042 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
43 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000044 .name = "t1"
45 },
46 { ATF_NOFLAGS, 0, offsetof(struct Member, t2),
47 .tag = -1 /* Ambiguous tag (CHOICE?) */,
48 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000049 .type = &asn_DEF_Type2,
Lev Walkinb7f17972005-03-04 09:10:19 +000050 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040051 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000052 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
53 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +000054 .name = "t2"
55 },
56};
Lev Walkina7591b52014-10-12 18:37:35 -070057static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +000058 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
59};
Lev Walkina7591b52014-10-12 18:37:35 -070060static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070061 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */
62 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */
63 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +000064};
Lev Walkin59b176e2005-11-26 11:25:14 +000065static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +000066 sizeof(struct Member),
67 offsetof(struct Member, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +000068 asn_MAP_Member_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +000069 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000070 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +000071 -1, /* Start extensions */
72 -1 /* Stop extensions */
73};
74static /* Use -fall-defs-global to expose */
75asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +000076 "SEQUENCE",
77 "SEQUENCE",
Lev Walkinb7f17972005-03-04 09:10:19 +000078 SEQUENCE_free,
79 SEQUENCE_print,
80 SEQUENCE_constraint,
81 SEQUENCE_decode_ber,
82 SEQUENCE_encode_der,
83 SEQUENCE_decode_xer,
84 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070085 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040086 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +000087 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000088 asn_DEF_Member_tags_2,
89 sizeof(asn_DEF_Member_tags_2)
90 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
91 asn_DEF_Member_tags_2, /* Same as above */
92 sizeof(asn_DEF_Member_tags_2)
93 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040094 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000095 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +000096 asn_MBR_Member_2,
97 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000098 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +000099};
100
101static asn_TYPE_member_t asn_MBR_Type_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000102 { ATF_POINTER, 0, 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000103 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
104 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000105 .type = &asn_DEF_Member_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000106 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400107 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000108 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
109 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000110 .name = ""
111 },
112};
Lev Walkina7591b52014-10-12 18:37:35 -0700113static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000114 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
115};
Lev Walkin59b176e2005-11-26 11:25:14 +0000116static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000117 sizeof(struct Type),
118 offsetof(struct Type, _asn_ctx),
119 0, /* XER encoding is XMLDelimitedItemList */
120};
121asn_TYPE_descriptor_t asn_DEF_Type = {
122 "Type",
123 "Type",
124 SET_OF_free,
125 SET_OF_print,
126 SET_OF_constraint,
127 SET_OF_decode_ber,
128 SET_OF_encode_der,
129 SET_OF_decode_xer,
130 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700131 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400132 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000133 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000134 asn_DEF_Type_tags_1,
135 sizeof(asn_DEF_Type_tags_1)
136 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
137 asn_DEF_Type_tags_1, /* Same as above */
138 sizeof(asn_DEF_Type_tags_1)
139 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400140 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000141 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000142 asn_MBR_Type_1,
143 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000144 &asn_SPC_Type_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000145};
146
147
148/*** <<< INCLUDES [Type1] >>> ***/
149
150#include <INTEGER.h>
151#include <constr_SEQUENCE.h>
152#include <constr_CHOICE.h>
153
154/*** <<< DEPS [Type1] >>> ***/
155
156typedef enum one_name_PR {
157 one_name_PR_NOTHING, /* No components present */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000158 one_name_PR_another_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000159} one_name_PR;
Lev Walkinb7f17972005-03-04 09:10:19 +0000160
161/*** <<< TYPE-DECLS [Type1] >>> ***/
162
Lev Walkinb7f17972005-03-04 09:10:19 +0000163typedef struct Type1 {
164 struct one_name {
165 one_name_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000166 union Type1__one_name_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000167 struct another_name {
168 INTEGER_t a;
169 INTEGER_t b;
170
171 /* Context for parsing across buffer boundaries */
172 asn_struct_ctx_t _asn_ctx;
173 } another_name;
174 } choice;
175
176 /* Context for parsing across buffer boundaries */
177 asn_struct_ctx_t _asn_ctx;
178 } one_name;
179
180 /* Context for parsing across buffer boundaries */
181 asn_struct_ctx_t _asn_ctx;
182} Type1_t;
183
Lev Walkinc8285712005-03-04 22:18:20 +0000184/*** <<< FUNC-DECLS [Type1] >>> ***/
185
186extern asn_TYPE_descriptor_t asn_DEF_Type1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800187extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
188extern asn_TYPE_member_t asn_MBR_Type1_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000189
Lev Walkinb7f17972005-03-04 09:10:19 +0000190/*** <<< STAT-DEFS [Type1] >>> ***/
191
192static asn_TYPE_member_t asn_MBR_another_name_3[] = {
193 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
194 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
195 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000196 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000197 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400198 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000199 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
200 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000201 .name = "a"
202 },
203 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
204 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
205 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000206 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000207 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400208 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000209 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
210 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000211 .name = "b"
212 },
213};
Lev Walkina7591b52014-10-12 18:37:35 -0700214static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000215 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
216};
Lev Walkina7591b52014-10-12 18:37:35 -0700217static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700218 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */
219 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */
Lev Walkinb7f17972005-03-04 09:10:19 +0000220};
Lev Walkin59b176e2005-11-26 11:25:14 +0000221static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000222 sizeof(struct another_name),
223 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000224 asn_MAP_another_name_tag2el_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000225 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000226 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000227 -1, /* Start extensions */
228 -1 /* Stop extensions */
229};
230static /* Use -fall-defs-global to expose */
231asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
232 "another-name",
233 "another-name",
234 SEQUENCE_free,
235 SEQUENCE_print,
236 SEQUENCE_constraint,
237 SEQUENCE_decode_ber,
238 SEQUENCE_encode_der,
239 SEQUENCE_decode_xer,
240 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700241 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400242 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000243 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000244 asn_DEF_another_name_tags_3,
245 sizeof(asn_DEF_another_name_tags_3)
246 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
247 asn_DEF_another_name_tags_3, /* Same as above */
248 sizeof(asn_DEF_another_name_tags_3)
249 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400250 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000251 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000252 asn_MBR_another_name_3,
253 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000254 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000255};
256
257static asn_TYPE_member_t asn_MBR_one_name_2[] = {
258 { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name),
259 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
260 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000261 .type = &asn_DEF_another_name_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000262 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400263 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000264 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
265 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000266 .name = "another-name"
267 },
268};
Lev Walkina7591b52014-10-12 18:37:35 -0700269static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700270 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000271};
Lev Walkin59b176e2005-11-26 11:25:14 +0000272static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000273 sizeof(struct one_name),
274 offsetof(struct one_name, _asn_ctx),
275 offsetof(struct one_name, present),
276 sizeof(((struct one_name *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000277 asn_MAP_one_name_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000278 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000279 .canonical_order = 0,
280 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000281};
282static /* Use -fall-defs-global to expose */
283asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
284 "one-name",
285 "one-name",
286 CHOICE_free,
287 CHOICE_print,
288 CHOICE_constraint,
289 CHOICE_decode_ber,
290 CHOICE_encode_der,
291 CHOICE_decode_xer,
292 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700293 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400294 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000295 CHOICE_outmost_tag,
296 0, /* No effective tags (pointer) */
297 0, /* No effective tags (count) */
298 0, /* No tags (pointer) */
299 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400300 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000301 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000302 asn_MBR_one_name_2,
303 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000304 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000305};
306
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800307asn_TYPE_member_t asn_MBR_Type1_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000308 { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
309 .tag = -1 /* Ambiguous tag (CHOICE?) */,
310 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000311 .type = &asn_DEF_one_name_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000312 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400313 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000314 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
315 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000316 .name = "one-name"
317 },
318};
Lev Walkina7591b52014-10-12 18:37:35 -0700319static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000320 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
321};
Lev Walkina7591b52014-10-12 18:37:35 -0700322static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700323 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000324};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800325asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000326 sizeof(struct Type1),
327 offsetof(struct Type1, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000328 asn_MAP_Type1_tag2el_1,
Lev Walkinb7f17972005-03-04 09:10:19 +0000329 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000330 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000331 -1, /* Start extensions */
332 -1 /* Stop extensions */
333};
334asn_TYPE_descriptor_t asn_DEF_Type1 = {
335 "Type1",
336 "Type1",
337 SEQUENCE_free,
338 SEQUENCE_print,
339 SEQUENCE_constraint,
340 SEQUENCE_decode_ber,
341 SEQUENCE_encode_der,
342 SEQUENCE_decode_xer,
343 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700344 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400345 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000346 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000347 asn_DEF_Type1_tags_1,
348 sizeof(asn_DEF_Type1_tags_1)
349 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
350 asn_DEF_Type1_tags_1, /* Same as above */
351 sizeof(asn_DEF_Type1_tags_1)
352 /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400353 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000354 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000355 asn_MBR_Type1_1,
356 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000357 &asn_SPC_Type1_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000358};
359
360
361/*** <<< INCLUDES [Type2] >>> ***/
362
363#include <BIT_STRING.h>
364#include <INTEGER.h>
365#include <constr_SEQUENCE.h>
366#include <constr_SET.h>
367#include <constr_CHOICE.h>
368
369/*** <<< DEPS [Type2] >>> ***/
370
371typedef enum Type2_PR {
372 Type2_PR_NOTHING, /* No components present */
373 Type2_PR_one_name,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000374 Type2_PR_two_name
Lev Walkinb7f17972005-03-04 09:10:19 +0000375} Type2_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000376typedef enum a {
377 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000378} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000379
380/*
381 * Method of determining the components presence
382 */
383typedef enum two_name_PR {
384 two_name_PR_another_name, /* Member another_name is present */
385} two_name_PR;
Lev Walkinb02a8832005-08-13 23:51:47 +0000386typedef enum a {
387 a_one = 0
Lev Walkin171487e2006-03-21 07:25:18 +0000388} e_a;
Lev Walkinb7f17972005-03-04 09:10:19 +0000389
390/*** <<< TYPE-DECLS [Type2] >>> ***/
391
Lev Walkinb7f17972005-03-04 09:10:19 +0000392typedef struct Type2 {
393 Type2_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000394 union Type2_u {
Lev Walkinb7f17972005-03-04 09:10:19 +0000395 struct one_name {
396 struct another_name {
397 BIT_STRING_t a;
398 INTEGER_t b;
399
400 /* Context for parsing across buffer boundaries */
401 asn_struct_ctx_t _asn_ctx;
402 } another_name;
403
404 /* Context for parsing across buffer boundaries */
405 asn_struct_ctx_t _asn_ctx;
406 } one_name;
407 struct two_name {
408 struct another_name {
409 BIT_STRING_t a;
410 INTEGER_t b;
411
412 /* Context for parsing across buffer boundaries */
413 asn_struct_ctx_t _asn_ctx;
414 } another_name;
415
416 /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */
417 unsigned int _presence_map
418 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
419
420 /* Context for parsing across buffer boundaries */
421 asn_struct_ctx_t _asn_ctx;
422 } two_name;
423 } choice;
424
425 /* Context for parsing across buffer boundaries */
426 asn_struct_ctx_t _asn_ctx;
427} Type2_t;
428
Lev Walkinc8285712005-03-04 22:18:20 +0000429/*** <<< FUNC-DECLS [Type2] >>> ***/
430
431extern asn_TYPE_descriptor_t asn_DEF_Type2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800432extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
433extern asn_TYPE_member_t asn_MBR_Type2_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000434
Lev Walkinb7f17972005-03-04 09:10:19 +0000435/*** <<< CODE [Type2] >>> ***/
436
437static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000438memb_a_constraint_3(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000439 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000440 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
441 size_t size;
442
443 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700444 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000445 "%s: value not given (%s:%d)",
446 td->name, __FILE__, __LINE__);
447 return -1;
448 }
449
450 if(st->size > 0) {
451 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000452 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000453 } else {
454 size = 0;
455 }
456
457 if((size == 2)) {
458 /* Constraint check succeeded */
459 return 0;
460 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700461 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000462 "%s: constraint failed (%s:%d)",
463 td->name, __FILE__, __LINE__);
464 return -1;
465 }
466}
467
468static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000469memb_a_constraint_8(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000470 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb7f17972005-03-04 09:10:19 +0000471 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
472 size_t size;
473
474 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700475 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000476 "%s: value not given (%s:%d)",
477 td->name, __FILE__, __LINE__);
478 return -1;
479 }
480
481 if(st->size > 0) {
482 /* Size in bits */
Lev Walkin1b1c5fc2006-09-08 19:38:11 +0000483 size = 8 * st->size - (st->bits_unused & 0x07);
Lev Walkinb7f17972005-03-04 09:10:19 +0000484 } else {
485 size = 0;
486 }
487
488 if((size == 2)) {
489 /* Constraint check succeeded */
490 return 0;
491 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700492 ASN__CTFAIL(app_key, td, sptr,
Lev Walkinb7f17972005-03-04 09:10:19 +0000493 "%s: constraint failed (%s:%d)",
494 td->name, __FILE__, __LINE__);
495 return -1;
496 }
497}
498
499
500/*** <<< STAT-DEFS [Type2] >>> ***/
501
502static asn_TYPE_member_t asn_MBR_another_name_3[] = {
503 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
504 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
505 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000506 .type = &asn_DEF_BIT_STRING,
Lev Walkin59b176e2005-11-26 11:25:14 +0000507 .memb_constraints = memb_a_constraint_3,
Lev Walkinb33425f2017-07-14 14:59:52 +0400508 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000509 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
510 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000511 .name = "a"
512 },
513 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
514 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
515 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000516 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000517 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400518 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000519 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
520 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000521 .name = "b"
522 },
523};
Lev Walkina7591b52014-10-12 18:37:35 -0700524static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000525 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
526};
Lev Walkina7591b52014-10-12 18:37:35 -0700527static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700528 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
529 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000530};
Lev Walkin59b176e2005-11-26 11:25:14 +0000531static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000532 sizeof(struct another_name),
533 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000534 asn_MAP_another_name_tag2el_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000535 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000536 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000537 -1, /* Start extensions */
538 -1 /* Stop extensions */
539};
540static /* Use -fall-defs-global to expose */
541asn_TYPE_descriptor_t asn_DEF_another_name_3 = {
542 "another-name",
543 "another-name",
544 SEQUENCE_free,
545 SEQUENCE_print,
546 SEQUENCE_constraint,
547 SEQUENCE_decode_ber,
548 SEQUENCE_encode_der,
549 SEQUENCE_decode_xer,
550 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700551 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400552 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000553 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000554 asn_DEF_another_name_tags_3,
555 sizeof(asn_DEF_another_name_tags_3)
556 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
557 asn_DEF_another_name_tags_3, /* Same as above */
558 sizeof(asn_DEF_another_name_tags_3)
559 /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400560 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000561 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000562 asn_MBR_another_name_3,
563 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000564 &asn_SPC_another_name_specs_3 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000565};
566
567static asn_TYPE_member_t asn_MBR_one_name_2[] = {
568 { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name),
569 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
570 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000571 .type = &asn_DEF_another_name_3,
Lev Walkinb7f17972005-03-04 09:10:19 +0000572 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400573 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000574 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
575 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000576 .name = "another-name"
577 },
578};
Lev Walkina7591b52014-10-12 18:37:35 -0700579static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000580 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
581};
Lev Walkina7591b52014-10-12 18:37:35 -0700582static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700583 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000584};
Lev Walkin59b176e2005-11-26 11:25:14 +0000585static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000586 sizeof(struct one_name),
587 offsetof(struct one_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000588 asn_MAP_one_name_tag2el_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000589 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000590 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000591 -1, /* Start extensions */
592 -1 /* Stop extensions */
593};
594static /* Use -fall-defs-global to expose */
595asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
596 "one-name",
597 "one-name",
598 SEQUENCE_free,
599 SEQUENCE_print,
600 SEQUENCE_constraint,
601 SEQUENCE_decode_ber,
602 SEQUENCE_encode_der,
603 SEQUENCE_decode_xer,
604 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700605 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400606 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000607 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000608 asn_DEF_one_name_tags_2,
609 sizeof(asn_DEF_one_name_tags_2)
610 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
611 asn_DEF_one_name_tags_2, /* Same as above */
612 sizeof(asn_DEF_one_name_tags_2)
613 /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400614 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000615 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000616 asn_MBR_one_name_2,
617 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000618 &asn_SPC_one_name_specs_2 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000619};
620
Lev Walkine8318b82005-03-06 09:29:03 +0000621static asn_TYPE_member_t asn_MBR_another_name_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000622 { ATF_NOFLAGS, 0, offsetof(struct another_name, a),
623 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
624 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000625 .type = &asn_DEF_BIT_STRING,
Lev Walkin59b176e2005-11-26 11:25:14 +0000626 .memb_constraints = memb_a_constraint_8,
Lev Walkinb33425f2017-07-14 14:59:52 +0400627 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000628 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
629 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000630 .name = "a"
631 },
632 { ATF_NOFLAGS, 0, offsetof(struct another_name, b),
633 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
634 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000635 .type = &asn_DEF_INTEGER,
Lev Walkinb7f17972005-03-04 09:10:19 +0000636 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400637 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000638 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
639 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000640 .name = "b"
641 },
642};
Lev Walkina7591b52014-10-12 18:37:35 -0700643static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000644 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
645};
Lev Walkina7591b52014-10-12 18:37:35 -0700646static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700647 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */
648 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */
Lev Walkinb7f17972005-03-04 09:10:19 +0000649};
Lev Walkin59b176e2005-11-26 11:25:14 +0000650static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000651 sizeof(struct another_name),
652 offsetof(struct another_name, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000653 asn_MAP_another_name_tag2el_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000654 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000655 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb7f17972005-03-04 09:10:19 +0000656 -1, /* Start extensions */
657 -1 /* Stop extensions */
658};
659static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000660asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000661 "another-name",
662 "another-name",
663 SEQUENCE_free,
664 SEQUENCE_print,
665 SEQUENCE_constraint,
666 SEQUENCE_decode_ber,
667 SEQUENCE_encode_der,
668 SEQUENCE_decode_xer,
669 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700670 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400671 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000672 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000673 asn_DEF_another_name_tags_8,
674 sizeof(asn_DEF_another_name_tags_8)
675 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
676 asn_DEF_another_name_tags_8, /* Same as above */
677 sizeof(asn_DEF_another_name_tags_8)
678 /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400679 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000680 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000681 asn_MBR_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000682 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000683 &asn_SPC_another_name_specs_8 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000684};
685
Lev Walkine8318b82005-03-06 09:29:03 +0000686static asn_TYPE_member_t asn_MBR_two_name_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000687 { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
688 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
689 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000690 .type = &asn_DEF_another_name_8,
Lev Walkinb7f17972005-03-04 09:10:19 +0000691 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400692 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000693 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
694 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000695 .name = "another-name"
696 },
697};
Lev Walkina7591b52014-10-12 18:37:35 -0700698static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000699 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
700};
Lev Walkina7591b52014-10-12 18:37:35 -0700701static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700702 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000703};
Lev Walkina7591b52014-10-12 18:37:35 -0700704static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000705 (1 << 7)
706};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800707static
708asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000709 sizeof(struct two_name),
710 offsetof(struct two_name, _asn_ctx),
711 offsetof(struct two_name, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000712 asn_MAP_two_name_tag2el_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000713 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000714 asn_MAP_two_name_tag2el_7, /* Same as above */
Lev Walkinb7f17972005-03-04 09:10:19 +0000715 1, /* Count of tags in the CXER map */
716 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700717 (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */
Lev Walkinb7f17972005-03-04 09:10:19 +0000718};
719static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000720asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000721 "two-name",
722 "two-name",
723 SET_free,
724 SET_print,
725 SET_constraint,
726 SET_decode_ber,
727 SET_encode_der,
728 SET_decode_xer,
729 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700730 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400731 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000732 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000733 asn_DEF_two_name_tags_7,
734 sizeof(asn_DEF_two_name_tags_7)
735 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
736 asn_DEF_two_name_tags_7, /* Same as above */
737 sizeof(asn_DEF_two_name_tags_7)
738 /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400739 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000740 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000741 asn_MBR_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000742 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000743 &asn_SPC_two_name_specs_7 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000744};
745
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800746asn_TYPE_member_t asn_MBR_Type2_1[] = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000747 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
748 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
749 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000750 .type = &asn_DEF_one_name_2,
Lev Walkinb7f17972005-03-04 09:10:19 +0000751 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400752 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000753 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
754 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000755 .name = "one-name"
756 },
757 { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
758 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
759 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000760 .type = &asn_DEF_two_name_7,
Lev Walkinb7f17972005-03-04 09:10:19 +0000761 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400762 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000763 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
764 .default_value = 0,
Lev Walkinb7f17972005-03-04 09:10:19 +0000765 .name = "two-name"
766 },
767};
Lev Walkina7591b52014-10-12 18:37:35 -0700768static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700769 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
770 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
Lev Walkinb7f17972005-03-04 09:10:19 +0000771};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800772asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
Lev Walkinb7f17972005-03-04 09:10:19 +0000773 sizeof(struct Type2),
774 offsetof(struct Type2, _asn_ctx),
775 offsetof(struct Type2, present),
776 sizeof(((struct Type2 *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000777 asn_MAP_Type2_tag2el_1,
Lev Walkinb7f17972005-03-04 09:10:19 +0000778 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000779 .canonical_order = 0,
780 .ext_start = -1 /* Extensions start */
Lev Walkinb7f17972005-03-04 09:10:19 +0000781};
782asn_TYPE_descriptor_t asn_DEF_Type2 = {
783 "Type2",
784 "Type2",
785 CHOICE_free,
786 CHOICE_print,
787 CHOICE_constraint,
788 CHOICE_decode_ber,
789 CHOICE_encode_der,
790 CHOICE_decode_xer,
791 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700792 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400793 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb7f17972005-03-04 09:10:19 +0000794 CHOICE_outmost_tag,
795 0, /* No effective tags (pointer) */
796 0, /* No effective tags (count) */
797 0, /* No tags (pointer) */
798 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400799 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000800 0, /* No PER visible constraints */
Lev Walkinb7f17972005-03-04 09:10:19 +0000801 asn_MBR_Type2_1,
802 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000803 &asn_SPC_Type2_specs_1 /* Additional specs */
Lev Walkinb7f17972005-03-04 09:10:19 +0000804};
805