blob: 785f41161b1a0ec38ff3d7588dd3394213fe3b38 [file] [log] [blame]
Lev Walkin5bbff1e2004-06-28 21:13:22 +00001
Lev Walkinb47ddce2004-08-11 05:25:47 +00002/*** <<< INCLUDES [T] >>> ***/
Lev Walkin5bbff1e2004-06-28 21:13:22 +00003
Lev Walkin5bbff1e2004-06-28 21:13:22 +00004#include <NULL.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +00005#include <constr_CHOICE.h>
Lev Walkin5bbff1e2004-06-28 21:13:22 +00006#include <constr_SEQUENCE.h>
7
Lev Walkinb47ddce2004-08-11 05:25:47 +00008/*** <<< DEPS [T] >>> ***/
9
Lev Walkin2e3055d2004-08-20 13:36:32 +000010typedef enum b_PR {
11 b_PR_NOTHING, /* No components present */
12 b_PR_c,
13 b_PR_d,
14 b_PR_e,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000015 b_PR_h
Lev Walkin2e3055d2004-08-20 13:36:32 +000016} b_PR;
17typedef enum e_PR {
18 e_PR_NOTHING, /* No components present */
19 e_PR_f,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000020 e_PR_g
Lev Walkin2e3055d2004-08-20 13:36:32 +000021} e_PR;
22typedef enum h_PR {
23 h_PR_NOTHING, /* No components present */
24 h_PR_i,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000025 h_PR_j
Lev Walkin2e3055d2004-08-20 13:36:32 +000026} h_PR;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000027
28/*** <<< TYPE-DECLS [T] >>> ***/
29
Lev Walkin5bbff1e2004-06-28 21:13:22 +000030typedef struct T {
31 NULL_t a;
32 struct b {
Lev Walkin64399722004-08-11 07:17:22 +000033 b_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000034 union T__b_u {
Lev Walkin5bbff1e2004-06-28 21:13:22 +000035 NULL_t c;
36 NULL_t d;
37 struct e {
Lev Walkin64399722004-08-11 07:17:22 +000038 e_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000039 union T__b__e_u {
Lev Walkin5bbff1e2004-06-28 21:13:22 +000040 NULL_t f;
41 NULL_t g;
42 } choice;
43
44 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000045 asn_struct_ctx_t _asn_ctx;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000046 } e;
47 struct h {
Lev Walkin64399722004-08-11 07:17:22 +000048 h_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000049 union T__b__h_u {
Lev Walkin5bbff1e2004-06-28 21:13:22 +000050 NULL_t i;
51 NULL_t j;
52 } choice;
53
54 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000055 asn_struct_ctx_t _asn_ctx;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000056 } h;
57 } choice;
58
59 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000060 asn_struct_ctx_t _asn_ctx;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000061 } b;
62
63 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000064 asn_struct_ctx_t _asn_ctx;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000065} T_t;
66
Lev Walkinc8285712005-03-04 22:18:20 +000067/*** <<< FUNC-DECLS [T] >>> ***/
68
69extern asn_TYPE_descriptor_t asn_DEF_T;
70
Lev Walkin5bbff1e2004-06-28 21:13:22 +000071/*** <<< STAT-DEFS [T] >>> ***/
72
Lev Walkine8318b82005-03-06 09:29:03 +000073static asn_TYPE_member_t asn_MBR_e_6[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000074 { ATF_NOFLAGS, 0, offsetof(struct e, choice.f),
Lev Walkin2e3055d2004-08-20 13:36:32 +000075 .tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),
76 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000077 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +000078 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040079 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000080 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
81 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000082 .name = "f"
Lev Walkin5bbff1e2004-06-28 21:13:22 +000083 },
Lev Walkincc93b0f2004-09-10 09:18:20 +000084 { ATF_NOFLAGS, 0, offsetof(struct e, choice.g),
Lev Walkin2e3055d2004-08-20 13:36:32 +000085 .tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),
86 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000087 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +000088 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040089 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000090 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
91 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000092 .name = "g"
93 },
94};
Lev Walkina7591b52014-10-12 18:37:35 -070095static const asn_TYPE_tag2member_t asn_MAP_e_tag2el_6[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070096 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f */
97 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g */
Lev Walkin2e3055d2004-08-20 13:36:32 +000098};
Lev Walkin59b176e2005-11-26 11:25:14 +000099static asn_CHOICE_specifics_t asn_SPC_e_specs_6 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000100 sizeof(struct e),
Lev Walkindfae9752004-09-29 13:19:37 +0000101 offsetof(struct e, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000102 offsetof(struct e, present),
103 sizeof(((struct e *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000104 asn_MAP_e_tag2el_6,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000105 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000106 .canonical_order = 0,
107 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000108};
Lev Walkind04430c2004-09-07 06:44:29 +0000109static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000110asn_TYPE_descriptor_t asn_DEF_e_6 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000111 "e",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000112 "e",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000113 CHOICE_free,
114 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000115 CHOICE_constraint,
116 CHOICE_decode_ber,
117 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000118 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000119 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700120 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400121 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000122 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000123 0, /* No effective tags (pointer) */
124 0, /* No effective tags (count) */
125 0, /* No tags (pointer) */
126 0, /* No tags (count) */
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 Walkine8318b82005-03-06 09:29:03 +0000129 asn_MBR_e_6,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000130 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000131 &asn_SPC_e_specs_6 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132};
133
Lev Walkine8318b82005-03-06 09:29:03 +0000134static asn_TYPE_member_t asn_MBR_h_9[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000135 { ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000136 .tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
137 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000138 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000139 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400140 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000141 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
142 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000143 .name = "i"
144 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000145 { ATF_NOFLAGS, 0, offsetof(struct h, choice.j),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000146 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
147 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000148 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000149 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400150 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000151 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
152 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000153 .name = "j"
154 },
155};
Lev Walkina7591b52014-10-12 18:37:35 -0700156static const asn_TYPE_tag2member_t asn_MAP_h_tag2el_9[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700157 { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i */
158 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000159};
Lev Walkin59b176e2005-11-26 11:25:14 +0000160static asn_CHOICE_specifics_t asn_SPC_h_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000161 sizeof(struct h),
Lev Walkindfae9752004-09-29 13:19:37 +0000162 offsetof(struct h, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000163 offsetof(struct h, present),
164 sizeof(((struct h *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000165 asn_MAP_h_tag2el_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000166 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000167 .canonical_order = 0,
168 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000169};
Lev Walkind04430c2004-09-07 06:44:29 +0000170static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000171asn_TYPE_descriptor_t asn_DEF_h_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000172 "h",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000173 "h",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000174 CHOICE_free,
175 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000176 CHOICE_constraint,
177 CHOICE_decode_ber,
178 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000179 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000180 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700181 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400182 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000183 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000184 0, /* No effective tags (pointer) */
185 0, /* No effective tags (count) */
186 0, /* No tags (pointer) */
187 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400188 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000189 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000190 asn_MBR_h_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000191 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000192 &asn_SPC_h_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000193};
194
Lev Walkine8318b82005-03-06 09:29:03 +0000195static asn_TYPE_member_t asn_MBR_b_3[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000196 { ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000197 .tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
198 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000199 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000200 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400201 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000202 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
203 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000204 .name = "c"
205 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000206 { ATF_NOFLAGS, 0, offsetof(struct b, choice.d),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000207 .tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),
208 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000209 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000210 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400211 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000212 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
213 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000214 .name = "d"
215 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000216 { ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
Lev Walkinb9189732004-09-10 09:37:12 +0000217 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000218 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000219 .type = &asn_DEF_e_6,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000220 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400221 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000222 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
223 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000224 .name = "e"
225 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000226 { ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000227 .tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
228 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000229 .type = &asn_DEF_h_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000230 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400231 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000232 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
233 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000234 .name = "h"
235 },
236};
Lev Walkina7591b52014-10-12 18:37:35 -0700237static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700238 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c */
239 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */
240 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f */
241 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g */
242 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000243};
Lev Walkin59b176e2005-11-26 11:25:14 +0000244static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000245 sizeof(struct b),
Lev Walkindfae9752004-09-29 13:19:37 +0000246 offsetof(struct b, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000247 offsetof(struct b, present),
248 sizeof(((struct b *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000249 asn_MAP_b_tag2el_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000250 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000251 .canonical_order = 0,
252 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000253};
Lev Walkind04430c2004-09-07 06:44:29 +0000254static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000255asn_TYPE_descriptor_t asn_DEF_b_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000256 "b",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000257 "b",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000258 CHOICE_free,
259 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000260 CHOICE_constraint,
261 CHOICE_decode_ber,
262 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000263 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000264 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700265 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400266 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000267 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000268 0, /* No effective tags (pointer) */
269 0, /* No effective tags (count) */
270 0, /* No tags (pointer) */
271 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400272 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000273 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000274 asn_MBR_b_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000275 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000276 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000277};
278
Lev Walkine0272aa2005-03-04 11:26:08 +0000279static asn_TYPE_member_t asn_MBR_T_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000280 { ATF_NOFLAGS, 0, offsetof(struct T, a),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000281 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
282 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000283 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000284 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400285 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000286 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
287 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000288 .name = "a"
289 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000290 { ATF_NOFLAGS, 0, offsetof(struct T, b),
Lev Walkinb9189732004-09-10 09:37:12 +0000291 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000292 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000293 .type = &asn_DEF_b_3,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000294 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400295 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000296 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
297 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000298 .name = "b"
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000299 },
300};
Lev Walkina7591b52014-10-12 18:37:35 -0700301static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
Lev Walkin188ed2c2004-09-13 08:31:01 +0000302 (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
303 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000304};
Lev Walkina7591b52014-10-12 18:37:35 -0700305static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700306 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a */
307 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c */
308 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */
309 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 1, 0, 0 }, /* f */
310 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g */
311 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 } /* h */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000312};
Lev Walkin59b176e2005-11-26 11:25:14 +0000313static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000314 sizeof(struct T),
Lev Walkindfae9752004-09-29 13:19:37 +0000315 offsetof(struct T, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000316 asn_MAP_T_tag2el_1,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000317 6, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000318 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000319 -1, /* Start extensions */
320 -1 /* Stop extensions */
321};
Lev Walkindfae9752004-09-29 13:19:37 +0000322asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000323 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000324 "T",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000325 SEQUENCE_free,
326 SEQUENCE_print,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000327 SEQUENCE_constraint,
328 SEQUENCE_decode_ber,
329 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000330 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000331 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700332 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400333 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000334 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000335 asn_DEF_T_tags_1,
336 sizeof(asn_DEF_T_tags_1)
337 /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */
338 asn_DEF_T_tags_1, /* Same as above */
339 sizeof(asn_DEF_T_tags_1)
340 /sizeof(asn_DEF_T_tags_1[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400341 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000342 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000343 asn_MBR_T_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000344 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000345 &asn_SPC_T_specs_1 /* Additional specs */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000346};
347