blob: 25a5a4fa6f1fb44a2d189ccc6e4bbafef178fabb [file] [log] [blame]
Lev Walkin0ef9f142005-02-14 20:40:57 +00001
2/*** <<< INCLUDES [PDU] >>> ***/
3
4#include <Sequence.h>
5#include <Set.h>
6#include <SetOf.h>
Lev Walkin843a2462005-02-18 16:30:26 +00007#include <SequenceOf.h>
8#include <ExtensibleSet.h>
9#include <ExtensibleSequence.h>
Lev Walkin15750402005-07-03 05:27:19 +000010#include <ExtensibleSequence2.h>
Lev Walkinf5db6142005-02-24 22:38:43 +000011#include <SetOfNULL.h>
12#include <SetOfEnums.h>
13#include <SeqOfZuka.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +000014#include <constr_CHOICE.h>
15
16/*** <<< DEPS [PDU] >>> ***/
17
18typedef enum PDU_PR {
19 PDU_PR_NOTHING, /* No components present */
20 PDU_PR_sequence,
21 PDU_PR_set,
22 PDU_PR_setOf,
Lev Walkin843a2462005-02-18 16:30:26 +000023 PDU_PR_sequenceOf,
24 PDU_PR_extensibleSet,
25 PDU_PR_extensibleSequence,
Lev Walkin15750402005-07-03 05:27:19 +000026 PDU_PR_extensibleSequence2,
Lev Walkinf5db6142005-02-24 22:38:43 +000027 PDU_PR_setOfNULL,
28 PDU_PR_setOfEnums,
29 PDU_PR_seqOfZuka,
Lev Walkin843a2462005-02-18 16:30:26 +000030 /* Extensions may appear below */
Lev Walkin0ef9f142005-02-14 20:40:57 +000031} PDU_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +000032
33/*** <<< TYPE-DECLS [PDU] >>> ***/
34
Lev Walkin0ef9f142005-02-14 20:40:57 +000035typedef struct PDU {
36 PDU_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000037 union PDU_u {
Lev Walkin0ef9f142005-02-14 20:40:57 +000038 Sequence_t sequence;
39 Set_t set;
40 SetOf_t setOf;
Lev Walkin843a2462005-02-18 16:30:26 +000041 SequenceOf_t sequenceOf;
42 ExtensibleSet_t extensibleSet;
43 ExtensibleSequence_t extensibleSequence;
Lev Walkin15750402005-07-03 05:27:19 +000044 ExtensibleSequence2_t extensibleSequence2;
Lev Walkinf5db6142005-02-24 22:38:43 +000045 SetOfNULL_t setOfNULL;
46 SetOfEnums_t setOfEnums;
47 SeqOfZuka_t seqOfZuka;
Lev Walkin843a2462005-02-18 16:30:26 +000048 /*
49 * This type is extensible,
50 * possible extensions are below.
51 */
Lev Walkin0ef9f142005-02-14 20:40:57 +000052 } choice;
53
54 /* Context for parsing across buffer boundaries */
55 asn_struct_ctx_t _asn_ctx;
56} PDU_t;
57
Lev Walkinc8285712005-03-04 22:18:20 +000058/*** <<< FUNC-DECLS [PDU] >>> ***/
59
60extern asn_TYPE_descriptor_t asn_DEF_PDU;
61
Lev Walkin0ef9f142005-02-14 20:40:57 +000062/*** <<< STAT-DEFS [PDU] >>> ***/
63
Lev Walkine0272aa2005-03-04 11:26:08 +000064static asn_TYPE_member_t asn_MBR_PDU_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +000065 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequence),
66 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
67 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000068 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +000069 .memb_constraints = 0, /* Defer constraints checking to the member type */
70 .name = "sequence"
71 },
72 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set),
73 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
74 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000075 .type = &asn_DEF_Set,
Lev Walkin0ef9f142005-02-14 20:40:57 +000076 .memb_constraints = 0, /* Defer constraints checking to the member type */
77 .name = "set"
78 },
79 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOf),
80 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
81 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000082 .type = &asn_DEF_SetOf,
Lev Walkin0ef9f142005-02-14 20:40:57 +000083 .memb_constraints = 0, /* Defer constraints checking to the member type */
84 .name = "setOf"
85 },
Lev Walkin843a2462005-02-18 16:30:26 +000086 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf),
Lev Walkin0ef9f142005-02-14 20:40:57 +000087 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
88 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000089 .type = &asn_DEF_SequenceOf,
Lev Walkin0ef9f142005-02-14 20:40:57 +000090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin843a2462005-02-18 16:30:26 +000091 .name = "sequenceOf"
92 },
93 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet),
94 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
95 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000096 .type = &asn_DEF_ExtensibleSet,
Lev Walkin843a2462005-02-18 16:30:26 +000097 .memb_constraints = 0, /* Defer constraints checking to the member type */
98 .name = "extensibleSet"
99 },
100 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence),
101 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
102 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000103 .type = &asn_DEF_ExtensibleSequence,
Lev Walkin843a2462005-02-18 16:30:26 +0000104 .memb_constraints = 0, /* Defer constraints checking to the member type */
105 .name = "extensibleSequence"
Lev Walkin0ef9f142005-02-14 20:40:57 +0000106 },
Lev Walkin15750402005-07-03 05:27:19 +0000107 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2),
Lev Walkinf5db6142005-02-24 22:38:43 +0000108 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
109 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000110 .type = &asn_DEF_ExtensibleSequence2,
Lev Walkin15750402005-07-03 05:27:19 +0000111 .memb_constraints = 0, /* Defer constraints checking to the member type */
112 .name = "extensibleSequence2"
113 },
114 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL),
115 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
116 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000117 .type = &asn_DEF_SetOfNULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000118 .memb_constraints = 0, /* Defer constraints checking to the member type */
119 .name = "setOfNULL"
120 },
121 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums),
Lev Walkin15750402005-07-03 05:27:19 +0000122 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000123 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000124 .type = &asn_DEF_SetOfEnums,
Lev Walkinf5db6142005-02-24 22:38:43 +0000125 .memb_constraints = 0, /* Defer constraints checking to the member type */
126 .name = "setOfEnums"
127 },
128 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka),
Lev Walkin15750402005-07-03 05:27:19 +0000129 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000130 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000131 .type = &asn_DEF_SeqOfZuka,
Lev Walkinf5db6142005-02-24 22:38:43 +0000132 .memb_constraints = 0, /* Defer constraints checking to the member type */
133 .name = "seqOfZuka"
134 },
Lev Walkin0ef9f142005-02-14 20:40:57 +0000135};
Lev Walkine0272aa2005-03-04 11:26:08 +0000136static asn_TYPE_tag2member_t asn_MAP_PDU_1_tag2el[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000137 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence at 19 */
138 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 20 */
139 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* setOf at 21 */
Lev Walkin843a2462005-02-18 16:30:26 +0000140 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sequenceOf at 22 */
141 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSet at 23 */
142 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence at 24 */
Lev Walkin15750402005-07-03 05:27:19 +0000143 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* extensibleSequence2 at 25 */
144 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfNULL at 26 */
145 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums at 27 */
146 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* seqOfZuka at 28 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000147};
Lev Walkine0272aa2005-03-04 11:26:08 +0000148static asn_CHOICE_specifics_t asn_SPC_PDU_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000149 sizeof(struct PDU),
150 offsetof(struct PDU, _asn_ctx),
151 offsetof(struct PDU, present),
152 sizeof(((struct PDU *)0)->present),
Lev Walkine0272aa2005-03-04 11:26:08 +0000153 asn_MAP_PDU_1_tag2el,
Lev Walkin15750402005-07-03 05:27:19 +0000154 10, /* Count of tags in the map */
Lev Walkin843a2462005-02-18 16:30:26 +0000155 1 /* Whether extensible */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000156};
157asn_TYPE_descriptor_t asn_DEF_PDU = {
158 "PDU",
159 "PDU",
160 CHOICE_free,
161 CHOICE_print,
162 CHOICE_constraint,
163 CHOICE_decode_ber,
164 CHOICE_encode_der,
165 CHOICE_decode_xer,
166 CHOICE_encode_xer,
167 CHOICE_outmost_tag,
168 0, /* No effective tags (pointer) */
169 0, /* No effective tags (count) */
170 0, /* No tags (pointer) */
171 0, /* No tags (count) */
Lev Walkine0272aa2005-03-04 11:26:08 +0000172 asn_MBR_PDU_1,
Lev Walkin15750402005-07-03 05:27:19 +0000173 10, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000174 &asn_SPC_PDU_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000175};
176
177
178/*** <<< INCLUDES [Sequence] >>> ***/
179
180#include <INTEGER.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +0000181#include <BIT_STRING.h>
182#include <UTF8String.h>
183#include <constr_SEQUENCE.h>
184
Lev Walkinc8285712005-03-04 22:18:20 +0000185/*** <<< FWD-DECLS [Sequence] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +0000186
Lev Walkinbf56d542005-03-04 23:50:56 +0000187struct Sequence;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000188
189/*** <<< TYPE-DECLS [Sequence] >>> ***/
190
Lev Walkin0ef9f142005-02-14 20:40:57 +0000191typedef struct Sequence {
192 INTEGER_t integer;
193 struct Sequence *sequence /* OPTIONAL */;
194 BIT_STRING_t *bits /* OPTIONAL */;
195 UTF8String_t string;
196
197 /* Context for parsing across buffer boundaries */
198 asn_struct_ctx_t _asn_ctx;
199} Sequence_t;
200
Lev Walkinc8285712005-03-04 22:18:20 +0000201/*** <<< FUNC-DECLS [Sequence] >>> ***/
202
203extern asn_TYPE_descriptor_t asn_DEF_Sequence;
204
205/*** <<< POST-INCLUDE [Sequence] >>> ***/
206
207#include <Sequence.h>
208
Lev Walkin0ef9f142005-02-14 20:40:57 +0000209/*** <<< STAT-DEFS [Sequence] >>> ***/
210
Lev Walkine0272aa2005-03-04 11:26:08 +0000211static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000212 { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
213 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
214 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000215 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000216 .memb_constraints = 0, /* Defer constraints checking to the member type */
217 .name = "integer"
218 },
219 { ATF_POINTER, 2, offsetof(struct Sequence, sequence),
220 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
221 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000222 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000223 .memb_constraints = 0, /* Defer constraints checking to the member type */
224 .name = "sequence"
225 },
226 { ATF_POINTER, 1, offsetof(struct Sequence, bits),
227 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
228 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000229 .type = &asn_DEF_BIT_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000230 .memb_constraints = 0, /* Defer constraints checking to the member type */
231 .name = "bits"
232 },
233 { ATF_NOFLAGS, 0, offsetof(struct Sequence, string),
234 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
235 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000236 .type = &asn_DEF_UTF8String,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000237 .memb_constraints = 0, /* Defer constraints checking to the member type */
238 .name = "string"
239 },
240};
Lev Walkine0272aa2005-03-04 11:26:08 +0000241static ber_tlv_tag_t asn_DEF_Sequence_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000242 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
243};
Lev Walkine0272aa2005-03-04 11:26:08 +0000244static asn_TYPE_tag2member_t asn_MAP_Sequence_1_tag2el[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000245 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer at 33 */
246 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence at 34 */
247 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits at 35 */
248 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string at 36 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000249};
Lev Walkine0272aa2005-03-04 11:26:08 +0000250static asn_SEQUENCE_specifics_t asn_SPC_Sequence_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000251 sizeof(struct Sequence),
252 offsetof(struct Sequence, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000253 asn_MAP_Sequence_1_tag2el,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000254 4, /* Count of tags in the map */
255 -1, /* Start extensions */
256 -1 /* Stop extensions */
257};
258asn_TYPE_descriptor_t asn_DEF_Sequence = {
259 "Sequence",
260 "Sequence",
261 SEQUENCE_free,
262 SEQUENCE_print,
263 SEQUENCE_constraint,
264 SEQUENCE_decode_ber,
265 SEQUENCE_encode_der,
266 SEQUENCE_decode_xer,
267 SEQUENCE_encode_xer,
268 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000269 asn_DEF_Sequence_1_tags,
270 sizeof(asn_DEF_Sequence_1_tags)
271 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
272 asn_DEF_Sequence_1_tags, /* Same as above */
273 sizeof(asn_DEF_Sequence_1_tags)
274 /sizeof(asn_DEF_Sequence_1_tags[0]), /* 1 */
275 asn_MBR_Sequence_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000276 4, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000277 &asn_SPC_Sequence_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000278};
279
280
281/*** <<< INCLUDES [Set] >>> ***/
282
283#include <RELATIVE-OID.h>
284#include <OCTET_STRING.h>
285#include <constr_SET.h>
286
287/*** <<< DEPS [Set] >>> ***/
288
289
290/*
291 * Method of determining the components presence
292 */
293typedef enum Set_PR {
294 Set_PR_roid, /* Member roid is present */
295 Set_PR_opaque, /* Member opaque is present */
296} Set_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000297
298/*** <<< TYPE-DECLS [Set] >>> ***/
299
Lev Walkin0ef9f142005-02-14 20:40:57 +0000300typedef struct Set {
301 RELATIVE_OID_t roid;
302 OCTET_STRING_t *opaque /* OPTIONAL */;
303
304 /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */
305 unsigned int _presence_map
306 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
307
308 /* Context for parsing across buffer boundaries */
309 asn_struct_ctx_t _asn_ctx;
310} Set_t;
311
Lev Walkinc8285712005-03-04 22:18:20 +0000312/*** <<< FUNC-DECLS [Set] >>> ***/
313
314extern asn_TYPE_descriptor_t asn_DEF_Set;
315
Lev Walkin0ef9f142005-02-14 20:40:57 +0000316/*** <<< STAT-DEFS [Set] >>> ***/
317
Lev Walkine0272aa2005-03-04 11:26:08 +0000318static asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000319 { ATF_NOFLAGS, 0, offsetof(struct Set, roid),
320 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
321 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000322 .type = &asn_DEF_RELATIVE_OID,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000323 .memb_constraints = 0, /* Defer constraints checking to the member type */
324 .name = "roid"
325 },
326 { ATF_POINTER, 1, offsetof(struct Set, opaque),
327 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
328 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000329 .type = &asn_DEF_OCTET_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000330 .memb_constraints = 0, /* Defer constraints checking to the member type */
331 .name = "opaque"
332 },
333};
Lev Walkine0272aa2005-03-04 11:26:08 +0000334static ber_tlv_tag_t asn_DEF_Set_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000335 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
336};
Lev Walkine0272aa2005-03-04 11:26:08 +0000337static asn_TYPE_tag2member_t asn_MAP_Set_1_tag2el[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000338 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid at 40 */
339 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque at 41 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000340};
Lev Walkine0272aa2005-03-04 11:26:08 +0000341static uint8_t asn_MAP_Set_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000342 (1 << 7) | (0 << 6)
343};
Lev Walkine0272aa2005-03-04 11:26:08 +0000344static asn_SET_specifics_t asn_SPC_Set_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000345 sizeof(struct Set),
346 offsetof(struct Set, _asn_ctx),
347 offsetof(struct Set, _presence_map),
Lev Walkine0272aa2005-03-04 11:26:08 +0000348 asn_MAP_Set_1_tag2el,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000349 2, /* Count of tags in the map */
Lev Walkine0272aa2005-03-04 11:26:08 +0000350 asn_MAP_Set_1_tag2el, /* Same as above */
Lev Walkinf5db6142005-02-24 22:38:43 +0000351 2, /* Count of tags in the CXER map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000352 0, /* Whether extensible */
Lev Walkine0272aa2005-03-04 11:26:08 +0000353 (unsigned int *)asn_MAP_Set_1_mmap /* Mandatory elements map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000354};
355asn_TYPE_descriptor_t asn_DEF_Set = {
356 "Set",
357 "Set",
358 SET_free,
359 SET_print,
360 SET_constraint,
361 SET_decode_ber,
362 SET_encode_der,
363 SET_decode_xer,
364 SET_encode_xer,
365 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000366 asn_DEF_Set_1_tags,
367 sizeof(asn_DEF_Set_1_tags)
368 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
369 asn_DEF_Set_1_tags, /* Same as above */
370 sizeof(asn_DEF_Set_1_tags)
371 /sizeof(asn_DEF_Set_1_tags[0]), /* 1 */
372 asn_MBR_Set_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000373 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000374 &asn_SPC_Set_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000375};
376
377
Lev Walkin843a2462005-02-18 16:30:26 +0000378/*** <<< INCLUDES [ExtensibleSet] >>> ***/
379
380#include <UTF8String.h>
Lev Walkinc92a7462005-03-10 11:20:47 +0000381#include <ENUMERATED.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000382#include <constr_SET.h>
383
384/*** <<< DEPS [ExtensibleSet] >>> ***/
385
386
387/*
388 * Method of determining the components presence
389 */
390typedef enum ExtensibleSet_PR {
391 ExtensibleSet_PR_string, /* Member string is present */
Lev Walkinc92a7462005-03-10 11:20:47 +0000392 ExtensibleSet_PR_enum, /* Member enum is present */
Lev Walkin843a2462005-02-18 16:30:26 +0000393} ExtensibleSet_PR;
Lev Walkinc92a7462005-03-10 11:20:47 +0000394typedef enum Enum {
395 enum_b = 0,
396 enum_a = 1
397} enum_e;
Lev Walkin843a2462005-02-18 16:30:26 +0000398
399/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
400
Lev Walkin843a2462005-02-18 16:30:26 +0000401typedef struct ExtensibleSet {
402 UTF8String_t *string /* OPTIONAL */;
403 /*
404 * This type is extensible,
405 * possible extensions are below.
406 */
Lev Walkinc92a7462005-03-10 11:20:47 +0000407 ENUMERATED_t *Enum;
Lev Walkin843a2462005-02-18 16:30:26 +0000408
409 /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */
410 unsigned int _presence_map
Lev Walkinc92a7462005-03-10 11:20:47 +0000411 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin843a2462005-02-18 16:30:26 +0000412
413 /* Context for parsing across buffer boundaries */
414 asn_struct_ctx_t _asn_ctx;
415} ExtensibleSet_t;
416
Lev Walkinc8285712005-03-04 22:18:20 +0000417/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/
418
Lev Walkinc92a7462005-03-10 11:20:47 +0000419/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000420extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
421
Lev Walkinc92a7462005-03-10 11:20:47 +0000422/*** <<< CODE [ExtensibleSet] >>> ***/
423
424static int
425enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
426 asn_app_consume_bytes_f *app_errlog, void *app_key) {
427 /* Replace with underlying type checker */
428 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
429 return td->check_constraints(td, sptr, app_errlog, app_key);
430}
431
432/*
433 * This type is implemented using ENUMERATED,
434 * so here we adjust the DEF accordingly.
435 */
436static void
437enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
438 td->free_struct = asn_DEF_ENUMERATED.free_struct;
439 td->print_struct = asn_DEF_ENUMERATED.print_struct;
440 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
441 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
442 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
443 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
444 td->elements = asn_DEF_ENUMERATED.elements;
445 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000446 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinc92a7462005-03-10 11:20:47 +0000447}
448
449static void
450enum_4_free(asn_TYPE_descriptor_t *td,
451 void *struct_ptr, int contents_only) {
452 enum_4_inherit_TYPE_descriptor(td);
453 td->free_struct(td, struct_ptr, contents_only);
454}
455
456static int
457enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
458 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
459 enum_4_inherit_TYPE_descriptor(td);
460 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
461}
462
463static asn_dec_rval_t
464enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000465 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000466 enum_4_inherit_TYPE_descriptor(td);
467 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
468}
469
470static asn_enc_rval_t
471enum_4_encode_der(asn_TYPE_descriptor_t *td,
472 void *structure, int tag_mode, ber_tlv_tag_t tag,
473 asn_app_consume_bytes_f *cb, void *app_key) {
474 enum_4_inherit_TYPE_descriptor(td);
475 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
476}
477
478static asn_dec_rval_t
479enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000480 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000481 enum_4_inherit_TYPE_descriptor(td);
482 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
483}
484
485static asn_enc_rval_t
486enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
487 int ilevel, enum xer_encoder_flags_e flags,
488 asn_app_consume_bytes_f *cb, void *app_key) {
489 enum_4_inherit_TYPE_descriptor(td);
490 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
491}
492
493
Lev Walkin843a2462005-02-18 16:30:26 +0000494/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
495
Lev Walkinc92a7462005-03-10 11:20:47 +0000496static asn_INTEGER_enum_map_t asn_MAP_enum_4_value2enum[] = {
497 { 0, 1, "b" },
498 { 1, 1, "a" }
499};
500static unsigned int asn_MAP_enum_4_enum2value[] = {
501 1, /* a(1) */
502 0 /* b(0) */
503};
504static asn_INTEGER_specifics_t asn_SPC_enum_4_specs = {
505 asn_MAP_enum_4_value2enum, /* "tag" => N; sorted by tag */
506 asn_MAP_enum_4_enum2value, /* N => "tag"; sorted by N */
507 2, /* Number of elements in the maps */
508 0, /* Enumeration is not extensible */
509 1 /* Strict enumeration */
510};
511static ber_tlv_tag_t asn_DEF_enum_4_tags[] = {
512 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
513 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
514};
515static /* Use -fall-defs-global to expose */
516asn_TYPE_descriptor_t asn_DEF_enum_4 = {
517 "enum",
518 "enum",
519 enum_4_free,
520 enum_4_print,
521 enum_4_constraint,
522 enum_4_decode_ber,
523 enum_4_encode_der,
524 enum_4_decode_xer,
525 enum_4_encode_xer,
526 0, /* Use generic outmost tag fetcher */
527 asn_DEF_enum_4_tags,
528 sizeof(asn_DEF_enum_4_tags)
529 /sizeof(asn_DEF_enum_4_tags[0]) - 1, /* 1 */
530 asn_DEF_enum_4_tags, /* Same as above */
531 sizeof(asn_DEF_enum_4_tags)
532 /sizeof(asn_DEF_enum_4_tags[0]), /* 2 */
533 0, 0, /* Defined elsewhere */
534 &asn_SPC_enum_4_specs /* Additional specs */
535};
536
Lev Walkine0272aa2005-03-04 11:26:08 +0000537static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000538 { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000539 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
540 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000541 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000542 .memb_constraints = 0, /* Defer constraints checking to the member type */
543 .name = "string"
544 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000545 { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum),
Lev Walkinc92a7462005-03-10 11:20:47 +0000546 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
547 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000548 .type = &asn_DEF_enum_4,
Lev Walkinc92a7462005-03-10 11:20:47 +0000549 .memb_constraints = 0, /* Defer constraints checking to the member type */
550 .name = "enum"
551 },
Lev Walkin843a2462005-02-18 16:30:26 +0000552};
Lev Walkine0272aa2005-03-04 11:26:08 +0000553static ber_tlv_tag_t asn_DEF_ExtensibleSet_1_tags[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000554 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
555};
Lev Walkine0272aa2005-03-04 11:26:08 +0000556static asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_1_tag2el[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000557 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 45 */
558 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum at 47 */
Lev Walkin843a2462005-02-18 16:30:26 +0000559};
Lev Walkinc92a7462005-03-10 11:20:47 +0000560static uint8_t asn_MAP_ExtensibleSet_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
561 (0 << 7) | (0 << 6)
Lev Walkin843a2462005-02-18 16:30:26 +0000562};
Lev Walkine0272aa2005-03-04 11:26:08 +0000563static asn_SET_specifics_t asn_SPC_ExtensibleSet_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +0000564 sizeof(struct ExtensibleSet),
565 offsetof(struct ExtensibleSet, _asn_ctx),
566 offsetof(struct ExtensibleSet, _presence_map),
Lev Walkine0272aa2005-03-04 11:26:08 +0000567 asn_MAP_ExtensibleSet_1_tag2el,
Lev Walkinc92a7462005-03-10 11:20:47 +0000568 2, /* Count of tags in the map */
Lev Walkine0272aa2005-03-04 11:26:08 +0000569 asn_MAP_ExtensibleSet_1_tag2el, /* Same as above */
Lev Walkinc92a7462005-03-10 11:20:47 +0000570 2, /* Count of tags in the CXER map */
Lev Walkin843a2462005-02-18 16:30:26 +0000571 1, /* Whether extensible */
Lev Walkine0272aa2005-03-04 11:26:08 +0000572 (unsigned int *)asn_MAP_ExtensibleSet_1_mmap /* Mandatory elements map */
Lev Walkin843a2462005-02-18 16:30:26 +0000573};
574asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = {
575 "ExtensibleSet",
576 "ExtensibleSet",
577 SET_free,
578 SET_print,
579 SET_constraint,
580 SET_decode_ber,
581 SET_encode_der,
582 SET_decode_xer,
583 SET_encode_xer,
584 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000585 asn_DEF_ExtensibleSet_1_tags,
586 sizeof(asn_DEF_ExtensibleSet_1_tags)
587 /sizeof(asn_DEF_ExtensibleSet_1_tags[0]), /* 1 */
588 asn_DEF_ExtensibleSet_1_tags, /* Same as above */
589 sizeof(asn_DEF_ExtensibleSet_1_tags)
590 /sizeof(asn_DEF_ExtensibleSet_1_tags[0]), /* 1 */
591 asn_MBR_ExtensibleSet_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000592 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000593 &asn_SPC_ExtensibleSet_1_specs /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000594};
595
596
597/*** <<< INCLUDES [ExtensibleSequence] >>> ***/
598
599#include <UTF8String.h>
600#include <INTEGER.h>
Lev Walkin15750402005-07-03 05:27:19 +0000601#include <GeneralizedTime.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000602#include <constr_SEQUENCE.h>
603
Lev Walkin843a2462005-02-18 16:30:26 +0000604/*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/
605
Lev Walkin843a2462005-02-18 16:30:26 +0000606typedef struct ExtensibleSequence {
607 UTF8String_t *string /* OPTIONAL */;
608 /*
609 * This type is extensible,
610 * possible extensions are below.
611 */
612 INTEGER_t *integer /* OPTIONAL */;
Lev Walkin15750402005-07-03 05:27:19 +0000613 GeneralizedTime_t *gtime;
Lev Walkin843a2462005-02-18 16:30:26 +0000614
615 /* Context for parsing across buffer boundaries */
616 asn_struct_ctx_t _asn_ctx;
617} ExtensibleSequence_t;
618
Lev Walkinc8285712005-03-04 22:18:20 +0000619/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
620
621extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
622
Lev Walkin843a2462005-02-18 16:30:26 +0000623/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
624
Lev Walkine0272aa2005-03-04 11:26:08 +0000625static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000626 { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000627 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
628 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000629 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000630 .memb_constraints = 0, /* Defer constraints checking to the member type */
631 .name = "string"
632 },
Lev Walkin15750402005-07-03 05:27:19 +0000633 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer),
Lev Walkin843a2462005-02-18 16:30:26 +0000634 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
635 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000636 .type = &asn_DEF_INTEGER,
Lev Walkin843a2462005-02-18 16:30:26 +0000637 .memb_constraints = 0, /* Defer constraints checking to the member type */
638 .name = "integer"
639 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000640 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime),
Lev Walkin15750402005-07-03 05:27:19 +0000641 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
642 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000643 .type = &asn_DEF_GeneralizedTime,
Lev Walkin15750402005-07-03 05:27:19 +0000644 .memb_constraints = 0, /* Defer constraints checking to the member type */
645 .name = "gtime"
646 },
Lev Walkin843a2462005-02-18 16:30:26 +0000647};
Lev Walkine0272aa2005-03-04 11:26:08 +0000648static ber_tlv_tag_t asn_DEF_ExtensibleSequence_1_tags[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000649 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
650};
Lev Walkine0272aa2005-03-04 11:26:08 +0000651static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_1_tag2el[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000652 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 51 */
653 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer at 53 */
654 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime at 54 */
Lev Walkin843a2462005-02-18 16:30:26 +0000655};
Lev Walkine0272aa2005-03-04 11:26:08 +0000656static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +0000657 sizeof(struct ExtensibleSequence),
658 offsetof(struct ExtensibleSequence, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000659 asn_MAP_ExtensibleSequence_1_tag2el,
Lev Walkin15750402005-07-03 05:27:19 +0000660 3, /* Count of tags in the map */
Lev Walkin843a2462005-02-18 16:30:26 +0000661 0, /* Start extensions */
Lev Walkin15750402005-07-03 05:27:19 +0000662 4 /* Stop extensions */
Lev Walkin843a2462005-02-18 16:30:26 +0000663};
664asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = {
665 "ExtensibleSequence",
666 "ExtensibleSequence",
667 SEQUENCE_free,
668 SEQUENCE_print,
669 SEQUENCE_constraint,
670 SEQUENCE_decode_ber,
671 SEQUENCE_encode_der,
672 SEQUENCE_decode_xer,
673 SEQUENCE_encode_xer,
674 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000675 asn_DEF_ExtensibleSequence_1_tags,
676 sizeof(asn_DEF_ExtensibleSequence_1_tags)
677 /sizeof(asn_DEF_ExtensibleSequence_1_tags[0]), /* 1 */
678 asn_DEF_ExtensibleSequence_1_tags, /* Same as above */
679 sizeof(asn_DEF_ExtensibleSequence_1_tags)
680 /sizeof(asn_DEF_ExtensibleSequence_1_tags[0]), /* 1 */
681 asn_MBR_ExtensibleSequence_1,
Lev Walkin15750402005-07-03 05:27:19 +0000682 3, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000683 &asn_SPC_ExtensibleSequence_1_specs /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000684};
685
686
Lev Walkin15750402005-07-03 05:27:19 +0000687/*** <<< INCLUDES [ExtensibleSequence2] >>> ***/
688
689#include <UTF8String.h>
690#include <INTEGER.h>
691#include <constr_SEQUENCE.h>
692
693/*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/
694
695typedef struct ExtensibleSequence2 {
696 UTF8String_t *string /* OPTIONAL */;
697 /*
698 * This type is extensible,
699 * possible extensions are below.
700 */
701 INTEGER_t *integer /* OPTIONAL */;
702
703 /* Context for parsing across buffer boundaries */
704 asn_struct_ctx_t _asn_ctx;
705} ExtensibleSequence2_t;
706
707/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
708
709extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
710
711/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
712
713static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
714 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
715 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
716 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000717 .type = &asn_DEF_UTF8String,
Lev Walkin15750402005-07-03 05:27:19 +0000718 .memb_constraints = 0, /* Defer constraints checking to the member type */
719 .name = "string"
720 },
721 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer),
722 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
723 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000724 .type = &asn_DEF_INTEGER,
Lev Walkin15750402005-07-03 05:27:19 +0000725 .memb_constraints = 0, /* Defer constraints checking to the member type */
726 .name = "integer"
727 },
728};
729static ber_tlv_tag_t asn_DEF_ExtensibleSequence2_1_tags[] = {
730 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
731};
732static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_1_tag2el[] = {
733 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 58 */
734 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer at 60 */
735};
736static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_1_specs = {
737 sizeof(struct ExtensibleSequence2),
738 offsetof(struct ExtensibleSequence2, _asn_ctx),
739 asn_MAP_ExtensibleSequence2_1_tag2el,
740 2, /* Count of tags in the map */
741 0, /* Start extensions */
742 3 /* Stop extensions */
743};
744asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = {
745 "ExtensibleSequence2",
746 "ExtensibleSequence2",
747 SEQUENCE_free,
748 SEQUENCE_print,
749 SEQUENCE_constraint,
750 SEQUENCE_decode_ber,
751 SEQUENCE_encode_der,
752 SEQUENCE_decode_xer,
753 SEQUENCE_encode_xer,
754 0, /* Use generic outmost tag fetcher */
755 asn_DEF_ExtensibleSequence2_1_tags,
756 sizeof(asn_DEF_ExtensibleSequence2_1_tags)
757 /sizeof(asn_DEF_ExtensibleSequence2_1_tags[0]), /* 1 */
758 asn_DEF_ExtensibleSequence2_1_tags, /* Same as above */
759 sizeof(asn_DEF_ExtensibleSequence2_1_tags)
760 /sizeof(asn_DEF_ExtensibleSequence2_1_tags[0]), /* 1 */
761 asn_MBR_ExtensibleSequence2_1,
762 2, /* Elements count */
763 &asn_SPC_ExtensibleSequence2_1_specs /* Additional specs */
764};
765
766
Lev Walkin0ef9f142005-02-14 20:40:57 +0000767/*** <<< INCLUDES [SetOf] >>> ***/
768
769#include <REAL.h>
770#include <asn_SET_OF.h>
771#include <constr_SET_OF.h>
772
Lev Walkin0ef9f142005-02-14 20:40:57 +0000773/*** <<< TYPE-DECLS [SetOf] >>> ***/
774
Lev Walkin0ef9f142005-02-14 20:40:57 +0000775typedef struct SetOf {
776 A_SET_OF(REAL_t) list;
777
778 /* Context for parsing across buffer boundaries */
779 asn_struct_ctx_t _asn_ctx;
780} SetOf_t;
781
Lev Walkinc8285712005-03-04 22:18:20 +0000782/*** <<< FUNC-DECLS [SetOf] >>> ***/
783
784extern asn_TYPE_descriptor_t asn_DEF_SetOf;
785
Lev Walkin0ef9f142005-02-14 20:40:57 +0000786/*** <<< STAT-DEFS [SetOf] >>> ***/
787
Lev Walkine0272aa2005-03-04 11:26:08 +0000788static asn_TYPE_member_t asn_MBR_SetOf_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000789 { ATF_POINTER, 0, 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000790 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
791 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000792 .type = &asn_DEF_REAL,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000793 .memb_constraints = 0, /* Defer constraints checking to the member type */
794 .name = ""
795 },
796};
Lev Walkine0272aa2005-03-04 11:26:08 +0000797static ber_tlv_tag_t asn_DEF_SetOf_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000798 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
799};
Lev Walkine0272aa2005-03-04 11:26:08 +0000800static asn_SET_OF_specifics_t asn_SPC_SetOf_1_specs = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000801 sizeof(struct SetOf),
802 offsetof(struct SetOf, _asn_ctx),
803 0, /* XER encoding is XMLDelimitedItemList */
804};
805asn_TYPE_descriptor_t asn_DEF_SetOf = {
806 "SetOf",
807 "SetOf",
808 SET_OF_free,
809 SET_OF_print,
810 SET_OF_constraint,
811 SET_OF_decode_ber,
812 SET_OF_encode_der,
813 SET_OF_decode_xer,
814 SET_OF_encode_xer,
815 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000816 asn_DEF_SetOf_1_tags,
817 sizeof(asn_DEF_SetOf_1_tags)
818 /sizeof(asn_DEF_SetOf_1_tags[0]), /* 1 */
819 asn_DEF_SetOf_1_tags, /* Same as above */
820 sizeof(asn_DEF_SetOf_1_tags)
821 /sizeof(asn_DEF_SetOf_1_tags[0]), /* 1 */
822 asn_MBR_SetOf_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000823 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +0000824 &asn_SPC_SetOf_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000825};
826
827
Lev Walkinf5db6142005-02-24 22:38:43 +0000828/*** <<< INCLUDES [SetOfNULL] >>> ***/
829
830#include <NULL.h>
831#include <asn_SET_OF.h>
832#include <constr_SET_OF.h>
833
Lev Walkinf5db6142005-02-24 22:38:43 +0000834/*** <<< TYPE-DECLS [SetOfNULL] >>> ***/
835
Lev Walkinf5db6142005-02-24 22:38:43 +0000836typedef struct SetOfNULL {
837 A_SET_OF(NULL_t) list;
838
839 /* Context for parsing across buffer boundaries */
840 asn_struct_ctx_t _asn_ctx;
841} SetOfNULL_t;
842
Lev Walkinc8285712005-03-04 22:18:20 +0000843/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
844
845extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
846
Lev Walkinf5db6142005-02-24 22:38:43 +0000847/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
848
Lev Walkine0272aa2005-03-04 11:26:08 +0000849static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000850 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000851 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
852 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000853 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000854 .memb_constraints = 0, /* Defer constraints checking to the member type */
855 .name = ""
856 },
857};
Lev Walkine0272aa2005-03-04 11:26:08 +0000858static ber_tlv_tag_t asn_DEF_SetOfNULL_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000859 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
860};
Lev Walkine0272aa2005-03-04 11:26:08 +0000861static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000862 sizeof(struct SetOfNULL),
863 offsetof(struct SetOfNULL, _asn_ctx),
864 1, /* XER encoding is XMLValueList */
865};
866asn_TYPE_descriptor_t asn_DEF_SetOfNULL = {
867 "SetOfNULL",
868 "SetOfNULL",
869 SET_OF_free,
870 SET_OF_print,
871 SET_OF_constraint,
872 SET_OF_decode_ber,
873 SET_OF_encode_der,
874 SET_OF_decode_xer,
875 SET_OF_encode_xer,
876 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000877 asn_DEF_SetOfNULL_1_tags,
878 sizeof(asn_DEF_SetOfNULL_1_tags)
879 /sizeof(asn_DEF_SetOfNULL_1_tags[0]), /* 1 */
880 asn_DEF_SetOfNULL_1_tags, /* Same as above */
881 sizeof(asn_DEF_SetOfNULL_1_tags)
882 /sizeof(asn_DEF_SetOfNULL_1_tags[0]), /* 1 */
883 asn_MBR_SetOfNULL_1,
Lev Walkinf5db6142005-02-24 22:38:43 +0000884 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +0000885 &asn_SPC_SetOfNULL_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +0000886};
887
888
889/*** <<< INCLUDES [SetOfEnums] >>> ***/
890
891#include <ENUMERATED.h>
892#include <asn_SET_OF.h>
893#include <constr_SET_OF.h>
894
895/*** <<< DEPS [SetOfEnums] >>> ***/
896
Lev Walkine0272aa2005-03-04 11:26:08 +0000897typedef enum Member {
898 Member_one = 0,
899 Member_oneMore = 1
900} Member_e;
Lev Walkinf5db6142005-02-24 22:38:43 +0000901
902/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
903
Lev Walkinf5db6142005-02-24 22:38:43 +0000904typedef struct SetOfEnums {
905 A_SET_OF(ENUMERATED_t) list;
906
907 /* Context for parsing across buffer boundaries */
908 asn_struct_ctx_t _asn_ctx;
909} SetOfEnums_t;
910
Lev Walkinb47df092005-02-25 08:35:54 +0000911/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/
912
Lev Walkine0272aa2005-03-04 11:26:08 +0000913/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000914extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
Lev Walkinb47df092005-02-25 08:35:54 +0000915
916/*** <<< CODE [SetOfEnums] >>> ***/
917
918static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000919Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkinb47df092005-02-25 08:35:54 +0000920 asn_app_consume_bytes_f *app_errlog, void *app_key) {
921 /* Replace with underlying type checker */
922 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
923 return td->check_constraints(td, sptr, app_errlog, app_key);
924}
925
926/*
927 * This type is implemented using ENUMERATED,
928 * so here we adjust the DEF accordingly.
929 */
930static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000931Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkinb47df092005-02-25 08:35:54 +0000932 td->free_struct = asn_DEF_ENUMERATED.free_struct;
933 td->print_struct = asn_DEF_ENUMERATED.print_struct;
934 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
935 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
936 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
937 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
938 td->elements = asn_DEF_ENUMERATED.elements;
939 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000940 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinb47df092005-02-25 08:35:54 +0000941}
942
943static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000944Member_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +0000945 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000946 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000947 td->free_struct(td, struct_ptr, contents_only);
948}
949
950static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000951Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinb47df092005-02-25 08:35:54 +0000952 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000953 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000954 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
955}
956
957static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000958Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000959 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000960 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000961 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
962}
963
964static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000965Member_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +0000966 void *structure, int tag_mode, ber_tlv_tag_t tag,
967 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000968 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000969 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
970}
971
972static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000973Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000974 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000975 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000976 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
977}
978
979static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000980Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinb47df092005-02-25 08:35:54 +0000981 int ilevel, enum xer_encoder_flags_e flags,
982 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000983 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +0000984 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
985}
986
987
Lev Walkinf5db6142005-02-24 22:38:43 +0000988/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
989
Lev Walkine0272aa2005-03-04 11:26:08 +0000990static asn_INTEGER_enum_map_t asn_MAP_Member_2_value2enum[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000991 { 0, 3, "one" },
992 { 1, 7, "oneMore" }
993};
Lev Walkine0272aa2005-03-04 11:26:08 +0000994static unsigned int asn_MAP_Member_2_enum2value[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000995 0, /* one(0) */
996 1 /* oneMore(1) */
Lev Walkinb47df092005-02-25 08:35:54 +0000997};
Lev Walkine0272aa2005-03-04 11:26:08 +0000998static asn_INTEGER_specifics_t asn_SPC_Member_2_specs = {
999 asn_MAP_Member_2_value2enum, /* "tag" => N; sorted by tag */
1000 asn_MAP_Member_2_enum2value, /* N => "tag"; sorted by N */
Lev Walkinb47df092005-02-25 08:35:54 +00001001 2, /* Number of elements in the maps */
Lev Walkin295e2452005-02-25 11:47:59 +00001002 0, /* Enumeration is not extensible */
1003 1 /* Strict enumeration */
Lev Walkinb47df092005-02-25 08:35:54 +00001004};
Lev Walkine0272aa2005-03-04 11:26:08 +00001005static ber_tlv_tag_t asn_DEF_Member_2_tags[] = {
Lev Walkinb47df092005-02-25 08:35:54 +00001006 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1007};
1008static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +00001009asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkinb47df092005-02-25 08:35:54 +00001010 "",
1011 "",
Lev Walkine0272aa2005-03-04 11:26:08 +00001012 Member_2_free,
1013 Member_2_print,
1014 Member_2_constraint,
1015 Member_2_decode_ber,
1016 Member_2_encode_der,
1017 Member_2_decode_xer,
1018 Member_2_encode_xer,
Lev Walkinb47df092005-02-25 08:35:54 +00001019 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001020 asn_DEF_Member_2_tags,
1021 sizeof(asn_DEF_Member_2_tags)
1022 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
1023 asn_DEF_Member_2_tags, /* Same as above */
1024 sizeof(asn_DEF_Member_2_tags)
1025 /sizeof(asn_DEF_Member_2_tags[0]), /* 1 */
Lev Walkinb47df092005-02-25 08:35:54 +00001026 0, 0, /* Defined elsewhere */
Lev Walkine0272aa2005-03-04 11:26:08 +00001027 &asn_SPC_Member_2_specs /* Additional specs */
Lev Walkinb47df092005-02-25 08:35:54 +00001028};
1029
Lev Walkine0272aa2005-03-04 11:26:08 +00001030static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001031 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001032 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1033 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001034 .type = &asn_DEF_Member_2,
Lev Walkinf5db6142005-02-24 22:38:43 +00001035 .memb_constraints = 0, /* Defer constraints checking to the member type */
1036 .name = ""
1037 },
1038};
Lev Walkine0272aa2005-03-04 11:26:08 +00001039static ber_tlv_tag_t asn_DEF_SetOfEnums_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001040 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1041};
Lev Walkine0272aa2005-03-04 11:26:08 +00001042static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001043 sizeof(struct SetOfEnums),
1044 offsetof(struct SetOfEnums, _asn_ctx),
Lev Walkinb47df092005-02-25 08:35:54 +00001045 1, /* XER encoding is XMLValueList */
Lev Walkinf5db6142005-02-24 22:38:43 +00001046};
1047asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
1048 "SetOfEnums",
1049 "SetOfEnums",
1050 SET_OF_free,
1051 SET_OF_print,
1052 SET_OF_constraint,
1053 SET_OF_decode_ber,
1054 SET_OF_encode_der,
1055 SET_OF_decode_xer,
1056 SET_OF_encode_xer,
1057 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001058 asn_DEF_SetOfEnums_1_tags,
1059 sizeof(asn_DEF_SetOfEnums_1_tags)
1060 /sizeof(asn_DEF_SetOfEnums_1_tags[0]), /* 1 */
1061 asn_DEF_SetOfEnums_1_tags, /* Same as above */
1062 sizeof(asn_DEF_SetOfEnums_1_tags)
1063 /sizeof(asn_DEF_SetOfEnums_1_tags[0]), /* 1 */
1064 asn_MBR_SetOfEnums_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001065 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001066 &asn_SPC_SetOfEnums_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001067};
1068
1069
Lev Walkin843a2462005-02-18 16:30:26 +00001070/*** <<< INCLUDES [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001071
1072#include <INTEGER.h>
1073#include <asn_SEQUENCE_OF.h>
1074#include <constr_SEQUENCE_OF.h>
1075
Lev Walkin843a2462005-02-18 16:30:26 +00001076/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001077
Lev Walkin843a2462005-02-18 16:30:26 +00001078typedef struct SequenceOf {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001079 A_SEQUENCE_OF(INTEGER_t) list;
1080
1081 /* Context for parsing across buffer boundaries */
1082 asn_struct_ctx_t _asn_ctx;
Lev Walkin843a2462005-02-18 16:30:26 +00001083} SequenceOf_t;
Lev Walkin0ef9f142005-02-14 20:40:57 +00001084
Lev Walkinc8285712005-03-04 22:18:20 +00001085/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
1086
1087extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
1088
Lev Walkin843a2462005-02-18 16:30:26 +00001089/*** <<< STAT-DEFS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001090
Lev Walkine0272aa2005-03-04 11:26:08 +00001091static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001092 { ATF_POINTER, 0, 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001093 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1094 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001095 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001096 .memb_constraints = 0, /* Defer constraints checking to the member type */
1097 .name = "id"
1098 },
1099};
Lev Walkine0272aa2005-03-04 11:26:08 +00001100static ber_tlv_tag_t asn_DEF_SequenceOf_1_tags[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001101 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1102};
Lev Walkine0272aa2005-03-04 11:26:08 +00001103static asn_SET_OF_specifics_t asn_SPC_SequenceOf_1_specs = {
Lev Walkin843a2462005-02-18 16:30:26 +00001104 sizeof(struct SequenceOf),
1105 offsetof(struct SequenceOf, _asn_ctx),
Lev Walkin0ef9f142005-02-14 20:40:57 +00001106 0, /* XER encoding is XMLDelimitedItemList */
1107};
Lev Walkin843a2462005-02-18 16:30:26 +00001108asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
1109 "SequenceOf",
1110 "SequenceOf",
Lev Walkin0ef9f142005-02-14 20:40:57 +00001111 SEQUENCE_OF_free,
1112 SEQUENCE_OF_print,
1113 SEQUENCE_OF_constraint,
1114 SEQUENCE_OF_decode_ber,
1115 SEQUENCE_OF_encode_der,
1116 SEQUENCE_OF_decode_xer,
1117 SEQUENCE_OF_encode_xer,
1118 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001119 asn_DEF_SequenceOf_1_tags,
1120 sizeof(asn_DEF_SequenceOf_1_tags)
1121 /sizeof(asn_DEF_SequenceOf_1_tags[0]), /* 1 */
1122 asn_DEF_SequenceOf_1_tags, /* Same as above */
1123 sizeof(asn_DEF_SequenceOf_1_tags)
1124 /sizeof(asn_DEF_SequenceOf_1_tags[0]), /* 1 */
1125 asn_MBR_SequenceOf_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001126 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001127 &asn_SPC_SequenceOf_1_specs /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001128};
1129
Lev Walkinf5db6142005-02-24 22:38:43 +00001130
1131/*** <<< INCLUDES [SeqOfZuka] >>> ***/
1132
1133#include <NULL.h>
1134#include <asn_SEQUENCE_OF.h>
1135#include <constr_SEQUENCE_OF.h>
1136
Lev Walkinf5db6142005-02-24 22:38:43 +00001137/*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/
1138
Lev Walkinf5db6142005-02-24 22:38:43 +00001139typedef struct SeqOfZuka {
1140 A_SEQUENCE_OF(NULL_t) list;
1141
1142 /* Context for parsing across buffer boundaries */
1143 asn_struct_ctx_t _asn_ctx;
1144} SeqOfZuka_t;
1145
Lev Walkinc8285712005-03-04 22:18:20 +00001146/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
1147
1148extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
1149
Lev Walkinf5db6142005-02-24 22:38:43 +00001150/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
1151
Lev Walkine0272aa2005-03-04 11:26:08 +00001152static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001153 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001154 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1155 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001156 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +00001157 .memb_constraints = 0, /* Defer constraints checking to the member type */
1158 .name = "zuka"
1159 },
1160};
Lev Walkine0272aa2005-03-04 11:26:08 +00001161static ber_tlv_tag_t asn_DEF_SeqOfZuka_1_tags[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001162 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1163};
Lev Walkine0272aa2005-03-04 11:26:08 +00001164static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_1_specs = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001165 sizeof(struct SeqOfZuka),
1166 offsetof(struct SeqOfZuka, _asn_ctx),
1167 1, /* XER encoding is XMLValueList */
1168};
1169asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = {
1170 "SeqOfZuka",
1171 "SeqOfZuka",
1172 SEQUENCE_OF_free,
1173 SEQUENCE_OF_print,
1174 SEQUENCE_OF_constraint,
1175 SEQUENCE_OF_decode_ber,
1176 SEQUENCE_OF_encode_der,
1177 SEQUENCE_OF_decode_xer,
1178 SEQUENCE_OF_encode_xer,
1179 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +00001180 asn_DEF_SeqOfZuka_1_tags,
1181 sizeof(asn_DEF_SeqOfZuka_1_tags)
1182 /sizeof(asn_DEF_SeqOfZuka_1_tags[0]), /* 1 */
1183 asn_DEF_SeqOfZuka_1_tags, /* Same as above */
1184 sizeof(asn_DEF_SeqOfZuka_1_tags)
1185 /sizeof(asn_DEF_SeqOfZuka_1_tags[0]), /* 1 */
1186 asn_MBR_SeqOfZuka_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001187 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +00001188 &asn_SPC_SeqOfZuka_1_specs /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001189};
1190