blob: a8f36465275aff871ae65cee257a65848a9c3964 [file] [log] [blame]
Lev Walkin35631482004-07-01 00:52:50 +00001
Lev Walkinb47ddce2004-08-11 05:25:47 +00002/*** <<< INCLUDES [T1] >>> ***/
Lev Walkin35631482004-07-01 00:52:50 +00003
Lev Walkin35631482004-07-01 00:52:50 +00004#include <INTEGER.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +00005#include <constr_SET.h>
6
7/*** <<< DEPS [T1] >>> ***/
Lev Walkin35631482004-07-01 00:52:50 +00008
9
10/*
11 * Method of determining the components presence
12 */
Lev Walkin64399722004-08-11 07:17:22 +000013typedef enum T1_PR {
Lev Walkin35631482004-07-01 00:52:50 +000014 T1_PR_i, /* Member i is present */
Lev Walkin64399722004-08-11 07:17:22 +000015} T1_PR;
Lev Walkindfae9752004-09-29 13:19:37 +000016extern asn_TYPE_descriptor_t asn_DEF_T1;
Lev Walkin35631482004-07-01 00:52:50 +000017
18/*** <<< TYPE-DECLS [T1] >>> ***/
19
20
21typedef struct T1 {
22 INTEGER_t i;
23 /*
24 * This type is extensible,
25 * possible extensions are below.
26 */
27
28 /* Presence bitmask: ASN_SET_ISPRESENT(pT1, T1_PR_x) */
29 unsigned int _presence_map
30 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
31
32 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000033 asn_struct_ctx_t _asn_ctx;
Lev Walkin35631482004-07-01 00:52:50 +000034} T1_t;
35
36/*** <<< STAT-DEFS [T1] >>> ***/
37
Lev Walkindfae9752004-09-29 13:19:37 +000038static asn_TYPE_member_t asn_MBR_T1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000039 { ATF_NOFLAGS, 0, offsetof(struct T1, i),
Lev Walkin2e3055d2004-08-20 13:36:32 +000040 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
41 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +000042 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +000043 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +000044 .name = "i"
Lev Walkin35631482004-07-01 00:52:50 +000045 },
46};
Lev Walkindfae9752004-09-29 13:19:37 +000047static ber_tlv_tag_t asn_DEF_T1_tags[] = {
Lev Walkin35631482004-07-01 00:52:50 +000048 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
49};
Lev Walkindfae9752004-09-29 13:19:37 +000050static asn_TYPE_tag2member_t asn_DEF_T1_tag2el[] = {
Lev Walkin35631482004-07-01 00:52:50 +000051 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 14 */
52};
Lev Walkindfae9752004-09-29 13:19:37 +000053static uint8_t asn_DEF_T1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin35631482004-07-01 00:52:50 +000054 (1 << 7)
55};
Lev Walkindfae9752004-09-29 13:19:37 +000056static asn_SET_specifics_t asn_DEF_T1_specs = {
Lev Walkin35631482004-07-01 00:52:50 +000057 sizeof(struct T1),
Lev Walkindfae9752004-09-29 13:19:37 +000058 offsetof(struct T1, _asn_ctx),
Lev Walkin35631482004-07-01 00:52:50 +000059 offsetof(struct T1, _presence_map),
Lev Walkindfae9752004-09-29 13:19:37 +000060 asn_DEF_T1_tag2el,
Lev Walkin35631482004-07-01 00:52:50 +000061 1, /* Count of tags in the map */
Lev Walkin2a8672e2004-10-03 09:14:49 +000062 asn_DEF_T1_tag2el, /* Same as above */
63 1, /* Count of tags in the CANONICAL-XER map */
Lev Walkin35631482004-07-01 00:52:50 +000064 1, /* Whether extensible */
Lev Walkindfae9752004-09-29 13:19:37 +000065 (unsigned int *)asn_DEF_T1_mmap /* Mandatory elements map */
Lev Walkin35631482004-07-01 00:52:50 +000066};
Lev Walkindfae9752004-09-29 13:19:37 +000067asn_TYPE_descriptor_t asn_DEF_T1 = {
Lev Walkin35631482004-07-01 00:52:50 +000068 "T1",
Lev Walkindc06f6b2004-10-20 15:50:55 +000069 "T1",
Lev Walkina9cc46e2004-09-22 16:06:28 +000070 SET_free,
71 SET_print,
Lev Walkin35631482004-07-01 00:52:50 +000072 SET_constraint,
73 SET_decode_ber,
74 SET_encode_der,
Lev Walkina9cc46e2004-09-22 16:06:28 +000075 0, /* Not implemented yet */
76 SET_encode_xer,
Lev Walkin35631482004-07-01 00:52:50 +000077 0, /* Use generic outmost tag fetcher */
Lev Walkindfae9752004-09-29 13:19:37 +000078 asn_DEF_T1_tags,
79 sizeof(asn_DEF_T1_tags)
80 /sizeof(asn_DEF_T1_tags[0]), /* 1 */
81 asn_DEF_T1_tags, /* Same as above */
82 sizeof(asn_DEF_T1_tags)
83 /sizeof(asn_DEF_T1_tags[0]), /* 1 */
84 asn_MBR_T1,
Lev Walkin2e3055d2004-08-20 13:36:32 +000085 1, /* Elements count */
Lev Walkindfae9752004-09-29 13:19:37 +000086 &asn_DEF_T1_specs /* Additional specs */
Lev Walkin35631482004-07-01 00:52:50 +000087};
88
89
Lev Walkinb47ddce2004-08-11 05:25:47 +000090/*** <<< INCLUDES [T2] >>> ***/
Lev Walkin35631482004-07-01 00:52:50 +000091
Lev Walkin35631482004-07-01 00:52:50 +000092#include <INTEGER.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +000093#include <constr_SET.h>
94
95/*** <<< DEPS [T2] >>> ***/
Lev Walkin35631482004-07-01 00:52:50 +000096
97
98/*
99 * Method of determining the components presence
100 */
Lev Walkin64399722004-08-11 07:17:22 +0000101typedef enum T2_PR {
Lev Walkin35631482004-07-01 00:52:50 +0000102 T2_PR_i, /* Member i is present */
Lev Walkin64399722004-08-11 07:17:22 +0000103} T2_PR;
Lev Walkindfae9752004-09-29 13:19:37 +0000104extern asn_TYPE_descriptor_t asn_DEF_T2;
Lev Walkin35631482004-07-01 00:52:50 +0000105
106/*** <<< TYPE-DECLS [T2] >>> ***/
107
108
109typedef struct T2 {
110 INTEGER_t i;
111 /*
112 * This type is extensible,
113 * possible extensions are below.
114 */
115
116 /* Presence bitmask: ASN_SET_ISPRESENT(pT2, T2_PR_x) */
117 unsigned int _presence_map
118 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
119
120 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000121 asn_struct_ctx_t _asn_ctx;
Lev Walkin35631482004-07-01 00:52:50 +0000122} T2_t;
123
124/*** <<< STAT-DEFS [T2] >>> ***/
125
Lev Walkindfae9752004-09-29 13:19:37 +0000126static asn_TYPE_member_t asn_MBR_T2[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000127 { ATF_NOFLAGS, 0, offsetof(struct T2, i),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000128 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
129 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000130 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000131 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132 .name = "i"
Lev Walkin35631482004-07-01 00:52:50 +0000133 },
134};
Lev Walkindfae9752004-09-29 13:19:37 +0000135static ber_tlv_tag_t asn_DEF_T2_tags[] = {
Lev Walkin35631482004-07-01 00:52:50 +0000136 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
137};
Lev Walkindfae9752004-09-29 13:19:37 +0000138static asn_TYPE_tag2member_t asn_DEF_T2_tag2el[] = {
Lev Walkin35631482004-07-01 00:52:50 +0000139 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 15 */
140};
Lev Walkindfae9752004-09-29 13:19:37 +0000141static uint8_t asn_DEF_T2_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin35631482004-07-01 00:52:50 +0000142 (1 << 7)
143};
Lev Walkindfae9752004-09-29 13:19:37 +0000144static asn_SET_specifics_t asn_DEF_T2_specs = {
Lev Walkin35631482004-07-01 00:52:50 +0000145 sizeof(struct T2),
Lev Walkindfae9752004-09-29 13:19:37 +0000146 offsetof(struct T2, _asn_ctx),
Lev Walkin35631482004-07-01 00:52:50 +0000147 offsetof(struct T2, _presence_map),
Lev Walkindfae9752004-09-29 13:19:37 +0000148 asn_DEF_T2_tag2el,
Lev Walkin35631482004-07-01 00:52:50 +0000149 1, /* Count of tags in the map */
Lev Walkin2a8672e2004-10-03 09:14:49 +0000150 asn_DEF_T2_tag2el, /* Same as above */
151 1, /* Count of tags in the CANONICAL-XER map */
Lev Walkin35631482004-07-01 00:52:50 +0000152 1, /* Whether extensible */
Lev Walkindfae9752004-09-29 13:19:37 +0000153 (unsigned int *)asn_DEF_T2_mmap /* Mandatory elements map */
Lev Walkin35631482004-07-01 00:52:50 +0000154};
Lev Walkindfae9752004-09-29 13:19:37 +0000155asn_TYPE_descriptor_t asn_DEF_T2 = {
Lev Walkin35631482004-07-01 00:52:50 +0000156 "T2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000157 "T2",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000158 SET_free,
159 SET_print,
Lev Walkin35631482004-07-01 00:52:50 +0000160 SET_constraint,
161 SET_decode_ber,
162 SET_encode_der,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000163 0, /* Not implemented yet */
164 SET_encode_xer,
Lev Walkin35631482004-07-01 00:52:50 +0000165 0, /* Use generic outmost tag fetcher */
Lev Walkindfae9752004-09-29 13:19:37 +0000166 asn_DEF_T2_tags,
167 sizeof(asn_DEF_T2_tags)
168 /sizeof(asn_DEF_T2_tags[0]), /* 1 */
169 asn_DEF_T2_tags, /* Same as above */
170 sizeof(asn_DEF_T2_tags)
171 /sizeof(asn_DEF_T2_tags[0]), /* 1 */
172 asn_MBR_T2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000173 1, /* Elements count */
Lev Walkindfae9752004-09-29 13:19:37 +0000174 &asn_DEF_T2_specs /* Additional specs */
Lev Walkin35631482004-07-01 00:52:50 +0000175};
176
177
Lev Walkinb47ddce2004-08-11 05:25:47 +0000178/*** <<< INCLUDES [T3] >>> ***/
179
180#include <INTEGER.h>
181#include <constr_CHOICE.h>
182
Lev Walkin35631482004-07-01 00:52:50 +0000183/*** <<< DEPS [T3] >>> ***/
184
Lev Walkinb47ddce2004-08-11 05:25:47 +0000185typedef enum T3_PR {
186 T3_PR_NOTHING, /* No components present */
187 T3_PR_i,
188 /* Extensions may appear below */
Lev Walkin64399722004-08-11 07:17:22 +0000189} T3_PR;
Lev Walkindfae9752004-09-29 13:19:37 +0000190extern asn_TYPE_descriptor_t asn_DEF_T3;
Lev Walkin35631482004-07-01 00:52:50 +0000191
192/*** <<< TYPE-DECLS [T3] >>> ***/
193
194
195typedef struct T3 {
Lev Walkin64399722004-08-11 07:17:22 +0000196 T3_PR present;
Lev Walkin35631482004-07-01 00:52:50 +0000197 union {
198 INTEGER_t i;
199 /*
200 * This type is extensible,
201 * possible extensions are below.
202 */
203 } choice;
204
205 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000206 asn_struct_ctx_t _asn_ctx;
Lev Walkin35631482004-07-01 00:52:50 +0000207} T3_t;
208
209/*** <<< STAT-DEFS [T3] >>> ***/
210
Lev Walkindfae9752004-09-29 13:19:37 +0000211static asn_TYPE_member_t asn_MBR_T3[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000212 { ATF_NOFLAGS, 0, offsetof(struct T3, choice.i),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000213 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
214 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000215 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000216 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000217 .name = "i"
Lev Walkin35631482004-07-01 00:52:50 +0000218 },
219};
Lev Walkindfae9752004-09-29 13:19:37 +0000220static asn_TYPE_tag2member_t asn_DEF_T3_tag2el[] = {
Lev Walkin35631482004-07-01 00:52:50 +0000221 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 16 */
222};
Lev Walkindfae9752004-09-29 13:19:37 +0000223static asn_CHOICE_specifics_t asn_DEF_T3_specs = {
Lev Walkin35631482004-07-01 00:52:50 +0000224 sizeof(struct T3),
Lev Walkindfae9752004-09-29 13:19:37 +0000225 offsetof(struct T3, _asn_ctx),
Lev Walkin35631482004-07-01 00:52:50 +0000226 offsetof(struct T3, present),
227 sizeof(((struct T3 *)0)->present),
Lev Walkindfae9752004-09-29 13:19:37 +0000228 asn_DEF_T3_tag2el,
Lev Walkin35631482004-07-01 00:52:50 +0000229 1, /* Count of tags in the map */
230 1 /* Whether extensible */
231};
Lev Walkindfae9752004-09-29 13:19:37 +0000232asn_TYPE_descriptor_t asn_DEF_T3 = {
Lev Walkin35631482004-07-01 00:52:50 +0000233 "T3",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000234 "T3",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000235 CHOICE_free,
236 CHOICE_print,
Lev Walkin35631482004-07-01 00:52:50 +0000237 CHOICE_constraint,
238 CHOICE_decode_ber,
239 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000240 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000241 CHOICE_encode_xer,
Lev Walkin35631482004-07-01 00:52:50 +0000242 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000243 0, /* No effective tags (pointer) */
244 0, /* No effective tags (count) */
245 0, /* No tags (pointer) */
246 0, /* No tags (count) */
Lev Walkindfae9752004-09-29 13:19:37 +0000247 asn_MBR_T3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248 1, /* Elements count */
Lev Walkindfae9752004-09-29 13:19:37 +0000249 &asn_DEF_T3_specs /* Additional specs */
Lev Walkin35631482004-07-01 00:52:50 +0000250};
251
252
Lev Walkinb47ddce2004-08-11 05:25:47 +0000253/*** <<< INCLUDES [T4] >>> ***/
254
255#include <INTEGER.h>
256#include <constr_CHOICE.h>
257
Lev Walkin35631482004-07-01 00:52:50 +0000258/*** <<< DEPS [T4] >>> ***/
259
Lev Walkinb47ddce2004-08-11 05:25:47 +0000260typedef enum T4_PR {
261 T4_PR_NOTHING, /* No components present */
262 T4_PR_i,
263 /* Extensions may appear below */
Lev Walkin64399722004-08-11 07:17:22 +0000264} T4_PR;
Lev Walkindfae9752004-09-29 13:19:37 +0000265extern asn_TYPE_descriptor_t asn_DEF_T4;
Lev Walkin35631482004-07-01 00:52:50 +0000266
267/*** <<< TYPE-DECLS [T4] >>> ***/
268
269
270typedef struct T4 {
Lev Walkin64399722004-08-11 07:17:22 +0000271 T4_PR present;
Lev Walkin35631482004-07-01 00:52:50 +0000272 union {
273 INTEGER_t i;
274 /*
275 * This type is extensible,
276 * possible extensions are below.
277 */
278 } choice;
279
280 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000281 asn_struct_ctx_t _asn_ctx;
Lev Walkin35631482004-07-01 00:52:50 +0000282} T4_t;
283
284/*** <<< STAT-DEFS [T4] >>> ***/
285
Lev Walkindfae9752004-09-29 13:19:37 +0000286static asn_TYPE_member_t asn_MBR_T4[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000287 { ATF_NOFLAGS, 0, offsetof(struct T4, choice.i),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000288 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
289 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000290 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000291 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000292 .name = "i"
Lev Walkin35631482004-07-01 00:52:50 +0000293 },
294};
Lev Walkindfae9752004-09-29 13:19:37 +0000295static asn_TYPE_tag2member_t asn_DEF_T4_tag2el[] = {
Lev Walkin35631482004-07-01 00:52:50 +0000296 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 17 */
297};
Lev Walkindfae9752004-09-29 13:19:37 +0000298static asn_CHOICE_specifics_t asn_DEF_T4_specs = {
Lev Walkin35631482004-07-01 00:52:50 +0000299 sizeof(struct T4),
Lev Walkindfae9752004-09-29 13:19:37 +0000300 offsetof(struct T4, _asn_ctx),
Lev Walkin35631482004-07-01 00:52:50 +0000301 offsetof(struct T4, present),
302 sizeof(((struct T4 *)0)->present),
Lev Walkindfae9752004-09-29 13:19:37 +0000303 asn_DEF_T4_tag2el,
Lev Walkin35631482004-07-01 00:52:50 +0000304 1, /* Count of tags in the map */
305 1 /* Whether extensible */
306};
Lev Walkindfae9752004-09-29 13:19:37 +0000307asn_TYPE_descriptor_t asn_DEF_T4 = {
Lev Walkin35631482004-07-01 00:52:50 +0000308 "T4",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000309 "T4",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000310 CHOICE_free,
311 CHOICE_print,
Lev Walkin35631482004-07-01 00:52:50 +0000312 CHOICE_constraint,
313 CHOICE_decode_ber,
314 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000315 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000316 CHOICE_encode_xer,
Lev Walkin35631482004-07-01 00:52:50 +0000317 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000318 0, /* No effective tags (pointer) */
319 0, /* No effective tags (count) */
320 0, /* No tags (pointer) */
321 0, /* No tags (count) */
Lev Walkindfae9752004-09-29 13:19:37 +0000322 asn_MBR_T4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000323 1, /* Elements count */
Lev Walkindfae9752004-09-29 13:19:37 +0000324 &asn_DEF_T4_specs /* Additional specs */
Lev Walkin35631482004-07-01 00:52:50 +0000325};
326