blob: 09bc8bae1d85e16a6afc4a9b21b7c7d5a4f2d8e0 [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 Walkin59b176e2005-11-26 11:25:14 +000079 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
80 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000081 .name = "f"
Lev Walkin5bbff1e2004-06-28 21:13:22 +000082 },
Lev Walkincc93b0f2004-09-10 09:18:20 +000083 { ATF_NOFLAGS, 0, offsetof(struct e, choice.g),
Lev Walkin2e3055d2004-08-20 13:36:32 +000084 .tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),
85 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000086 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +000087 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000088 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
89 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000090 .name = "g"
91 },
92};
Lev Walkin59b176e2005-11-26 11:25:14 +000093static asn_TYPE_tag2member_t asn_MAP_e_tag2el_6[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000094 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f at 20 */
Lev Walkin4756e5e2005-02-25 08:19:34 +000095 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g at 21 */
Lev Walkin2e3055d2004-08-20 13:36:32 +000096};
Lev Walkin59b176e2005-11-26 11:25:14 +000097static asn_CHOICE_specifics_t asn_SPC_e_specs_6 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000098 sizeof(struct e),
Lev Walkindfae9752004-09-29 13:19:37 +000099 offsetof(struct e, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000100 offsetof(struct e, present),
101 sizeof(((struct e *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000102 asn_MAP_e_tag2el_6,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000103 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000104 .canonical_order = 0,
105 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000106};
Lev Walkind04430c2004-09-07 06:44:29 +0000107static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000108asn_TYPE_descriptor_t asn_DEF_e_6 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000109 "e",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000110 "e",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000111 CHOICE_free,
112 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000113 CHOICE_constraint,
114 CHOICE_decode_ber,
115 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000116 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000117 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000118 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000119 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000120 0, /* No effective tags (pointer) */
121 0, /* No effective tags (count) */
122 0, /* No tags (pointer) */
123 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000124 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000125 asn_MBR_e_6,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000126 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 &asn_SPC_e_specs_6 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000128};
129
Lev Walkine8318b82005-03-06 09:29:03 +0000130static asn_TYPE_member_t asn_MBR_h_9[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000131 { ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132 .tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
133 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000135 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000136 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
137 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000138 .name = "i"
139 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000140 { ATF_NOFLAGS, 0, offsetof(struct h, choice.j),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000141 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
142 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000143 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000144 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000145 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
146 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000147 .name = "j"
148 },
149};
Lev Walkin59b176e2005-11-26 11:25:14 +0000150static asn_TYPE_tag2member_t asn_MAP_h_tag2el_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000151 { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i at 24 */
Lev Walkin4756e5e2005-02-25 08:19:34 +0000152 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j at 25 */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000153};
Lev Walkin59b176e2005-11-26 11:25:14 +0000154static asn_CHOICE_specifics_t asn_SPC_h_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000155 sizeof(struct h),
Lev Walkindfae9752004-09-29 13:19:37 +0000156 offsetof(struct h, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000157 offsetof(struct h, present),
158 sizeof(((struct h *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000159 asn_MAP_h_tag2el_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000160 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 .canonical_order = 0,
162 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000163};
Lev Walkind04430c2004-09-07 06:44:29 +0000164static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000165asn_TYPE_descriptor_t asn_DEF_h_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000166 "h",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000167 "h",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000168 CHOICE_free,
169 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000170 CHOICE_constraint,
171 CHOICE_decode_ber,
172 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000173 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000174 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000175 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000176 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000177 0, /* No effective tags (pointer) */
178 0, /* No effective tags (count) */
179 0, /* No tags (pointer) */
180 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000181 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000182 asn_MBR_h_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000183 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000184 &asn_SPC_h_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000185};
186
Lev Walkine8318b82005-03-06 09:29:03 +0000187static asn_TYPE_member_t asn_MBR_b_3[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000188 { ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000189 .tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
190 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000191 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000192 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000193 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
194 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000195 .name = "c"
196 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000197 { ATF_NOFLAGS, 0, offsetof(struct b, choice.d),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000198 .tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),
199 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000200 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000201 .memb_constraints = 0, /* Defer constraints checking to the member type */
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 = "d"
205 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000206 { ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
Lev Walkinb9189732004-09-10 09:37:12 +0000207 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000208 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000209 .type = &asn_DEF_e_6,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000210 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000211 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
212 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000213 .name = "e"
214 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000215 { ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000216 .tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
217 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000218 .type = &asn_DEF_h_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000219 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000220 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
221 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000222 .name = "h"
223 },
224};
Lev Walkin59b176e2005-11-26 11:25:14 +0000225static asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000226 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c at 17 */
227 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
228 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f at 20 */
229 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g at 21 */
Lev Walkin4756e5e2005-02-25 08:19:34 +0000230 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h at 24 */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000231};
Lev Walkin59b176e2005-11-26 11:25:14 +0000232static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000233 sizeof(struct b),
Lev Walkindfae9752004-09-29 13:19:37 +0000234 offsetof(struct b, _asn_ctx),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000235 offsetof(struct b, present),
236 sizeof(((struct b *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000237 asn_MAP_b_tag2el_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000238 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000239 .canonical_order = 0,
240 .ext_start = -1 /* Extensions start */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000241};
Lev Walkind04430c2004-09-07 06:44:29 +0000242static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000243asn_TYPE_descriptor_t asn_DEF_b_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000244 "b",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000245 "b",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000246 CHOICE_free,
247 CHOICE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248 CHOICE_constraint,
249 CHOICE_decode_ber,
250 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000251 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000252 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000253 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000254 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000255 0, /* No effective tags (pointer) */
256 0, /* No effective tags (count) */
257 0, /* No tags (pointer) */
258 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000259 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000260 asn_MBR_b_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000261 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000262 &asn_SPC_b_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000263};
264
Lev Walkine0272aa2005-03-04 11:26:08 +0000265static asn_TYPE_member_t asn_MBR_T_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000266 { ATF_NOFLAGS, 0, offsetof(struct T, a),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000267 .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
268 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000269 .type = &asn_DEF_NULL,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000270 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000271 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
272 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000273 .name = "a"
274 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000275 { ATF_NOFLAGS, 0, offsetof(struct T, b),
Lev Walkinb9189732004-09-10 09:37:12 +0000276 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000277 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000278 .type = &asn_DEF_b_3,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000279 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000280 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
281 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000282 .name = "b"
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000283 },
284};
Lev Walkin59b176e2005-11-26 11:25:14 +0000285static ber_tlv_tag_t asn_DEF_T_tags_1[] = {
Lev Walkin188ed2c2004-09-13 08:31:01 +0000286 (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
287 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000288};
Lev Walkin59b176e2005-11-26 11:25:14 +0000289static asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000290 { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a at 15 */
291 { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c at 17 */
292 { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
293 { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 1, 0, 0 }, /* f at 20 */
294 { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */
Lev Walkin4756e5e2005-02-25 08:19:34 +0000295 { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 } /* h at 24 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000296};
Lev Walkin59b176e2005-11-26 11:25:14 +0000297static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000298 sizeof(struct T),
Lev Walkindfae9752004-09-29 13:19:37 +0000299 offsetof(struct T, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000300 asn_MAP_T_tag2el_1,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000301 6, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000302 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000303 -1, /* Start extensions */
304 -1 /* Stop extensions */
305};
Lev Walkindfae9752004-09-29 13:19:37 +0000306asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000307 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000308 "T",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000309 SEQUENCE_free,
310 SEQUENCE_print,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000311 SEQUENCE_constraint,
312 SEQUENCE_decode_ber,
313 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000314 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000315 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000316 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000317 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000318 asn_DEF_T_tags_1,
319 sizeof(asn_DEF_T_tags_1)
320 /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */
321 asn_DEF_T_tags_1, /* Same as above */
322 sizeof(asn_DEF_T_tags_1)
323 /sizeof(asn_DEF_T_tags_1[0]), /* 2 */
324 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000325 asn_MBR_T_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000326 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000327 &asn_SPC_T_specs_1 /* Additional specs */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000328};
329