blob: 3cd1f3565ffa054fa8d953d14ec042019adf056a [file] [log] [blame]
Lev Walkinb02a8832005-08-13 23:51:47 +00001
2/*** <<< INCLUDES [T] >>> ***/
3
4#include <BIT_STRING.h>
5#include <constr_CHOICE.h>
6
7/*** <<< DEPS [T] >>> ***/
8
9typedef enum T_PR {
10 T_PR_NOTHING, /* No components present */
11 T_PR_bs,
12} T_PR;
13typedef enum bs {
14 bs_a = 1,
15 bs_b = 2
16} bs_e;
17
18/*** <<< TYPE-DECLS [T] >>> ***/
19
20typedef struct T {
21 T_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000022 union T_u {
Lev Walkinb02a8832005-08-13 23:51:47 +000023 BIT_STRING_t bs;
24 } choice;
25
26 /* Context for parsing across buffer boundaries */
27 asn_struct_ctx_t _asn_ctx;
28} T_t;
29
30/*** <<< FUNC-DECLS [T] >>> ***/
31
32extern asn_TYPE_descriptor_t asn_DEF_T;
33
34/*** <<< STAT-DEFS [T] >>> ***/
35
36static asn_TYPE_member_t asn_MBR_T_1[] = {
37 { ATF_NOFLAGS, 0, offsetof(struct T, choice.bs),
38 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
39 .tag_mode = 0,
40 .type = (void *)&asn_DEF_BIT_STRING,
41 .memb_constraints = 0, /* Defer constraints checking to the member type */
42 .name = "bs"
43 },
44};
45static asn_TYPE_tag2member_t asn_MAP_T_1_tag2el[] = {
46 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* bs at 15 */
47};
48static asn_CHOICE_specifics_t asn_SPC_T_1_specs = {
49 sizeof(struct T),
50 offsetof(struct T, _asn_ctx),
51 offsetof(struct T, present),
52 sizeof(((struct T *)0)->present),
53 asn_MAP_T_1_tag2el,
54 1, /* Count of tags in the map */
55 0 /* Whether extensible */
56};
57asn_TYPE_descriptor_t asn_DEF_T = {
58 "T",
59 "T",
60 CHOICE_free,
61 CHOICE_print,
62 CHOICE_constraint,
63 CHOICE_decode_ber,
64 CHOICE_encode_der,
65 CHOICE_decode_xer,
66 CHOICE_encode_xer,
67 CHOICE_outmost_tag,
68 0, /* No effective tags (pointer) */
69 0, /* No effective tags (count) */
70 0, /* No tags (pointer) */
71 0, /* No tags (count) */
72 asn_MBR_T_1,
73 1, /* Elements count */
74 &asn_SPC_T_1_specs /* Additional specs */
75};
76