blob: 3f2555c0d3e5dbfba2b56f3e137ff30a389c5d5e [file] [log] [blame]
vlmb71a9d32004-09-08 00:26:56 +00001
2/*** <<< INCLUDES [Test-structure-1] >>> ***/
3
vlmb71a9d32004-09-08 00:26:56 +00004#include <INTEGER.h>
5#include <asn_SET_OF.h>
6#include <constr_SET_OF.h>
7#include <asn_SEQUENCE_OF.h>
8#include <constr_SEQUENCE_OF.h>
9#include <constr_SEQUENCE.h>
10
vlm0b567bf2005-03-04 22:18:20 +000011/*** <<< FWD-DECLS [Test-structure-1] >>> ***/
vlm7a5a31a2004-09-29 13:19:12 +000012
vlm5feb7522005-03-04 23:50:56 +000013struct Test_structure_1;
vlmb71a9d32004-09-08 00:26:56 +000014
15/*** <<< TYPE-DECLS [Test-structure-1] >>> ***/
16
vlmb71a9d32004-09-08 00:26:56 +000017typedef struct Test_structure_1 {
18 struct t_member1 {
19 A_SET_OF(struct Test_structure_1) list;
20
21 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000022 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000023 } t_member1;
24 struct t_member2 {
25 A_SEQUENCE_OF(struct Test_structure_1) list;
26
27 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000028 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000029 } t_member2;
30 struct Test_structure_1 *t_member3 /* OPTIONAL */;
31 INTEGER_t t_member4;
32
33 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000034 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000035} Test_structure_1_t;
36
vlm0b567bf2005-03-04 22:18:20 +000037/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/
38
39extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
40
41/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/
42
vlmea226772006-09-13 02:51:20 +000043#include "Test-structure-1.h"
vlm0b567bf2005-03-04 22:18:20 +000044
vlmb71a9d32004-09-08 00:26:56 +000045/*** <<< STAT-DEFS [Test-structure-1] >>> ***/
46
vlm44fe49a2005-03-04 11:26:08 +000047static asn_TYPE_member_t asn_MBR_t_member1_2[] = {
vlm2cebdf32005-08-16 16:57:17 +000048 { ATF_POINTER, 0, 0,
vlmb71a9d32004-09-08 00:26:56 +000049 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
50 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +000051 .type = &asn_DEF_Test_structure_1,
vlm0a9af512005-01-17 12:20:19 +000052 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +000053 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
54 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +000055 .name = ""
56 },
57};
vlm337167e2005-11-26 11:25:14 +000058static ber_tlv_tag_t asn_DEF_t_member1_tags_2[] = {
vlmb71a9d32004-09-08 00:26:56 +000059 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
60};
vlm337167e2005-11-26 11:25:14 +000061static asn_SET_OF_specifics_t asn_SPC_t_member1_specs_2 = {
vlmb71a9d32004-09-08 00:26:56 +000062 sizeof(struct t_member1),
vlm7a5a31a2004-09-29 13:19:12 +000063 offsetof(struct t_member1, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +000064 0, /* XER encoding is XMLDelimitedItemList */
vlmb71a9d32004-09-08 00:26:56 +000065};
66static /* Use -fall-defs-global to expose */
vlm44fe49a2005-03-04 11:26:08 +000067asn_TYPE_descriptor_t asn_DEF_t_member1_2 = {
vlmb71a9d32004-09-08 00:26:56 +000068 "t-member1",
vlm9de248e2004-10-20 15:50:55 +000069 "t-member1",
vlm39ba4c42004-09-22 16:06:28 +000070 SET_OF_free,
71 SET_OF_print,
vlmb71a9d32004-09-08 00:26:56 +000072 SET_OF_constraint,
73 SET_OF_decode_ber,
74 SET_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +000075 SET_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +000076 SET_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +000077 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmb71a9d32004-09-08 00:26:56 +000078 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +000079 asn_DEF_t_member1_tags_2,
80 sizeof(asn_DEF_t_member1_tags_2)
81 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
82 asn_DEF_t_member1_tags_2, /* Same as above */
83 sizeof(asn_DEF_t_member1_tags_2)
84 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
85 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +000086 asn_MBR_t_member1_2,
vlmb71a9d32004-09-08 00:26:56 +000087 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +000088 &asn_SPC_t_member1_specs_2 /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +000089};
90
vlm67d57fe2005-03-06 09:29:03 +000091static asn_TYPE_member_t asn_MBR_t_member2_4[] = {
vlm2cebdf32005-08-16 16:57:17 +000092 { ATF_POINTER, 0, 0,
vlmb71a9d32004-09-08 00:26:56 +000093 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
94 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +000095 .type = &asn_DEF_Test_structure_1,
vlm0a9af512005-01-17 12:20:19 +000096 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +000097 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
98 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +000099 .name = ""
100 },
101};
vlm337167e2005-11-26 11:25:14 +0000102static ber_tlv_tag_t asn_DEF_t_member2_tags_4[] = {
vlmb71a9d32004-09-08 00:26:56 +0000103 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
104};
vlm337167e2005-11-26 11:25:14 +0000105static asn_SET_OF_specifics_t asn_SPC_t_member2_specs_4 = {
vlmb71a9d32004-09-08 00:26:56 +0000106 sizeof(struct t_member2),
vlm7a5a31a2004-09-29 13:19:12 +0000107 offsetof(struct t_member2, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +0000108 0, /* XER encoding is XMLDelimitedItemList */
vlmb71a9d32004-09-08 00:26:56 +0000109};
110static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +0000111asn_TYPE_descriptor_t asn_DEF_t_member2_4 = {
vlmb71a9d32004-09-08 00:26:56 +0000112 "t-member2",
vlm9de248e2004-10-20 15:50:55 +0000113 "t-member2",
vlm39ba4c42004-09-22 16:06:28 +0000114 SEQUENCE_OF_free,
115 SEQUENCE_OF_print,
vlmb71a9d32004-09-08 00:26:56 +0000116 SEQUENCE_OF_constraint,
117 SEQUENCE_OF_decode_ber,
118 SEQUENCE_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000119 SEQUENCE_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000120 SEQUENCE_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000121 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmb71a9d32004-09-08 00:26:56 +0000122 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000123 asn_DEF_t_member2_tags_4,
124 sizeof(asn_DEF_t_member2_tags_4)
125 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
126 asn_DEF_t_member2_tags_4, /* Same as above */
127 sizeof(asn_DEF_t_member2_tags_4)
128 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
129 0, /* No PER visible constraints */
vlm67d57fe2005-03-06 09:29:03 +0000130 asn_MBR_t_member2_4,
vlmb71a9d32004-09-08 00:26:56 +0000131 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000132 &asn_SPC_t_member2_specs_4 /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000133};
134
vlm44fe49a2005-03-04 11:26:08 +0000135static asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000136 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
vlmb71a9d32004-09-08 00:26:56 +0000137 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
138 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000139 .type = &asn_DEF_t_member1_2,
vlm0a9af512005-01-17 12:20:19 +0000140 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000141 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
142 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000143 .name = "t-member1"
144 },
vlmddd5a7d2004-09-10 09:18:20 +0000145 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
vlmb71a9d32004-09-08 00:26:56 +0000146 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
147 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000148 .type = &asn_DEF_t_member2_4,
vlm0a9af512005-01-17 12:20:19 +0000149 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000150 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
151 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000152 .name = "t-member2"
153 },
vlmddd5a7d2004-09-10 09:18:20 +0000154 { ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3),
vlmb71a9d32004-09-08 00:26:56 +0000155 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
156 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000157 .type = &asn_DEF_Test_structure_1,
vlm0a9af512005-01-17 12:20:19 +0000158 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000159 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
160 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000161 .name = "t-member3"
162 },
vlmddd5a7d2004-09-10 09:18:20 +0000163 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4),
vlmb71a9d32004-09-08 00:26:56 +0000164 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
165 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000166 .type = &asn_DEF_INTEGER,
vlm0a9af512005-01-17 12:20:19 +0000167 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000168 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
169 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000170 .name = "t-member4"
171 },
172};
vlm337167e2005-11-26 11:25:14 +0000173static ber_tlv_tag_t asn_DEF_Test_structure_1_tags_1[] = {
vlmb71a9d32004-09-08 00:26:56 +0000174 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
175};
vlm337167e2005-11-26 11:25:14 +0000176static asn_TYPE_tag2member_t asn_MAP_Test_structure_1_tag2el_1[] = {
vlmb71a9d32004-09-08 00:26:56 +0000177 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* t-member4 at 19 */
178 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* t-member2 at 16 */
179 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 at 17 */
vlmb317f442005-02-25 08:20:32 +0000180 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 at 15 */
vlmb71a9d32004-09-08 00:26:56 +0000181};
vlm337167e2005-11-26 11:25:14 +0000182static asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000183 sizeof(struct Test_structure_1),
vlm7a5a31a2004-09-29 13:19:12 +0000184 offsetof(struct Test_structure_1, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000185 asn_MAP_Test_structure_1_tag2el_1,
vlmb71a9d32004-09-08 00:26:56 +0000186 4, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000187 0, 0, 0, /* Optional elements (not needed) */
vlmb71a9d32004-09-08 00:26:56 +0000188 -1, /* Start extensions */
189 -1 /* Stop extensions */
190};
vlm7a5a31a2004-09-29 13:19:12 +0000191asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000192 "Test-structure-1",
vlm9de248e2004-10-20 15:50:55 +0000193 "Test-structure-1",
vlm39ba4c42004-09-22 16:06:28 +0000194 SEQUENCE_free,
195 SEQUENCE_print,
vlmb71a9d32004-09-08 00:26:56 +0000196 SEQUENCE_constraint,
197 SEQUENCE_decode_ber,
198 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000199 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000200 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000201 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmb71a9d32004-09-08 00:26:56 +0000202 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000203 asn_DEF_Test_structure_1_tags_1,
204 sizeof(asn_DEF_Test_structure_1_tags_1)
205 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
206 asn_DEF_Test_structure_1_tags_1, /* Same as above */
207 sizeof(asn_DEF_Test_structure_1_tags_1)
208 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
209 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000210 asn_MBR_Test_structure_1_1,
vlmb71a9d32004-09-08 00:26:56 +0000211 4, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000212 &asn_SPC_Test_structure_1_specs_1 /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000213};
214
215
216/*** <<< INCLUDES [Choice-1] >>> ***/
217
vlmb71a9d32004-09-08 00:26:56 +0000218#include <INTEGER.h>
219#include <asn_SET_OF.h>
220#include <constr_SET_OF.h>
221#include <constr_CHOICE.h>
222
223/*** <<< DEPS [Choice-1] >>> ***/
224
225typedef enum Choice_1_PR {
226 Choice_1_PR_NOTHING, /* No components present */
227 Choice_1_PR_and,
228 Choice_1_PR_or,
229 Choice_1_PR_not,
vlmb1b193e2006-08-18 01:46:46 +0000230 Choice_1_PR_other
vlmb71a9d32004-09-08 00:26:56 +0000231} Choice_1_PR;
vlm7a5a31a2004-09-29 13:19:12 +0000232
vlm0b567bf2005-03-04 22:18:20 +0000233/*** <<< FWD-DECLS [Choice-1] >>> ***/
vlm7a5a31a2004-09-29 13:19:12 +0000234
vlm5feb7522005-03-04 23:50:56 +0000235struct Choice_1;
vlmb71a9d32004-09-08 00:26:56 +0000236
237/*** <<< TYPE-DECLS [Choice-1] >>> ***/
238
vlmb71a9d32004-09-08 00:26:56 +0000239typedef struct Choice_1 {
240 Choice_1_PR present;
vlm2e774282005-08-14 15:03:31 +0000241 union Choice_1_u {
vlmddd5a7d2004-09-10 09:18:20 +0000242 struct Choice_1 *and;
vlmb71a9d32004-09-08 00:26:56 +0000243 struct or {
244 A_SET_OF(struct Choice_1) list;
245
246 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +0000247 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +0000248 } or;
vlmddd5a7d2004-09-10 09:18:20 +0000249 struct Choice_1 *not;
vlmb71a9d32004-09-08 00:26:56 +0000250 INTEGER_t other;
251 } choice;
252
253 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +0000254 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +0000255} Choice_1_t;
256
vlm0b567bf2005-03-04 22:18:20 +0000257/*** <<< FUNC-DECLS [Choice-1] >>> ***/
258
259extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
260
261/*** <<< POST-INCLUDE [Choice-1] >>> ***/
262
vlmea226772006-09-13 02:51:20 +0000263#include "Choice-1.h"
vlm0b567bf2005-03-04 22:18:20 +0000264
vlmb71a9d32004-09-08 00:26:56 +0000265/*** <<< STAT-DEFS [Choice-1] >>> ***/
266
vlm67d57fe2005-03-06 09:29:03 +0000267static asn_TYPE_member_t asn_MBR_or_3[] = {
vlm2cebdf32005-08-16 16:57:17 +0000268 { ATF_POINTER, 0, 0,
vlm060fe2a2004-09-10 09:37:12 +0000269 .tag = -1 /* Ambiguous tag (CHOICE?) */,
vlmb71a9d32004-09-08 00:26:56 +0000270 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000271 .type = &asn_DEF_Choice_1,
vlm0a9af512005-01-17 12:20:19 +0000272 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000273 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
274 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000275 .name = ""
276 },
277};
vlm337167e2005-11-26 11:25:14 +0000278static ber_tlv_tag_t asn_DEF_or_tags_3[] = {
vlm72425de2004-09-13 08:31:01 +0000279 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
280 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
vlmb71a9d32004-09-08 00:26:56 +0000281};
vlm337167e2005-11-26 11:25:14 +0000282static asn_SET_OF_specifics_t asn_SPC_or_specs_3 = {
vlmb71a9d32004-09-08 00:26:56 +0000283 sizeof(struct or),
vlm7a5a31a2004-09-29 13:19:12 +0000284 offsetof(struct or, _asn_ctx),
vlm6d44a542005-11-08 03:06:16 +0000285 2, /* XER encoding is XMLValueList */
vlmb71a9d32004-09-08 00:26:56 +0000286};
287static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +0000288asn_TYPE_descriptor_t asn_DEF_or_3 = {
vlmb71a9d32004-09-08 00:26:56 +0000289 "or",
vlm9de248e2004-10-20 15:50:55 +0000290 "or",
vlm39ba4c42004-09-22 16:06:28 +0000291 SET_OF_free,
292 SET_OF_print,
vlmb71a9d32004-09-08 00:26:56 +0000293 SET_OF_constraint,
294 SET_OF_decode_ber,
295 SET_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000296 SET_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000297 SET_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000298 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmb71a9d32004-09-08 00:26:56 +0000299 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000300 asn_DEF_or_tags_3,
301 sizeof(asn_DEF_or_tags_3)
302 /sizeof(asn_DEF_or_tags_3[0]) - 1, /* 1 */
303 asn_DEF_or_tags_3, /* Same as above */
304 sizeof(asn_DEF_or_tags_3)
305 /sizeof(asn_DEF_or_tags_3[0]), /* 2 */
306 0, /* No PER visible constraints */
vlm67d57fe2005-03-06 09:29:03 +0000307 asn_MBR_or_3,
vlmb71a9d32004-09-08 00:26:56 +0000308 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000309 &asn_SPC_or_specs_3 /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000310};
311
vlm44fe49a2005-03-04 11:26:08 +0000312static asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000313 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.and),
vlmb71a9d32004-09-08 00:26:56 +0000314 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
315 .tag_mode = +1, /* EXPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000316 .type = &asn_DEF_Choice_1,
vlm0a9af512005-01-17 12:20:19 +0000317 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000318 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
319 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000320 .name = "and"
321 },
vlmddd5a7d2004-09-10 09:18:20 +0000322 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.or),
vlmb71a9d32004-09-08 00:26:56 +0000323 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
vlmc154db62006-10-19 02:46:01 +0000324 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000325 .type = &asn_DEF_or_3,
vlm0a9af512005-01-17 12:20:19 +0000326 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000327 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
328 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000329 .name = "or"
330 },
vlmddd5a7d2004-09-10 09:18:20 +0000331 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.not),
vlmb71a9d32004-09-08 00:26:56 +0000332 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
333 .tag_mode = +1, /* EXPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000334 .type = &asn_DEF_Choice_1,
vlm0a9af512005-01-17 12:20:19 +0000335 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000336 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
337 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000338 .name = "not"
339 },
vlmddd5a7d2004-09-10 09:18:20 +0000340 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
vlmb71a9d32004-09-08 00:26:56 +0000341 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
342 .tag_mode = +1, /* EXPLICIT tag at current level */
vlme0fea712005-08-29 10:31:14 +0000343 .type = &asn_DEF_INTEGER,
vlm0a9af512005-01-17 12:20:19 +0000344 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000345 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
346 .default_value = 0,
vlmb71a9d32004-09-08 00:26:56 +0000347 .name = "other"
348 },
349};
vlm337167e2005-11-26 11:25:14 +0000350static asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = {
vlmb71a9d32004-09-08 00:26:56 +0000351 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and at 22 */
352 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or at 23 */
353 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not at 24 */
vlmb317f442005-02-25 08:20:32 +0000354 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other at 26 */
vlmb71a9d32004-09-08 00:26:56 +0000355};
vlm337167e2005-11-26 11:25:14 +0000356static asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000357 sizeof(struct Choice_1),
vlm7a5a31a2004-09-29 13:19:12 +0000358 offsetof(struct Choice_1, _asn_ctx),
vlmb71a9d32004-09-08 00:26:56 +0000359 offsetof(struct Choice_1, present),
360 sizeof(((struct Choice_1 *)0)->present),
vlm337167e2005-11-26 11:25:14 +0000361 asn_MAP_Choice_1_tag2el_1,
vlmb71a9d32004-09-08 00:26:56 +0000362 4, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000363 .canonical_order = 0,
364 .ext_start = -1 /* Extensions start */
vlmb71a9d32004-09-08 00:26:56 +0000365};
vlm7a5a31a2004-09-29 13:19:12 +0000366asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000367 "Choice-1",
vlm9de248e2004-10-20 15:50:55 +0000368 "Choice-1",
vlm39ba4c42004-09-22 16:06:28 +0000369 CHOICE_free,
370 CHOICE_print,
vlmb71a9d32004-09-08 00:26:56 +0000371 CHOICE_constraint,
372 CHOICE_decode_ber,
373 CHOICE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000374 CHOICE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000375 CHOICE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000376 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmb71a9d32004-09-08 00:26:56 +0000377 CHOICE_outmost_tag,
vlm72425de2004-09-13 08:31:01 +0000378 0, /* No effective tags (pointer) */
379 0, /* No effective tags (count) */
380 0, /* No tags (pointer) */
381 0, /* No tags (count) */
vlm337167e2005-11-26 11:25:14 +0000382 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000383 asn_MBR_Choice_1_1,
vlmb71a9d32004-09-08 00:26:56 +0000384 4, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000385 &asn_SPC_Choice_1_specs_1 /* Additional specs */
vlm7a5a31a2004-09-29 13:19:12 +0000386};
387
388
389/*** <<< INCLUDES [Test-structure-2] >>> ***/
390
vlm7a5a31a2004-09-29 13:19:12 +0000391#include <constr_SET.h>
392
393/*** <<< DEPS [Test-structure-2] >>> ***/
394
395
396/*
397 * Method of determining the components presence
398 */
399typedef enum Test_structure_2_PR {
400 Test_structure_2_PR_m1, /* Member m1 is present */
401} Test_structure_2_PR;
402
vlm0b567bf2005-03-04 22:18:20 +0000403/*** <<< FWD-DECLS [Test-structure-2] >>> ***/
404
vlm5feb7522005-03-04 23:50:56 +0000405struct Test_structure_3;
vlm7a5a31a2004-09-29 13:19:12 +0000406
407/*** <<< TYPE-DECLS [Test-structure-2] >>> ***/
408
vlm7a5a31a2004-09-29 13:19:12 +0000409typedef struct Test_structure_2 {
410 struct Test_structure_3 *m1 /* OPTIONAL */;
411
412 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */
413 unsigned int _presence_map
414 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
415
416 /* Context for parsing across buffer boundaries */
417 asn_struct_ctx_t _asn_ctx;
418} Test_structure_2_t;
419
vlm0b567bf2005-03-04 22:18:20 +0000420/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
421
422extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
423
424/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
425
vlmea226772006-09-13 02:51:20 +0000426#include "Test-structure-3.h"
vlm0b567bf2005-03-04 22:18:20 +0000427
vlm7a5a31a2004-09-29 13:19:12 +0000428/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
429
vlm44fe49a2005-03-04 11:26:08 +0000430static asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
vlm7a5a31a2004-09-29 13:19:12 +0000431 { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
432 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
433 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000434 .type = &asn_DEF_Test_structure_3,
vlm0a9af512005-01-17 12:20:19 +0000435 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000436 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
437 .default_value = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000438 .name = "m1"
439 },
440};
vlm337167e2005-11-26 11:25:14 +0000441static ber_tlv_tag_t asn_DEF_Test_structure_2_tags_1[] = {
vlm7a5a31a2004-09-29 13:19:12 +0000442 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
443};
vlm337167e2005-11-26 11:25:14 +0000444static asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = {
vlmb317f442005-02-25 08:20:32 +0000445 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 at 28 */
vlm7a5a31a2004-09-29 13:19:12 +0000446};
vlm337167e2005-11-26 11:25:14 +0000447static uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
vlm7a5a31a2004-09-29 13:19:12 +0000448 (0 << 7)
449};
vlm337167e2005-11-26 11:25:14 +0000450static asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
vlm7a5a31a2004-09-29 13:19:12 +0000451 sizeof(struct Test_structure_2),
452 offsetof(struct Test_structure_2, _asn_ctx),
453 offsetof(struct Test_structure_2, _presence_map),
vlm337167e2005-11-26 11:25:14 +0000454 asn_MAP_Test_structure_2_tag2el_1,
vlm7a5a31a2004-09-29 13:19:12 +0000455 1, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000456 asn_MAP_Test_structure_2_tag2el_1, /* Same as above */
vlmb317f442005-02-25 08:20:32 +0000457 1, /* Count of tags in the CXER map */
vlm7a5a31a2004-09-29 13:19:12 +0000458 0, /* Whether extensible */
vlm337167e2005-11-26 11:25:14 +0000459 (unsigned int *)asn_MAP_Test_structure_2_mmap_1 /* Mandatory elements map */
vlm7a5a31a2004-09-29 13:19:12 +0000460};
461asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
462 "Test-structure-2",
vlm9de248e2004-10-20 15:50:55 +0000463 "Test-structure-2",
vlm7a5a31a2004-09-29 13:19:12 +0000464 SET_free,
465 SET_print,
466 SET_constraint,
467 SET_decode_ber,
468 SET_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000469 SET_decode_xer,
vlm7a5a31a2004-09-29 13:19:12 +0000470 SET_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000471 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm7a5a31a2004-09-29 13:19:12 +0000472 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000473 asn_DEF_Test_structure_2_tags_1,
474 sizeof(asn_DEF_Test_structure_2_tags_1)
475 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
476 asn_DEF_Test_structure_2_tags_1, /* Same as above */
477 sizeof(asn_DEF_Test_structure_2_tags_1)
478 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
479 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000480 asn_MBR_Test_structure_2_1,
vlm7a5a31a2004-09-29 13:19:12 +0000481 1, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000482 &asn_SPC_Test_structure_2_specs_1 /* Additional specs */
vlm7a5a31a2004-09-29 13:19:12 +0000483};
484
485
486/*** <<< INCLUDES [Test-structure-3] >>> ***/
487
vlm7a5a31a2004-09-29 13:19:12 +0000488#include <constr_SET.h>
489
490/*** <<< DEPS [Test-structure-3] >>> ***/
491
492
493/*
494 * Method of determining the components presence
495 */
496typedef enum Test_structure_3_PR {
497 Test_structure_3_PR_m1, /* Member m1 is present */
498} Test_structure_3_PR;
499
vlm0b567bf2005-03-04 22:18:20 +0000500/*** <<< FWD-DECLS [Test-structure-3] >>> ***/
501
vlm5feb7522005-03-04 23:50:56 +0000502struct Test_structure_2;
vlm7a5a31a2004-09-29 13:19:12 +0000503
504/*** <<< TYPE-DECLS [Test-structure-3] >>> ***/
505
vlm7a5a31a2004-09-29 13:19:12 +0000506typedef struct Test_structure_3 {
507 struct Test_structure_2 *m1 /* OPTIONAL */;
508
509 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */
510 unsigned int _presence_map
511 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
512
513 /* Context for parsing across buffer boundaries */
514 asn_struct_ctx_t _asn_ctx;
515} Test_structure_3_t;
516
vlm0b567bf2005-03-04 22:18:20 +0000517/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
518
519extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
520
521/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
522
vlmea226772006-09-13 02:51:20 +0000523#include "Test-structure-2.h"
vlm0b567bf2005-03-04 22:18:20 +0000524
vlm7a5a31a2004-09-29 13:19:12 +0000525/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
526
vlm44fe49a2005-03-04 11:26:08 +0000527static asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
vlm7a5a31a2004-09-29 13:19:12 +0000528 { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
529 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
530 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000531 .type = &asn_DEF_Test_structure_2,
vlm0a9af512005-01-17 12:20:19 +0000532 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000533 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
534 .default_value = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000535 .name = "m1"
536 },
537};
vlm337167e2005-11-26 11:25:14 +0000538static ber_tlv_tag_t asn_DEF_Test_structure_3_tags_1[] = {
vlm7a5a31a2004-09-29 13:19:12 +0000539 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
540};
vlm337167e2005-11-26 11:25:14 +0000541static asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = {
vlmb317f442005-02-25 08:20:32 +0000542 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 at 29 */
vlm7a5a31a2004-09-29 13:19:12 +0000543};
vlm337167e2005-11-26 11:25:14 +0000544static uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
vlm7a5a31a2004-09-29 13:19:12 +0000545 (0 << 7)
546};
vlm337167e2005-11-26 11:25:14 +0000547static asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
vlm7a5a31a2004-09-29 13:19:12 +0000548 sizeof(struct Test_structure_3),
549 offsetof(struct Test_structure_3, _asn_ctx),
550 offsetof(struct Test_structure_3, _presence_map),
vlm337167e2005-11-26 11:25:14 +0000551 asn_MAP_Test_structure_3_tag2el_1,
vlm7a5a31a2004-09-29 13:19:12 +0000552 1, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000553 asn_MAP_Test_structure_3_tag2el_1, /* Same as above */
vlmb317f442005-02-25 08:20:32 +0000554 1, /* Count of tags in the CXER map */
vlm7a5a31a2004-09-29 13:19:12 +0000555 0, /* Whether extensible */
vlm337167e2005-11-26 11:25:14 +0000556 (unsigned int *)asn_MAP_Test_structure_3_mmap_1 /* Mandatory elements map */
vlm7a5a31a2004-09-29 13:19:12 +0000557};
558asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
559 "Test-structure-3",
vlm9de248e2004-10-20 15:50:55 +0000560 "Test-structure-3",
vlm7a5a31a2004-09-29 13:19:12 +0000561 SET_free,
562 SET_print,
563 SET_constraint,
564 SET_decode_ber,
565 SET_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000566 SET_decode_xer,
vlm7a5a31a2004-09-29 13:19:12 +0000567 SET_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000568 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm7a5a31a2004-09-29 13:19:12 +0000569 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000570 asn_DEF_Test_structure_3_tags_1,
571 sizeof(asn_DEF_Test_structure_3_tags_1)
572 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
573 asn_DEF_Test_structure_3_tags_1, /* Same as above */
574 sizeof(asn_DEF_Test_structure_3_tags_1)
575 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
576 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000577 asn_MBR_Test_structure_3_1,
vlm7a5a31a2004-09-29 13:19:12 +0000578 1, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000579 &asn_SPC_Test_structure_3_specs_1 /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000580};
581