blob: 45d6a6997325e16a059fe1838403f498d6af5914 [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 */
Lev Walkin59b176e2005-11-26 11:25:14 +000085 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
86 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +000087 .name = "sequence"
88 },
89 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set),
90 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
91 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000092 .type = &asn_DEF_Set,
Lev Walkin0ef9f142005-02-14 20:40:57 +000093 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000094 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
95 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +000096 .name = "set"
97 },
Lev Walkin843a2462005-02-18 16:30:26 +000098 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf),
Lev Walkin5ab96cd2005-11-07 15:26:47 +000099 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin0ef9f142005-02-14 20:40:57 +0000100 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000101 .type = &asn_DEF_SequenceOf,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000102 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000103 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
104 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000105 .name = "sequenceOf"
106 },
107 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000108 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000109 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000110 .type = &asn_DEF_ExtensibleSet,
Lev Walkin843a2462005-02-18 16:30:26 +0000111 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000112 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
113 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000114 .name = "extensibleSet"
115 },
116 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000117 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000118 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000119 .type = &asn_DEF_ExtensibleSequence,
Lev Walkin843a2462005-02-18 16:30:26 +0000120 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000121 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
122 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000123 .name = "extensibleSequence"
Lev Walkin0ef9f142005-02-14 20:40:57 +0000124 },
Lev Walkin15750402005-07-03 05:27:19 +0000125 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000126 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000127 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000128 .type = &asn_DEF_ExtensibleSequence2,
Lev Walkin15750402005-07-03 05:27:19 +0000129 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
131 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000132 .name = "extensibleSequence2"
133 },
134 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000135 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
Lev Walkin15750402005-07-03 05:27:19 +0000136 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000137 .type = &asn_DEF_SetOfNULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000138 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000139 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
140 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000141 .name = "setOfNULL"
142 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000143 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfREAL),
144 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
145 .tag_mode = -1, /* IMPLICIT tag at current level */
146 .type = &asn_DEF_SetOfREAL,
147 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000148 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
149 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000150 .name = "setOfREAL"
151 },
Lev Walkinf5db6142005-02-24 22:38:43 +0000152 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums),
Lev Walkin15750402005-07-03 05:27:19 +0000153 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000154 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000155 .type = &asn_DEF_SetOfEnums,
Lev Walkinf5db6142005-02-24 22:38:43 +0000156 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000157 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
158 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000159 .name = "setOfEnums"
160 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000161 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfNULL),
Lev Walkin15750402005-07-03 05:27:19 +0000162 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000163 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000164 .type = &asn_DEF_NamedSetOfNULL,
165 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000166 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
167 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000168 .name = "namedSetOfNULL"
169 },
170 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfREAL),
171 .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
172 .tag_mode = -1, /* IMPLICIT tag at current level */
173 .type = &asn_DEF_NamedSetOfREAL,
174 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000175 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
176 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000177 .name = "namedSetOfREAL"
178 },
179 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfEnums),
180 .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
181 .tag_mode = -1, /* IMPLICIT tag at current level */
182 .type = &asn_DEF_NamedSetOfEnums,
183 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000184 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
185 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000186 .name = "namedSetOfEnums"
187 },
188 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka),
189 .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
190 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000191 .type = &asn_DEF_SeqOfZuka,
Lev Walkinf5db6142005-02-24 22:38:43 +0000192 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000193 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
194 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000195 .name = "seqOfZuka"
196 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000197 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfChoice),
198 .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
199 .tag_mode = -1, /* IMPLICIT tag at current level */
200 .type = &asn_DEF_SetOfChoice,
201 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000202 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
203 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000204 .name = "setOfChoice"
205 },
206 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfChoice),
207 .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
208 .tag_mode = -1, /* IMPLICIT tag at current level */
209 .type = &asn_DEF_NamedSetOfChoice,
210 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000211 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
212 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000213 .name = "namedSetOfChoice"
214 },
Lev Walkin0ef9f142005-02-14 20:40:57 +0000215};
Lev Walkin59b176e2005-11-26 11:25:14 +0000216static asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000217 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence at 19 */
218 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set at 20 */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000219 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceOf at 21 */
220 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extensibleSet at 22 */
221 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSequence at 23 */
222 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence2 at 24 */
223 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL at 25 */
224 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfREAL at 26 */
Lev Walkin15750402005-07-03 05:27:19 +0000225 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums at 27 */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000226 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* namedSetOfNULL at 28 */
227 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* namedSetOfREAL at 29 */
228 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* namedSetOfEnums at 30 */
229 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* seqOfZuka at 31 */
230 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* setOfChoice at 32 */
231 { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* namedSetOfChoice at 33 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000232};
Lev Walkin59b176e2005-11-26 11:25:14 +0000233static asn_CHOICE_specifics_t asn_SPC_PDU_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000234 sizeof(struct PDU),
235 offsetof(struct PDU, _asn_ctx),
236 offsetof(struct PDU, present),
237 sizeof(((struct PDU *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000238 asn_MAP_PDU_tag2el_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000239 15, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000240 .canonical_order = 0,
241 .ext_start = 15 /* Extensions start */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000242};
243asn_TYPE_descriptor_t asn_DEF_PDU = {
244 "PDU",
245 "PDU",
246 CHOICE_free,
247 CHOICE_print,
248 CHOICE_constraint,
249 CHOICE_decode_ber,
250 CHOICE_encode_der,
251 CHOICE_decode_xer,
252 CHOICE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000253 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000254 CHOICE_outmost_tag,
255 0, /* No effective tags (pointer) */
256 0, /* No effective tags (count) */
257 0, /* No tags (pointer) */
258 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000259 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000260 asn_MBR_PDU_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000261 15, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000262 &asn_SPC_PDU_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000263};
264
265
266/*** <<< INCLUDES [Sequence] >>> ***/
267
268#include <INTEGER.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +0000269#include <BIT_STRING.h>
270#include <UTF8String.h>
271#include <constr_SEQUENCE.h>
272
Lev Walkinc8285712005-03-04 22:18:20 +0000273/*** <<< FWD-DECLS [Sequence] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +0000274
Lev Walkinbf56d542005-03-04 23:50:56 +0000275struct Sequence;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000276
277/*** <<< TYPE-DECLS [Sequence] >>> ***/
278
Lev Walkin0ef9f142005-02-14 20:40:57 +0000279typedef struct Sequence {
280 INTEGER_t integer;
281 struct Sequence *sequence /* OPTIONAL */;
282 BIT_STRING_t *bits /* OPTIONAL */;
283 UTF8String_t string;
284
285 /* Context for parsing across buffer boundaries */
286 asn_struct_ctx_t _asn_ctx;
287} Sequence_t;
288
Lev Walkinc8285712005-03-04 22:18:20 +0000289/*** <<< FUNC-DECLS [Sequence] >>> ***/
290
291extern asn_TYPE_descriptor_t asn_DEF_Sequence;
292
293/*** <<< POST-INCLUDE [Sequence] >>> ***/
294
295#include <Sequence.h>
296
Lev Walkin0ef9f142005-02-14 20:40:57 +0000297/*** <<< STAT-DEFS [Sequence] >>> ***/
298
Lev Walkine0272aa2005-03-04 11:26:08 +0000299static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000300 { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
301 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
302 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000303 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000304 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000305 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
306 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000307 .name = "integer"
308 },
309 { ATF_POINTER, 2, offsetof(struct Sequence, sequence),
310 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
311 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000312 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000313 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000314 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
315 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000316 .name = "sequence"
317 },
318 { ATF_POINTER, 1, offsetof(struct Sequence, bits),
319 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
320 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000321 .type = &asn_DEF_BIT_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000322 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000323 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
324 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000325 .name = "bits"
326 },
327 { ATF_NOFLAGS, 0, offsetof(struct Sequence, string),
328 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
329 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000330 .type = &asn_DEF_UTF8String,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000331 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000332 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
333 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000334 .name = "string"
335 },
336};
Lev Walkin59b176e2005-11-26 11:25:14 +0000337static ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000338 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
339};
Lev Walkin59b176e2005-11-26 11:25:14 +0000340static asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000341 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer at 38 */
342 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence at 39 */
343 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits at 40 */
344 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string at 41 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000345};
Lev Walkin59b176e2005-11-26 11:25:14 +0000346static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000347 sizeof(struct Sequence),
348 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000349 asn_MAP_Sequence_tag2el_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000350 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000351 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000352 -1, /* Start extensions */
353 -1 /* Stop extensions */
354};
355asn_TYPE_descriptor_t asn_DEF_Sequence = {
356 "Sequence",
357 "Sequence",
358 SEQUENCE_free,
359 SEQUENCE_print,
360 SEQUENCE_constraint,
361 SEQUENCE_decode_ber,
362 SEQUENCE_encode_der,
363 SEQUENCE_decode_xer,
364 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000365 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000366 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000367 asn_DEF_Sequence_tags_1,
368 sizeof(asn_DEF_Sequence_tags_1)
369 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
370 asn_DEF_Sequence_tags_1, /* Same as above */
371 sizeof(asn_DEF_Sequence_tags_1)
372 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
373 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000374 asn_MBR_Sequence_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000375 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000376 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000377};
378
379
380/*** <<< INCLUDES [Set] >>> ***/
381
382#include <RELATIVE-OID.h>
383#include <OCTET_STRING.h>
384#include <constr_SET.h>
385
386/*** <<< DEPS [Set] >>> ***/
387
388
389/*
390 * Method of determining the components presence
391 */
392typedef enum Set_PR {
393 Set_PR_roid, /* Member roid is present */
394 Set_PR_opaque, /* Member opaque is present */
395} Set_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000396
397/*** <<< TYPE-DECLS [Set] >>> ***/
398
Lev Walkin0ef9f142005-02-14 20:40:57 +0000399typedef struct Set {
400 RELATIVE_OID_t roid;
401 OCTET_STRING_t *opaque /* OPTIONAL */;
402
403 /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */
404 unsigned int _presence_map
405 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
406
407 /* Context for parsing across buffer boundaries */
408 asn_struct_ctx_t _asn_ctx;
409} Set_t;
410
Lev Walkinc8285712005-03-04 22:18:20 +0000411/*** <<< FUNC-DECLS [Set] >>> ***/
412
413extern asn_TYPE_descriptor_t asn_DEF_Set;
414
Lev Walkin0ef9f142005-02-14 20:40:57 +0000415/*** <<< STAT-DEFS [Set] >>> ***/
416
Lev Walkine0272aa2005-03-04 11:26:08 +0000417static asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000418 { ATF_NOFLAGS, 0, offsetof(struct Set, roid),
419 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
420 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000421 .type = &asn_DEF_RELATIVE_OID,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000422 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000423 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
424 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000425 .name = "roid"
426 },
427 { ATF_POINTER, 1, offsetof(struct Set, opaque),
428 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
429 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000430 .type = &asn_DEF_OCTET_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000431 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000432 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
433 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000434 .name = "opaque"
435 },
436};
Lev Walkin59b176e2005-11-26 11:25:14 +0000437static ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000438 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
439};
Lev Walkin59b176e2005-11-26 11:25:14 +0000440static asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000441 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid at 45 */
442 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque at 46 */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000443};
Lev Walkin59b176e2005-11-26 11:25:14 +0000444static uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000445 (1 << 7) | (0 << 6)
446};
Lev Walkin59b176e2005-11-26 11:25:14 +0000447static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000448 sizeof(struct Set),
449 offsetof(struct Set, _asn_ctx),
450 offsetof(struct Set, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000451 asn_MAP_Set_tag2el_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000452 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000453 asn_MAP_Set_tag2el_1, /* Same as above */
Lev Walkinf5db6142005-02-24 22:38:43 +0000454 2, /* Count of tags in the CXER map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000455 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +0000456 (unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000457};
458asn_TYPE_descriptor_t asn_DEF_Set = {
459 "Set",
460 "Set",
461 SET_free,
462 SET_print,
463 SET_constraint,
464 SET_decode_ber,
465 SET_encode_der,
466 SET_decode_xer,
467 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000468 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000469 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000470 asn_DEF_Set_tags_1,
471 sizeof(asn_DEF_Set_tags_1)
472 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
473 asn_DEF_Set_tags_1, /* Same as above */
474 sizeof(asn_DEF_Set_tags_1)
475 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
476 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000477 asn_MBR_Set_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000478 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000479 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000480};
481
482
Lev Walkin843a2462005-02-18 16:30:26 +0000483/*** <<< INCLUDES [ExtensibleSet] >>> ***/
484
485#include <UTF8String.h>
Lev Walkinc92a7462005-03-10 11:20:47 +0000486#include <ENUMERATED.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000487#include <constr_SET.h>
488
489/*** <<< DEPS [ExtensibleSet] >>> ***/
490
491
492/*
493 * Method of determining the components presence
494 */
495typedef enum ExtensibleSet_PR {
496 ExtensibleSet_PR_string, /* Member string is present */
Lev Walkinc92a7462005-03-10 11:20:47 +0000497 ExtensibleSet_PR_enum, /* Member enum is present */
Lev Walkin843a2462005-02-18 16:30:26 +0000498} ExtensibleSet_PR;
Lev Walkinc92a7462005-03-10 11:20:47 +0000499typedef enum Enum {
500 enum_b = 0,
501 enum_a = 1
502} enum_e;
Lev Walkin843a2462005-02-18 16:30:26 +0000503
504/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
505
Lev Walkin843a2462005-02-18 16:30:26 +0000506typedef struct ExtensibleSet {
507 UTF8String_t *string /* OPTIONAL */;
508 /*
509 * This type is extensible,
510 * possible extensions are below.
511 */
Lev Walkinc92a7462005-03-10 11:20:47 +0000512 ENUMERATED_t *Enum;
Lev Walkin843a2462005-02-18 16:30:26 +0000513
514 /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */
515 unsigned int _presence_map
Lev Walkinc92a7462005-03-10 11:20:47 +0000516 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin843a2462005-02-18 16:30:26 +0000517
518 /* Context for parsing across buffer boundaries */
519 asn_struct_ctx_t _asn_ctx;
520} ExtensibleSet_t;
521
Lev Walkinc8285712005-03-04 22:18:20 +0000522/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/
523
Lev Walkinc92a7462005-03-10 11:20:47 +0000524/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000525extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
526
Lev Walkinc92a7462005-03-10 11:20:47 +0000527/*** <<< CODE [ExtensibleSet] >>> ***/
528
529static int
530enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
531 asn_app_consume_bytes_f *app_errlog, void *app_key) {
532 /* Replace with underlying type checker */
533 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
534 return td->check_constraints(td, sptr, app_errlog, app_key);
535}
536
537/*
538 * This type is implemented using ENUMERATED,
539 * so here we adjust the DEF accordingly.
540 */
541static void
542enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
543 td->free_struct = asn_DEF_ENUMERATED.free_struct;
544 td->print_struct = asn_DEF_ENUMERATED.print_struct;
545 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
546 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
547 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
548 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000549 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
550 if(!td->per_constraints)
551 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkinc92a7462005-03-10 11:20:47 +0000552 td->elements = asn_DEF_ENUMERATED.elements;
553 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000554 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinc92a7462005-03-10 11:20:47 +0000555}
556
557static void
558enum_4_free(asn_TYPE_descriptor_t *td,
559 void *struct_ptr, int contents_only) {
560 enum_4_inherit_TYPE_descriptor(td);
561 td->free_struct(td, struct_ptr, contents_only);
562}
563
564static int
565enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
566 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
567 enum_4_inherit_TYPE_descriptor(td);
568 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
569}
570
571static asn_dec_rval_t
572enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000573 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000574 enum_4_inherit_TYPE_descriptor(td);
575 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
576}
577
578static asn_enc_rval_t
579enum_4_encode_der(asn_TYPE_descriptor_t *td,
580 void *structure, int tag_mode, ber_tlv_tag_t tag,
581 asn_app_consume_bytes_f *cb, void *app_key) {
582 enum_4_inherit_TYPE_descriptor(td);
583 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
584}
585
586static asn_dec_rval_t
587enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000588 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000589 enum_4_inherit_TYPE_descriptor(td);
590 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
591}
592
593static asn_enc_rval_t
594enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
595 int ilevel, enum xer_encoder_flags_e flags,
596 asn_app_consume_bytes_f *cb, void *app_key) {
597 enum_4_inherit_TYPE_descriptor(td);
598 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
599}
600
601
Lev Walkin843a2462005-02-18 16:30:26 +0000602/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
603
Lev Walkin59b176e2005-11-26 11:25:14 +0000604static asn_INTEGER_enum_map_t asn_MAP_enum_value2enum_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000605 { 0, 1, "b" },
606 { 1, 1, "a" }
607};
Lev Walkin59b176e2005-11-26 11:25:14 +0000608static unsigned int asn_MAP_enum_enum2value_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000609 1, /* a(1) */
610 0 /* b(0) */
611};
Lev Walkin59b176e2005-11-26 11:25:14 +0000612static asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
613 asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */
614 asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */
Lev Walkinc92a7462005-03-10 11:20:47 +0000615 2, /* Number of elements in the maps */
616 0, /* Enumeration is not extensible */
617 1 /* Strict enumeration */
618};
Lev Walkin59b176e2005-11-26 11:25:14 +0000619static ber_tlv_tag_t asn_DEF_enum_tags_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000620 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
621 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
622};
623static /* Use -fall-defs-global to expose */
624asn_TYPE_descriptor_t asn_DEF_enum_4 = {
625 "enum",
626 "enum",
627 enum_4_free,
628 enum_4_print,
629 enum_4_constraint,
630 enum_4_decode_ber,
631 enum_4_encode_der,
632 enum_4_decode_xer,
633 enum_4_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000634 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinc92a7462005-03-10 11:20:47 +0000635 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000636 asn_DEF_enum_tags_4,
637 sizeof(asn_DEF_enum_tags_4)
638 /sizeof(asn_DEF_enum_tags_4[0]) - 1, /* 1 */
639 asn_DEF_enum_tags_4, /* Same as above */
640 sizeof(asn_DEF_enum_tags_4)
641 /sizeof(asn_DEF_enum_tags_4[0]), /* 2 */
642 0, /* No PER visible constraints */
Lev Walkinc92a7462005-03-10 11:20:47 +0000643 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000644 &asn_SPC_enum_specs_4 /* Additional specs */
Lev Walkinc92a7462005-03-10 11:20:47 +0000645};
646
Lev Walkine0272aa2005-03-04 11:26:08 +0000647static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000648 { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000649 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
650 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000651 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000652 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000653 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
654 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000655 .name = "string"
656 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000657 { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum),
Lev Walkinc92a7462005-03-10 11:20:47 +0000658 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
659 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000660 .type = &asn_DEF_enum_4,
Lev Walkinc92a7462005-03-10 11:20:47 +0000661 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000662 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
663 .default_value = 0,
Lev Walkinc92a7462005-03-10 11:20:47 +0000664 .name = "enum"
665 },
Lev Walkin843a2462005-02-18 16:30:26 +0000666};
Lev Walkin59b176e2005-11-26 11:25:14 +0000667static ber_tlv_tag_t asn_DEF_ExtensibleSet_tags_1[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000668 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
669};
Lev Walkin59b176e2005-11-26 11:25:14 +0000670static asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000671 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 50 */
672 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum at 52 */
Lev Walkin843a2462005-02-18 16:30:26 +0000673};
Lev Walkin59b176e2005-11-26 11:25:14 +0000674static uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000675 (0 << 7) | (0 << 6)
Lev Walkin843a2462005-02-18 16:30:26 +0000676};
Lev Walkin59b176e2005-11-26 11:25:14 +0000677static asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +0000678 sizeof(struct ExtensibleSet),
679 offsetof(struct ExtensibleSet, _asn_ctx),
680 offsetof(struct ExtensibleSet, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000681 asn_MAP_ExtensibleSet_tag2el_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000682 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000683 asn_MAP_ExtensibleSet_tag2el_1, /* Same as above */
Lev Walkinc92a7462005-03-10 11:20:47 +0000684 2, /* Count of tags in the CXER map */
Lev Walkin843a2462005-02-18 16:30:26 +0000685 1, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +0000686 (unsigned int *)asn_MAP_ExtensibleSet_mmap_1 /* Mandatory elements map */
Lev Walkin843a2462005-02-18 16:30:26 +0000687};
688asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = {
689 "ExtensibleSet",
690 "ExtensibleSet",
691 SET_free,
692 SET_print,
693 SET_constraint,
694 SET_decode_ber,
695 SET_encode_der,
696 SET_decode_xer,
697 SET_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000698 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin843a2462005-02-18 16:30:26 +0000699 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000700 asn_DEF_ExtensibleSet_tags_1,
701 sizeof(asn_DEF_ExtensibleSet_tags_1)
702 /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */
703 asn_DEF_ExtensibleSet_tags_1, /* Same as above */
704 sizeof(asn_DEF_ExtensibleSet_tags_1)
705 /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */
706 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000707 asn_MBR_ExtensibleSet_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000708 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000709 &asn_SPC_ExtensibleSet_specs_1 /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000710};
711
712
713/*** <<< INCLUDES [ExtensibleSequence] >>> ***/
714
715#include <UTF8String.h>
716#include <INTEGER.h>
Lev Walkin15750402005-07-03 05:27:19 +0000717#include <GeneralizedTime.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000718#include <constr_SEQUENCE.h>
719
Lev Walkin843a2462005-02-18 16:30:26 +0000720/*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/
721
Lev Walkin843a2462005-02-18 16:30:26 +0000722typedef struct ExtensibleSequence {
723 UTF8String_t *string /* OPTIONAL */;
724 /*
725 * This type is extensible,
726 * possible extensions are below.
727 */
728 INTEGER_t *integer /* OPTIONAL */;
Lev Walkin15750402005-07-03 05:27:19 +0000729 GeneralizedTime_t *gtime;
Lev Walkin843a2462005-02-18 16:30:26 +0000730
731 /* Context for parsing across buffer boundaries */
732 asn_struct_ctx_t _asn_ctx;
733} ExtensibleSequence_t;
734
Lev Walkinc8285712005-03-04 22:18:20 +0000735/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
736
737extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
738
Lev Walkin843a2462005-02-18 16:30:26 +0000739/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
740
Lev Walkine0272aa2005-03-04 11:26:08 +0000741static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000742 { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000743 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
744 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000745 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000746 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000747 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
748 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000749 .name = "string"
750 },
Lev Walkin15750402005-07-03 05:27:19 +0000751 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer),
Lev Walkin843a2462005-02-18 16:30:26 +0000752 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
753 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000754 .type = &asn_DEF_INTEGER,
Lev Walkin843a2462005-02-18 16:30:26 +0000755 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000756 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
757 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000758 .name = "integer"
759 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000760 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime),
Lev Walkin15750402005-07-03 05:27:19 +0000761 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
762 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000763 .type = &asn_DEF_GeneralizedTime,
Lev Walkin15750402005-07-03 05:27:19 +0000764 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000765 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
766 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000767 .name = "gtime"
768 },
Lev Walkin843a2462005-02-18 16:30:26 +0000769};
Lev Walkin59b176e2005-11-26 11:25:14 +0000770static ber_tlv_tag_t asn_DEF_ExtensibleSequence_tags_1[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000771 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
772};
Lev Walkin59b176e2005-11-26 11:25:14 +0000773static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000774 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 56 */
775 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer at 58 */
776 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime at 59 */
Lev Walkin843a2462005-02-18 16:30:26 +0000777};
Lev Walkin59b176e2005-11-26 11:25:14 +0000778static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +0000779 sizeof(struct ExtensibleSequence),
780 offsetof(struct ExtensibleSequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000781 asn_MAP_ExtensibleSequence_tag2el_1,
Lev Walkin15750402005-07-03 05:27:19 +0000782 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000783 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin843a2462005-02-18 16:30:26 +0000784 0, /* Start extensions */
Lev Walkin15750402005-07-03 05:27:19 +0000785 4 /* Stop extensions */
Lev Walkin843a2462005-02-18 16:30:26 +0000786};
787asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = {
788 "ExtensibleSequence",
789 "ExtensibleSequence",
790 SEQUENCE_free,
791 SEQUENCE_print,
792 SEQUENCE_constraint,
793 SEQUENCE_decode_ber,
794 SEQUENCE_encode_der,
795 SEQUENCE_decode_xer,
796 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000797 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin843a2462005-02-18 16:30:26 +0000798 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000799 asn_DEF_ExtensibleSequence_tags_1,
800 sizeof(asn_DEF_ExtensibleSequence_tags_1)
801 /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */
802 asn_DEF_ExtensibleSequence_tags_1, /* Same as above */
803 sizeof(asn_DEF_ExtensibleSequence_tags_1)
804 /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */
805 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000806 asn_MBR_ExtensibleSequence_1,
Lev Walkin15750402005-07-03 05:27:19 +0000807 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000808 &asn_SPC_ExtensibleSequence_specs_1 /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000809};
810
811
Lev Walkin15750402005-07-03 05:27:19 +0000812/*** <<< INCLUDES [ExtensibleSequence2] >>> ***/
813
814#include <UTF8String.h>
815#include <INTEGER.h>
816#include <constr_SEQUENCE.h>
817
818/*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/
819
820typedef struct ExtensibleSequence2 {
821 UTF8String_t *string /* OPTIONAL */;
822 /*
823 * This type is extensible,
824 * possible extensions are below.
825 */
826 INTEGER_t *integer /* OPTIONAL */;
827
828 /* Context for parsing across buffer boundaries */
829 asn_struct_ctx_t _asn_ctx;
830} ExtensibleSequence2_t;
831
832/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
833
834extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
835
836/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
837
838static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
839 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
840 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
841 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000842 .type = &asn_DEF_UTF8String,
Lev Walkin15750402005-07-03 05:27:19 +0000843 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000844 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
845 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000846 .name = "string"
847 },
848 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer),
849 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
850 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000851 .type = &asn_DEF_INTEGER,
Lev Walkin15750402005-07-03 05:27:19 +0000852 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000853 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
854 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000855 .name = "integer"
856 },
857};
Lev Walkin59b176e2005-11-26 11:25:14 +0000858static ber_tlv_tag_t asn_DEF_ExtensibleSequence2_tags_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000859 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
860};
Lev Walkin59b176e2005-11-26 11:25:14 +0000861static asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000862 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 63 */
863 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer at 65 */
Lev Walkin15750402005-07-03 05:27:19 +0000864};
Lev Walkin59b176e2005-11-26 11:25:14 +0000865static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
Lev Walkin15750402005-07-03 05:27:19 +0000866 sizeof(struct ExtensibleSequence2),
867 offsetof(struct ExtensibleSequence2, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000868 asn_MAP_ExtensibleSequence2_tag2el_1,
Lev Walkin15750402005-07-03 05:27:19 +0000869 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000870 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin15750402005-07-03 05:27:19 +0000871 0, /* Start extensions */
872 3 /* Stop extensions */
873};
874asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = {
875 "ExtensibleSequence2",
876 "ExtensibleSequence2",
877 SEQUENCE_free,
878 SEQUENCE_print,
879 SEQUENCE_constraint,
880 SEQUENCE_decode_ber,
881 SEQUENCE_encode_der,
882 SEQUENCE_decode_xer,
883 SEQUENCE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000884 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin15750402005-07-03 05:27:19 +0000885 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000886 asn_DEF_ExtensibleSequence2_tags_1,
887 sizeof(asn_DEF_ExtensibleSequence2_tags_1)
888 /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */
889 asn_DEF_ExtensibleSequence2_tags_1, /* Same as above */
890 sizeof(asn_DEF_ExtensibleSequence2_tags_1)
891 /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */
892 0, /* No PER visible constraints */
Lev Walkin15750402005-07-03 05:27:19 +0000893 asn_MBR_ExtensibleSequence2_1,
894 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000895 &asn_SPC_ExtensibleSequence2_specs_1 /* Additional specs */
Lev Walkin15750402005-07-03 05:27:19 +0000896};
897
898
Lev Walkinf5db6142005-02-24 22:38:43 +0000899/*** <<< INCLUDES [SetOfNULL] >>> ***/
900
901#include <NULL.h>
902#include <asn_SET_OF.h>
903#include <constr_SET_OF.h>
904
Lev Walkinf5db6142005-02-24 22:38:43 +0000905/*** <<< TYPE-DECLS [SetOfNULL] >>> ***/
906
Lev Walkinf5db6142005-02-24 22:38:43 +0000907typedef struct SetOfNULL {
908 A_SET_OF(NULL_t) list;
909
910 /* Context for parsing across buffer boundaries */
911 asn_struct_ctx_t _asn_ctx;
912} SetOfNULL_t;
913
Lev Walkinc8285712005-03-04 22:18:20 +0000914/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
915
916extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
917
Lev Walkinf5db6142005-02-24 22:38:43 +0000918/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
919
Lev Walkine0272aa2005-03-04 11:26:08 +0000920static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000921 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000922 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
923 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000924 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000925 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000926 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
927 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000928 .name = ""
929 },
930};
Lev Walkin59b176e2005-11-26 11:25:14 +0000931static ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000932 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
933};
Lev Walkin59b176e2005-11-26 11:25:14 +0000934static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000935 sizeof(struct SetOfNULL),
936 offsetof(struct SetOfNULL, _asn_ctx),
937 1, /* XER encoding is XMLValueList */
938};
939asn_TYPE_descriptor_t asn_DEF_SetOfNULL = {
940 "SetOfNULL",
941 "SetOfNULL",
942 SET_OF_free,
943 SET_OF_print,
944 SET_OF_constraint,
945 SET_OF_decode_ber,
946 SET_OF_encode_der,
947 SET_OF_decode_xer,
948 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +0000949 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +0000950 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000951 asn_DEF_SetOfNULL_tags_1,
952 sizeof(asn_DEF_SetOfNULL_tags_1)
953 /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */
954 asn_DEF_SetOfNULL_tags_1, /* Same as above */
955 sizeof(asn_DEF_SetOfNULL_tags_1)
956 /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */
957 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000958 asn_MBR_SetOfNULL_1,
Lev Walkinf5db6142005-02-24 22:38:43 +0000959 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000960 &asn_SPC_SetOfNULL_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +0000961};
962
963
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000964/*** <<< INCLUDES [SetOfREAL] >>> ***/
965
966#include <REAL.h>
967#include <asn_SET_OF.h>
968#include <constr_SET_OF.h>
969
970/*** <<< TYPE-DECLS [SetOfREAL] >>> ***/
971
972typedef struct SetOfREAL {
973 A_SET_OF(REAL_t) list;
974
975 /* Context for parsing across buffer boundaries */
976 asn_struct_ctx_t _asn_ctx;
977} SetOfREAL_t;
978
979/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/
980
981extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL;
982
983/*** <<< STAT-DEFS [SetOfREAL] >>> ***/
984
985static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
986 { ATF_POINTER, 0, 0,
987 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
988 .tag_mode = 0,
989 .type = &asn_DEF_REAL,
990 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000991 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
992 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000993 .name = ""
994 },
995};
Lev Walkin59b176e2005-11-26 11:25:14 +0000996static ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000997 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
998};
Lev Walkin59b176e2005-11-26 11:25:14 +0000999static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001000 sizeof(struct SetOfREAL),
1001 offsetof(struct SetOfREAL, _asn_ctx),
1002 0, /* XER encoding is XMLDelimitedItemList */
1003};
1004asn_TYPE_descriptor_t asn_DEF_SetOfREAL = {
1005 "SetOfREAL",
1006 "SetOfREAL",
1007 SET_OF_free,
1008 SET_OF_print,
1009 SET_OF_constraint,
1010 SET_OF_decode_ber,
1011 SET_OF_encode_der,
1012 SET_OF_decode_xer,
1013 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001014 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001015 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001016 asn_DEF_SetOfREAL_tags_1,
1017 sizeof(asn_DEF_SetOfREAL_tags_1)
1018 /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */
1019 asn_DEF_SetOfREAL_tags_1, /* Same as above */
1020 sizeof(asn_DEF_SetOfREAL_tags_1)
1021 /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */
1022 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001023 asn_MBR_SetOfREAL_1,
1024 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001025 &asn_SPC_SetOfREAL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001026};
1027
1028
Lev Walkinf5db6142005-02-24 22:38:43 +00001029/*** <<< INCLUDES [SetOfEnums] >>> ***/
1030
1031#include <ENUMERATED.h>
1032#include <asn_SET_OF.h>
1033#include <constr_SET_OF.h>
1034
1035/*** <<< DEPS [SetOfEnums] >>> ***/
1036
Lev Walkine0272aa2005-03-04 11:26:08 +00001037typedef enum Member {
1038 Member_one = 0,
1039 Member_oneMore = 1
1040} Member_e;
Lev Walkinf5db6142005-02-24 22:38:43 +00001041
1042/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
1043
Lev Walkinf5db6142005-02-24 22:38:43 +00001044typedef struct SetOfEnums {
1045 A_SET_OF(ENUMERATED_t) list;
1046
1047 /* Context for parsing across buffer boundaries */
1048 asn_struct_ctx_t _asn_ctx;
1049} SetOfEnums_t;
1050
Lev Walkinb47df092005-02-25 08:35:54 +00001051/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/
1052
Lev Walkine0272aa2005-03-04 11:26:08 +00001053/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +00001054extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
Lev Walkinb47df092005-02-25 08:35:54 +00001055
1056/*** <<< CODE [SetOfEnums] >>> ***/
1057
1058static int
Lev Walkine0272aa2005-03-04 11:26:08 +00001059Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkinb47df092005-02-25 08:35:54 +00001060 asn_app_consume_bytes_f *app_errlog, void *app_key) {
1061 /* Replace with underlying type checker */
1062 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
1063 return td->check_constraints(td, sptr, app_errlog, app_key);
1064}
1065
1066/*
1067 * This type is implemented using ENUMERATED,
1068 * so here we adjust the DEF accordingly.
1069 */
1070static void
Lev Walkine0272aa2005-03-04 11:26:08 +00001071Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkinb47df092005-02-25 08:35:54 +00001072 td->free_struct = asn_DEF_ENUMERATED.free_struct;
1073 td->print_struct = asn_DEF_ENUMERATED.print_struct;
1074 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
1075 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
1076 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
1077 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001078 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
1079 if(!td->per_constraints)
1080 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkinb47df092005-02-25 08:35:54 +00001081 td->elements = asn_DEF_ENUMERATED.elements;
1082 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +00001083 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinb47df092005-02-25 08:35:54 +00001084}
1085
1086static void
Lev Walkine0272aa2005-03-04 11:26:08 +00001087Member_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001088 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001089 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001090 td->free_struct(td, struct_ptr, contents_only);
1091}
1092
1093static int
Lev Walkine0272aa2005-03-04 11:26:08 +00001094Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinb47df092005-02-25 08:35:54 +00001095 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001096 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001097 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1098}
1099
1100static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001101Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001102 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001103 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001104 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1105}
1106
1107static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001108Member_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001109 void *structure, int tag_mode, ber_tlv_tag_t tag,
1110 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001111 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001112 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1113}
1114
1115static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001116Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001117 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001118 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001119 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1120}
1121
1122static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001123Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinb47df092005-02-25 08:35:54 +00001124 int ilevel, enum xer_encoder_flags_e flags,
1125 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001126 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001127 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1128}
1129
1130
Lev Walkinf5db6142005-02-24 22:38:43 +00001131/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
1132
Lev Walkin59b176e2005-11-26 11:25:14 +00001133static asn_INTEGER_enum_map_t asn_MAP_Member_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001134 { 0, 3, "one" },
1135 { 1, 7, "oneMore" }
1136};
Lev Walkin59b176e2005-11-26 11:25:14 +00001137static unsigned int asn_MAP_Member_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001138 0, /* one(0) */
1139 1 /* oneMore(1) */
Lev Walkinb47df092005-02-25 08:35:54 +00001140};
Lev Walkin59b176e2005-11-26 11:25:14 +00001141static asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
1142 asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */
1143 asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinb47df092005-02-25 08:35:54 +00001144 2, /* Number of elements in the maps */
Lev Walkin295e2452005-02-25 11:47:59 +00001145 0, /* Enumeration is not extensible */
1146 1 /* Strict enumeration */
Lev Walkinb47df092005-02-25 08:35:54 +00001147};
Lev Walkin59b176e2005-11-26 11:25:14 +00001148static ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb47df092005-02-25 08:35:54 +00001149 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1150};
1151static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +00001152asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001153 "ENUMERATED",
1154 "ENUMERATED",
Lev Walkine0272aa2005-03-04 11:26:08 +00001155 Member_2_free,
1156 Member_2_print,
1157 Member_2_constraint,
1158 Member_2_decode_ber,
1159 Member_2_encode_der,
1160 Member_2_decode_xer,
1161 Member_2_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001162 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinb47df092005-02-25 08:35:54 +00001163 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001164 asn_DEF_Member_tags_2,
1165 sizeof(asn_DEF_Member_tags_2)
1166 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
1167 asn_DEF_Member_tags_2, /* Same as above */
1168 sizeof(asn_DEF_Member_tags_2)
1169 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
1170 0, /* No PER visible constraints */
Lev Walkinb47df092005-02-25 08:35:54 +00001171 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +00001172 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb47df092005-02-25 08:35:54 +00001173};
1174
Lev Walkine0272aa2005-03-04 11:26:08 +00001175static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001176 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001177 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1178 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001179 .type = &asn_DEF_Member_2,
Lev Walkinf5db6142005-02-24 22:38:43 +00001180 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001181 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1182 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001183 .name = ""
1184 },
1185};
Lev Walkin59b176e2005-11-26 11:25:14 +00001186static ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001187 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1188};
Lev Walkin59b176e2005-11-26 11:25:14 +00001189static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001190 sizeof(struct SetOfEnums),
1191 offsetof(struct SetOfEnums, _asn_ctx),
Lev Walkinb47df092005-02-25 08:35:54 +00001192 1, /* XER encoding is XMLValueList */
Lev Walkinf5db6142005-02-24 22:38:43 +00001193};
1194asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
1195 "SetOfEnums",
1196 "SetOfEnums",
1197 SET_OF_free,
1198 SET_OF_print,
1199 SET_OF_constraint,
1200 SET_OF_decode_ber,
1201 SET_OF_encode_der,
1202 SET_OF_decode_xer,
1203 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001204 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +00001205 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001206 asn_DEF_SetOfEnums_tags_1,
1207 sizeof(asn_DEF_SetOfEnums_tags_1)
1208 /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */
1209 asn_DEF_SetOfEnums_tags_1, /* Same as above */
1210 sizeof(asn_DEF_SetOfEnums_tags_1)
1211 /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */
1212 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001213 asn_MBR_SetOfEnums_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001214 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001215 &asn_SPC_SetOfEnums_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001216};
1217
1218
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001219/*** <<< INCLUDES [NamedSetOfNULL] >>> ***/
1220
1221#include <NULL.h>
1222#include <asn_SET_OF.h>
1223#include <constr_SET_OF.h>
1224
1225/*** <<< TYPE-DECLS [NamedSetOfNULL] >>> ***/
1226
1227typedef struct NamedSetOfNULL {
1228 A_SET_OF(NULL_t) list;
1229
1230 /* Context for parsing across buffer boundaries */
1231 asn_struct_ctx_t _asn_ctx;
1232} NamedSetOfNULL_t;
1233
1234/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/
1235
1236extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL;
1237
1238/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/
1239
1240static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
1241 { ATF_POINTER, 0, 0,
1242 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1243 .tag_mode = 0,
1244 .type = &asn_DEF_NULL,
1245 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001246 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1247 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001248 .name = "y"
1249 },
1250};
Lev Walkin59b176e2005-11-26 11:25:14 +00001251static ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001252 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1253};
Lev Walkin59b176e2005-11-26 11:25:14 +00001254static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001255 sizeof(struct NamedSetOfNULL),
1256 offsetof(struct NamedSetOfNULL, _asn_ctx),
1257 1, /* XER encoding is XMLValueList */
1258};
1259asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = {
1260 "NamedSetOfNULL",
1261 "NamedSetOfNULL",
1262 SET_OF_free,
1263 SET_OF_print,
1264 SET_OF_constraint,
1265 SET_OF_decode_ber,
1266 SET_OF_encode_der,
1267 SET_OF_decode_xer,
1268 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001269 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001270 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001271 asn_DEF_NamedSetOfNULL_tags_1,
1272 sizeof(asn_DEF_NamedSetOfNULL_tags_1)
1273 /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */
1274 asn_DEF_NamedSetOfNULL_tags_1, /* Same as above */
1275 sizeof(asn_DEF_NamedSetOfNULL_tags_1)
1276 /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */
1277 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001278 asn_MBR_NamedSetOfNULL_1,
1279 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001280 &asn_SPC_NamedSetOfNULL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001281};
1282
1283
1284/*** <<< INCLUDES [NamedSetOfREAL] >>> ***/
1285
1286#include <REAL.h>
1287#include <asn_SET_OF.h>
1288#include <constr_SET_OF.h>
1289
1290/*** <<< TYPE-DECLS [NamedSetOfREAL] >>> ***/
1291
1292typedef struct NamedSetOfREAL {
1293 A_SET_OF(REAL_t) list;
1294
1295 /* Context for parsing across buffer boundaries */
1296 asn_struct_ctx_t _asn_ctx;
1297} NamedSetOfREAL_t;
1298
1299/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/
1300
1301extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL;
1302
1303/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/
1304
1305static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
1306 { ATF_POINTER, 0, 0,
1307 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
1308 .tag_mode = 0,
1309 .type = &asn_DEF_REAL,
1310 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001311 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1312 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001313 .name = "name"
1314 },
1315};
Lev Walkin59b176e2005-11-26 11:25:14 +00001316static ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001317 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1318};
Lev Walkin59b176e2005-11-26 11:25:14 +00001319static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001320 sizeof(struct NamedSetOfREAL),
1321 offsetof(struct NamedSetOfREAL, _asn_ctx),
1322 0, /* XER encoding is XMLDelimitedItemList */
1323};
1324asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = {
1325 "NamedSetOfREAL",
1326 "NamedSetOfREAL",
1327 SET_OF_free,
1328 SET_OF_print,
1329 SET_OF_constraint,
1330 SET_OF_decode_ber,
1331 SET_OF_encode_der,
1332 SET_OF_decode_xer,
1333 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001334 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001335 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001336 asn_DEF_NamedSetOfREAL_tags_1,
1337 sizeof(asn_DEF_NamedSetOfREAL_tags_1)
1338 /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */
1339 asn_DEF_NamedSetOfREAL_tags_1, /* Same as above */
1340 sizeof(asn_DEF_NamedSetOfREAL_tags_1)
1341 /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */
1342 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001343 asn_MBR_NamedSetOfREAL_1,
1344 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001345 &asn_SPC_NamedSetOfREAL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001346};
1347
1348
1349/*** <<< INCLUDES [NamedSetOfEnums] >>> ***/
1350
1351#include <ENUMERATED.h>
1352#include <asn_SET_OF.h>
1353#include <constr_SET_OF.h>
1354
1355/*** <<< DEPS [NamedSetOfEnums] >>> ***/
1356
1357typedef enum name {
1358 name_one = 0,
1359 name_oneMore = 1
1360} name_e;
1361
1362/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/
1363
1364typedef struct NamedSetOfEnums {
1365 A_SET_OF(ENUMERATED_t) list;
1366
1367 /* Context for parsing across buffer boundaries */
1368 asn_struct_ctx_t _asn_ctx;
1369} NamedSetOfEnums_t;
1370
1371/*** <<< FUNC-DECLS [NamedSetOfEnums] >>> ***/
1372
1373/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */
1374extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums;
1375
1376/*** <<< CODE [NamedSetOfEnums] >>> ***/
1377
1378static int
1379name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1380 asn_app_consume_bytes_f *app_errlog, void *app_key) {
1381 /* Replace with underlying type checker */
1382 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
1383 return td->check_constraints(td, sptr, app_errlog, app_key);
1384}
1385
1386/*
1387 * This type is implemented using ENUMERATED,
1388 * so here we adjust the DEF accordingly.
1389 */
1390static void
1391name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1392 td->free_struct = asn_DEF_ENUMERATED.free_struct;
1393 td->print_struct = asn_DEF_ENUMERATED.print_struct;
1394 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
1395 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
1396 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
1397 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001398 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
1399 if(!td->per_constraints)
1400 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001401 td->elements = asn_DEF_ENUMERATED.elements;
1402 td->elements_count = asn_DEF_ENUMERATED.elements_count;
1403 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
1404}
1405
1406static void
1407name_2_free(asn_TYPE_descriptor_t *td,
1408 void *struct_ptr, int contents_only) {
1409 name_2_inherit_TYPE_descriptor(td);
1410 td->free_struct(td, struct_ptr, contents_only);
1411}
1412
1413static int
1414name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1415 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1416 name_2_inherit_TYPE_descriptor(td);
1417 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1418}
1419
1420static asn_dec_rval_t
1421name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1422 void **structure, const void *bufptr, size_t size, int tag_mode) {
1423 name_2_inherit_TYPE_descriptor(td);
1424 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1425}
1426
1427static asn_enc_rval_t
1428name_2_encode_der(asn_TYPE_descriptor_t *td,
1429 void *structure, int tag_mode, ber_tlv_tag_t tag,
1430 asn_app_consume_bytes_f *cb, void *app_key) {
1431 name_2_inherit_TYPE_descriptor(td);
1432 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1433}
1434
1435static asn_dec_rval_t
1436name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1437 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1438 name_2_inherit_TYPE_descriptor(td);
1439 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1440}
1441
1442static asn_enc_rval_t
1443name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1444 int ilevel, enum xer_encoder_flags_e flags,
1445 asn_app_consume_bytes_f *cb, void *app_key) {
1446 name_2_inherit_TYPE_descriptor(td);
1447 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1448}
1449
1450
1451/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/
1452
Lev Walkin59b176e2005-11-26 11:25:14 +00001453static asn_INTEGER_enum_map_t asn_MAP_name_value2enum_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001454 { 0, 3, "one" },
1455 { 1, 7, "oneMore" }
1456};
Lev Walkin59b176e2005-11-26 11:25:14 +00001457static unsigned int asn_MAP_name_enum2value_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001458 0, /* one(0) */
1459 1 /* oneMore(1) */
1460};
Lev Walkin59b176e2005-11-26 11:25:14 +00001461static asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
1462 asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */
1463 asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001464 2, /* Number of elements in the maps */
1465 0, /* Enumeration is not extensible */
1466 1 /* Strict enumeration */
1467};
Lev Walkin59b176e2005-11-26 11:25:14 +00001468static ber_tlv_tag_t asn_DEF_name_tags_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001469 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1470};
1471static /* Use -fall-defs-global to expose */
1472asn_TYPE_descriptor_t asn_DEF_name_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001473 "ENUMERATED",
1474 "ENUMERATED",
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001475 name_2_free,
1476 name_2_print,
1477 name_2_constraint,
1478 name_2_decode_ber,
1479 name_2_encode_der,
1480 name_2_decode_xer,
1481 name_2_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001482 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001483 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001484 asn_DEF_name_tags_2,
1485 sizeof(asn_DEF_name_tags_2)
1486 /sizeof(asn_DEF_name_tags_2[0]), /* 1 */
1487 asn_DEF_name_tags_2, /* Same as above */
1488 sizeof(asn_DEF_name_tags_2)
1489 /sizeof(asn_DEF_name_tags_2[0]), /* 1 */
1490 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001491 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +00001492 &asn_SPC_name_specs_2 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001493};
1494
1495static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
1496 { ATF_POINTER, 0, 0,
1497 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1498 .tag_mode = 0,
1499 .type = &asn_DEF_name_2,
1500 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001501 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1502 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001503 .name = "name"
1504 },
1505};
Lev Walkin59b176e2005-11-26 11:25:14 +00001506static ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001507 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1508};
Lev Walkin59b176e2005-11-26 11:25:14 +00001509static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001510 sizeof(struct NamedSetOfEnums),
1511 offsetof(struct NamedSetOfEnums, _asn_ctx),
1512 1, /* XER encoding is XMLValueList */
1513};
1514asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = {
1515 "NamedSetOfEnums",
1516 "NamedSetOfEnums",
1517 SET_OF_free,
1518 SET_OF_print,
1519 SET_OF_constraint,
1520 SET_OF_decode_ber,
1521 SET_OF_encode_der,
1522 SET_OF_decode_xer,
1523 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001524 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001525 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001526 asn_DEF_NamedSetOfEnums_tags_1,
1527 sizeof(asn_DEF_NamedSetOfEnums_tags_1)
1528 /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */
1529 asn_DEF_NamedSetOfEnums_tags_1, /* Same as above */
1530 sizeof(asn_DEF_NamedSetOfEnums_tags_1)
1531 /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */
1532 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001533 asn_MBR_NamedSetOfEnums_1,
1534 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001535 &asn_SPC_NamedSetOfEnums_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001536};
1537
1538
Lev Walkin843a2462005-02-18 16:30:26 +00001539/*** <<< INCLUDES [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001540
1541#include <INTEGER.h>
1542#include <asn_SEQUENCE_OF.h>
1543#include <constr_SEQUENCE_OF.h>
1544
Lev Walkin843a2462005-02-18 16:30:26 +00001545/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001546
Lev Walkin843a2462005-02-18 16:30:26 +00001547typedef struct SequenceOf {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001548 A_SEQUENCE_OF(INTEGER_t) list;
1549
1550 /* Context for parsing across buffer boundaries */
1551 asn_struct_ctx_t _asn_ctx;
Lev Walkin843a2462005-02-18 16:30:26 +00001552} SequenceOf_t;
Lev Walkin0ef9f142005-02-14 20:40:57 +00001553
Lev Walkinc8285712005-03-04 22:18:20 +00001554/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
1555
1556extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
1557
Lev Walkin843a2462005-02-18 16:30:26 +00001558/*** <<< STAT-DEFS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001559
Lev Walkine0272aa2005-03-04 11:26:08 +00001560static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001561 { ATF_POINTER, 0, 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001562 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1563 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001564 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001565 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001566 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1567 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001568 .name = "id"
1569 },
1570};
Lev Walkin59b176e2005-11-26 11:25:14 +00001571static ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001572 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1573};
Lev Walkin59b176e2005-11-26 11:25:14 +00001574static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +00001575 sizeof(struct SequenceOf),
1576 offsetof(struct SequenceOf, _asn_ctx),
Lev Walkin0ef9f142005-02-14 20:40:57 +00001577 0, /* XER encoding is XMLDelimitedItemList */
1578};
Lev Walkin843a2462005-02-18 16:30:26 +00001579asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
1580 "SequenceOf",
1581 "SequenceOf",
Lev Walkin0ef9f142005-02-14 20:40:57 +00001582 SEQUENCE_OF_free,
1583 SEQUENCE_OF_print,
1584 SEQUENCE_OF_constraint,
1585 SEQUENCE_OF_decode_ber,
1586 SEQUENCE_OF_encode_der,
1587 SEQUENCE_OF_decode_xer,
1588 SEQUENCE_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001589 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001590 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001591 asn_DEF_SequenceOf_tags_1,
1592 sizeof(asn_DEF_SequenceOf_tags_1)
1593 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
1594 asn_DEF_SequenceOf_tags_1, /* Same as above */
1595 sizeof(asn_DEF_SequenceOf_tags_1)
1596 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
1597 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001598 asn_MBR_SequenceOf_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001599 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001600 &asn_SPC_SequenceOf_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001601};
1602
Lev Walkinf5db6142005-02-24 22:38:43 +00001603
1604/*** <<< INCLUDES [SeqOfZuka] >>> ***/
1605
1606#include <NULL.h>
1607#include <asn_SEQUENCE_OF.h>
1608#include <constr_SEQUENCE_OF.h>
1609
Lev Walkinf5db6142005-02-24 22:38:43 +00001610/*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/
1611
Lev Walkinf5db6142005-02-24 22:38:43 +00001612typedef struct SeqOfZuka {
1613 A_SEQUENCE_OF(NULL_t) list;
1614
1615 /* Context for parsing across buffer boundaries */
1616 asn_struct_ctx_t _asn_ctx;
1617} SeqOfZuka_t;
1618
Lev Walkinc8285712005-03-04 22:18:20 +00001619/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
1620
1621extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
1622
Lev Walkinf5db6142005-02-24 22:38:43 +00001623/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
1624
Lev Walkine0272aa2005-03-04 11:26:08 +00001625static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001626 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001627 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1628 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001629 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +00001630 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001631 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1632 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001633 .name = "zuka"
1634 },
1635};
Lev Walkin59b176e2005-11-26 11:25:14 +00001636static ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001637 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1638};
Lev Walkin59b176e2005-11-26 11:25:14 +00001639static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001640 sizeof(struct SeqOfZuka),
1641 offsetof(struct SeqOfZuka, _asn_ctx),
1642 1, /* XER encoding is XMLValueList */
1643};
1644asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = {
1645 "SeqOfZuka",
1646 "SeqOfZuka",
1647 SEQUENCE_OF_free,
1648 SEQUENCE_OF_print,
1649 SEQUENCE_OF_constraint,
1650 SEQUENCE_OF_decode_ber,
1651 SEQUENCE_OF_encode_der,
1652 SEQUENCE_OF_decode_xer,
1653 SEQUENCE_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001654 0, /* No PER decoder, -gen-PER to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +00001655 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001656 asn_DEF_SeqOfZuka_tags_1,
1657 sizeof(asn_DEF_SeqOfZuka_tags_1)
1658 /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */
1659 asn_DEF_SeqOfZuka_tags_1, /* Same as above */
1660 sizeof(asn_DEF_SeqOfZuka_tags_1)
1661 /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */
1662 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001663 asn_MBR_SeqOfZuka_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001664 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001665 &asn_SPC_SeqOfZuka_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001666};
1667
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001668
1669/*** <<< INCLUDES [SetOfChoice] >>> ***/
1670
1671#include <asn_SET_OF.h>
1672#include <constr_SET_OF.h>
1673
1674/*** <<< FWD-DECLS [SetOfChoice] >>> ***/
1675
1676struct SimpleChoice;
1677
1678/*** <<< TYPE-DECLS [SetOfChoice] >>> ***/
1679
1680typedef struct SetOfChoice {
1681 A_SET_OF(struct SimpleChoice) list;
1682
1683 /* Context for parsing across buffer boundaries */
1684 asn_struct_ctx_t _asn_ctx;
1685} SetOfChoice_t;
1686
1687/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/
1688
1689extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
1690
1691/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/
1692
1693#include <SimpleChoice.h>
1694
1695/*** <<< STAT-DEFS [SetOfChoice] >>> ***/
1696
1697static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
1698 { ATF_POINTER, 0, 0,
1699 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1700 .tag_mode = 0,
1701 .type = &asn_DEF_SimpleChoice,
1702 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001703 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1704 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001705 .name = ""
1706 },
1707};
Lev Walkin59b176e2005-11-26 11:25:14 +00001708static ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001709 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1710};
Lev Walkin59b176e2005-11-26 11:25:14 +00001711static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001712 sizeof(struct SetOfChoice),
1713 offsetof(struct SetOfChoice, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +00001714 2, /* XER encoding is XMLValueList */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001715};
1716asn_TYPE_descriptor_t asn_DEF_SetOfChoice = {
1717 "SetOfChoice",
1718 "SetOfChoice",
1719 SET_OF_free,
1720 SET_OF_print,
1721 SET_OF_constraint,
1722 SET_OF_decode_ber,
1723 SET_OF_encode_der,
1724 SET_OF_decode_xer,
1725 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001726 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001727 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001728 asn_DEF_SetOfChoice_tags_1,
1729 sizeof(asn_DEF_SetOfChoice_tags_1)
1730 /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */
1731 asn_DEF_SetOfChoice_tags_1, /* Same as above */
1732 sizeof(asn_DEF_SetOfChoice_tags_1)
1733 /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */
1734 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001735 asn_MBR_SetOfChoice_1,
1736 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001737 &asn_SPC_SetOfChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001738};
1739
1740
1741/*** <<< INCLUDES [NamedSetOfChoice] >>> ***/
1742
1743#include <asn_SET_OF.h>
1744#include <constr_SET_OF.h>
1745
1746/*** <<< FWD-DECLS [NamedSetOfChoice] >>> ***/
1747
1748struct SimpleChoice;
1749
1750/*** <<< TYPE-DECLS [NamedSetOfChoice] >>> ***/
1751
1752typedef struct NamedSetOfChoice {
1753 A_SET_OF(struct SimpleChoice) list;
1754
1755 /* Context for parsing across buffer boundaries */
1756 asn_struct_ctx_t _asn_ctx;
1757} NamedSetOfChoice_t;
1758
1759/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/
1760
1761extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
1762
1763/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/
1764
1765#include <SimpleChoice.h>
1766
1767/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/
1768
1769static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
1770 { ATF_POINTER, 0, 0,
1771 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1772 .tag_mode = 0,
1773 .type = &asn_DEF_SimpleChoice,
1774 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001775 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1776 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001777 .name = "whatever"
1778 },
1779};
Lev Walkin59b176e2005-11-26 11:25:14 +00001780static ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001781 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1782};
Lev Walkin59b176e2005-11-26 11:25:14 +00001783static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001784 sizeof(struct NamedSetOfChoice),
1785 offsetof(struct NamedSetOfChoice, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +00001786 2, /* XER encoding is XMLValueList */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001787};
1788asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = {
1789 "NamedSetOfChoice",
1790 "NamedSetOfChoice",
1791 SET_OF_free,
1792 SET_OF_print,
1793 SET_OF_constraint,
1794 SET_OF_decode_ber,
1795 SET_OF_encode_der,
1796 SET_OF_decode_xer,
1797 SET_OF_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001798 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001799 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001800 asn_DEF_NamedSetOfChoice_tags_1,
1801 sizeof(asn_DEF_NamedSetOfChoice_tags_1)
1802 /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */
1803 asn_DEF_NamedSetOfChoice_tags_1, /* Same as above */
1804 sizeof(asn_DEF_NamedSetOfChoice_tags_1)
1805 /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */
1806 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001807 asn_MBR_NamedSetOfChoice_1,
1808 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001809 &asn_SPC_NamedSetOfChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001810};
1811
1812
1813/*** <<< INCLUDES [SimpleChoice] >>> ***/
1814
1815#include <NULL.h>
1816#include <INTEGER.h>
1817#include <constr_CHOICE.h>
1818
1819/*** <<< DEPS [SimpleChoice] >>> ***/
1820
1821typedef enum SimpleChoice_PR {
1822 SimpleChoice_PR_NOTHING, /* No components present */
1823 SimpleChoice_PR_a,
1824 SimpleChoice_PR_b,
1825} SimpleChoice_PR;
1826
1827/*** <<< TYPE-DECLS [SimpleChoice] >>> ***/
1828
1829typedef struct SimpleChoice {
1830 SimpleChoice_PR present;
1831 union SimpleChoice_u {
1832 NULL_t a;
1833 INTEGER_t b;
1834 } choice;
1835
1836 /* Context for parsing across buffer boundaries */
1837 asn_struct_ctx_t _asn_ctx;
1838} SimpleChoice_t;
1839
1840/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/
1841
1842extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice;
1843
1844/*** <<< STAT-DEFS [SimpleChoice] >>> ***/
1845
1846static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
1847 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a),
1848 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1849 .tag_mode = -1, /* IMPLICIT tag at current level */
1850 .type = &asn_DEF_NULL,
1851 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001852 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1853 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001854 .name = "a"
1855 },
1856 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.b),
1857 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1858 .tag_mode = -1, /* IMPLICIT tag at current level */
1859 .type = &asn_DEF_INTEGER,
1860 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001861 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1862 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001863 .name = "b"
1864 },
1865};
Lev Walkin59b176e2005-11-26 11:25:14 +00001866static asn_TYPE_tag2member_t asn_MAP_SimpleChoice_tag2el_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001867 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 79 */
1868 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b at 79 */
1869};
Lev Walkin59b176e2005-11-26 11:25:14 +00001870static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001871 sizeof(struct SimpleChoice),
1872 offsetof(struct SimpleChoice, _asn_ctx),
1873 offsetof(struct SimpleChoice, present),
1874 sizeof(((struct SimpleChoice *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +00001875 asn_MAP_SimpleChoice_tag2el_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001876 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001877 .canonical_order = 0,
1878 .ext_start = -1 /* Extensions start */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001879};
1880asn_TYPE_descriptor_t asn_DEF_SimpleChoice = {
1881 "SimpleChoice",
1882 "SimpleChoice",
1883 CHOICE_free,
1884 CHOICE_print,
1885 CHOICE_constraint,
1886 CHOICE_decode_ber,
1887 CHOICE_encode_der,
1888 CHOICE_decode_xer,
1889 CHOICE_encode_xer,
Lev Walkin59b176e2005-11-26 11:25:14 +00001890 0, /* No PER decoder, -gen-PER to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001891 CHOICE_outmost_tag,
1892 0, /* No effective tags (pointer) */
1893 0, /* No effective tags (count) */
1894 0, /* No tags (pointer) */
1895 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +00001896 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001897 asn_MBR_SimpleChoice_1,
1898 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001899 &asn_SPC_SimpleChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001900};
1901