blob: 4d29ae0208171c4b877de623901244ca2af107a4 [file] [log] [blame]
Lev Walkin0ef9f142005-02-14 20:40:57 +00001
2/*** <<< INCLUDES [PDU] >>> ***/
3
Lev Walkin22b5ed42006-09-13 02:51:20 +00004#include "Sequence.h"
5#include "Set.h"
6#include "SequenceOf.h"
7#include "ExtensibleSet.h"
8#include "ExtensibleSequence.h"
9#include "ExtensibleSequence2.h"
10#include "SetOfNULL.h"
11#include "SetOfREAL.h"
12#include "SetOfEnums.h"
13#include "NamedSetOfNULL.h"
14#include "NamedSetOfREAL.h"
15#include "NamedSetOfEnums.h"
16#include "SeqOfZuka.h"
17#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 Walkin9f5bb3a2006-08-18 01:46:46 +000041
Lev Walkin0ef9f142005-02-14 20:40:57 +000042} PDU_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +000043
44/*** <<< TYPE-DECLS [PDU] >>> ***/
45
Lev Walkin0ef9f142005-02-14 20:40:57 +000046typedef struct PDU {
47 PDU_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +000048 union PDU_u {
Lev Walkin0ef9f142005-02-14 20:40:57 +000049 Sequence_t sequence;
50 Set_t set;
Lev Walkin843a2462005-02-18 16:30:26 +000051 SequenceOf_t sequenceOf;
52 ExtensibleSet_t extensibleSet;
53 ExtensibleSequence_t extensibleSequence;
Lev Walkin15750402005-07-03 05:27:19 +000054 ExtensibleSequence2_t extensibleSequence2;
Lev Walkinf5db6142005-02-24 22:38:43 +000055 SetOfNULL_t setOfNULL;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000056 SetOfREAL_t setOfREAL;
Lev Walkinf5db6142005-02-24 22:38:43 +000057 SetOfEnums_t setOfEnums;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000058 NamedSetOfNULL_t namedSetOfNULL;
59 NamedSetOfREAL_t namedSetOfREAL;
60 NamedSetOfEnums_t namedSetOfEnums;
Lev Walkinf5db6142005-02-24 22:38:43 +000061 SeqOfZuka_t seqOfZuka;
Lev Walkin5ab96cd2005-11-07 15:26:47 +000062 SetOfChoice_t setOfChoice;
63 NamedSetOfChoice_t namedSetOfChoice;
Lev Walkin843a2462005-02-18 16:30:26 +000064 /*
65 * This type is extensible,
66 * possible extensions are below.
67 */
Lev Walkin0ef9f142005-02-14 20:40:57 +000068 } choice;
69
70 /* Context for parsing across buffer boundaries */
71 asn_struct_ctx_t _asn_ctx;
72} PDU_t;
73
Lev Walkinc8285712005-03-04 22:18:20 +000074/*** <<< FUNC-DECLS [PDU] >>> ***/
75
76extern asn_TYPE_descriptor_t asn_DEF_PDU;
77
Lev Walkin0ef9f142005-02-14 20:40:57 +000078/*** <<< STAT-DEFS [PDU] >>> ***/
79
Lev Walkine0272aa2005-03-04 11:26:08 +000080static asn_TYPE_member_t asn_MBR_PDU_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +000081 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequence),
82 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
83 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000084 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +000085 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000086 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
87 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +000088 .name = "sequence"
89 },
90 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set),
91 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
92 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000093 .type = &asn_DEF_Set,
Lev Walkin0ef9f142005-02-14 20:40:57 +000094 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000095 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
96 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +000097 .name = "set"
98 },
Lev Walkin843a2462005-02-18 16:30:26 +000099 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000100 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin0ef9f142005-02-14 20:40:57 +0000101 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000102 .type = &asn_DEF_SequenceOf,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000103 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000104 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
105 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000106 .name = "sequenceOf"
107 },
108 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000109 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000110 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000111 .type = &asn_DEF_ExtensibleSet,
Lev Walkin843a2462005-02-18 16:30:26 +0000112 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000113 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
114 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000115 .name = "extensibleSet"
116 },
117 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000118 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
Lev Walkin843a2462005-02-18 16:30:26 +0000119 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000120 .type = &asn_DEF_ExtensibleSequence,
Lev Walkin843a2462005-02-18 16:30:26 +0000121 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000122 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
123 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000124 .name = "extensibleSequence"
Lev Walkin0ef9f142005-02-14 20:40:57 +0000125 },
Lev Walkin15750402005-07-03 05:27:19 +0000126 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000127 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000128 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000129 .type = &asn_DEF_ExtensibleSequence2,
Lev Walkin15750402005-07-03 05:27:19 +0000130 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000131 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
132 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000133 .name = "extensibleSequence2"
134 },
135 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL),
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000136 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
Lev Walkin15750402005-07-03 05:27:19 +0000137 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000138 .type = &asn_DEF_SetOfNULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000139 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000140 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
141 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000142 .name = "setOfNULL"
143 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000144 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfREAL),
145 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
146 .tag_mode = -1, /* IMPLICIT tag at current level */
147 .type = &asn_DEF_SetOfREAL,
148 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000149 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
150 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000151 .name = "setOfREAL"
152 },
Lev Walkinf5db6142005-02-24 22:38:43 +0000153 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums),
Lev Walkin15750402005-07-03 05:27:19 +0000154 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000155 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000156 .type = &asn_DEF_SetOfEnums,
Lev Walkinf5db6142005-02-24 22:38:43 +0000157 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000158 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
159 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000160 .name = "setOfEnums"
161 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000162 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfNULL),
Lev Walkin15750402005-07-03 05:27:19 +0000163 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
Lev Walkinf5db6142005-02-24 22:38:43 +0000164 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000165 .type = &asn_DEF_NamedSetOfNULL,
166 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000167 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
168 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000169 .name = "namedSetOfNULL"
170 },
171 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfREAL),
172 .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
173 .tag_mode = -1, /* IMPLICIT tag at current level */
174 .type = &asn_DEF_NamedSetOfREAL,
175 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000176 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
177 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000178 .name = "namedSetOfREAL"
179 },
180 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfEnums),
181 .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
182 .tag_mode = -1, /* IMPLICIT tag at current level */
183 .type = &asn_DEF_NamedSetOfEnums,
184 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000185 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
186 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000187 .name = "namedSetOfEnums"
188 },
189 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka),
190 .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
191 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000192 .type = &asn_DEF_SeqOfZuka,
Lev Walkinf5db6142005-02-24 22:38:43 +0000193 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000194 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
195 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000196 .name = "seqOfZuka"
197 },
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000198 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfChoice),
199 .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
200 .tag_mode = -1, /* IMPLICIT tag at current level */
201 .type = &asn_DEF_SetOfChoice,
202 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000203 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
204 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000205 .name = "setOfChoice"
206 },
207 { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfChoice),
208 .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
209 .tag_mode = -1, /* IMPLICIT tag at current level */
210 .type = &asn_DEF_NamedSetOfChoice,
211 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000212 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
213 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000214 .name = "namedSetOfChoice"
215 },
Lev Walkin0ef9f142005-02-14 20:40:57 +0000216};
Lev Walkina7591b52014-10-12 18:37:35 -0700217static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700218 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence */
219 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */
220 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceOf */
221 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extensibleSet */
222 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSequence */
223 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence2 */
224 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL */
225 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfREAL */
226 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums */
227 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* namedSetOfNULL */
228 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* namedSetOfREAL */
229 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* namedSetOfEnums */
230 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* seqOfZuka */
231 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* setOfChoice */
232 { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* namedSetOfChoice */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000233};
Lev Walkin59b176e2005-11-26 11:25:14 +0000234static asn_CHOICE_specifics_t asn_SPC_PDU_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000235 sizeof(struct PDU),
236 offsetof(struct PDU, _asn_ctx),
237 offsetof(struct PDU, present),
238 sizeof(((struct PDU *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000239 asn_MAP_PDU_tag2el_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000240 15, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000241 .canonical_order = 0,
242 .ext_start = 15 /* Extensions start */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000243};
244asn_TYPE_descriptor_t asn_DEF_PDU = {
245 "PDU",
246 "PDU",
247 CHOICE_free,
248 CHOICE_print,
249 CHOICE_constraint,
250 CHOICE_decode_ber,
251 CHOICE_encode_der,
252 CHOICE_decode_xer,
253 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000254 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000255 CHOICE_outmost_tag,
256 0, /* No effective tags (pointer) */
257 0, /* No effective tags (count) */
258 0, /* No tags (pointer) */
259 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000260 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000261 asn_MBR_PDU_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000262 15, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000263 &asn_SPC_PDU_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000264};
265
266
267/*** <<< INCLUDES [Sequence] >>> ***/
268
269#include <INTEGER.h>
Lev Walkin0ef9f142005-02-14 20:40:57 +0000270#include <BIT_STRING.h>
271#include <UTF8String.h>
272#include <constr_SEQUENCE.h>
273
Lev Walkinc8285712005-03-04 22:18:20 +0000274/*** <<< FWD-DECLS [Sequence] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +0000275
Lev Walkinbf56d542005-03-04 23:50:56 +0000276struct Sequence;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000277
278/*** <<< TYPE-DECLS [Sequence] >>> ***/
279
Lev Walkin0ef9f142005-02-14 20:40:57 +0000280typedef struct Sequence {
281 INTEGER_t integer;
282 struct Sequence *sequence /* OPTIONAL */;
283 BIT_STRING_t *bits /* OPTIONAL */;
284 UTF8String_t string;
285
286 /* Context for parsing across buffer boundaries */
287 asn_struct_ctx_t _asn_ctx;
288} Sequence_t;
289
Lev Walkinc8285712005-03-04 22:18:20 +0000290/*** <<< FUNC-DECLS [Sequence] >>> ***/
291
292extern asn_TYPE_descriptor_t asn_DEF_Sequence;
293
294/*** <<< POST-INCLUDE [Sequence] >>> ***/
295
Lev Walkin22b5ed42006-09-13 02:51:20 +0000296#include "Sequence.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000297
Lev Walkin0ef9f142005-02-14 20:40:57 +0000298/*** <<< STAT-DEFS [Sequence] >>> ***/
299
Lev Walkine0272aa2005-03-04 11:26:08 +0000300static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000301 { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
302 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
303 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000304 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000305 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000306 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
307 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000308 .name = "integer"
309 },
310 { ATF_POINTER, 2, offsetof(struct Sequence, sequence),
311 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
312 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000313 .type = &asn_DEF_Sequence,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000314 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000315 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
316 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000317 .name = "sequence"
318 },
319 { ATF_POINTER, 1, offsetof(struct Sequence, bits),
320 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
321 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000322 .type = &asn_DEF_BIT_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000323 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000324 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
325 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000326 .name = "bits"
327 },
328 { ATF_NOFLAGS, 0, offsetof(struct Sequence, string),
329 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
330 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000331 .type = &asn_DEF_UTF8String,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000332 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000333 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
334 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000335 .name = "string"
336 },
337};
Lev Walkina7591b52014-10-12 18:37:35 -0700338static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000339 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
340};
Lev Walkina7591b52014-10-12 18:37:35 -0700341static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700342 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer */
343 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence */
344 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits */
345 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000346};
Lev Walkin59b176e2005-11-26 11:25:14 +0000347static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000348 sizeof(struct Sequence),
349 offsetof(struct Sequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000350 asn_MAP_Sequence_tag2el_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000351 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000352 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000353 -1, /* Start extensions */
354 -1 /* Stop extensions */
355};
356asn_TYPE_descriptor_t asn_DEF_Sequence = {
357 "Sequence",
358 "Sequence",
359 SEQUENCE_free,
360 SEQUENCE_print,
361 SEQUENCE_constraint,
362 SEQUENCE_decode_ber,
363 SEQUENCE_encode_der,
364 SEQUENCE_decode_xer,
365 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000366 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000367 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000368 asn_DEF_Sequence_tags_1,
369 sizeof(asn_DEF_Sequence_tags_1)
370 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
371 asn_DEF_Sequence_tags_1, /* Same as above */
372 sizeof(asn_DEF_Sequence_tags_1)
373 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
374 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000375 asn_MBR_Sequence_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000376 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000377 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000378};
379
380
381/*** <<< INCLUDES [Set] >>> ***/
382
383#include <RELATIVE-OID.h>
384#include <OCTET_STRING.h>
385#include <constr_SET.h>
386
387/*** <<< DEPS [Set] >>> ***/
388
389
390/*
391 * Method of determining the components presence
392 */
393typedef enum Set_PR {
394 Set_PR_roid, /* Member roid is present */
395 Set_PR_opaque, /* Member opaque is present */
396} Set_PR;
Lev Walkin0ef9f142005-02-14 20:40:57 +0000397
398/*** <<< TYPE-DECLS [Set] >>> ***/
399
Lev Walkin0ef9f142005-02-14 20:40:57 +0000400typedef struct Set {
401 RELATIVE_OID_t roid;
402 OCTET_STRING_t *opaque /* OPTIONAL */;
403
404 /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */
405 unsigned int _presence_map
406 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
407
408 /* Context for parsing across buffer boundaries */
409 asn_struct_ctx_t _asn_ctx;
410} Set_t;
411
Lev Walkinc8285712005-03-04 22:18:20 +0000412/*** <<< FUNC-DECLS [Set] >>> ***/
413
414extern asn_TYPE_descriptor_t asn_DEF_Set;
415
Lev Walkin0ef9f142005-02-14 20:40:57 +0000416/*** <<< STAT-DEFS [Set] >>> ***/
417
Lev Walkine0272aa2005-03-04 11:26:08 +0000418static asn_TYPE_member_t asn_MBR_Set_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000419 { ATF_NOFLAGS, 0, offsetof(struct Set, roid),
420 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
421 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000422 .type = &asn_DEF_RELATIVE_OID,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000423 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000424 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
425 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000426 .name = "roid"
427 },
428 { ATF_POINTER, 1, offsetof(struct Set, opaque),
429 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
430 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000431 .type = &asn_DEF_OCTET_STRING,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000432 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000433 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
434 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000435 .name = "opaque"
436 },
437};
Lev Walkina7591b52014-10-12 18:37:35 -0700438static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000439 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
440};
Lev Walkina7591b52014-10-12 18:37:35 -0700441static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700442 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid */
443 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000444};
Lev Walkina7591b52014-10-12 18:37:35 -0700445static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000446 (1 << 7) | (0 << 6)
447};
Lev Walkin59b176e2005-11-26 11:25:14 +0000448static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkin0ef9f142005-02-14 20:40:57 +0000449 sizeof(struct Set),
450 offsetof(struct Set, _asn_ctx),
451 offsetof(struct Set, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000452 asn_MAP_Set_tag2el_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000453 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000454 asn_MAP_Set_tag2el_1, /* Same as above */
Lev Walkinf5db6142005-02-24 22:38:43 +0000455 2, /* Count of tags in the CXER map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000456 0, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +0000457 (unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000458};
459asn_TYPE_descriptor_t asn_DEF_Set = {
460 "Set",
461 "Set",
462 SET_free,
463 SET_print,
464 SET_constraint,
465 SET_decode_ber,
466 SET_encode_der,
467 SET_decode_xer,
468 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000469 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000470 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000471 asn_DEF_Set_tags_1,
472 sizeof(asn_DEF_Set_tags_1)
473 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
474 asn_DEF_Set_tags_1, /* Same as above */
475 sizeof(asn_DEF_Set_tags_1)
476 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
477 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000478 asn_MBR_Set_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +0000479 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000480 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +0000481};
482
483
Lev Walkin843a2462005-02-18 16:30:26 +0000484/*** <<< INCLUDES [ExtensibleSet] >>> ***/
485
486#include <UTF8String.h>
Lev Walkinc92a7462005-03-10 11:20:47 +0000487#include <ENUMERATED.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000488#include <constr_SET.h>
489
490/*** <<< DEPS [ExtensibleSet] >>> ***/
491
492
493/*
494 * Method of determining the components presence
495 */
496typedef enum ExtensibleSet_PR {
497 ExtensibleSet_PR_string, /* Member string is present */
Lev Walkinc92a7462005-03-10 11:20:47 +0000498 ExtensibleSet_PR_enum, /* Member enum is present */
Lev Walkin843a2462005-02-18 16:30:26 +0000499} ExtensibleSet_PR;
Lev Walkinc92a7462005-03-10 11:20:47 +0000500typedef enum Enum {
501 enum_b = 0,
502 enum_a = 1
Lev Walkin171487e2006-03-21 07:25:18 +0000503} e_enum;
Lev Walkin843a2462005-02-18 16:30:26 +0000504
505/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
506
Lev Walkin843a2462005-02-18 16:30:26 +0000507typedef struct ExtensibleSet {
508 UTF8String_t *string /* OPTIONAL */;
509 /*
510 * This type is extensible,
511 * possible extensions are below.
512 */
Lev Walkinc92a7462005-03-10 11:20:47 +0000513 ENUMERATED_t *Enum;
Lev Walkin843a2462005-02-18 16:30:26 +0000514
515 /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */
516 unsigned int _presence_map
Lev Walkinc92a7462005-03-10 11:20:47 +0000517 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkin843a2462005-02-18 16:30:26 +0000518
519 /* Context for parsing across buffer boundaries */
520 asn_struct_ctx_t _asn_ctx;
521} ExtensibleSet_t;
522
Lev Walkinc8285712005-03-04 22:18:20 +0000523/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/
524
Lev Walkinc92a7462005-03-10 11:20:47 +0000525/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000526extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
527
Lev Walkinc92a7462005-03-10 11:20:47 +0000528/*** <<< CODE [ExtensibleSet] >>> ***/
529
530static int
531enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000532 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000533 /* Replace with underlying type checker */
534 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000535 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinc92a7462005-03-10 11:20:47 +0000536}
537
538/*
539 * This type is implemented using ENUMERATED,
540 * so here we adjust the DEF accordingly.
541 */
542static void
543enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
544 td->free_struct = asn_DEF_ENUMERATED.free_struct;
545 td->print_struct = asn_DEF_ENUMERATED.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800546 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkinc92a7462005-03-10 11:20:47 +0000547 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
548 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
549 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
550 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000551 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000552 td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000553 if(!td->per_constraints)
554 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkinc92a7462005-03-10 11:20:47 +0000555 td->elements = asn_DEF_ENUMERATED.elements;
556 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000557 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinc92a7462005-03-10 11:20:47 +0000558}
559
560static void
561enum_4_free(asn_TYPE_descriptor_t *td,
562 void *struct_ptr, int contents_only) {
563 enum_4_inherit_TYPE_descriptor(td);
564 td->free_struct(td, struct_ptr, contents_only);
565}
566
567static int
568enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
569 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
570 enum_4_inherit_TYPE_descriptor(td);
571 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
572}
573
574static asn_dec_rval_t
575enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000576 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000577 enum_4_inherit_TYPE_descriptor(td);
578 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
579}
580
581static asn_enc_rval_t
582enum_4_encode_der(asn_TYPE_descriptor_t *td,
583 void *structure, int tag_mode, ber_tlv_tag_t tag,
584 asn_app_consume_bytes_f *cb, void *app_key) {
585 enum_4_inherit_TYPE_descriptor(td);
586 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
587}
588
589static asn_dec_rval_t
590enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000591 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkinc92a7462005-03-10 11:20:47 +0000592 enum_4_inherit_TYPE_descriptor(td);
593 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
594}
595
596static asn_enc_rval_t
597enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
598 int ilevel, enum xer_encoder_flags_e flags,
599 asn_app_consume_bytes_f *cb, void *app_key) {
600 enum_4_inherit_TYPE_descriptor(td);
601 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
602}
603
604
Lev Walkin843a2462005-02-18 16:30:26 +0000605/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
606
Lev Walkina7591b52014-10-12 18:37:35 -0700607static const asn_INTEGER_enum_map_t asn_MAP_enum_value2enum_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000608 { 0, 1, "b" },
609 { 1, 1, "a" }
610};
Lev Walkina7591b52014-10-12 18:37:35 -0700611static const unsigned int asn_MAP_enum_enum2value_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000612 1, /* a(1) */
613 0 /* b(0) */
614};
Lev Walkina7591b52014-10-12 18:37:35 -0700615static const asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000616 asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */
617 asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */
Lev Walkinc92a7462005-03-10 11:20:47 +0000618 2, /* Number of elements in the maps */
619 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000620 1, /* Strict enumeration */
621 0, /* Native long size */
622 0
Lev Walkinc92a7462005-03-10 11:20:47 +0000623};
Lev Walkina7591b52014-10-12 18:37:35 -0700624static const ber_tlv_tag_t asn_DEF_enum_tags_4[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000625 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
626 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
627};
628static /* Use -fall-defs-global to expose */
629asn_TYPE_descriptor_t asn_DEF_enum_4 = {
630 "enum",
631 "enum",
632 enum_4_free,
633 enum_4_print,
634 enum_4_constraint,
635 enum_4_decode_ber,
636 enum_4_encode_der,
637 enum_4_decode_xer,
638 enum_4_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000639 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc92a7462005-03-10 11:20:47 +0000640 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000641 asn_DEF_enum_tags_4,
642 sizeof(asn_DEF_enum_tags_4)
643 /sizeof(asn_DEF_enum_tags_4[0]) - 1, /* 1 */
644 asn_DEF_enum_tags_4, /* Same as above */
645 sizeof(asn_DEF_enum_tags_4)
646 /sizeof(asn_DEF_enum_tags_4[0]), /* 2 */
647 0, /* No PER visible constraints */
Lev Walkinc92a7462005-03-10 11:20:47 +0000648 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000649 &asn_SPC_enum_specs_4 /* Additional specs */
Lev Walkinc92a7462005-03-10 11:20:47 +0000650};
651
Lev Walkine0272aa2005-03-04 11:26:08 +0000652static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000653 { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000654 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
655 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000656 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000657 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000658 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
659 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000660 .name = "string"
661 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000662 { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum),
Lev Walkinc92a7462005-03-10 11:20:47 +0000663 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
664 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000665 .type = &asn_DEF_enum_4,
Lev Walkinc92a7462005-03-10 11:20:47 +0000666 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000667 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
668 .default_value = 0,
Lev Walkinc92a7462005-03-10 11:20:47 +0000669 .name = "enum"
670 },
Lev Walkin843a2462005-02-18 16:30:26 +0000671};
Lev Walkina7591b52014-10-12 18:37:35 -0700672static const ber_tlv_tag_t asn_DEF_ExtensibleSet_tags_1[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000673 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
674};
Lev Walkina7591b52014-10-12 18:37:35 -0700675static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700676 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */
677 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum */
Lev Walkin843a2462005-02-18 16:30:26 +0000678};
Lev Walkina7591b52014-10-12 18:37:35 -0700679static const uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkinc92a7462005-03-10 11:20:47 +0000680 (0 << 7) | (0 << 6)
Lev Walkin843a2462005-02-18 16:30:26 +0000681};
Lev Walkin59b176e2005-11-26 11:25:14 +0000682static asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +0000683 sizeof(struct ExtensibleSet),
684 offsetof(struct ExtensibleSet, _asn_ctx),
685 offsetof(struct ExtensibleSet, _presence_map),
Lev Walkin59b176e2005-11-26 11:25:14 +0000686 asn_MAP_ExtensibleSet_tag2el_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000687 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000688 asn_MAP_ExtensibleSet_tag2el_1, /* Same as above */
Lev Walkinc92a7462005-03-10 11:20:47 +0000689 2, /* Count of tags in the CXER map */
Lev Walkin843a2462005-02-18 16:30:26 +0000690 1, /* Whether extensible */
Lev Walkin59b176e2005-11-26 11:25:14 +0000691 (unsigned int *)asn_MAP_ExtensibleSet_mmap_1 /* Mandatory elements map */
Lev Walkin843a2462005-02-18 16:30:26 +0000692};
693asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = {
694 "ExtensibleSet",
695 "ExtensibleSet",
696 SET_free,
697 SET_print,
698 SET_constraint,
699 SET_decode_ber,
700 SET_encode_der,
701 SET_decode_xer,
702 SET_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000703 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin843a2462005-02-18 16:30:26 +0000704 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000705 asn_DEF_ExtensibleSet_tags_1,
706 sizeof(asn_DEF_ExtensibleSet_tags_1)
707 /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */
708 asn_DEF_ExtensibleSet_tags_1, /* Same as above */
709 sizeof(asn_DEF_ExtensibleSet_tags_1)
710 /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */
711 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000712 asn_MBR_ExtensibleSet_1,
Lev Walkinc92a7462005-03-10 11:20:47 +0000713 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000714 &asn_SPC_ExtensibleSet_specs_1 /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000715};
716
717
718/*** <<< INCLUDES [ExtensibleSequence] >>> ***/
719
720#include <UTF8String.h>
721#include <INTEGER.h>
Lev Walkin15750402005-07-03 05:27:19 +0000722#include <GeneralizedTime.h>
Lev Walkin843a2462005-02-18 16:30:26 +0000723#include <constr_SEQUENCE.h>
724
Lev Walkin843a2462005-02-18 16:30:26 +0000725/*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/
726
Lev Walkin843a2462005-02-18 16:30:26 +0000727typedef struct ExtensibleSequence {
728 UTF8String_t *string /* OPTIONAL */;
729 /*
730 * This type is extensible,
731 * possible extensions are below.
732 */
733 INTEGER_t *integer /* OPTIONAL */;
Lev Walkin15750402005-07-03 05:27:19 +0000734 GeneralizedTime_t *gtime;
Lev Walkin843a2462005-02-18 16:30:26 +0000735
736 /* Context for parsing across buffer boundaries */
737 asn_struct_ctx_t _asn_ctx;
738} ExtensibleSequence_t;
739
Lev Walkinc8285712005-03-04 22:18:20 +0000740/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
741
742extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
743
Lev Walkin843a2462005-02-18 16:30:26 +0000744/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
745
Lev Walkine0272aa2005-03-04 11:26:08 +0000746static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000747 { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
Lev Walkin843a2462005-02-18 16:30:26 +0000748 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
749 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000750 .type = &asn_DEF_UTF8String,
Lev Walkin843a2462005-02-18 16:30:26 +0000751 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000752 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
753 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000754 .name = "string"
755 },
Lev Walkin15750402005-07-03 05:27:19 +0000756 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer),
Lev Walkin843a2462005-02-18 16:30:26 +0000757 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
758 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000759 .type = &asn_DEF_INTEGER,
Lev Walkin843a2462005-02-18 16:30:26 +0000760 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000761 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
762 .default_value = 0,
Lev Walkin843a2462005-02-18 16:30:26 +0000763 .name = "integer"
764 },
Lev Walkinb85a8132005-08-18 13:38:19 +0000765 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime),
Lev Walkin15750402005-07-03 05:27:19 +0000766 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
767 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000768 .type = &asn_DEF_GeneralizedTime,
Lev Walkin15750402005-07-03 05:27:19 +0000769 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000770 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
771 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000772 .name = "gtime"
773 },
Lev Walkin843a2462005-02-18 16:30:26 +0000774};
Lev Walkina7591b52014-10-12 18:37:35 -0700775static const ber_tlv_tag_t asn_DEF_ExtensibleSequence_tags_1[] = {
Lev Walkin843a2462005-02-18 16:30:26 +0000776 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
777};
Lev Walkina7591b52014-10-12 18:37:35 -0700778static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700779 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */
780 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer */
781 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime */
Lev Walkin843a2462005-02-18 16:30:26 +0000782};
Lev Walkin59b176e2005-11-26 11:25:14 +0000783static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +0000784 sizeof(struct ExtensibleSequence),
785 offsetof(struct ExtensibleSequence, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000786 asn_MAP_ExtensibleSequence_tag2el_1,
Lev Walkin15750402005-07-03 05:27:19 +0000787 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000788 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin843a2462005-02-18 16:30:26 +0000789 0, /* Start extensions */
Lev Walkin15750402005-07-03 05:27:19 +0000790 4 /* Stop extensions */
Lev Walkin843a2462005-02-18 16:30:26 +0000791};
792asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = {
793 "ExtensibleSequence",
794 "ExtensibleSequence",
795 SEQUENCE_free,
796 SEQUENCE_print,
797 SEQUENCE_constraint,
798 SEQUENCE_decode_ber,
799 SEQUENCE_encode_der,
800 SEQUENCE_decode_xer,
801 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000802 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin843a2462005-02-18 16:30:26 +0000803 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000804 asn_DEF_ExtensibleSequence_tags_1,
805 sizeof(asn_DEF_ExtensibleSequence_tags_1)
806 /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */
807 asn_DEF_ExtensibleSequence_tags_1, /* Same as above */
808 sizeof(asn_DEF_ExtensibleSequence_tags_1)
809 /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */
810 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000811 asn_MBR_ExtensibleSequence_1,
Lev Walkin15750402005-07-03 05:27:19 +0000812 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000813 &asn_SPC_ExtensibleSequence_specs_1 /* Additional specs */
Lev Walkin843a2462005-02-18 16:30:26 +0000814};
815
816
Lev Walkin15750402005-07-03 05:27:19 +0000817/*** <<< INCLUDES [ExtensibleSequence2] >>> ***/
818
819#include <UTF8String.h>
820#include <INTEGER.h>
821#include <constr_SEQUENCE.h>
822
823/*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/
824
825typedef struct ExtensibleSequence2 {
826 UTF8String_t *string /* OPTIONAL */;
827 /*
828 * This type is extensible,
829 * possible extensions are below.
830 */
831 INTEGER_t *integer /* OPTIONAL */;
832
833 /* Context for parsing across buffer boundaries */
834 asn_struct_ctx_t _asn_ctx;
835} ExtensibleSequence2_t;
836
837/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
838
839extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
840
841/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
842
843static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
844 { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
845 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
846 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000847 .type = &asn_DEF_UTF8String,
Lev Walkin15750402005-07-03 05:27:19 +0000848 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000849 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
850 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000851 .name = "string"
852 },
853 { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer),
854 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
855 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000856 .type = &asn_DEF_INTEGER,
Lev Walkin15750402005-07-03 05:27:19 +0000857 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000858 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
859 .default_value = 0,
Lev Walkin15750402005-07-03 05:27:19 +0000860 .name = "integer"
861 },
862};
Lev Walkina7591b52014-10-12 18:37:35 -0700863static const ber_tlv_tag_t asn_DEF_ExtensibleSequence2_tags_1[] = {
Lev Walkin15750402005-07-03 05:27:19 +0000864 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
865};
Lev Walkina7591b52014-10-12 18:37:35 -0700866static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700867 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */
868 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer */
Lev Walkin15750402005-07-03 05:27:19 +0000869};
Lev Walkin59b176e2005-11-26 11:25:14 +0000870static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
Lev Walkin15750402005-07-03 05:27:19 +0000871 sizeof(struct ExtensibleSequence2),
872 offsetof(struct ExtensibleSequence2, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000873 asn_MAP_ExtensibleSequence2_tag2el_1,
Lev Walkin15750402005-07-03 05:27:19 +0000874 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000875 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin15750402005-07-03 05:27:19 +0000876 0, /* Start extensions */
877 3 /* Stop extensions */
878};
879asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = {
880 "ExtensibleSequence2",
881 "ExtensibleSequence2",
882 SEQUENCE_free,
883 SEQUENCE_print,
884 SEQUENCE_constraint,
885 SEQUENCE_decode_ber,
886 SEQUENCE_encode_der,
887 SEQUENCE_decode_xer,
888 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000889 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin15750402005-07-03 05:27:19 +0000890 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000891 asn_DEF_ExtensibleSequence2_tags_1,
892 sizeof(asn_DEF_ExtensibleSequence2_tags_1)
893 /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */
894 asn_DEF_ExtensibleSequence2_tags_1, /* Same as above */
895 sizeof(asn_DEF_ExtensibleSequence2_tags_1)
896 /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */
897 0, /* No PER visible constraints */
Lev Walkin15750402005-07-03 05:27:19 +0000898 asn_MBR_ExtensibleSequence2_1,
899 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000900 &asn_SPC_ExtensibleSequence2_specs_1 /* Additional specs */
Lev Walkin15750402005-07-03 05:27:19 +0000901};
902
903
Lev Walkinf5db6142005-02-24 22:38:43 +0000904/*** <<< INCLUDES [SetOfNULL] >>> ***/
905
906#include <NULL.h>
907#include <asn_SET_OF.h>
908#include <constr_SET_OF.h>
909
Lev Walkinf5db6142005-02-24 22:38:43 +0000910/*** <<< TYPE-DECLS [SetOfNULL] >>> ***/
911
Lev Walkinf5db6142005-02-24 22:38:43 +0000912typedef struct SetOfNULL {
913 A_SET_OF(NULL_t) list;
914
915 /* Context for parsing across buffer boundaries */
916 asn_struct_ctx_t _asn_ctx;
917} SetOfNULL_t;
918
Lev Walkinc8285712005-03-04 22:18:20 +0000919/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
920
921extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
922
Lev Walkinf5db6142005-02-24 22:38:43 +0000923/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
924
Lev Walkine0272aa2005-03-04 11:26:08 +0000925static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000926 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000927 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
928 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000929 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +0000930 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000931 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
932 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +0000933 .name = ""
934 },
935};
Lev Walkina7591b52014-10-12 18:37:35 -0700936static const ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000937 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
938};
Lev Walkin59b176e2005-11-26 11:25:14 +0000939static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +0000940 sizeof(struct SetOfNULL),
941 offsetof(struct SetOfNULL, _asn_ctx),
942 1, /* XER encoding is XMLValueList */
943};
944asn_TYPE_descriptor_t asn_DEF_SetOfNULL = {
945 "SetOfNULL",
946 "SetOfNULL",
947 SET_OF_free,
948 SET_OF_print,
949 SET_OF_constraint,
950 SET_OF_decode_ber,
951 SET_OF_encode_der,
952 SET_OF_decode_xer,
953 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000954 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +0000955 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000956 asn_DEF_SetOfNULL_tags_1,
957 sizeof(asn_DEF_SetOfNULL_tags_1)
958 /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */
959 asn_DEF_SetOfNULL_tags_1, /* Same as above */
960 sizeof(asn_DEF_SetOfNULL_tags_1)
961 /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */
962 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000963 asn_MBR_SetOfNULL_1,
Lev Walkinf5db6142005-02-24 22:38:43 +0000964 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000965 &asn_SPC_SetOfNULL_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +0000966};
967
968
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000969/*** <<< INCLUDES [SetOfREAL] >>> ***/
970
971#include <REAL.h>
972#include <asn_SET_OF.h>
973#include <constr_SET_OF.h>
974
975/*** <<< TYPE-DECLS [SetOfREAL] >>> ***/
976
977typedef struct SetOfREAL {
978 A_SET_OF(REAL_t) list;
979
980 /* Context for parsing across buffer boundaries */
981 asn_struct_ctx_t _asn_ctx;
982} SetOfREAL_t;
983
984/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/
985
986extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL;
987
988/*** <<< STAT-DEFS [SetOfREAL] >>> ***/
989
990static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
991 { ATF_POINTER, 0, 0,
992 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
993 .tag_mode = 0,
994 .type = &asn_DEF_REAL,
995 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000996 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
997 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +0000998 .name = ""
999 },
1000};
Lev Walkina7591b52014-10-12 18:37:35 -07001001static const ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001002 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1003};
Lev Walkin59b176e2005-11-26 11:25:14 +00001004static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001005 sizeof(struct SetOfREAL),
1006 offsetof(struct SetOfREAL, _asn_ctx),
1007 0, /* XER encoding is XMLDelimitedItemList */
1008};
1009asn_TYPE_descriptor_t asn_DEF_SetOfREAL = {
1010 "SetOfREAL",
1011 "SetOfREAL",
1012 SET_OF_free,
1013 SET_OF_print,
1014 SET_OF_constraint,
1015 SET_OF_decode_ber,
1016 SET_OF_encode_der,
1017 SET_OF_decode_xer,
1018 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001019 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001020 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001021 asn_DEF_SetOfREAL_tags_1,
1022 sizeof(asn_DEF_SetOfREAL_tags_1)
1023 /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */
1024 asn_DEF_SetOfREAL_tags_1, /* Same as above */
1025 sizeof(asn_DEF_SetOfREAL_tags_1)
1026 /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */
1027 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001028 asn_MBR_SetOfREAL_1,
1029 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001030 &asn_SPC_SetOfREAL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001031};
1032
1033
Lev Walkinf5db6142005-02-24 22:38:43 +00001034/*** <<< INCLUDES [SetOfEnums] >>> ***/
1035
1036#include <ENUMERATED.h>
1037#include <asn_SET_OF.h>
1038#include <constr_SET_OF.h>
1039
1040/*** <<< DEPS [SetOfEnums] >>> ***/
1041
Lev Walkine0272aa2005-03-04 11:26:08 +00001042typedef enum Member {
1043 Member_one = 0,
1044 Member_oneMore = 1
Lev Walkin171487e2006-03-21 07:25:18 +00001045} e_Member;
Lev Walkinf5db6142005-02-24 22:38:43 +00001046
1047/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
1048
Lev Walkinf5db6142005-02-24 22:38:43 +00001049typedef struct SetOfEnums {
1050 A_SET_OF(ENUMERATED_t) list;
1051
1052 /* Context for parsing across buffer boundaries */
1053 asn_struct_ctx_t _asn_ctx;
1054} SetOfEnums_t;
1055
Lev Walkinb47df092005-02-25 08:35:54 +00001056/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/
1057
Lev Walkine0272aa2005-03-04 11:26:08 +00001058/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +00001059extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
Lev Walkinb47df092005-02-25 08:35:54 +00001060
1061/*** <<< CODE [SetOfEnums] >>> ***/
1062
1063static int
Lev Walkine0272aa2005-03-04 11:26:08 +00001064Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001065 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinb47df092005-02-25 08:35:54 +00001066 /* Replace with underlying type checker */
1067 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +00001068 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinb47df092005-02-25 08:35:54 +00001069}
1070
1071/*
1072 * This type is implemented using ENUMERATED,
1073 * so here we adjust the DEF accordingly.
1074 */
1075static void
Lev Walkine0272aa2005-03-04 11:26:08 +00001076Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkinb47df092005-02-25 08:35:54 +00001077 td->free_struct = asn_DEF_ENUMERATED.free_struct;
1078 td->print_struct = asn_DEF_ENUMERATED.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -08001079 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkinb47df092005-02-25 08:35:54 +00001080 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
1081 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
1082 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
1083 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001084 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001085 td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001086 if(!td->per_constraints)
1087 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkinb47df092005-02-25 08:35:54 +00001088 td->elements = asn_DEF_ENUMERATED.elements;
1089 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +00001090 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinb47df092005-02-25 08:35:54 +00001091}
1092
1093static void
Lev Walkine0272aa2005-03-04 11:26:08 +00001094Member_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001095 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001096 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001097 td->free_struct(td, struct_ptr, contents_only);
1098}
1099
1100static int
Lev Walkine0272aa2005-03-04 11:26:08 +00001101Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinb47df092005-02-25 08:35:54 +00001102 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001103 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001104 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1105}
1106
1107static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001108Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001109 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001110 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001111 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1112}
1113
1114static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001115Member_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinb47df092005-02-25 08:35:54 +00001116 void *structure, int tag_mode, ber_tlv_tag_t tag,
1117 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001118 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001119 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1120}
1121
1122static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001123Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +00001124 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001125 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001126 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1127}
1128
1129static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +00001130Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinb47df092005-02-25 08:35:54 +00001131 int ilevel, enum xer_encoder_flags_e flags,
1132 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +00001133 Member_2_inherit_TYPE_descriptor(td);
Lev Walkinb47df092005-02-25 08:35:54 +00001134 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1135}
1136
1137
Lev Walkinf5db6142005-02-24 22:38:43 +00001138/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
1139
Lev Walkina7591b52014-10-12 18:37:35 -07001140static const asn_INTEGER_enum_map_t asn_MAP_Member_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001141 { 0, 3, "one" },
1142 { 1, 7, "oneMore" }
1143};
Lev Walkina7591b52014-10-12 18:37:35 -07001144static const unsigned int asn_MAP_Member_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +00001145 0, /* one(0) */
1146 1 /* oneMore(1) */
Lev Walkinb47df092005-02-25 08:35:54 +00001147};
Lev Walkina7591b52014-10-12 18:37:35 -07001148static const asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001149 asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */
1150 asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinb47df092005-02-25 08:35:54 +00001151 2, /* Number of elements in the maps */
Lev Walkin295e2452005-02-25 11:47:59 +00001152 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +00001153 1, /* Strict enumeration */
1154 0, /* Native long size */
1155 0
Lev Walkinb47df092005-02-25 08:35:54 +00001156};
Lev Walkina7591b52014-10-12 18:37:35 -07001157static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
Lev Walkinb47df092005-02-25 08:35:54 +00001158 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1159};
1160static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +00001161asn_TYPE_descriptor_t asn_DEF_Member_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001162 "ENUMERATED",
1163 "ENUMERATED",
Lev Walkine0272aa2005-03-04 11:26:08 +00001164 Member_2_free,
1165 Member_2_print,
1166 Member_2_constraint,
1167 Member_2_decode_ber,
1168 Member_2_encode_der,
1169 Member_2_decode_xer,
1170 Member_2_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001171 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb47df092005-02-25 08:35:54 +00001172 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001173 asn_DEF_Member_tags_2,
1174 sizeof(asn_DEF_Member_tags_2)
1175 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
1176 asn_DEF_Member_tags_2, /* Same as above */
1177 sizeof(asn_DEF_Member_tags_2)
1178 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
1179 0, /* No PER visible constraints */
Lev Walkinb47df092005-02-25 08:35:54 +00001180 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +00001181 &asn_SPC_Member_specs_2 /* Additional specs */
Lev Walkinb47df092005-02-25 08:35:54 +00001182};
1183
Lev Walkine0272aa2005-03-04 11:26:08 +00001184static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001185 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001186 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1187 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001188 .type = &asn_DEF_Member_2,
Lev Walkinf5db6142005-02-24 22:38:43 +00001189 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001190 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1191 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001192 .name = ""
1193 },
1194};
Lev Walkina7591b52014-10-12 18:37:35 -07001195static const ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001196 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1197};
Lev Walkin59b176e2005-11-26 11:25:14 +00001198static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001199 sizeof(struct SetOfEnums),
1200 offsetof(struct SetOfEnums, _asn_ctx),
Lev Walkinb47df092005-02-25 08:35:54 +00001201 1, /* XER encoding is XMLValueList */
Lev Walkinf5db6142005-02-24 22:38:43 +00001202};
1203asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
1204 "SetOfEnums",
1205 "SetOfEnums",
1206 SET_OF_free,
1207 SET_OF_print,
1208 SET_OF_constraint,
1209 SET_OF_decode_ber,
1210 SET_OF_encode_der,
1211 SET_OF_decode_xer,
1212 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001213 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +00001214 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001215 asn_DEF_SetOfEnums_tags_1,
1216 sizeof(asn_DEF_SetOfEnums_tags_1)
1217 /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */
1218 asn_DEF_SetOfEnums_tags_1, /* Same as above */
1219 sizeof(asn_DEF_SetOfEnums_tags_1)
1220 /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */
1221 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001222 asn_MBR_SetOfEnums_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001223 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001224 &asn_SPC_SetOfEnums_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001225};
1226
1227
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001228/*** <<< INCLUDES [NamedSetOfNULL] >>> ***/
1229
1230#include <NULL.h>
1231#include <asn_SET_OF.h>
1232#include <constr_SET_OF.h>
1233
1234/*** <<< TYPE-DECLS [NamedSetOfNULL] >>> ***/
1235
1236typedef struct NamedSetOfNULL {
1237 A_SET_OF(NULL_t) list;
1238
1239 /* Context for parsing across buffer boundaries */
1240 asn_struct_ctx_t _asn_ctx;
1241} NamedSetOfNULL_t;
1242
1243/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/
1244
1245extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL;
1246
1247/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/
1248
1249static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
1250 { ATF_POINTER, 0, 0,
1251 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1252 .tag_mode = 0,
1253 .type = &asn_DEF_NULL,
1254 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001255 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1256 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001257 .name = "y"
1258 },
1259};
Lev Walkina7591b52014-10-12 18:37:35 -07001260static const ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001261 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1262};
Lev Walkin59b176e2005-11-26 11:25:14 +00001263static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001264 sizeof(struct NamedSetOfNULL),
1265 offsetof(struct NamedSetOfNULL, _asn_ctx),
1266 1, /* XER encoding is XMLValueList */
1267};
1268asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = {
1269 "NamedSetOfNULL",
1270 "NamedSetOfNULL",
1271 SET_OF_free,
1272 SET_OF_print,
1273 SET_OF_constraint,
1274 SET_OF_decode_ber,
1275 SET_OF_encode_der,
1276 SET_OF_decode_xer,
1277 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001278 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001279 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001280 asn_DEF_NamedSetOfNULL_tags_1,
1281 sizeof(asn_DEF_NamedSetOfNULL_tags_1)
1282 /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */
1283 asn_DEF_NamedSetOfNULL_tags_1, /* Same as above */
1284 sizeof(asn_DEF_NamedSetOfNULL_tags_1)
1285 /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */
1286 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001287 asn_MBR_NamedSetOfNULL_1,
1288 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001289 &asn_SPC_NamedSetOfNULL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001290};
1291
1292
1293/*** <<< INCLUDES [NamedSetOfREAL] >>> ***/
1294
1295#include <REAL.h>
1296#include <asn_SET_OF.h>
1297#include <constr_SET_OF.h>
1298
1299/*** <<< TYPE-DECLS [NamedSetOfREAL] >>> ***/
1300
1301typedef struct NamedSetOfREAL {
1302 A_SET_OF(REAL_t) list;
1303
1304 /* Context for parsing across buffer boundaries */
1305 asn_struct_ctx_t _asn_ctx;
1306} NamedSetOfREAL_t;
1307
1308/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/
1309
1310extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL;
1311
1312/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/
1313
1314static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
1315 { ATF_POINTER, 0, 0,
1316 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
1317 .tag_mode = 0,
1318 .type = &asn_DEF_REAL,
1319 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001320 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1321 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001322 .name = "name"
1323 },
1324};
Lev Walkina7591b52014-10-12 18:37:35 -07001325static const ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001326 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1327};
Lev Walkin59b176e2005-11-26 11:25:14 +00001328static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001329 sizeof(struct NamedSetOfREAL),
1330 offsetof(struct NamedSetOfREAL, _asn_ctx),
1331 0, /* XER encoding is XMLDelimitedItemList */
1332};
1333asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = {
1334 "NamedSetOfREAL",
1335 "NamedSetOfREAL",
1336 SET_OF_free,
1337 SET_OF_print,
1338 SET_OF_constraint,
1339 SET_OF_decode_ber,
1340 SET_OF_encode_der,
1341 SET_OF_decode_xer,
1342 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001343 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001344 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001345 asn_DEF_NamedSetOfREAL_tags_1,
1346 sizeof(asn_DEF_NamedSetOfREAL_tags_1)
1347 /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */
1348 asn_DEF_NamedSetOfREAL_tags_1, /* Same as above */
1349 sizeof(asn_DEF_NamedSetOfREAL_tags_1)
1350 /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */
1351 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001352 asn_MBR_NamedSetOfREAL_1,
1353 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001354 &asn_SPC_NamedSetOfREAL_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001355};
1356
1357
1358/*** <<< INCLUDES [NamedSetOfEnums] >>> ***/
1359
1360#include <ENUMERATED.h>
1361#include <asn_SET_OF.h>
1362#include <constr_SET_OF.h>
1363
1364/*** <<< DEPS [NamedSetOfEnums] >>> ***/
1365
1366typedef enum name {
1367 name_one = 0,
1368 name_oneMore = 1
Lev Walkin171487e2006-03-21 07:25:18 +00001369} e_name;
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001370
1371/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/
1372
1373typedef struct NamedSetOfEnums {
1374 A_SET_OF(ENUMERATED_t) list;
1375
1376 /* Context for parsing across buffer boundaries */
1377 asn_struct_ctx_t _asn_ctx;
1378} NamedSetOfEnums_t;
1379
1380/*** <<< FUNC-DECLS [NamedSetOfEnums] >>> ***/
1381
1382/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */
1383extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums;
1384
1385/*** <<< CODE [NamedSetOfEnums] >>> ***/
1386
1387static int
1388name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001389 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001390 /* Replace with underlying type checker */
1391 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +00001392 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001393}
1394
1395/*
1396 * This type is implemented using ENUMERATED,
1397 * so here we adjust the DEF accordingly.
1398 */
1399static void
1400name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1401 td->free_struct = asn_DEF_ENUMERATED.free_struct;
1402 td->print_struct = asn_DEF_ENUMERATED.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -08001403 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001404 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
1405 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
1406 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
1407 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001408 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001409 td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +00001410 if(!td->per_constraints)
1411 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001412 td->elements = asn_DEF_ENUMERATED.elements;
1413 td->elements_count = asn_DEF_ENUMERATED.elements_count;
1414 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
1415}
1416
1417static void
1418name_2_free(asn_TYPE_descriptor_t *td,
1419 void *struct_ptr, int contents_only) {
1420 name_2_inherit_TYPE_descriptor(td);
1421 td->free_struct(td, struct_ptr, contents_only);
1422}
1423
1424static int
1425name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1426 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1427 name_2_inherit_TYPE_descriptor(td);
1428 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1429}
1430
1431static asn_dec_rval_t
1432name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1433 void **structure, const void *bufptr, size_t size, int tag_mode) {
1434 name_2_inherit_TYPE_descriptor(td);
1435 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1436}
1437
1438static asn_enc_rval_t
1439name_2_encode_der(asn_TYPE_descriptor_t *td,
1440 void *structure, int tag_mode, ber_tlv_tag_t tag,
1441 asn_app_consume_bytes_f *cb, void *app_key) {
1442 name_2_inherit_TYPE_descriptor(td);
1443 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1444}
1445
1446static asn_dec_rval_t
1447name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1448 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1449 name_2_inherit_TYPE_descriptor(td);
1450 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1451}
1452
1453static asn_enc_rval_t
1454name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1455 int ilevel, enum xer_encoder_flags_e flags,
1456 asn_app_consume_bytes_f *cb, void *app_key) {
1457 name_2_inherit_TYPE_descriptor(td);
1458 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1459}
1460
1461
1462/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/
1463
Lev Walkina7591b52014-10-12 18:37:35 -07001464static const asn_INTEGER_enum_map_t asn_MAP_name_value2enum_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001465 { 0, 3, "one" },
1466 { 1, 7, "oneMore" }
1467};
Lev Walkina7591b52014-10-12 18:37:35 -07001468static const unsigned int asn_MAP_name_enum2value_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001469 0, /* one(0) */
1470 1 /* oneMore(1) */
1471};
Lev Walkina7591b52014-10-12 18:37:35 -07001472static const asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001473 asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */
1474 asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001475 2, /* Number of elements in the maps */
1476 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +00001477 1, /* Strict enumeration */
1478 0, /* Native long size */
1479 0
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001480};
Lev Walkina7591b52014-10-12 18:37:35 -07001481static const ber_tlv_tag_t asn_DEF_name_tags_2[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001482 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1483};
1484static /* Use -fall-defs-global to expose */
1485asn_TYPE_descriptor_t asn_DEF_name_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001486 "ENUMERATED",
1487 "ENUMERATED",
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001488 name_2_free,
1489 name_2_print,
1490 name_2_constraint,
1491 name_2_decode_ber,
1492 name_2_encode_der,
1493 name_2_decode_xer,
1494 name_2_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001495 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001496 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001497 asn_DEF_name_tags_2,
1498 sizeof(asn_DEF_name_tags_2)
1499 /sizeof(asn_DEF_name_tags_2[0]), /* 1 */
1500 asn_DEF_name_tags_2, /* Same as above */
1501 sizeof(asn_DEF_name_tags_2)
1502 /sizeof(asn_DEF_name_tags_2[0]), /* 1 */
1503 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001504 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +00001505 &asn_SPC_name_specs_2 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001506};
1507
1508static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
1509 { ATF_POINTER, 0, 0,
1510 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
1511 .tag_mode = 0,
1512 .type = &asn_DEF_name_2,
1513 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001514 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1515 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001516 .name = "name"
1517 },
1518};
Lev Walkina7591b52014-10-12 18:37:35 -07001519static const ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001520 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1521};
Lev Walkin59b176e2005-11-26 11:25:14 +00001522static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001523 sizeof(struct NamedSetOfEnums),
1524 offsetof(struct NamedSetOfEnums, _asn_ctx),
1525 1, /* XER encoding is XMLValueList */
1526};
1527asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = {
1528 "NamedSetOfEnums",
1529 "NamedSetOfEnums",
1530 SET_OF_free,
1531 SET_OF_print,
1532 SET_OF_constraint,
1533 SET_OF_decode_ber,
1534 SET_OF_encode_der,
1535 SET_OF_decode_xer,
1536 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001537 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001538 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001539 asn_DEF_NamedSetOfEnums_tags_1,
1540 sizeof(asn_DEF_NamedSetOfEnums_tags_1)
1541 /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */
1542 asn_DEF_NamedSetOfEnums_tags_1, /* Same as above */
1543 sizeof(asn_DEF_NamedSetOfEnums_tags_1)
1544 /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */
1545 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001546 asn_MBR_NamedSetOfEnums_1,
1547 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001548 &asn_SPC_NamedSetOfEnums_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001549};
1550
1551
Lev Walkin843a2462005-02-18 16:30:26 +00001552/*** <<< INCLUDES [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001553
1554#include <INTEGER.h>
1555#include <asn_SEQUENCE_OF.h>
1556#include <constr_SEQUENCE_OF.h>
1557
Lev Walkin843a2462005-02-18 16:30:26 +00001558/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001559
Lev Walkin843a2462005-02-18 16:30:26 +00001560typedef struct SequenceOf {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001561 A_SEQUENCE_OF(INTEGER_t) list;
1562
1563 /* Context for parsing across buffer boundaries */
1564 asn_struct_ctx_t _asn_ctx;
Lev Walkin843a2462005-02-18 16:30:26 +00001565} SequenceOf_t;
Lev Walkin0ef9f142005-02-14 20:40:57 +00001566
Lev Walkinc8285712005-03-04 22:18:20 +00001567/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
1568
1569extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
1570
Lev Walkin843a2462005-02-18 16:30:26 +00001571/*** <<< STAT-DEFS [SequenceOf] >>> ***/
Lev Walkin0ef9f142005-02-14 20:40:57 +00001572
Lev Walkine0272aa2005-03-04 11:26:08 +00001573static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001574 { ATF_POINTER, 0, 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001575 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1576 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001577 .type = &asn_DEF_INTEGER,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001578 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001579 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1580 .default_value = 0,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001581 .name = "id"
1582 },
1583};
Lev Walkina7591b52014-10-12 18:37:35 -07001584static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = {
Lev Walkin0ef9f142005-02-14 20:40:57 +00001585 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1586};
Lev Walkin59b176e2005-11-26 11:25:14 +00001587static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
Lev Walkin843a2462005-02-18 16:30:26 +00001588 sizeof(struct SequenceOf),
1589 offsetof(struct SequenceOf, _asn_ctx),
Lev Walkin0ef9f142005-02-14 20:40:57 +00001590 0, /* XER encoding is XMLDelimitedItemList */
1591};
Lev Walkin843a2462005-02-18 16:30:26 +00001592asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
1593 "SequenceOf",
1594 "SequenceOf",
Lev Walkin0ef9f142005-02-14 20:40:57 +00001595 SEQUENCE_OF_free,
1596 SEQUENCE_OF_print,
1597 SEQUENCE_OF_constraint,
1598 SEQUENCE_OF_decode_ber,
1599 SEQUENCE_OF_encode_der,
1600 SEQUENCE_OF_decode_xer,
1601 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001602 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001603 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001604 asn_DEF_SequenceOf_tags_1,
1605 sizeof(asn_DEF_SequenceOf_tags_1)
1606 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
1607 asn_DEF_SequenceOf_tags_1, /* Same as above */
1608 sizeof(asn_DEF_SequenceOf_tags_1)
1609 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
1610 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001611 asn_MBR_SequenceOf_1,
Lev Walkin0ef9f142005-02-14 20:40:57 +00001612 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001613 &asn_SPC_SequenceOf_specs_1 /* Additional specs */
Lev Walkin0ef9f142005-02-14 20:40:57 +00001614};
1615
Lev Walkinf5db6142005-02-24 22:38:43 +00001616
1617/*** <<< INCLUDES [SeqOfZuka] >>> ***/
1618
1619#include <NULL.h>
1620#include <asn_SEQUENCE_OF.h>
1621#include <constr_SEQUENCE_OF.h>
1622
Lev Walkinf5db6142005-02-24 22:38:43 +00001623/*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/
1624
Lev Walkinf5db6142005-02-24 22:38:43 +00001625typedef struct SeqOfZuka {
1626 A_SEQUENCE_OF(NULL_t) list;
1627
1628 /* Context for parsing across buffer boundaries */
1629 asn_struct_ctx_t _asn_ctx;
1630} SeqOfZuka_t;
1631
Lev Walkinc8285712005-03-04 22:18:20 +00001632/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
1633
1634extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
1635
Lev Walkinf5db6142005-02-24 22:38:43 +00001636/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
1637
Lev Walkine0272aa2005-03-04 11:26:08 +00001638static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +00001639 { ATF_POINTER, 0, 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001640 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
1641 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +00001642 .type = &asn_DEF_NULL,
Lev Walkinf5db6142005-02-24 22:38:43 +00001643 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001644 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1645 .default_value = 0,
Lev Walkinf5db6142005-02-24 22:38:43 +00001646 .name = "zuka"
1647 },
1648};
Lev Walkina7591b52014-10-12 18:37:35 -07001649static const ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001650 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1651};
Lev Walkin59b176e2005-11-26 11:25:14 +00001652static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
Lev Walkinf5db6142005-02-24 22:38:43 +00001653 sizeof(struct SeqOfZuka),
1654 offsetof(struct SeqOfZuka, _asn_ctx),
1655 1, /* XER encoding is XMLValueList */
1656};
1657asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = {
1658 "SeqOfZuka",
1659 "SeqOfZuka",
1660 SEQUENCE_OF_free,
1661 SEQUENCE_OF_print,
1662 SEQUENCE_OF_constraint,
1663 SEQUENCE_OF_decode_ber,
1664 SEQUENCE_OF_encode_der,
1665 SEQUENCE_OF_decode_xer,
1666 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001667 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf5db6142005-02-24 22:38:43 +00001668 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001669 asn_DEF_SeqOfZuka_tags_1,
1670 sizeof(asn_DEF_SeqOfZuka_tags_1)
1671 /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */
1672 asn_DEF_SeqOfZuka_tags_1, /* Same as above */
1673 sizeof(asn_DEF_SeqOfZuka_tags_1)
1674 /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */
1675 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +00001676 asn_MBR_SeqOfZuka_1,
Lev Walkinf5db6142005-02-24 22:38:43 +00001677 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001678 &asn_SPC_SeqOfZuka_specs_1 /* Additional specs */
Lev Walkinf5db6142005-02-24 22:38:43 +00001679};
1680
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001681
1682/*** <<< INCLUDES [SetOfChoice] >>> ***/
1683
1684#include <asn_SET_OF.h>
1685#include <constr_SET_OF.h>
1686
1687/*** <<< FWD-DECLS [SetOfChoice] >>> ***/
1688
1689struct SimpleChoice;
1690
1691/*** <<< TYPE-DECLS [SetOfChoice] >>> ***/
1692
1693typedef struct SetOfChoice {
1694 A_SET_OF(struct SimpleChoice) list;
1695
1696 /* Context for parsing across buffer boundaries */
1697 asn_struct_ctx_t _asn_ctx;
1698} SetOfChoice_t;
1699
1700/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/
1701
1702extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
1703
1704/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/
1705
Lev Walkin22b5ed42006-09-13 02:51:20 +00001706#include "SimpleChoice.h"
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001707
1708/*** <<< STAT-DEFS [SetOfChoice] >>> ***/
1709
1710static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
1711 { ATF_POINTER, 0, 0,
1712 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1713 .tag_mode = 0,
1714 .type = &asn_DEF_SimpleChoice,
1715 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001716 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1717 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001718 .name = ""
1719 },
1720};
Lev Walkina7591b52014-10-12 18:37:35 -07001721static const ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001722 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1723};
Lev Walkin59b176e2005-11-26 11:25:14 +00001724static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001725 sizeof(struct SetOfChoice),
1726 offsetof(struct SetOfChoice, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +00001727 2, /* XER encoding is XMLValueList */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001728};
1729asn_TYPE_descriptor_t asn_DEF_SetOfChoice = {
1730 "SetOfChoice",
1731 "SetOfChoice",
1732 SET_OF_free,
1733 SET_OF_print,
1734 SET_OF_constraint,
1735 SET_OF_decode_ber,
1736 SET_OF_encode_der,
1737 SET_OF_decode_xer,
1738 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001739 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001740 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001741 asn_DEF_SetOfChoice_tags_1,
1742 sizeof(asn_DEF_SetOfChoice_tags_1)
1743 /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */
1744 asn_DEF_SetOfChoice_tags_1, /* Same as above */
1745 sizeof(asn_DEF_SetOfChoice_tags_1)
1746 /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */
1747 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001748 asn_MBR_SetOfChoice_1,
1749 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001750 &asn_SPC_SetOfChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001751};
1752
1753
1754/*** <<< INCLUDES [NamedSetOfChoice] >>> ***/
1755
1756#include <asn_SET_OF.h>
1757#include <constr_SET_OF.h>
1758
1759/*** <<< FWD-DECLS [NamedSetOfChoice] >>> ***/
1760
1761struct SimpleChoice;
1762
1763/*** <<< TYPE-DECLS [NamedSetOfChoice] >>> ***/
1764
1765typedef struct NamedSetOfChoice {
1766 A_SET_OF(struct SimpleChoice) list;
1767
1768 /* Context for parsing across buffer boundaries */
1769 asn_struct_ctx_t _asn_ctx;
1770} NamedSetOfChoice_t;
1771
1772/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/
1773
1774extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
1775
1776/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/
1777
Lev Walkin22b5ed42006-09-13 02:51:20 +00001778#include "SimpleChoice.h"
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001779
1780/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/
1781
1782static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
1783 { ATF_POINTER, 0, 0,
1784 .tag = -1 /* Ambiguous tag (CHOICE?) */,
1785 .tag_mode = 0,
1786 .type = &asn_DEF_SimpleChoice,
1787 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001788 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1789 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001790 .name = "whatever"
1791 },
1792};
Lev Walkina7591b52014-10-12 18:37:35 -07001793static const ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001794 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
1795};
Lev Walkin59b176e2005-11-26 11:25:14 +00001796static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001797 sizeof(struct NamedSetOfChoice),
1798 offsetof(struct NamedSetOfChoice, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +00001799 2, /* XER encoding is XMLValueList */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001800};
1801asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = {
1802 "NamedSetOfChoice",
1803 "NamedSetOfChoice",
1804 SET_OF_free,
1805 SET_OF_print,
1806 SET_OF_constraint,
1807 SET_OF_decode_ber,
1808 SET_OF_encode_der,
1809 SET_OF_decode_xer,
1810 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001811 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001812 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +00001813 asn_DEF_NamedSetOfChoice_tags_1,
1814 sizeof(asn_DEF_NamedSetOfChoice_tags_1)
1815 /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */
1816 asn_DEF_NamedSetOfChoice_tags_1, /* Same as above */
1817 sizeof(asn_DEF_NamedSetOfChoice_tags_1)
1818 /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */
1819 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001820 asn_MBR_NamedSetOfChoice_1,
1821 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +00001822 &asn_SPC_NamedSetOfChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001823};
1824
1825
1826/*** <<< INCLUDES [SimpleChoice] >>> ***/
1827
1828#include <NULL.h>
1829#include <INTEGER.h>
1830#include <constr_CHOICE.h>
1831
1832/*** <<< DEPS [SimpleChoice] >>> ***/
1833
1834typedef enum SimpleChoice_PR {
1835 SimpleChoice_PR_NOTHING, /* No components present */
1836 SimpleChoice_PR_a,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001837 SimpleChoice_PR_b
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001838} SimpleChoice_PR;
1839
1840/*** <<< TYPE-DECLS [SimpleChoice] >>> ***/
1841
1842typedef struct SimpleChoice {
1843 SimpleChoice_PR present;
1844 union SimpleChoice_u {
1845 NULL_t a;
1846 INTEGER_t b;
1847 } choice;
1848
1849 /* Context for parsing across buffer boundaries */
1850 asn_struct_ctx_t _asn_ctx;
1851} SimpleChoice_t;
1852
1853/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/
1854
1855extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice;
1856
1857/*** <<< STAT-DEFS [SimpleChoice] >>> ***/
1858
1859static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
1860 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a),
1861 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1862 .tag_mode = -1, /* IMPLICIT tag at current level */
1863 .type = &asn_DEF_NULL,
1864 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001865 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1866 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001867 .name = "a"
1868 },
1869 { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.b),
1870 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1871 .tag_mode = -1, /* IMPLICIT tag at current level */
1872 .type = &asn_DEF_INTEGER,
1873 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +00001874 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
1875 .default_value = 0,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001876 .name = "b"
1877 },
1878};
Lev Walkina7591b52014-10-12 18:37:35 -07001879static const asn_TYPE_tag2member_t asn_MAP_SimpleChoice_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001880 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
1881 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001882};
Lev Walkin59b176e2005-11-26 11:25:14 +00001883static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001884 sizeof(struct SimpleChoice),
1885 offsetof(struct SimpleChoice, _asn_ctx),
1886 offsetof(struct SimpleChoice, present),
1887 sizeof(((struct SimpleChoice *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +00001888 asn_MAP_SimpleChoice_tag2el_1,
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001889 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00001890 .canonical_order = 0,
1891 .ext_start = -1 /* Extensions start */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001892};
1893asn_TYPE_descriptor_t asn_DEF_SimpleChoice = {
1894 "SimpleChoice",
1895 "SimpleChoice",
1896 CHOICE_free,
1897 CHOICE_print,
1898 CHOICE_constraint,
1899 CHOICE_decode_ber,
1900 CHOICE_encode_der,
1901 CHOICE_decode_xer,
1902 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001903 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001904 CHOICE_outmost_tag,
1905 0, /* No effective tags (pointer) */
1906 0, /* No effective tags (count) */
1907 0, /* No tags (pointer) */
1908 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +00001909 0, /* No PER visible constraints */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001910 asn_MBR_SimpleChoice_1,
1911 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +00001912 &asn_SPC_SimpleChoice_specs_1 /* Additional specs */
Lev Walkin5ab96cd2005-11-07 15:26:47 +00001913};
1914