blob: a0e273c166623d3bb5777d06e5a1028bdff5a01b [file] [log] [blame]
Lev Walkin0ef9f142005-02-14 20:40:57 +00001
2/*** <<< INCLUDES [PDU] >>> ***/
3
4#include <Sequence.h>
5#include <Set.h>
Lev Walkin843a2462005-02-18 16:30:26 +00006#include <SequenceOf.h>
7#include <ExtensibleSet.h>
8#include <ExtensibleSequence.h>
Lev Walkin15750402005-07-03 05:27:19 +00009#include <ExtensibleSequence2.h>
Lev Walkinf5db6142005-02-24 22:38:43 +000010#include <SetOfNULL.h>
Lev Walkin5ab96cd2005-11-07 15:26:47 +000011#include <SetOfREAL.h>
Lev Walkinf5db6142005-02-24 22:38:43 +000012#include <SetOfEnums.h>
Lev Walkin5ab96cd2005-11-07 15:26:47 +000013#include <NamedSetOfNULL.h>
14#include <NamedSetOfREAL.h>
15#include <NamedSetOfEnums.h>
Lev Walkinf5db6142005-02-24 22:38:43 +000016#include <SeqOfZuka.h>
Lev Walkin5ab96cd2005-11-07 15:26:47 +000017#include <SetOfChoice.h>
18#include <NamedSetOfChoice.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +000019#include <constr_CHOICE.h>
20
21/*** <<< DEPS [PDU] >>> ***/
22
23typedef enum PDU_PR {
24 PDU_PR_NOTHING, /* No components present */
25 PDU_PR_sequence,
26 PDU_PR_set,
Lev Walkin843a2462005-02-18 16:30:26 +000027 PDU_PR_sequenceOf,
28 PDU_PR_extensibleSet,
29 PDU_PR_extensibleSequence,
Lev Walkin15750402005-07-03 05:27:19 +000030 PDU_PR_extensibleSequence2,
Lev Walkinf5db6142005-02-24 22:38:43 +000031 PDU_PR_setOfNULL,
Lev Walkin5ab96cd2005-11-07 15:26:47 +000032 PDU_PR_setOfREAL,
Lev Walkinf5db6142005-02-24 22:38:43 +000033 PDU_PR_setOfEnums,
Lev Walkin5ab96cd2005-11-07 15:26:47 +000034 PDU_PR_namedSetOfNULL,
35 PDU_PR_namedSetOfREAL,
36 PDU_PR_namedSetOfEnums,
Lev Walkinf5db6142005-02-24 22:38:43 +000037 PDU_PR_seqOfZuka,
Lev Walkin5ab96cd2005-11-07 15:26:47 +000038 PDU_PR_setOfChoice,
39 PDU_PR_namedSetOfChoice,
Lev Walkin843a2462005-02-18 16:30:26 +000040 /* Extensions may appear below */
Lev Walkin0ef9f142005-02-14 20:40:57 +000041} PDU_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +000042
43/*** <<< TYPE-DECLS [PDU] >>> ***/
44
Lev Walkin0ef9f142005-02-14 20:40:57 +000045typedef struct PDU {
46 PDU_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000047 union PDU_u {
Lev Walkin0ef9f142005-02-14 20:40:57 +000048 Sequence_t sequence;
49 Set_t set;
Lev Walkin843a2462005-02-18 16:30:26 +000050 SequenceOf_t sequenceOf;
51 ExtensibleSet_t extensibleSet;
52 ExtensibleSequence_t extensibleSequence;
Lev Walkin15750402005-07-03 05:27:19 +000053 ExtensibleSequence2_t extensibleSequence2;
Lev Walkinf5db6142005-02-24 22:38:43 +000054 SetOfNULL_t setOfNULL;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000055 SetOfREAL_t setOfREAL;
Lev Walkinf5db6142005-02-24 22:38:43 +000056 SetOfEnums_t setOfEnums;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000057 NamedSetOfNULL_t namedSetOfNULL;
58 NamedSetOfREAL_t namedSetOfREAL;
59 NamedSetOfEnums_t namedSetOfEnums;
Lev Walkinf5db6142005-02-24 22:38:43 +000060 SeqOfZuka_t seqOfZuka;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000061 SetOfChoice_t setOfChoice;
62 NamedSetOfChoice_t namedSetOfChoice;
Lev Walkin843a2462005-02-18 16:30:26 +000063 /*
64 * This type is extensible,
65 * possible extensions are below.
66 */
Lev Walkin0ef9f142005-02-14 20:40:57 +000067 } choice;
68
69 /* Context for parsing across buffer boundaries */
70 asn_struct_ctx_t _asn_ctx;
71} PDU_t;
72
Lev Walkinc8285712005-03-04 22:18:20 +000073/*** <<< FUNC-DECLS [PDU] >>> ***/
74
75extern asn_TYPE_descriptor_t asn_DEF_PDU;
76
Lev Walkin0ef9f142005-02-14 20:40:57 +000077/*** <<< STAT-DEFS [PDU] >>> ***/
78
Lev Walkine0272aa2005-03-04 11:26:08 +000079static asn_TYPE_member_t asn_MBR_PDU_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +000080 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequence),
81 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
82 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000083 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +000084 .memb_constraints = 0, /* Defer constraints checking to the member type */
85 .name = "sequence"
86 },
87 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set),
88 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
89 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000090 .type = &asn_DEF_Set,
Lev Walkin0ef9f142005-02-14 20:40:57 +000091 .memb_constraints = 0, /* Defer constraints checking to the member type */
92 .name = "set"
93 },
Lev Walkin843a2462005-02-18 16:30:26 +000094 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf),
Lev Walkin5ab96cd2005-11-07 15:26:47 +000095 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin0ef9f142005-02-14 20:40:57 +000096 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000097 .type = &asn_DEF_SequenceOf,
Lev Walkin0ef9f142005-02-14 20:40:57 +000098 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin843a2462005-02-18 16:30:26 +000099 .name = "sequenceOf"
100 },
101 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000102 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000103 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000104 .type = &asn_DEF_ExtensibleSet,
Lev Walkin843a2462005-02-18 16:30:26 +0000105 .memb_constraints = 0, /* Defer constraints checking to the member type */
106 .name = "extensibleSet"
107 },
108 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000109 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000110 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000111 .type = &asn_DEF_ExtensibleSequence,
Lev Walkin843a2462005-02-18 16:30:26 +0000112 .memb_constraints = 0, /* Defer constraints checking to the member type */
113 .name = "extensibleSequence"
Lev Walkin0ef9f142005-02-14 20:40:57 +0000114 },
Lev Walkin15750402005-07-03 05:27:19 +0000115 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000116 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000117 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000118 .type = &asn_DEF_ExtensibleSequence2,
Lev Walkin15750402005-07-03 05:27:19 +0000119 .memb_constraints = 0, /* Defer constraints checking to the member type */
120 .name = "extensibleSequence2"
121 },
122 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000123 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
Lev Walkin15750402005-07-03 05:27:19 +0000124 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_SetOfNULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000126 .memb_constraints = 0, /* Defer constraints checking to the member type */
127 .name = "setOfNULL"
128 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000129 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfREAL),
130 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
131 .tag_mode = -1, /* IMPLICIT tag at current level */
132 .type = &asn_DEF_SetOfREAL,
133 .memb_constraints = 0, /* Defer constraints checking to the member type */
134 .name = "setOfREAL"
135 },
Lev Walkinf5db6142005-02-24 22:38:43 +0000136 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums),
Lev Walkin15750402005-07-03 05:27:19 +0000137 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000138 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000139 .type = &asn_DEF_SetOfEnums,
Lev Walkinf5db6142005-02-24 22:38:43 +0000140 .memb_constraints = 0, /* Defer constraints checking to the member type */
141 .name = "setOfEnums"
142 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000143 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfNULL),
Lev Walkin15750402005-07-03 05:27:19 +0000144 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000145 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000146 .type = &asn_DEF_NamedSetOfNULL,
147 .memb_constraints = 0, /* Defer constraints checking to the member type */
148 .name = "namedSetOfNULL"
149 },
150 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfREAL),
151 .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
152 .tag_mode = -1, /* IMPLICIT tag at current level */
153 .type = &asn_DEF_NamedSetOfREAL,
154 .memb_constraints = 0, /* Defer constraints checking to the member type */
155 .name = "namedSetOfREAL"
156 },
157 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfEnums),
158 .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
159 .tag_mode = -1, /* IMPLICIT tag at current level */
160 .type = &asn_DEF_NamedSetOfEnums,
161 .memb_constraints = 0, /* Defer constraints checking to the member type */
162 .name = "namedSetOfEnums"
163 },
164 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka),
165 .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
166 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000167 .type = &asn_DEF_SeqOfZuka,
Lev Walkinf5db6142005-02-24 22:38:43 +0000168 .memb_constraints = 0, /* Defer constraints checking to the member type */
169 .name = "seqOfZuka"
170 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000171 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfChoice),
172 .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
173 .tag_mode = -1, /* IMPLICIT tag at current level */
174 .type = &asn_DEF_SetOfChoice,
175 .memb_constraints = 0, /* Defer constraints checking to the member type */
176 .name = "setOfChoice"
177 },
178 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfChoice),
179 .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
180 .tag_mode = -1, /* IMPLICIT tag at current level */
181 .type = &asn_DEF_NamedSetOfChoice,
182 .memb_constraints = 0, /* Defer constraints checking to the member type */
183 .name = "namedSetOfChoice"
184 },
Lev Walkin0ef9f142005-02-14 20:40:57 +0000185};
Lev Walkine0272aa2005-03-04 11:26:08 +0000186static asn_TYPE_tag2member_t asn_MAP_PDU_1_tag2el[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000187 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence at 19 */
188 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 20 */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000189 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceOf at 21 */
190 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extensibleSet at 22 */
191 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSequence at 23 */
192 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence2 at 24 */
193 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL at 25 */
194 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfREAL at 26 */
Lev Walkin15750402005-07-03 05:27:19 +0000195 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums at 27 */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000196 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* namedSetOfNULL at 28 */
197 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* namedSetOfREAL at 29 */
198 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* namedSetOfEnums at 30 */
199 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* seqOfZuka at 31 */
200 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* setOfChoice at 32 */
201 { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* namedSetOfChoice at 33 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000202};
Lev Walkine0272aa2005-03-04 11:26:08 +0000203static asn_CHOICE_specifics_t asn_SPC_PDU_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000204 sizeof(struct PDU),
205 offsetof(struct PDU, _asn_ctx),
206 offsetof(struct PDU, present),
207 sizeof(((struct PDU *)0)->present),
Lev Walkine0272aa2005-03-04 11:26:08 +0000208 asn_MAP_PDU_1_tag2el,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000209 15, /* Count of tags in the map */
Lev Walkin843a2462005-02-18 16:30:26 +0000210 1 /* Whether extensible */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000211};
212asn_TYPE_descriptor_t asn_DEF_PDU = {
213 "PDU",
214 "PDU",
215 CHOICE_free,
216 CHOICE_print,
217 CHOICE_constraint,
218 CHOICE_decode_ber,
219 CHOICE_encode_der,
220 CHOICE_decode_xer,
221 CHOICE_encode_xer,
222 CHOICE_outmost_tag,
223 0, /* No effective tags (pointer) */
224 0, /* No effective tags (count) */
225 0, /* No tags (pointer) */
226 0, /* No tags (count) */
Lev Walkine0272aa2005-03-04 11:26:08 +0000227 asn_MBR_PDU_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000228 15, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000229 &asn_SPC_PDU_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000230};
231
232
233/*** <<< INCLUDES [Sequence] >>> ***/
234
235#include <INTEGER.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +0000236#include <BIT_STRING.h>
237#include <UTF8String.h>
238#include <constr_SEQUENCE.h>
239
Lev Walkinc8285712005-03-04 22:18:20 +0000240/*** <<< FWD-DECLS [Sequence] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +0000241
Lev Walkinbf56d542005-03-04 23:50:56 +0000242struct Sequence;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000243
244/*** <<< TYPE-DECLS [Sequence] >>> ***/
245
Lev Walkin0ef9f142005-02-14 20:40:57 +0000246typedef struct Sequence {
247 INTEGER_t integer;
248 struct Sequence *sequence /* OPTIONAL */;
249 BIT_STRING_t *bits /* OPTIONAL */;
250 UTF8String_t string;
251
252 /* Context for parsing across buffer boundaries */
253 asn_struct_ctx_t _asn_ctx;
254} Sequence_t;
255
Lev Walkinc8285712005-03-04 22:18:20 +0000256/*** <<< FUNC-DECLS [Sequence] >>> ***/
257
258extern asn_TYPE_descriptor_t asn_DEF_Sequence;
259
260/*** <<< POST-INCLUDE [Sequence] >>> ***/
261
262#include <Sequence.h>
263
Lev Walkin0ef9f142005-02-14 20:40:57 +0000264/*** <<< STAT-DEFS [Sequence] >>> ***/
265
Lev Walkine0272aa2005-03-04 11:26:08 +0000266static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000267 { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
268 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
269 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000270 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000271 .memb_constraints = 0, /* Defer constraints checking to the member type */
272 .name = "integer"
273 },
274 { ATF_POINTER, 2, offsetof(struct Sequence, sequence),
275 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
276 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000277 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000278 .memb_constraints = 0, /* Defer constraints checking to the member type */
279 .name = "sequence"
280 },
281 { ATF_POINTER, 1, offsetof(struct Sequence, bits),
282 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
283 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000284 .type = &asn_DEF_BIT_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000285 .memb_constraints = 0, /* Defer constraints checking to the member type */
286 .name = "bits"
287 },
288 { ATF_NOFLAGS, 0, offsetof(struct Sequence, string),
289 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
290 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000291 .type = &asn_DEF_UTF8String,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000292 .memb_constraints = 0, /* Defer constraints checking to the member type */
293 .name = "string"
294 },
295};
Lev Walkine0272aa2005-03-04 11:26:08 +0000296static ber_tlv_tag_t asn_DEF_Sequence_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000297 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
298};
Lev Walkine0272aa2005-03-04 11:26:08 +0000299static asn_TYPE_tag2member_t asn_MAP_Sequence_1_tag2el[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000300 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer at 38 */
301 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence at 39 */
302 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits at 40 */
303 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string at 41 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000304};
Lev Walkine0272aa2005-03-04 11:26:08 +0000305static asn_SEQUENCE_specifics_t asn_SPC_Sequence_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000306 sizeof(struct Sequence),
307 offsetof(struct Sequence, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000308 asn_MAP_Sequence_1_tag2el,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000309 4, /* Count of tags in the map */
310 -1, /* Start extensions */
311 -1 /* Stop extensions */
312};
313asn_TYPE_descriptor_t asn_DEF_Sequence = {
314 "Sequence",
315 "Sequence",
316 SEQUENCE_free,
317 SEQUENCE_print,
318 SEQUENCE_constraint,
319 SEQUENCE_decode_ber,
320 SEQUENCE_encode_der,
321 SEQUENCE_decode_xer,
322 SEQUENCE_encode_xer,
323 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000324 asn_DEF_Sequence_1_tags,
325 sizeof(asn_DEF_Sequence_1_tags)
326 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
327 asn_DEF_Sequence_1_tags, /* Same as above */
328 sizeof(asn_DEF_Sequence_1_tags)
329 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
330 asn_MBR_Sequence_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000331 4, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000332 &asn_SPC_Sequence_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000333};
334
335
336/*** <<< INCLUDES [Set] >>> ***/
337
338#include <RELATIVE-OID.h>
339#include <OCTET_STRING.h>
340#include <constr_SET.h>
341
342/*** <<< DEPS [Set] >>> ***/
343
344
345/*
346 * Method of determining the components presence
347 */
348typedef enum Set_PR {
349 Set_PR_roid, /* Member roid is present */
350 Set_PR_opaque, /* Member opaque is present */
351} Set_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000352
353/*** <<< TYPE-DECLS [Set] >>> ***/
354
Lev Walkin0ef9f142005-02-14 20:40:57 +0000355typedef struct Set {
356 RELATIVE_OID_t roid;
357 OCTET_STRING_t *opaque /* OPTIONAL */;
358
359 /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */
360 unsigned int _presence_map
361 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
362
363 /* Context for parsing across buffer boundaries */
364 asn_struct_ctx_t _asn_ctx;
365} Set_t;
366
Lev Walkinc8285712005-03-04 22:18:20 +0000367/*** <<< FUNC-DECLS [Set] >>> ***/
368
369extern asn_TYPE_descriptor_t asn_DEF_Set;
370
Lev Walkin0ef9f142005-02-14 20:40:57 +0000371/*** <<< STAT-DEFS [Set] >>> ***/
372
Lev Walkine0272aa2005-03-04 11:26:08 +0000373static asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000374 { ATF_NOFLAGS, 0, offsetof(struct Set, roid),
375 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
376 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000377 .type = &asn_DEF_RELATIVE_OID,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000378 .memb_constraints = 0, /* Defer constraints checking to the member type */
379 .name = "roid"
380 },
381 { ATF_POINTER, 1, offsetof(struct Set, opaque),
382 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
383 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000384 .type = &asn_DEF_OCTET_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000385 .memb_constraints = 0, /* Defer constraints checking to the member type */
386 .name = "opaque"
387 },
388};
Lev Walkine0272aa2005-03-04 11:26:08 +0000389static ber_tlv_tag_t asn_DEF_Set_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000390 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
391};
Lev Walkine0272aa2005-03-04 11:26:08 +0000392static asn_TYPE_tag2member_t asn_MAP_Set_1_tag2el[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000393 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid at 45 */
394 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque at 46 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000395};
Lev Walkine0272aa2005-03-04 11:26:08 +0000396static uint8_t asn_MAP_Set_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000397 (1 << 7) | (0 << 6)
398};
Lev Walkine0272aa2005-03-04 11:26:08 +0000399static asn_SET_specifics_t asn_SPC_Set_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000400 sizeof(struct Set),
401 offsetof(struct Set, _asn_ctx),
402 offsetof(struct Set, _presence_map),
Lev Walkine0272aa2005-03-04 11:26:08 +0000403 asn_MAP_Set_1_tag2el,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000404 2, /* Count of tags in the map */
Lev Walkine0272aa2005-03-04 11:26:08 +0000405 asn_MAP_Set_1_tag2el, /* Same as above */
Lev Walkinf5db6142005-02-24 22:38:43 +0000406 2, /* Count of tags in the CXER map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000407 0, /* Whether extensible */
Lev Walkine0272aa2005-03-04 11:26:08 +0000408 (unsigned int *)asn_MAP_Set_1_mmap /* Mandatory elements map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000409};
410asn_TYPE_descriptor_t asn_DEF_Set = {
411 "Set",
412 "Set",
413 SET_free,
414 SET_print,
415 SET_constraint,
416 SET_decode_ber,
417 SET_encode_der,
418 SET_decode_xer,
419 SET_encode_xer,
420 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000421 asn_DEF_Set_1_tags,
422 sizeof(asn_DEF_Set_1_tags)
423 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
424 asn_DEF_Set_1_tags, /* Same as above */
425 sizeof(asn_DEF_Set_1_tags)
426 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
427 asn_MBR_Set_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000428 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000429 &asn_SPC_Set_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000430};
431
432
Lev Walkin843a2462005-02-18 16:30:26 +0000433/*** <<< INCLUDES [ExtensibleSet] >>> ***/
434
435#include <UTF8String.h>
Lev Walkinc92a7462005-03-10 11:20:47 +0000436#include <ENUMERATED.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000437#include <constr_SET.h>
438
439/*** <<< DEPS [ExtensibleSet] >>> ***/
440
441
442/*
443 * Method of determining the components presence
444 */
445typedef enum ExtensibleSet_PR {
446 ExtensibleSet_PR_string, /* Member string is present */
Lev Walkinc92a7462005-03-10 11:20:47 +0000447 ExtensibleSet_PR_enum, /* Member enum is present */
Lev Walkin843a2462005-02-18 16:30:26 +0000448} ExtensibleSet_PR;
Lev Walkinc92a7462005-03-10 11:20:47 +0000449typedef enum Enum {
450 enum_b = 0,
451 enum_a = 1
452} enum_e;
Lev Walkin843a2462005-02-18 16:30:26 +0000453
454/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
455
Lev Walkin843a2462005-02-18 16:30:26 +0000456typedef struct ExtensibleSet {
457 UTF8String_t *string /* OPTIONAL */;
458 /*
459 * This type is extensible,
460 * possible extensions are below.
461 */
Lev Walkinc92a7462005-03-10 11:20:47 +0000462 ENUMERATED_t *Enum;
Lev Walkin843a2462005-02-18 16:30:26 +0000463
464 /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */
465 unsigned int _presence_map
Lev Walkinc92a7462005-03-10 11:20:47 +0000466 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin843a2462005-02-18 16:30:26 +0000467
468 /* Context for parsing across buffer boundaries */
469 asn_struct_ctx_t _asn_ctx;
470} ExtensibleSet_t;
471
Lev Walkinc8285712005-03-04 22:18:20 +0000472/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/
473
Lev Walkinc92a7462005-03-10 11:20:47 +0000474/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000475extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
476
Lev Walkinc92a7462005-03-10 11:20:47 +0000477/*** <<< CODE [ExtensibleSet] >>> ***/
478
479static int
480enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
481 asn_app_consume_bytes_f *app_errlog, void *app_key) {
482 /* Replace with underlying type checker */
483 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
484 return td->check_constraints(td, sptr, app_errlog, app_key);
485}
486
487/*
488 * This type is implemented using ENUMERATED,
489 * so here we adjust the DEF accordingly.
490 */
491static void
492enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
493 td->free_struct = asn_DEF_ENUMERATED.free_struct;
494 td->print_struct = asn_DEF_ENUMERATED.print_struct;
495 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
496 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
497 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
498 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
499 td->elements = asn_DEF_ENUMERATED.elements;
500 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000501 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinc92a7462005-03-10 11:20:47 +0000502}
503
504static void
505enum_4_free(asn_TYPE_descriptor_t *td,
506 void *struct_ptr, int contents_only) {
507 enum_4_inherit_TYPE_descriptor(td);
508 td->free_struct(td, struct_ptr, contents_only);
509}
510
511static int
512enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
513 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
514 enum_4_inherit_TYPE_descriptor(td);
515 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
516}
517
518static asn_dec_rval_t
519enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000520 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000521 enum_4_inherit_TYPE_descriptor(td);
522 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
523}
524
525static asn_enc_rval_t
526enum_4_encode_der(asn_TYPE_descriptor_t *td,
527 void *structure, int tag_mode, ber_tlv_tag_t tag,
528 asn_app_consume_bytes_f *cb, void *app_key) {
529 enum_4_inherit_TYPE_descriptor(td);
530 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
531}
532
533static asn_dec_rval_t
534enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000535 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000536 enum_4_inherit_TYPE_descriptor(td);
537 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
538}
539
540static asn_enc_rval_t
541enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
542 int ilevel, enum xer_encoder_flags_e flags,
543 asn_app_consume_bytes_f *cb, void *app_key) {
544 enum_4_inherit_TYPE_descriptor(td);
545 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
546}
547
548
Lev Walkin843a2462005-02-18 16:30:26 +0000549/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
550
Lev Walkinc92a7462005-03-10 11:20:47 +0000551static asn_INTEGER_enum_map_t asn_MAP_enum_4_value2enum[] = {
552 { 0, 1, "b" },
553 { 1, 1, "a" }
554};
555static unsigned int asn_MAP_enum_4_enum2value[] = {
556 1, /* a(1) */
557 0 /* b(0) */
558};
559static asn_INTEGER_specifics_t asn_SPC_enum_4_specs = {
560 asn_MAP_enum_4_value2enum, /* "tag" => N; sorted by tag */
561 asn_MAP_enum_4_enum2value, /* N => "tag"; sorted by N */
562 2, /* Number of elements in the maps */
563 0, /* Enumeration is not extensible */
564 1 /* Strict enumeration */
565};
566static ber_tlv_tag_t asn_DEF_enum_4_tags[] = {
567 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
568 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
569};
570static /* Use -fall-defs-global to expose */
571asn_TYPE_descriptor_t asn_DEF_enum_4 = {
572 "enum",
573 "enum",
574 enum_4_free,
575 enum_4_print,
576 enum_4_constraint,
577 enum_4_decode_ber,
578 enum_4_encode_der,
579 enum_4_decode_xer,
580 enum_4_encode_xer,
581 0, /* Use generic outmost tag fetcher */
582 asn_DEF_enum_4_tags,
583 sizeof(asn_DEF_enum_4_tags)
584 /sizeof(asn_DEF_enum_4_tags[0]) - 1, /* 1 */
585 asn_DEF_enum_4_tags, /* Same as above */
586 sizeof(asn_DEF_enum_4_tags)
587 /sizeof(asn_DEF_enum_4_tags[0]), /* 2 */
588 0, 0, /* Defined elsewhere */
589 &asn_SPC_enum_4_specs /* Additional specs */
590};
591
Lev Walkine0272aa2005-03-04 11:26:08 +0000592static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000593 { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000594 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
595 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000596 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000597 .memb_constraints = 0, /* Defer constraints checking to the member type */
598 .name = "string"
599 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000600 { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum),
Lev Walkinc92a7462005-03-10 11:20:47 +0000601 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
602 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000603 .type = &asn_DEF_enum_4,
Lev Walkinc92a7462005-03-10 11:20:47 +0000604 .memb_constraints = 0, /* Defer constraints checking to the member type */
605 .name = "enum"
606 },
Lev Walkin843a2462005-02-18 16:30:26 +0000607};
Lev Walkine0272aa2005-03-04 11:26:08 +0000608static ber_tlv_tag_t asn_DEF_ExtensibleSet_1_tags[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000609 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
610};
Lev Walkine0272aa2005-03-04 11:26:08 +0000611static asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_1_tag2el[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000612 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 50 */
613 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum at 52 */
Lev Walkin843a2462005-02-18 16:30:26 +0000614};
Lev Walkinc92a7462005-03-10 11:20:47 +0000615static uint8_t asn_MAP_ExtensibleSet_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
616 (0 << 7) | (0 << 6)
Lev Walkin843a2462005-02-18 16:30:26 +0000617};
Lev Walkine0272aa2005-03-04 11:26:08 +0000618static asn_SET_specifics_t asn_SPC_ExtensibleSet_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +0000619 sizeof(struct ExtensibleSet),
620 offsetof(struct ExtensibleSet, _asn_ctx),
621 offsetof(struct ExtensibleSet, _presence_map),
Lev Walkine0272aa2005-03-04 11:26:08 +0000622 asn_MAP_ExtensibleSet_1_tag2el,
Lev Walkinc92a7462005-03-10 11:20:47 +0000623 2, /* Count of tags in the map */
Lev Walkine0272aa2005-03-04 11:26:08 +0000624 asn_MAP_ExtensibleSet_1_tag2el, /* Same as above */
Lev Walkinc92a7462005-03-10 11:20:47 +0000625 2, /* Count of tags in the CXER map */
Lev Walkin843a2462005-02-18 16:30:26 +0000626 1, /* Whether extensible */
Lev Walkine0272aa2005-03-04 11:26:08 +0000627 (unsigned int *)asn_MAP_ExtensibleSet_1_mmap /* Mandatory elements map */
Lev Walkin843a2462005-02-18 16:30:26 +0000628};
629asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = {
630 "ExtensibleSet",
631 "ExtensibleSet",
632 SET_free,
633 SET_print,
634 SET_constraint,
635 SET_decode_ber,
636 SET_encode_der,
637 SET_decode_xer,
638 SET_encode_xer,
639 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000640 asn_DEF_ExtensibleSet_1_tags,
641 sizeof(asn_DEF_ExtensibleSet_1_tags)
642 /sizeof(asn_DEF_ExtensibleSet_1_tags[0]), /* 1 */
643 asn_DEF_ExtensibleSet_1_tags, /* Same as above */
644 sizeof(asn_DEF_ExtensibleSet_1_tags)
645 /sizeof(asn_DEF_ExtensibleSet_1_tags[0]), /* 1 */
646 asn_MBR_ExtensibleSet_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000647 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000648 &asn_SPC_ExtensibleSet_1_specs /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000649};
650
651
652/*** <<< INCLUDES [ExtensibleSequence] >>> ***/
653
654#include <UTF8String.h>
655#include <INTEGER.h>
Lev Walkin15750402005-07-03 05:27:19 +0000656#include <GeneralizedTime.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000657#include <constr_SEQUENCE.h>
658
Lev Walkin843a2462005-02-18 16:30:26 +0000659/*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/
660
Lev Walkin843a2462005-02-18 16:30:26 +0000661typedef struct ExtensibleSequence {
662 UTF8String_t *string /* OPTIONAL */;
663 /*
664 * This type is extensible,
665 * possible extensions are below.
666 */
667 INTEGER_t *integer /* OPTIONAL */;
Lev Walkin15750402005-07-03 05:27:19 +0000668 GeneralizedTime_t *gtime;
Lev Walkin843a2462005-02-18 16:30:26 +0000669
670 /* Context for parsing across buffer boundaries */
671 asn_struct_ctx_t _asn_ctx;
672} ExtensibleSequence_t;
673
Lev Walkinc8285712005-03-04 22:18:20 +0000674/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
675
676extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
677
Lev Walkin843a2462005-02-18 16:30:26 +0000678/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
679
Lev Walkine0272aa2005-03-04 11:26:08 +0000680static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000681 { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000682 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
683 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000684 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000685 .memb_constraints = 0, /* Defer constraints checking to the member type */
686 .name = "string"
687 },
Lev Walkin15750402005-07-03 05:27:19 +0000688 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer),
Lev Walkin843a2462005-02-18 16:30:26 +0000689 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
690 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000691 .type = &asn_DEF_INTEGER,
Lev Walkin843a2462005-02-18 16:30:26 +0000692 .memb_constraints = 0, /* Defer constraints checking to the member type */
693 .name = "integer"
694 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000695 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime),
Lev Walkin15750402005-07-03 05:27:19 +0000696 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
697 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000698 .type = &asn_DEF_GeneralizedTime,
Lev Walkin15750402005-07-03 05:27:19 +0000699 .memb_constraints = 0, /* Defer constraints checking to the member type */
700 .name = "gtime"
701 },
Lev Walkin843a2462005-02-18 16:30:26 +0000702};
Lev Walkine0272aa2005-03-04 11:26:08 +0000703static ber_tlv_tag_t asn_DEF_ExtensibleSequence_1_tags[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000704 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
705};
Lev Walkine0272aa2005-03-04 11:26:08 +0000706static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_1_tag2el[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000707 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 56 */
708 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer at 58 */
709 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime at 59 */
Lev Walkin843a2462005-02-18 16:30:26 +0000710};
Lev Walkine0272aa2005-03-04 11:26:08 +0000711static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +0000712 sizeof(struct ExtensibleSequence),
713 offsetof(struct ExtensibleSequence, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000714 asn_MAP_ExtensibleSequence_1_tag2el,
Lev Walkin15750402005-07-03 05:27:19 +0000715 3, /* Count of tags in the map */
Lev Walkin843a2462005-02-18 16:30:26 +0000716 0, /* Start extensions */
Lev Walkin15750402005-07-03 05:27:19 +0000717 4 /* Stop extensions */
Lev Walkin843a2462005-02-18 16:30:26 +0000718};
719asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = {
720 "ExtensibleSequence",
721 "ExtensibleSequence",
722 SEQUENCE_free,
723 SEQUENCE_print,
724 SEQUENCE_constraint,
725 SEQUENCE_decode_ber,
726 SEQUENCE_encode_der,
727 SEQUENCE_decode_xer,
728 SEQUENCE_encode_xer,
729 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000730 asn_DEF_ExtensibleSequence_1_tags,
731 sizeof(asn_DEF_ExtensibleSequence_1_tags)
732 /sizeof(asn_DEF_ExtensibleSequence_1_tags[0]), /* 1 */
733 asn_DEF_ExtensibleSequence_1_tags, /* Same as above */
734 sizeof(asn_DEF_ExtensibleSequence_1_tags)
735 /sizeof(asn_DEF_ExtensibleSequence_1_tags[0]), /* 1 */
736 asn_MBR_ExtensibleSequence_1,
Lev Walkin15750402005-07-03 05:27:19 +0000737 3, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000738 &asn_SPC_ExtensibleSequence_1_specs /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000739};
740
741
Lev Walkin15750402005-07-03 05:27:19 +0000742/*** <<< INCLUDES [ExtensibleSequence2] >>> ***/
743
744#include <UTF8String.h>
745#include <INTEGER.h>
746#include <constr_SEQUENCE.h>
747
748/*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/
749
750typedef struct ExtensibleSequence2 {
751 UTF8String_t *string /* OPTIONAL */;
752 /*
753 * This type is extensible,
754 * possible extensions are below.
755 */
756 INTEGER_t *integer /* OPTIONAL */;
757
758 /* Context for parsing across buffer boundaries */
759 asn_struct_ctx_t _asn_ctx;
760} ExtensibleSequence2_t;
761
762/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
763
764extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
765
766/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
767
768static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
769 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
770 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
771 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000772 .type = &asn_DEF_UTF8String,
Lev Walkin15750402005-07-03 05:27:19 +0000773 .memb_constraints = 0, /* Defer constraints checking to the member type */
774 .name = "string"
775 },
776 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer),
777 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
778 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000779 .type = &asn_DEF_INTEGER,
Lev Walkin15750402005-07-03 05:27:19 +0000780 .memb_constraints = 0, /* Defer constraints checking to the member type */
781 .name = "integer"
782 },
783};
784static ber_tlv_tag_t asn_DEF_ExtensibleSequence2_1_tags[] = {
785 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
786};
787static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_1_tag2el[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000788 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 63 */
789 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer at 65 */
Lev Walkin15750402005-07-03 05:27:19 +0000790};
791static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_1_specs = {
792 sizeof(struct ExtensibleSequence2),
793 offsetof(struct ExtensibleSequence2, _asn_ctx),
794 asn_MAP_ExtensibleSequence2_1_tag2el,
795 2, /* Count of tags in the map */
796 0, /* Start extensions */
797 3 /* Stop extensions */
798};
799asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = {
800 "ExtensibleSequence2",
801 "ExtensibleSequence2",
802 SEQUENCE_free,
803 SEQUENCE_print,
804 SEQUENCE_constraint,
805 SEQUENCE_decode_ber,
806 SEQUENCE_encode_der,
807 SEQUENCE_decode_xer,
808 SEQUENCE_encode_xer,
809 0, /* Use generic outmost tag fetcher */
810 asn_DEF_ExtensibleSequence2_1_tags,
811 sizeof(asn_DEF_ExtensibleSequence2_1_tags)
812 /sizeof(asn_DEF_ExtensibleSequence2_1_tags[0]), /* 1 */
813 asn_DEF_ExtensibleSequence2_1_tags, /* Same as above */
814 sizeof(asn_DEF_ExtensibleSequence2_1_tags)
815 /sizeof(asn_DEF_ExtensibleSequence2_1_tags[0]), /* 1 */
816 asn_MBR_ExtensibleSequence2_1,
817 2, /* Elements count */
818 &asn_SPC_ExtensibleSequence2_1_specs /* Additional specs */
819};
820
821
Lev Walkinf5db6142005-02-24 22:38:43 +0000822/*** <<< INCLUDES [SetOfNULL] >>> ***/
823
824#include <NULL.h>
825#include <asn_SET_OF.h>
826#include <constr_SET_OF.h>
827
Lev Walkinf5db6142005-02-24 22:38:43 +0000828/*** <<< TYPE-DECLS [SetOfNULL] >>> ***/
829
Lev Walkinf5db6142005-02-24 22:38:43 +0000830typedef struct SetOfNULL {
831 A_SET_OF(NULL_t) list;
832
833 /* Context for parsing across buffer boundaries */
834 asn_struct_ctx_t _asn_ctx;
835} SetOfNULL_t;
836
Lev Walkinc8285712005-03-04 22:18:20 +0000837/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
838
839extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
840
Lev Walkinf5db6142005-02-24 22:38:43 +0000841/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
842
Lev Walkine0272aa2005-03-04 11:26:08 +0000843static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000844 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000845 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
846 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000847 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000848 .memb_constraints = 0, /* Defer constraints checking to the member type */
849 .name = ""
850 },
851};
Lev Walkine0272aa2005-03-04 11:26:08 +0000852static ber_tlv_tag_t asn_DEF_SetOfNULL_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000853 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
854};
Lev Walkine0272aa2005-03-04 11:26:08 +0000855static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000856 sizeof(struct SetOfNULL),
857 offsetof(struct SetOfNULL, _asn_ctx),
858 1, /* XER encoding is XMLValueList */
859};
860asn_TYPE_descriptor_t asn_DEF_SetOfNULL = {
861 "SetOfNULL",
862 "SetOfNULL",
863 SET_OF_free,
864 SET_OF_print,
865 SET_OF_constraint,
866 SET_OF_decode_ber,
867 SET_OF_encode_der,
868 SET_OF_decode_xer,
869 SET_OF_encode_xer,
870 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000871 asn_DEF_SetOfNULL_1_tags,
872 sizeof(asn_DEF_SetOfNULL_1_tags)
873 /sizeof(asn_DEF_SetOfNULL_1_tags[0]), /* 1 */
874 asn_DEF_SetOfNULL_1_tags, /* Same as above */
875 sizeof(asn_DEF_SetOfNULL_1_tags)
876 /sizeof(asn_DEF_SetOfNULL_1_tags[0]), /* 1 */
877 asn_MBR_SetOfNULL_1,
Lev Walkinf5db6142005-02-24 22:38:43 +0000878 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +0000879 &asn_SPC_SetOfNULL_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +0000880};
881
882
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000883/*** <<< INCLUDES [SetOfREAL] >>> ***/
884
885#include <REAL.h>
886#include <asn_SET_OF.h>
887#include <constr_SET_OF.h>
888
889/*** <<< TYPE-DECLS [SetOfREAL] >>> ***/
890
891typedef struct SetOfREAL {
892 A_SET_OF(REAL_t) list;
893
894 /* Context for parsing across buffer boundaries */
895 asn_struct_ctx_t _asn_ctx;
896} SetOfREAL_t;
897
898/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/
899
900extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL;
901
902/*** <<< STAT-DEFS [SetOfREAL] >>> ***/
903
904static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
905 { ATF_POINTER, 0, 0,
906 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
907 .tag_mode = 0,
908 .type = &asn_DEF_REAL,
909 .memb_constraints = 0, /* Defer constraints checking to the member type */
910 .name = ""
911 },
912};
913static ber_tlv_tag_t asn_DEF_SetOfREAL_1_tags[] = {
914 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
915};
916static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_1_specs = {
917 sizeof(struct SetOfREAL),
918 offsetof(struct SetOfREAL, _asn_ctx),
919 0, /* XER encoding is XMLDelimitedItemList */
920};
921asn_TYPE_descriptor_t asn_DEF_SetOfREAL = {
922 "SetOfREAL",
923 "SetOfREAL",
924 SET_OF_free,
925 SET_OF_print,
926 SET_OF_constraint,
927 SET_OF_decode_ber,
928 SET_OF_encode_der,
929 SET_OF_decode_xer,
930 SET_OF_encode_xer,
931 0, /* Use generic outmost tag fetcher */
932 asn_DEF_SetOfREAL_1_tags,
933 sizeof(asn_DEF_SetOfREAL_1_tags)
934 /sizeof(asn_DEF_SetOfREAL_1_tags[0]), /* 1 */
935 asn_DEF_SetOfREAL_1_tags, /* Same as above */
936 sizeof(asn_DEF_SetOfREAL_1_tags)
937 /sizeof(asn_DEF_SetOfREAL_1_tags[0]), /* 1 */
938 asn_MBR_SetOfREAL_1,
939 1, /* Single element */
940 &asn_SPC_SetOfREAL_1_specs /* Additional specs */
941};
942
943
Lev Walkinf5db6142005-02-24 22:38:43 +0000944/*** <<< INCLUDES [SetOfEnums] >>> ***/
945
946#include <ENUMERATED.h>
947#include <asn_SET_OF.h>
948#include <constr_SET_OF.h>
949
950/*** <<< DEPS [SetOfEnums] >>> ***/
951
Lev Walkine0272aa2005-03-04 11:26:08 +0000952typedef enum Member {
953 Member_one = 0,
954 Member_oneMore = 1
955} Member_e;
Lev Walkinf5db6142005-02-24 22:38:43 +0000956
957/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
958
Lev Walkinf5db6142005-02-24 22:38:43 +0000959typedef struct SetOfEnums {
960 A_SET_OF(ENUMERATED_t) list;
961
962 /* Context for parsing across buffer boundaries */
963 asn_struct_ctx_t _asn_ctx;
964} SetOfEnums_t;
965
Lev Walkinb47df092005-02-25 08:35:54 +0000966/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/
967
Lev Walkine0272aa2005-03-04 11:26:08 +0000968/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000969extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
Lev Walkinb47df092005-02-25 08:35:54 +0000970
971/*** <<< CODE [SetOfEnums] >>> ***/
972
973static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000974Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkinb47df092005-02-25 08:35:54 +0000975 asn_app_consume_bytes_f *app_errlog, void *app_key) {
976 /* Replace with underlying type checker */
977 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
978 return td->check_constraints(td, sptr, app_errlog, app_key);
979}
980
981/*
982 * This type is implemented using ENUMERATED,
983 * so here we adjust the DEF accordingly.
984 */
985static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000986Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkinb47df092005-02-25 08:35:54 +0000987 td->free_struct = asn_DEF_ENUMERATED.free_struct;
988 td->print_struct = asn_DEF_ENUMERATED.print_struct;
989 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
990 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
991 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
992 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
993 td->elements = asn_DEF_ENUMERATED.elements;
994 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000995 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinb47df092005-02-25 08:35:54 +0000996}
997
998static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000999Member_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001000 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001001 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001002 td->free_struct(td, struct_ptr, contents_only);
1003}
1004
1005static int
Lev Walkine0272aa2005-03-04 11:26:08 +00001006Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinb47df092005-02-25 08:35:54 +00001007 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001008 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001009 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1010}
1011
1012static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001013Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001014 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001015 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001016 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1017}
1018
1019static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001020Member_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001021 void *structure, int tag_mode, ber_tlv_tag_t tag,
1022 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001023 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001024 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1025}
1026
1027static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001028Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001029 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001030 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001031 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1032}
1033
1034static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001035Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinb47df092005-02-25 08:35:54 +00001036 int ilevel, enum xer_encoder_flags_e flags,
1037 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001038 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001039 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1040}
1041
1042
Lev Walkinf5db6142005-02-24 22:38:43 +00001043/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
1044
Lev Walkine0272aa2005-03-04 11:26:08 +00001045static asn_INTEGER_enum_map_t asn_MAP_Member_2_value2enum[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001046 { 0, 3, "one" },
1047 { 1, 7, "oneMore" }
1048};
Lev Walkine0272aa2005-03-04 11:26:08 +00001049static unsigned int asn_MAP_Member_2_enum2value[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001050 0, /* one(0) */
1051 1 /* oneMore(1) */
Lev Walkinb47df092005-02-25 08:35:54 +00001052};
Lev Walkine0272aa2005-03-04 11:26:08 +00001053static asn_INTEGER_specifics_t asn_SPC_Member_2_specs = {
1054 asn_MAP_Member_2_value2enum, /* "tag" => N; sorted by tag */
1055 asn_MAP_Member_2_enum2value, /* N => "tag"; sorted by N */
Lev Walkinb47df092005-02-25 08:35:54 +00001056 2, /* Number of elements in the maps */
Lev Walkin295e2452005-02-25 11:47:59 +00001057 0, /* Enumeration is not extensible */
1058 1 /* Strict enumeration */
Lev Walkinb47df092005-02-25 08:35:54 +00001059};
Lev Walkine0272aa2005-03-04 11:26:08 +00001060static ber_tlv_tag_t asn_DEF_Member_2_tags[] = {
Lev Walkinb47df092005-02-25 08:35:54 +00001061 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1062};
1063static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +00001064asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkinb47df092005-02-25 08:35:54 +00001065 "",
1066 "",
Lev Walkine0272aa2005-03-04 11:26:08 +00001067 Member_2_free,
1068 Member_2_print,
1069 Member_2_constraint,
1070 Member_2_decode_ber,
1071 Member_2_encode_der,
1072 Member_2_decode_xer,
1073 Member_2_encode_xer,
Lev Walkinb47df092005-02-25 08:35:54 +00001074 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001075 asn_DEF_Member_2_tags,
1076 sizeof(asn_DEF_Member_2_tags)
1077 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
1078 asn_DEF_Member_2_tags, /* Same as above */
1079 sizeof(asn_DEF_Member_2_tags)
1080 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
Lev Walkinb47df092005-02-25 08:35:54 +00001081 0, 0, /* Defined elsewhere */
Lev Walkine0272aa2005-03-04 11:26:08 +00001082 &asn_SPC_Member_2_specs /* Additional specs */
Lev Walkinb47df092005-02-25 08:35:54 +00001083};
1084
Lev Walkine0272aa2005-03-04 11:26:08 +00001085static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001086 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001087 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1088 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001089 .type = &asn_DEF_Member_2,
Lev Walkinf5db6142005-02-24 22:38:43 +00001090 .memb_constraints = 0, /* Defer constraints checking to the member type */
1091 .name = ""
1092 },
1093};
Lev Walkine0272aa2005-03-04 11:26:08 +00001094static ber_tlv_tag_t asn_DEF_SetOfEnums_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001095 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1096};
Lev Walkine0272aa2005-03-04 11:26:08 +00001097static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001098 sizeof(struct SetOfEnums),
1099 offsetof(struct SetOfEnums, _asn_ctx),
Lev Walkinb47df092005-02-25 08:35:54 +00001100 1, /* XER encoding is XMLValueList */
Lev Walkinf5db6142005-02-24 22:38:43 +00001101};
1102asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
1103 "SetOfEnums",
1104 "SetOfEnums",
1105 SET_OF_free,
1106 SET_OF_print,
1107 SET_OF_constraint,
1108 SET_OF_decode_ber,
1109 SET_OF_encode_der,
1110 SET_OF_decode_xer,
1111 SET_OF_encode_xer,
1112 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001113 asn_DEF_SetOfEnums_1_tags,
1114 sizeof(asn_DEF_SetOfEnums_1_tags)
1115 /sizeof(asn_DEF_SetOfEnums_1_tags[0]), /* 1 */
1116 asn_DEF_SetOfEnums_1_tags, /* Same as above */
1117 sizeof(asn_DEF_SetOfEnums_1_tags)
1118 /sizeof(asn_DEF_SetOfEnums_1_tags[0]), /* 1 */
1119 asn_MBR_SetOfEnums_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001120 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001121 &asn_SPC_SetOfEnums_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001122};
1123
1124
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001125/*** <<< INCLUDES [NamedSetOfNULL] >>> ***/
1126
1127#include <NULL.h>
1128#include <asn_SET_OF.h>
1129#include <constr_SET_OF.h>
1130
1131/*** <<< TYPE-DECLS [NamedSetOfNULL] >>> ***/
1132
1133typedef struct NamedSetOfNULL {
1134 A_SET_OF(NULL_t) list;
1135
1136 /* Context for parsing across buffer boundaries */
1137 asn_struct_ctx_t _asn_ctx;
1138} NamedSetOfNULL_t;
1139
1140/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/
1141
1142extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL;
1143
1144/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/
1145
1146static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
1147 { ATF_POINTER, 0, 0,
1148 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1149 .tag_mode = 0,
1150 .type = &asn_DEF_NULL,
1151 .memb_constraints = 0, /* Defer constraints checking to the member type */
1152 .name = "y"
1153 },
1154};
1155static ber_tlv_tag_t asn_DEF_NamedSetOfNULL_1_tags[] = {
1156 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1157};
1158static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_1_specs = {
1159 sizeof(struct NamedSetOfNULL),
1160 offsetof(struct NamedSetOfNULL, _asn_ctx),
1161 1, /* XER encoding is XMLValueList */
1162};
1163asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = {
1164 "NamedSetOfNULL",
1165 "NamedSetOfNULL",
1166 SET_OF_free,
1167 SET_OF_print,
1168 SET_OF_constraint,
1169 SET_OF_decode_ber,
1170 SET_OF_encode_der,
1171 SET_OF_decode_xer,
1172 SET_OF_encode_xer,
1173 0, /* Use generic outmost tag fetcher */
1174 asn_DEF_NamedSetOfNULL_1_tags,
1175 sizeof(asn_DEF_NamedSetOfNULL_1_tags)
1176 /sizeof(asn_DEF_NamedSetOfNULL_1_tags[0]), /* 1 */
1177 asn_DEF_NamedSetOfNULL_1_tags, /* Same as above */
1178 sizeof(asn_DEF_NamedSetOfNULL_1_tags)
1179 /sizeof(asn_DEF_NamedSetOfNULL_1_tags[0]), /* 1 */
1180 asn_MBR_NamedSetOfNULL_1,
1181 1, /* Single element */
1182 &asn_SPC_NamedSetOfNULL_1_specs /* Additional specs */
1183};
1184
1185
1186/*** <<< INCLUDES [NamedSetOfREAL] >>> ***/
1187
1188#include <REAL.h>
1189#include <asn_SET_OF.h>
1190#include <constr_SET_OF.h>
1191
1192/*** <<< TYPE-DECLS [NamedSetOfREAL] >>> ***/
1193
1194typedef struct NamedSetOfREAL {
1195 A_SET_OF(REAL_t) list;
1196
1197 /* Context for parsing across buffer boundaries */
1198 asn_struct_ctx_t _asn_ctx;
1199} NamedSetOfREAL_t;
1200
1201/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/
1202
1203extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL;
1204
1205/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/
1206
1207static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
1208 { ATF_POINTER, 0, 0,
1209 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
1210 .tag_mode = 0,
1211 .type = &asn_DEF_REAL,
1212 .memb_constraints = 0, /* Defer constraints checking to the member type */
1213 .name = "name"
1214 },
1215};
1216static ber_tlv_tag_t asn_DEF_NamedSetOfREAL_1_tags[] = {
1217 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1218};
1219static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_1_specs = {
1220 sizeof(struct NamedSetOfREAL),
1221 offsetof(struct NamedSetOfREAL, _asn_ctx),
1222 0, /* XER encoding is XMLDelimitedItemList */
1223};
1224asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = {
1225 "NamedSetOfREAL",
1226 "NamedSetOfREAL",
1227 SET_OF_free,
1228 SET_OF_print,
1229 SET_OF_constraint,
1230 SET_OF_decode_ber,
1231 SET_OF_encode_der,
1232 SET_OF_decode_xer,
1233 SET_OF_encode_xer,
1234 0, /* Use generic outmost tag fetcher */
1235 asn_DEF_NamedSetOfREAL_1_tags,
1236 sizeof(asn_DEF_NamedSetOfREAL_1_tags)
1237 /sizeof(asn_DEF_NamedSetOfREAL_1_tags[0]), /* 1 */
1238 asn_DEF_NamedSetOfREAL_1_tags, /* Same as above */
1239 sizeof(asn_DEF_NamedSetOfREAL_1_tags)
1240 /sizeof(asn_DEF_NamedSetOfREAL_1_tags[0]), /* 1 */
1241 asn_MBR_NamedSetOfREAL_1,
1242 1, /* Single element */
1243 &asn_SPC_NamedSetOfREAL_1_specs /* Additional specs */
1244};
1245
1246
1247/*** <<< INCLUDES [NamedSetOfEnums] >>> ***/
1248
1249#include <ENUMERATED.h>
1250#include <asn_SET_OF.h>
1251#include <constr_SET_OF.h>
1252
1253/*** <<< DEPS [NamedSetOfEnums] >>> ***/
1254
1255typedef enum name {
1256 name_one = 0,
1257 name_oneMore = 1
1258} name_e;
1259
1260/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/
1261
1262typedef struct NamedSetOfEnums {
1263 A_SET_OF(ENUMERATED_t) list;
1264
1265 /* Context for parsing across buffer boundaries */
1266 asn_struct_ctx_t _asn_ctx;
1267} NamedSetOfEnums_t;
1268
1269/*** <<< FUNC-DECLS [NamedSetOfEnums] >>> ***/
1270
1271/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */
1272extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums;
1273
1274/*** <<< CODE [NamedSetOfEnums] >>> ***/
1275
1276static int
1277name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1278 asn_app_consume_bytes_f *app_errlog, void *app_key) {
1279 /* Replace with underlying type checker */
1280 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
1281 return td->check_constraints(td, sptr, app_errlog, app_key);
1282}
1283
1284/*
1285 * This type is implemented using ENUMERATED,
1286 * so here we adjust the DEF accordingly.
1287 */
1288static void
1289name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1290 td->free_struct = asn_DEF_ENUMERATED.free_struct;
1291 td->print_struct = asn_DEF_ENUMERATED.print_struct;
1292 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
1293 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
1294 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
1295 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
1296 td->elements = asn_DEF_ENUMERATED.elements;
1297 td->elements_count = asn_DEF_ENUMERATED.elements_count;
1298 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
1299}
1300
1301static void
1302name_2_free(asn_TYPE_descriptor_t *td,
1303 void *struct_ptr, int contents_only) {
1304 name_2_inherit_TYPE_descriptor(td);
1305 td->free_struct(td, struct_ptr, contents_only);
1306}
1307
1308static int
1309name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1310 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1311 name_2_inherit_TYPE_descriptor(td);
1312 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1313}
1314
1315static asn_dec_rval_t
1316name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1317 void **structure, const void *bufptr, size_t size, int tag_mode) {
1318 name_2_inherit_TYPE_descriptor(td);
1319 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1320}
1321
1322static asn_enc_rval_t
1323name_2_encode_der(asn_TYPE_descriptor_t *td,
1324 void *structure, int tag_mode, ber_tlv_tag_t tag,
1325 asn_app_consume_bytes_f *cb, void *app_key) {
1326 name_2_inherit_TYPE_descriptor(td);
1327 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1328}
1329
1330static asn_dec_rval_t
1331name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1332 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1333 name_2_inherit_TYPE_descriptor(td);
1334 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1335}
1336
1337static asn_enc_rval_t
1338name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1339 int ilevel, enum xer_encoder_flags_e flags,
1340 asn_app_consume_bytes_f *cb, void *app_key) {
1341 name_2_inherit_TYPE_descriptor(td);
1342 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1343}
1344
1345
1346/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/
1347
1348static asn_INTEGER_enum_map_t asn_MAP_name_2_value2enum[] = {
1349 { 0, 3, "one" },
1350 { 1, 7, "oneMore" }
1351};
1352static unsigned int asn_MAP_name_2_enum2value[] = {
1353 0, /* one(0) */
1354 1 /* oneMore(1) */
1355};
1356static asn_INTEGER_specifics_t asn_SPC_name_2_specs = {
1357 asn_MAP_name_2_value2enum, /* "tag" => N; sorted by tag */
1358 asn_MAP_name_2_enum2value, /* N => "tag"; sorted by N */
1359 2, /* Number of elements in the maps */
1360 0, /* Enumeration is not extensible */
1361 1 /* Strict enumeration */
1362};
1363static ber_tlv_tag_t asn_DEF_name_2_tags[] = {
1364 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1365};
1366static /* Use -fall-defs-global to expose */
1367asn_TYPE_descriptor_t asn_DEF_name_2 = {
1368 "",
1369 "",
1370 name_2_free,
1371 name_2_print,
1372 name_2_constraint,
1373 name_2_decode_ber,
1374 name_2_encode_der,
1375 name_2_decode_xer,
1376 name_2_encode_xer,
1377 0, /* Use generic outmost tag fetcher */
1378 asn_DEF_name_2_tags,
1379 sizeof(asn_DEF_name_2_tags)
1380 /sizeof(asn_DEF_name_2_tags[0]), /* 1 */
1381 asn_DEF_name_2_tags, /* Same as above */
1382 sizeof(asn_DEF_name_2_tags)
1383 /sizeof(asn_DEF_name_2_tags[0]), /* 1 */
1384 0, 0, /* Defined elsewhere */
1385 &asn_SPC_name_2_specs /* Additional specs */
1386};
1387
1388static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
1389 { ATF_POINTER, 0, 0,
1390 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1391 .tag_mode = 0,
1392 .type = &asn_DEF_name_2,
1393 .memb_constraints = 0, /* Defer constraints checking to the member type */
1394 .name = "name"
1395 },
1396};
1397static ber_tlv_tag_t asn_DEF_NamedSetOfEnums_1_tags[] = {
1398 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1399};
1400static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_1_specs = {
1401 sizeof(struct NamedSetOfEnums),
1402 offsetof(struct NamedSetOfEnums, _asn_ctx),
1403 1, /* XER encoding is XMLValueList */
1404};
1405asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = {
1406 "NamedSetOfEnums",
1407 "NamedSetOfEnums",
1408 SET_OF_free,
1409 SET_OF_print,
1410 SET_OF_constraint,
1411 SET_OF_decode_ber,
1412 SET_OF_encode_der,
1413 SET_OF_decode_xer,
1414 SET_OF_encode_xer,
1415 0, /* Use generic outmost tag fetcher */
1416 asn_DEF_NamedSetOfEnums_1_tags,
1417 sizeof(asn_DEF_NamedSetOfEnums_1_tags)
1418 /sizeof(asn_DEF_NamedSetOfEnums_1_tags[0]), /* 1 */
1419 asn_DEF_NamedSetOfEnums_1_tags, /* Same as above */
1420 sizeof(asn_DEF_NamedSetOfEnums_1_tags)
1421 /sizeof(asn_DEF_NamedSetOfEnums_1_tags[0]), /* 1 */
1422 asn_MBR_NamedSetOfEnums_1,
1423 1, /* Single element */
1424 &asn_SPC_NamedSetOfEnums_1_specs /* Additional specs */
1425};
1426
1427
Lev Walkin843a2462005-02-18 16:30:26 +00001428/*** <<< INCLUDES [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001429
1430#include <INTEGER.h>
1431#include <asn_SEQUENCE_OF.h>
1432#include <constr_SEQUENCE_OF.h>
1433
Lev Walkin843a2462005-02-18 16:30:26 +00001434/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001435
Lev Walkin843a2462005-02-18 16:30:26 +00001436typedef struct SequenceOf {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001437 A_SEQUENCE_OF(INTEGER_t) list;
1438
1439 /* Context for parsing across buffer boundaries */
1440 asn_struct_ctx_t _asn_ctx;
Lev Walkin843a2462005-02-18 16:30:26 +00001441} SequenceOf_t;
Lev Walkin0ef9f142005-02-14 20:40:57 +00001442
Lev Walkinc8285712005-03-04 22:18:20 +00001443/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
1444
1445extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
1446
Lev Walkin843a2462005-02-18 16:30:26 +00001447/*** <<< STAT-DEFS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001448
Lev Walkine0272aa2005-03-04 11:26:08 +00001449static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001450 { ATF_POINTER, 0, 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001451 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1452 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001453 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001454 .memb_constraints = 0, /* Defer constraints checking to the member type */
1455 .name = "id"
1456 },
1457};
Lev Walkine0272aa2005-03-04 11:26:08 +00001458static ber_tlv_tag_t asn_DEF_SequenceOf_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001459 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1460};
Lev Walkine0272aa2005-03-04 11:26:08 +00001461static asn_SET_OF_specifics_t asn_SPC_SequenceOf_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +00001462 sizeof(struct SequenceOf),
1463 offsetof(struct SequenceOf, _asn_ctx),
Lev Walkin0ef9f142005-02-14 20:40:57 +00001464 0, /* XER encoding is XMLDelimitedItemList */
1465};
Lev Walkin843a2462005-02-18 16:30:26 +00001466asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
1467 "SequenceOf",
1468 "SequenceOf",
Lev Walkin0ef9f142005-02-14 20:40:57 +00001469 SEQUENCE_OF_free,
1470 SEQUENCE_OF_print,
1471 SEQUENCE_OF_constraint,
1472 SEQUENCE_OF_decode_ber,
1473 SEQUENCE_OF_encode_der,
1474 SEQUENCE_OF_decode_xer,
1475 SEQUENCE_OF_encode_xer,
1476 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001477 asn_DEF_SequenceOf_1_tags,
1478 sizeof(asn_DEF_SequenceOf_1_tags)
1479 /sizeof(asn_DEF_SequenceOf_1_tags[0]), /* 1 */
1480 asn_DEF_SequenceOf_1_tags, /* Same as above */
1481 sizeof(asn_DEF_SequenceOf_1_tags)
1482 /sizeof(asn_DEF_SequenceOf_1_tags[0]), /* 1 */
1483 asn_MBR_SequenceOf_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001484 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001485 &asn_SPC_SequenceOf_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001486};
1487
Lev Walkinf5db6142005-02-24 22:38:43 +00001488
1489/*** <<< INCLUDES [SeqOfZuka] >>> ***/
1490
1491#include <NULL.h>
1492#include <asn_SEQUENCE_OF.h>
1493#include <constr_SEQUENCE_OF.h>
1494
Lev Walkinf5db6142005-02-24 22:38:43 +00001495/*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/
1496
Lev Walkinf5db6142005-02-24 22:38:43 +00001497typedef struct SeqOfZuka {
1498 A_SEQUENCE_OF(NULL_t) list;
1499
1500 /* Context for parsing across buffer boundaries */
1501 asn_struct_ctx_t _asn_ctx;
1502} SeqOfZuka_t;
1503
Lev Walkinc8285712005-03-04 22:18:20 +00001504/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
1505
1506extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
1507
Lev Walkinf5db6142005-02-24 22:38:43 +00001508/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
1509
Lev Walkine0272aa2005-03-04 11:26:08 +00001510static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001511 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001512 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1513 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001514 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +00001515 .memb_constraints = 0, /* Defer constraints checking to the member type */
1516 .name = "zuka"
1517 },
1518};
Lev Walkine0272aa2005-03-04 11:26:08 +00001519static ber_tlv_tag_t asn_DEF_SeqOfZuka_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001520 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1521};
Lev Walkine0272aa2005-03-04 11:26:08 +00001522static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001523 sizeof(struct SeqOfZuka),
1524 offsetof(struct SeqOfZuka, _asn_ctx),
1525 1, /* XER encoding is XMLValueList */
1526};
1527asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = {
1528 "SeqOfZuka",
1529 "SeqOfZuka",
1530 SEQUENCE_OF_free,
1531 SEQUENCE_OF_print,
1532 SEQUENCE_OF_constraint,
1533 SEQUENCE_OF_decode_ber,
1534 SEQUENCE_OF_encode_der,
1535 SEQUENCE_OF_decode_xer,
1536 SEQUENCE_OF_encode_xer,
1537 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001538 asn_DEF_SeqOfZuka_1_tags,
1539 sizeof(asn_DEF_SeqOfZuka_1_tags)
1540 /sizeof(asn_DEF_SeqOfZuka_1_tags[0]), /* 1 */
1541 asn_DEF_SeqOfZuka_1_tags, /* Same as above */
1542 sizeof(asn_DEF_SeqOfZuka_1_tags)
1543 /sizeof(asn_DEF_SeqOfZuka_1_tags[0]), /* 1 */
1544 asn_MBR_SeqOfZuka_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001545 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001546 &asn_SPC_SeqOfZuka_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001547};
1548
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001549
1550/*** <<< INCLUDES [SetOfChoice] >>> ***/
1551
1552#include <asn_SET_OF.h>
1553#include <constr_SET_OF.h>
1554
1555/*** <<< FWD-DECLS [SetOfChoice] >>> ***/
1556
1557struct SimpleChoice;
1558
1559/*** <<< TYPE-DECLS [SetOfChoice] >>> ***/
1560
1561typedef struct SetOfChoice {
1562 A_SET_OF(struct SimpleChoice) list;
1563
1564 /* Context for parsing across buffer boundaries */
1565 asn_struct_ctx_t _asn_ctx;
1566} SetOfChoice_t;
1567
1568/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/
1569
1570extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
1571
1572/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/
1573
1574#include <SimpleChoice.h>
1575
1576/*** <<< STAT-DEFS [SetOfChoice] >>> ***/
1577
1578static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
1579 { ATF_POINTER, 0, 0,
1580 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1581 .tag_mode = 0,
1582 .type = &asn_DEF_SimpleChoice,
1583 .memb_constraints = 0, /* Defer constraints checking to the member type */
1584 .name = ""
1585 },
1586};
1587static ber_tlv_tag_t asn_DEF_SetOfChoice_1_tags[] = {
1588 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1589};
1590static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_1_specs = {
1591 sizeof(struct SetOfChoice),
1592 offsetof(struct SetOfChoice, _asn_ctx),
1593 0, /* XER encoding is XMLDelimitedItemList */
1594};
1595asn_TYPE_descriptor_t asn_DEF_SetOfChoice = {
1596 "SetOfChoice",
1597 "SetOfChoice",
1598 SET_OF_free,
1599 SET_OF_print,
1600 SET_OF_constraint,
1601 SET_OF_decode_ber,
1602 SET_OF_encode_der,
1603 SET_OF_decode_xer,
1604 SET_OF_encode_xer,
1605 0, /* Use generic outmost tag fetcher */
1606 asn_DEF_SetOfChoice_1_tags,
1607 sizeof(asn_DEF_SetOfChoice_1_tags)
1608 /sizeof(asn_DEF_SetOfChoice_1_tags[0]), /* 1 */
1609 asn_DEF_SetOfChoice_1_tags, /* Same as above */
1610 sizeof(asn_DEF_SetOfChoice_1_tags)
1611 /sizeof(asn_DEF_SetOfChoice_1_tags[0]), /* 1 */
1612 asn_MBR_SetOfChoice_1,
1613 1, /* Single element */
1614 &asn_SPC_SetOfChoice_1_specs /* Additional specs */
1615};
1616
1617
1618/*** <<< INCLUDES [NamedSetOfChoice] >>> ***/
1619
1620#include <asn_SET_OF.h>
1621#include <constr_SET_OF.h>
1622
1623/*** <<< FWD-DECLS [NamedSetOfChoice] >>> ***/
1624
1625struct SimpleChoice;
1626
1627/*** <<< TYPE-DECLS [NamedSetOfChoice] >>> ***/
1628
1629typedef struct NamedSetOfChoice {
1630 A_SET_OF(struct SimpleChoice) list;
1631
1632 /* Context for parsing across buffer boundaries */
1633 asn_struct_ctx_t _asn_ctx;
1634} NamedSetOfChoice_t;
1635
1636/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/
1637
1638extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
1639
1640/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/
1641
1642#include <SimpleChoice.h>
1643
1644/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/
1645
1646static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
1647 { ATF_POINTER, 0, 0,
1648 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1649 .tag_mode = 0,
1650 .type = &asn_DEF_SimpleChoice,
1651 .memb_constraints = 0, /* Defer constraints checking to the member type */
1652 .name = "whatever"
1653 },
1654};
1655static ber_tlv_tag_t asn_DEF_NamedSetOfChoice_1_tags[] = {
1656 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1657};
1658static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_1_specs = {
1659 sizeof(struct NamedSetOfChoice),
1660 offsetof(struct NamedSetOfChoice, _asn_ctx),
1661 0, /* XER encoding is XMLDelimitedItemList */
1662};
1663asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = {
1664 "NamedSetOfChoice",
1665 "NamedSetOfChoice",
1666 SET_OF_free,
1667 SET_OF_print,
1668 SET_OF_constraint,
1669 SET_OF_decode_ber,
1670 SET_OF_encode_der,
1671 SET_OF_decode_xer,
1672 SET_OF_encode_xer,
1673 0, /* Use generic outmost tag fetcher */
1674 asn_DEF_NamedSetOfChoice_1_tags,
1675 sizeof(asn_DEF_NamedSetOfChoice_1_tags)
1676 /sizeof(asn_DEF_NamedSetOfChoice_1_tags[0]), /* 1 */
1677 asn_DEF_NamedSetOfChoice_1_tags, /* Same as above */
1678 sizeof(asn_DEF_NamedSetOfChoice_1_tags)
1679 /sizeof(asn_DEF_NamedSetOfChoice_1_tags[0]), /* 1 */
1680 asn_MBR_NamedSetOfChoice_1,
1681 1, /* Single element */
1682 &asn_SPC_NamedSetOfChoice_1_specs /* Additional specs */
1683};
1684
1685
1686/*** <<< INCLUDES [SimpleChoice] >>> ***/
1687
1688#include <NULL.h>
1689#include <INTEGER.h>
1690#include <constr_CHOICE.h>
1691
1692/*** <<< DEPS [SimpleChoice] >>> ***/
1693
1694typedef enum SimpleChoice_PR {
1695 SimpleChoice_PR_NOTHING, /* No components present */
1696 SimpleChoice_PR_a,
1697 SimpleChoice_PR_b,
1698} SimpleChoice_PR;
1699
1700/*** <<< TYPE-DECLS [SimpleChoice] >>> ***/
1701
1702typedef struct SimpleChoice {
1703 SimpleChoice_PR present;
1704 union SimpleChoice_u {
1705 NULL_t a;
1706 INTEGER_t b;
1707 } choice;
1708
1709 /* Context for parsing across buffer boundaries */
1710 asn_struct_ctx_t _asn_ctx;
1711} SimpleChoice_t;
1712
1713/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/
1714
1715extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice;
1716
1717/*** <<< STAT-DEFS [SimpleChoice] >>> ***/
1718
1719static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
1720 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a),
1721 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1722 .tag_mode = -1, /* IMPLICIT tag at current level */
1723 .type = &asn_DEF_NULL,
1724 .memb_constraints = 0, /* Defer constraints checking to the member type */
1725 .name = "a"
1726 },
1727 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.b),
1728 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1729 .tag_mode = -1, /* IMPLICIT tag at current level */
1730 .type = &asn_DEF_INTEGER,
1731 .memb_constraints = 0, /* Defer constraints checking to the member type */
1732 .name = "b"
1733 },
1734};
1735static asn_TYPE_tag2member_t asn_MAP_SimpleChoice_1_tag2el[] = {
1736 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 79 */
1737 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 79 */
1738};
1739static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_1_specs = {
1740 sizeof(struct SimpleChoice),
1741 offsetof(struct SimpleChoice, _asn_ctx),
1742 offsetof(struct SimpleChoice, present),
1743 sizeof(((struct SimpleChoice *)0)->present),
1744 asn_MAP_SimpleChoice_1_tag2el,
1745 2, /* Count of tags in the map */
1746 0 /* Whether extensible */
1747};
1748asn_TYPE_descriptor_t asn_DEF_SimpleChoice = {
1749 "SimpleChoice",
1750 "SimpleChoice",
1751 CHOICE_free,
1752 CHOICE_print,
1753 CHOICE_constraint,
1754 CHOICE_decode_ber,
1755 CHOICE_encode_der,
1756 CHOICE_decode_xer,
1757 CHOICE_encode_xer,
1758 CHOICE_outmost_tag,
1759 0, /* No effective tags (pointer) */
1760 0, /* No effective tags (count) */
1761 0, /* No tags (pointer) */
1762 0, /* No tags (count) */
1763 asn_MBR_SimpleChoice_1,
1764 2, /* Elements count */
1765 &asn_SPC_SimpleChoice_1_specs /* Additional specs */
1766};
1767