2 /*** <<< INCLUDES [Choice] >>> ***/
4 #include <RELATIVE-OID.h>
5 #include <BIT_STRING.h>
9 #include <constr_CHOICE.h>
11 /*** <<< DEPS [Choice] >>> ***/
13 typedef enum Choice_PR {
14 Choice_PR_NOTHING, /* No components present */
18 /* Extensions may appear below */
22 ch_PR_NOTHING, /* No components present */
27 /*** <<< TYPE-DECLS [Choice] >>> ***/
29 typedef struct Choice {
41 /* Context for parsing across buffer boundaries */
42 asn_struct_ctx_t _asn_ctx;
45 * This type is extensible,
46 * possible extensions are below.
51 /* Context for parsing across buffer boundaries */
52 asn_struct_ctx_t _asn_ctx;
55 /*** <<< FUNC-DECLS [Choice] >>> ***/
57 extern asn_TYPE_descriptor_t asn_DEF_Choice;
59 /*** <<< STAT-DEFS [Choice] >>> ***/
61 static asn_TYPE_member_t asn_MBR_ch_4[] = {
62 { ATF_NOFLAGS, 0, offsetof(struct ch, choice.null),
63 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
65 .type = &asn_DEF_NULL,
67 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
68 0, 0, /* No default value */
71 { ATF_NOFLAGS, 0, offsetof(struct ch, choice.Int),
72 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
74 .type = &asn_DEF_INTEGER,
76 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
77 0, 0, /* No default value */
81 static const asn_TYPE_tag2member_t asn_MAP_ch_tag2el_4[] = {
82 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* int */
83 { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 0, 0, 0 } /* null */
85 static asn_CHOICE_specifics_t asn_SPC_ch_specs_4 = {
87 offsetof(struct ch, _asn_ctx),
88 offsetof(struct ch, present),
89 sizeof(((struct ch *)0)->present),
90 .tag2el = asn_MAP_ch_tag2el_4,
91 .tag2el_count = 2, /* Count of tags in the map */
93 .first_extension = -1 /* Extensions start */
95 static /* Use -fall-defs-global to expose */
96 asn_TYPE_descriptor_t asn_DEF_ch_4 = {
100 0, /* No effective tags (pointer) */
101 0, /* No effective tags (count) */
102 0, /* No tags (pointer) */
103 0, /* No tags (count) */
104 { 0, 0, CHOICE_constraint },
106 2, /* Elements count */
107 &asn_SPC_ch_specs_4 /* Additional specs */
110 static asn_TYPE_member_t asn_MBR_Choice_1[] = {
111 { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.roid),
112 .tag = (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)),
114 .type = &asn_DEF_RELATIVE_OID,
116 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
117 0, 0, /* No default value */
120 { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.bitstr),
121 .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
123 .type = &asn_DEF_BIT_STRING,
125 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
126 0, 0, /* No default value */
129 { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.ch),
130 .tag = -1 /* Ambiguous tag (CHOICE?) */,
132 .type = &asn_DEF_ch_4,
134 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
135 0, 0, /* No default value */
138 { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.Bool),
139 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
141 .type = &asn_DEF_BOOLEAN,
143 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
144 0, 0, /* No default value */
148 static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = {
149 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */
150 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, 0, 0 }, /* int */
151 { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 1, 0, 0 }, /* bitstr */
152 { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 2, 0, 0 }, /* null */
153 { (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), 0, 0, 0 } /* roid */
155 static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
156 sizeof(struct Choice),
157 offsetof(struct Choice, _asn_ctx),
158 offsetof(struct Choice, present),
159 sizeof(((struct Choice *)0)->present),
160 .tag2el = asn_MAP_Choice_tag2el_1,
161 .tag2el_count = 5, /* Count of tags in the map */
163 .first_extension = 3 /* Extensions start */
165 asn_TYPE_descriptor_t asn_DEF_Choice = {
169 0, /* No effective tags (pointer) */
170 0, /* No effective tags (count) */
171 0, /* No tags (pointer) */
172 0, /* No tags (count) */
173 { 0, 0, CHOICE_constraint },
175 4, /* Elements count */
176 &asn_SPC_Choice_specs_1 /* Additional specs */
180 /*** <<< INCLUDES [Choice2] >>> ***/
182 #include <BIT_STRING.h>
183 #include <RELATIVE-OID.h>
184 #include <constr_CHOICE.h>
186 /*** <<< DEPS [Choice2] >>> ***/
188 typedef enum Choice2_PR {
189 Choice2_PR_NOTHING, /* No components present */
194 /*** <<< TYPE-DECLS [Choice2] >>> ***/
196 typedef struct Choice2 {
203 /* Context for parsing across buffer boundaries */
204 asn_struct_ctx_t _asn_ctx;
207 /*** <<< FUNC-DECLS [Choice2] >>> ***/
209 extern asn_TYPE_descriptor_t asn_DEF_Choice2;
211 /*** <<< STAT-DEFS [Choice2] >>> ***/
213 static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
214 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.bitstr),
215 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
216 .tag_mode = +1, /* EXPLICIT tag at current level */
217 .type = &asn_DEF_BIT_STRING,
219 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
220 0, 0, /* No default value */
223 { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.roid),
224 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
225 .tag_mode = +1, /* EXPLICIT tag at current level */
226 .type = &asn_DEF_RELATIVE_OID,
228 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
229 0, 0, /* No default value */
233 static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
234 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bitstr */
235 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* roid */
237 static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
238 sizeof(struct Choice2),
239 offsetof(struct Choice2, _asn_ctx),
240 offsetof(struct Choice2, present),
241 sizeof(((struct Choice2 *)0)->present),
242 .tag2el = asn_MAP_Choice2_tag2el_1,
243 .tag2el_count = 2, /* Count of tags in the map */
245 .first_extension = -1 /* Extensions start */
247 asn_TYPE_descriptor_t asn_DEF_Choice2 = {
251 0, /* No effective tags (pointer) */
252 0, /* No effective tags (count) */
253 0, /* No tags (pointer) */
254 0, /* No tags (count) */
255 { 0, 0, CHOICE_constraint },
257 2, /* Elements count */
258 &asn_SPC_Choice2_specs_1 /* Additional specs */