blob: de24047f835c7570c45c39fda1a2e116183590dc [file] [log] [blame]
Lev Walkinc8285712005-03-04 22:18:20 +00001
2/*** <<< INCLUDES [Type] >>> ***/
3
4#include <asn_SEQUENCE_OF.h>
5#include <constr_SEQUENCE_OF.h>
6#include <constr_SEQUENCE.h>
7
8/*** <<< FWD-DECLS [Type] >>> ***/
9
10struct Epyt; /* Forward declaration */
11
12/*** <<< TYPE-DECLS [Type] >>> ***/
13
14typedef struct Type {
15 struct data {
16 A_SEQUENCE_OF(struct Epyt) list;
17
18 /* Context for parsing across buffer boundaries */
19 asn_struct_ctx_t _asn_ctx;
20 } data;
21
22 /* Context for parsing across buffer boundaries */
23 asn_struct_ctx_t _asn_ctx;
24} Type_t;
25
26/*** <<< FUNC-DECLS [Type] >>> ***/
27
28extern asn_TYPE_descriptor_t asn_DEF_Type;
29
30/*** <<< POST-INCLUDE [Type] >>> ***/
31
32#include <Epyt.h>
33
34/*** <<< STAT-DEFS [Type] >>> ***/
35
36static asn_TYPE_member_t asn_MBR_data_2[] = {
37 { ATF_NOFLAGS, 0, 0,
38 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
39 .tag_mode = 0,
40 .type = (void *)&asn_DEF_Epyt,
41 .memb_constraints = 0, /* Defer constraints checking to the member type */
42 .name = ""
43 },
44};
45static ber_tlv_tag_t asn_DEF_data_2_tags[] = {
46 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
47};
48static asn_SET_OF_specifics_t asn_SPC_data_2_specs = {
49 sizeof(struct data),
50 offsetof(struct data, _asn_ctx),
51 0, /* XER encoding is XMLDelimitedItemList */
52};
53static /* Use -fall-defs-global to expose */
54asn_TYPE_descriptor_t asn_DEF_data_2 = {
55 "data",
56 "data",
57 SEQUENCE_OF_free,
58 SEQUENCE_OF_print,
59 SEQUENCE_OF_constraint,
60 SEQUENCE_OF_decode_ber,
61 SEQUENCE_OF_encode_der,
62 SEQUENCE_OF_decode_xer,
63 SEQUENCE_OF_encode_xer,
64 0, /* Use generic outmost tag fetcher */
65 asn_DEF_data_2_tags,
66 sizeof(asn_DEF_data_2_tags)
67 /sizeof(asn_DEF_data_2_tags[0]), /* 1 */
68 asn_DEF_data_2_tags, /* Same as above */
69 sizeof(asn_DEF_data_2_tags)
70 /sizeof(asn_DEF_data_2_tags[0]), /* 1 */
71 asn_MBR_data_2,
72 1, /* Single element */
73 &asn_SPC_data_2_specs /* Additional specs */
74};
75
76static asn_TYPE_member_t asn_MBR_Type_1[] = {
77 { ATF_NOFLAGS, 0, offsetof(struct Type, data),
78 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
79 .tag_mode = 0,
80 .type = (void *)&asn_DEF_data_2,
81 .memb_constraints = 0, /* Defer constraints checking to the member type */
82 .name = "data"
83 },
84};
85static ber_tlv_tag_t asn_DEF_Type_1_tags[] = {
86 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
87};
88static asn_TYPE_tag2member_t asn_MAP_Type_1_tag2el[] = {
89 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data at 16 */
90};
91static asn_SEQUENCE_specifics_t asn_SPC_Type_1_specs = {
92 sizeof(struct Type),
93 offsetof(struct Type, _asn_ctx),
94 asn_MAP_Type_1_tag2el,
95 1, /* Count of tags in the map */
96 -1, /* Start extensions */
97 -1 /* Stop extensions */
98};
99asn_TYPE_descriptor_t asn_DEF_Type = {
100 "Type",
101 "Type",
102 SEQUENCE_free,
103 SEQUENCE_print,
104 SEQUENCE_constraint,
105 SEQUENCE_decode_ber,
106 SEQUENCE_encode_der,
107 SEQUENCE_decode_xer,
108 SEQUENCE_encode_xer,
109 0, /* Use generic outmost tag fetcher */
110 asn_DEF_Type_1_tags,
111 sizeof(asn_DEF_Type_1_tags)
112 /sizeof(asn_DEF_Type_1_tags[0]), /* 1 */
113 asn_DEF_Type_1_tags, /* Same as above */
114 sizeof(asn_DEF_Type_1_tags)
115 /sizeof(asn_DEF_Type_1_tags[0]), /* 1 */
116 asn_MBR_Type_1,
117 1, /* Elements count */
118 &asn_SPC_Type_1_specs /* Additional specs */
119};
120
121
122/*** <<< INCLUDES [Epyt] >>> ***/
123
124#include <asn_SET_OF.h>
125#include <constr_SET_OF.h>
126#include <constr_SEQUENCE.h>
127
128/*** <<< FWD-DECLS [Epyt] >>> ***/
129
130struct Type; /* Forward declaration */
131struct Ypet; /* Forward declaration */
132
133/*** <<< TYPE-DECLS [Epyt] >>> ***/
134
135typedef struct Epyt {
136 struct stype {
137 A_SET_OF(struct Type) list;
138
139 /* Context for parsing across buffer boundaries */
140 asn_struct_ctx_t _asn_ctx;
141 } stype;
142 struct Type *type /* OPTIONAL */;
143 struct Ypet *ypet /* OPTIONAL */;
144
145 /* Context for parsing across buffer boundaries */
146 asn_struct_ctx_t _asn_ctx;
147} Epyt_t;
148
149/*** <<< FUNC-DECLS [Epyt] >>> ***/
150
151extern asn_TYPE_descriptor_t asn_DEF_Epyt;
152
153/*** <<< POST-INCLUDE [Epyt] >>> ***/
154
155#include <Type.h>
156#include <Ypet.h>
157
158/*** <<< STAT-DEFS [Epyt] >>> ***/
159
160static asn_TYPE_member_t asn_MBR_stype_2[] = {
161 { ATF_NOFLAGS, 0, 0,
162 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
163 .tag_mode = 0,
164 .type = (void *)&asn_DEF_Type,
165 .memb_constraints = 0, /* Defer constraints checking to the member type */
166 .name = ""
167 },
168};
169static ber_tlv_tag_t asn_DEF_stype_2_tags[] = {
170 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
171};
172static asn_SET_OF_specifics_t asn_SPC_stype_2_specs = {
173 sizeof(struct stype),
174 offsetof(struct stype, _asn_ctx),
175 0, /* XER encoding is XMLDelimitedItemList */
176};
177static /* Use -fall-defs-global to expose */
178asn_TYPE_descriptor_t asn_DEF_stype_2 = {
179 "stype",
180 "stype",
181 SET_OF_free,
182 SET_OF_print,
183 SET_OF_constraint,
184 SET_OF_decode_ber,
185 SET_OF_encode_der,
186 SET_OF_decode_xer,
187 SET_OF_encode_xer,
188 0, /* Use generic outmost tag fetcher */
189 asn_DEF_stype_2_tags,
190 sizeof(asn_DEF_stype_2_tags)
191 /sizeof(asn_DEF_stype_2_tags[0]), /* 1 */
192 asn_DEF_stype_2_tags, /* Same as above */
193 sizeof(asn_DEF_stype_2_tags)
194 /sizeof(asn_DEF_stype_2_tags[0]), /* 1 */
195 asn_MBR_stype_2,
196 1, /* Single element */
197 &asn_SPC_stype_2_specs /* Additional specs */
198};
199
200static asn_TYPE_member_t asn_MBR_Epyt_1[] = {
201 { ATF_NOFLAGS, 0, offsetof(struct Epyt, stype),
202 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
203 .tag_mode = 0,
204 .type = (void *)&asn_DEF_stype_2,
205 .memb_constraints = 0, /* Defer constraints checking to the member type */
206 .name = "stype"
207 },
208 { ATF_POINTER, 2, offsetof(struct Epyt, type),
209 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
210 .tag_mode = 0,
211 .type = (void *)&asn_DEF_Type,
212 .memb_constraints = 0, /* Defer constraints checking to the member type */
213 .name = "type"
214 },
215 { ATF_POINTER, 1, offsetof(struct Epyt, ypet),
216 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
217 .tag_mode = 0,
218 .type = (void *)&asn_DEF_Ypet,
219 .memb_constraints = 0, /* Defer constraints checking to the member type */
220 .name = "ypet"
221 },
222};
223static ber_tlv_tag_t asn_DEF_Epyt_1_tags[] = {
224 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
225};
226static asn_TYPE_tag2member_t asn_MAP_Epyt_1_tag2el[] = {
227 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* type at 22 */
228 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype at 21 */
229 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet at 23 */
230};
231static asn_SEQUENCE_specifics_t asn_SPC_Epyt_1_specs = {
232 sizeof(struct Epyt),
233 offsetof(struct Epyt, _asn_ctx),
234 asn_MAP_Epyt_1_tag2el,
235 3, /* Count of tags in the map */
236 -1, /* Start extensions */
237 -1 /* Stop extensions */
238};
239asn_TYPE_descriptor_t asn_DEF_Epyt = {
240 "Epyt",
241 "Epyt",
242 SEQUENCE_free,
243 SEQUENCE_print,
244 SEQUENCE_constraint,
245 SEQUENCE_decode_ber,
246 SEQUENCE_encode_der,
247 SEQUENCE_decode_xer,
248 SEQUENCE_encode_xer,
249 0, /* Use generic outmost tag fetcher */
250 asn_DEF_Epyt_1_tags,
251 sizeof(asn_DEF_Epyt_1_tags)
252 /sizeof(asn_DEF_Epyt_1_tags[0]), /* 1 */
253 asn_DEF_Epyt_1_tags, /* Same as above */
254 sizeof(asn_DEF_Epyt_1_tags)
255 /sizeof(asn_DEF_Epyt_1_tags[0]), /* 1 */
256 asn_MBR_Epyt_1,
257 3, /* Elements count */
258 &asn_SPC_Epyt_1_specs /* Additional specs */
259};
260
261
262/*** <<< INCLUDES [Ypet] >>> ***/
263
264#include <Epyt.h>
265#include <INTEGER.h>
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000266#include <EnumType.h>
267#include <asn_SET_OF.h>
268#include <constr_SET_OF.h>
Lev Walkinc8285712005-03-04 22:18:20 +0000269#include <constr_SET.h>
270
271/*** <<< DEPS [Ypet] >>> ***/
272
273
274/*
275 * Method of determining the components presence
276 */
277typedef enum Ypet_PR {
278 Ypet_PR_epyt, /* Member epyt is present */
279 Ypet_PR_plain, /* Member plain is present */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000280 Ypet_PR_senums, /* Member senums is present */
Lev Walkinc8285712005-03-04 22:18:20 +0000281} Ypet_PR;
282
283/*** <<< TYPE-DECLS [Ypet] >>> ***/
284
285typedef struct Ypet {
286 Epyt_t epyt;
287 INTEGER_t *plain /* DEFAULT 7 */;
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000288 struct senums {
289 A_SET_OF(EnumType_t) list;
290
291 /* Context for parsing across buffer boundaries */
292 asn_struct_ctx_t _asn_ctx;
293 } senums;
Lev Walkinc8285712005-03-04 22:18:20 +0000294
295 /* Presence bitmask: ASN_SET_ISPRESENT(pYpet, Ypet_PR_x) */
296 unsigned int _presence_map
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000297 [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkinc8285712005-03-04 22:18:20 +0000298
299 /* Context for parsing across buffer boundaries */
300 asn_struct_ctx_t _asn_ctx;
301} Ypet_t;
302
303/*** <<< FUNC-DECLS [Ypet] >>> ***/
304
305extern asn_TYPE_descriptor_t asn_DEF_Ypet;
306
307/*** <<< STAT-DEFS [Ypet] >>> ***/
308
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000309static asn_TYPE_member_t asn_MBR_senums_2[] = {
310 { ATF_NOFLAGS, 0, 0,
311 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
312 .tag_mode = 0,
313 .type = (void *)&asn_DEF_EnumType,
314 .memb_constraints = 0, /* Defer constraints checking to the member type */
315 .name = ""
316 },
317};
318static ber_tlv_tag_t asn_DEF_senums_2_tags[] = {
319 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
320};
321static asn_SET_OF_specifics_t asn_SPC_senums_2_specs = {
322 sizeof(struct senums),
323 offsetof(struct senums, _asn_ctx),
324 1, /* XER encoding is XMLValueList */
325};
326static /* Use -fall-defs-global to expose */
327asn_TYPE_descriptor_t asn_DEF_senums_2 = {
328 "senums",
329 "senums",
330 SET_OF_free,
331 SET_OF_print,
332 SET_OF_constraint,
333 SET_OF_decode_ber,
334 SET_OF_encode_der,
335 SET_OF_decode_xer,
336 SET_OF_encode_xer,
337 0, /* Use generic outmost tag fetcher */
338 asn_DEF_senums_2_tags,
339 sizeof(asn_DEF_senums_2_tags)
340 /sizeof(asn_DEF_senums_2_tags[0]), /* 1 */
341 asn_DEF_senums_2_tags, /* Same as above */
342 sizeof(asn_DEF_senums_2_tags)
343 /sizeof(asn_DEF_senums_2_tags[0]), /* 1 */
344 asn_MBR_senums_2,
345 1, /* Single element */
346 &asn_SPC_senums_2_specs /* Additional specs */
347};
348
Lev Walkinc8285712005-03-04 22:18:20 +0000349static asn_TYPE_member_t asn_MBR_Ypet_1[] = {
350 { ATF_NOFLAGS, 0, offsetof(struct Ypet, epyt),
351 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
352 .tag_mode = 0,
353 .type = (void *)&asn_DEF_Epyt,
354 .memb_constraints = 0, /* Defer constraints checking to the member type */
355 .name = "epyt"
356 },
357 { ATF_POINTER, 1, offsetof(struct Ypet, plain),
358 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
359 .tag_mode = 0,
360 .type = (void *)&asn_DEF_INTEGER,
361 .memb_constraints = 0, /* Defer constraints checking to the member type */
362 .name = "plain"
363 },
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000364 { ATF_NOFLAGS, 0, offsetof(struct Ypet, senums),
365 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
366 .tag_mode = 0,
367 .type = (void *)&asn_DEF_senums_2,
368 .memb_constraints = 0, /* Defer constraints checking to the member type */
369 .name = "senums"
370 },
Lev Walkinc8285712005-03-04 22:18:20 +0000371};
372static ber_tlv_tag_t asn_DEF_Ypet_1_tags[] = {
373 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
374};
375static asn_TYPE_tag2member_t asn_MAP_Ypet_1_tag2el[] = {
376 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* plain at 28 */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000377 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* epyt at 27 */
378 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 } /* senums at 30 */
Lev Walkinc8285712005-03-04 22:18:20 +0000379};
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000380static uint8_t asn_MAP_Ypet_1_mmap[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
381 (1 << 7) | (0 << 6) | (1 << 5)
Lev Walkinc8285712005-03-04 22:18:20 +0000382};
383static asn_SET_specifics_t asn_SPC_Ypet_1_specs = {
384 sizeof(struct Ypet),
385 offsetof(struct Ypet, _asn_ctx),
386 offsetof(struct Ypet, _presence_map),
387 asn_MAP_Ypet_1_tag2el,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000388 3, /* Count of tags in the map */
Lev Walkinc8285712005-03-04 22:18:20 +0000389 asn_MAP_Ypet_1_tag2el, /* Same as above */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000390 3, /* Count of tags in the CXER map */
Lev Walkinc8285712005-03-04 22:18:20 +0000391 0, /* Whether extensible */
392 (unsigned int *)asn_MAP_Ypet_1_mmap /* Mandatory elements map */
393};
394asn_TYPE_descriptor_t asn_DEF_Ypet = {
395 "Ypet",
396 "Ypet",
397 SET_free,
398 SET_print,
399 SET_constraint,
400 SET_decode_ber,
401 SET_encode_der,
402 SET_decode_xer,
403 SET_encode_xer,
404 0, /* Use generic outmost tag fetcher */
405 asn_DEF_Ypet_1_tags,
406 sizeof(asn_DEF_Ypet_1_tags)
407 /sizeof(asn_DEF_Ypet_1_tags[0]), /* 1 */
408 asn_DEF_Ypet_1_tags, /* Same as above */
409 sizeof(asn_DEF_Ypet_1_tags)
410 /sizeof(asn_DEF_Ypet_1_tags[0]), /* 1 */
411 asn_MBR_Ypet_1,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000412 3, /* Elements count */
Lev Walkinc8285712005-03-04 22:18:20 +0000413 &asn_SPC_Ypet_1_specs /* Additional specs */
414};
415
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000416
417/*** <<< INCLUDES [EnumType] >>> ***/
418
419#include <ENUMERATED.h>
420
421/*** <<< DEPS [EnumType] >>> ***/
422
423typedef enum EnumType {
424 EnumType_one = 0,
425 EnumType_two = 1
426} EnumType_e;
427
428/*** <<< TYPE-DECLS [EnumType] >>> ***/
429
430typedef ENUMERATED_t EnumType_t;
431
432/*** <<< FUNC-DECLS [EnumType] >>> ***/
433
434extern asn_TYPE_descriptor_t asn_DEF_EnumType;
435asn_struct_free_f EnumType_free;
436asn_struct_print_f EnumType_print;
437asn_constr_check_f EnumType_constraint;
438ber_type_decoder_f EnumType_decode_ber;
439der_type_encoder_f EnumType_encode_der;
440xer_type_decoder_f EnumType_decode_xer;
441xer_type_encoder_f EnumType_encode_xer;
442
443/*** <<< CODE [EnumType] >>> ***/
444
445int
446EnumType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
447 asn_app_consume_bytes_f *app_errlog, void *app_key) {
448 /* Replace with underlying type checker */
449 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
450 return td->check_constraints(td, sptr, app_errlog, app_key);
451}
452
453/*
454 * This type is implemented using ENUMERATED,
455 * so here we adjust the DEF accordingly.
456 */
457static void
458EnumType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
459 td->free_struct = asn_DEF_ENUMERATED.free_struct;
460 td->print_struct = asn_DEF_ENUMERATED.print_struct;
461 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
462 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
463 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
464 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
465 td->elements = asn_DEF_ENUMERATED.elements;
466 td->elements_count = asn_DEF_ENUMERATED.elements_count;
467 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
468}
469
470void
471EnumType_free(asn_TYPE_descriptor_t *td,
472 void *struct_ptr, int contents_only) {
473 EnumType_1_inherit_TYPE_descriptor(td);
474 td->free_struct(td, struct_ptr, contents_only);
475}
476
477int
478EnumType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
479 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
480 EnumType_1_inherit_TYPE_descriptor(td);
481 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
482}
483
484asn_dec_rval_t
485EnumType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
486 void **structure, void *bufptr, size_t size, int tag_mode) {
487 EnumType_1_inherit_TYPE_descriptor(td);
488 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
489}
490
491asn_enc_rval_t
492EnumType_encode_der(asn_TYPE_descriptor_t *td,
493 void *structure, int tag_mode, ber_tlv_tag_t tag,
494 asn_app_consume_bytes_f *cb, void *app_key) {
495 EnumType_1_inherit_TYPE_descriptor(td);
496 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
497}
498
499asn_dec_rval_t
500EnumType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
501 void **structure, const char *opt_mname, void *bufptr, size_t size) {
502 EnumType_1_inherit_TYPE_descriptor(td);
503 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
504}
505
506asn_enc_rval_t
507EnumType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
508 int ilevel, enum xer_encoder_flags_e flags,
509 asn_app_consume_bytes_f *cb, void *app_key) {
510 EnumType_1_inherit_TYPE_descriptor(td);
511 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
512}
513
514
515/*** <<< STAT-DEFS [EnumType] >>> ***/
516
517static asn_INTEGER_enum_map_t asn_MAP_EnumType_1_value2enum[] = {
518 { 0, 3, "one" },
519 { 1, 3, "two" }
520};
521static unsigned int asn_MAP_EnumType_1_enum2value[] = {
522 0, /* one(0) */
523 1 /* two(1) */
524};
525static asn_INTEGER_specifics_t asn_SPC_EnumType_1_specs = {
526 asn_MAP_EnumType_1_value2enum, /* "tag" => N; sorted by tag */
527 asn_MAP_EnumType_1_enum2value, /* N => "tag"; sorted by N */
528 2, /* Number of elements in the maps */
529 0, /* Enumeration is not extensible */
530 1 /* Strict enumeration */
531};
532static ber_tlv_tag_t asn_DEF_EnumType_1_tags[] = {
533 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
534};
535asn_TYPE_descriptor_t asn_DEF_EnumType = {
536 "EnumType",
537 "EnumType",
538 EnumType_free,
539 EnumType_print,
540 EnumType_constraint,
541 EnumType_decode_ber,
542 EnumType_encode_der,
543 EnumType_decode_xer,
544 EnumType_encode_xer,
545 0, /* Use generic outmost tag fetcher */
546 asn_DEF_EnumType_1_tags,
547 sizeof(asn_DEF_EnumType_1_tags)
548 /sizeof(asn_DEF_EnumType_1_tags[0]), /* 1 */
549 asn_DEF_EnumType_1_tags, /* Same as above */
550 sizeof(asn_DEF_EnumType_1_tags)
551 /sizeof(asn_DEF_EnumType_1_tags[0]), /* 1 */
552 0, 0, /* Defined elsewhere */
553 &asn_SPC_EnumType_1_specs /* Additional specs */
554};
555