blob: 7f03aad788756400bb4fb871a0d3c4fd408a9bee [file] [log] [blame]
vlmb71a9d32004-09-08 00:26:56 +00001
2/*** <<< INCLUDES [Test-structure-1] >>> ***/
3
4#include <Test-structure-1.h>
5#include <INTEGER.h>
6#include <asn_SET_OF.h>
7#include <constr_SET_OF.h>
8#include <asn_SEQUENCE_OF.h>
9#include <constr_SEQUENCE_OF.h>
10#include <constr_SEQUENCE.h>
11
12/*** <<< DEPS [Test-structure-1] >>> ***/
13
vlm7a5a31a2004-09-29 13:19:12 +000014
15struct Test_structure_1; /* Forward declaration */
16extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
vlmb71a9d32004-09-08 00:26:56 +000017
18/*** <<< TYPE-DECLS [Test-structure-1] >>> ***/
19
20
21typedef struct Test_structure_1 {
22 struct t_member1 {
23 A_SET_OF(struct Test_structure_1) list;
24
25 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000026 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000027 } t_member1;
28 struct t_member2 {
29 A_SEQUENCE_OF(struct Test_structure_1) list;
30
31 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000032 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000033 } t_member2;
34 struct Test_structure_1 *t_member3 /* OPTIONAL */;
35 INTEGER_t t_member4;
36
37 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +000038 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +000039} Test_structure_1_t;
40
41/*** <<< STAT-DEFS [Test-structure-1] >>> ***/
42
vlm7a5a31a2004-09-29 13:19:12 +000043static asn_TYPE_member_t asn_MBR_t_member1[] = {
vlmddd5a7d2004-09-10 09:18:20 +000044 { ATF_NOFLAGS, 0, 0,
vlmb71a9d32004-09-08 00:26:56 +000045 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
46 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +000047 .type = (void *)&asn_DEF_Test_structure_1,
vlmb71a9d32004-09-08 00:26:56 +000048 .memb_constraints = 0, /* Defer to actual type */
49 .name = ""
50 },
51};
vlm7a5a31a2004-09-29 13:19:12 +000052static ber_tlv_tag_t asn_DEF_t_member1_tags[] = {
vlmb71a9d32004-09-08 00:26:56 +000053 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
54};
vlm7a5a31a2004-09-29 13:19:12 +000055static asn_SET_OF_specifics_t asn_DEF_t_member1_specs = {
vlmb71a9d32004-09-08 00:26:56 +000056 sizeof(struct t_member1),
vlm7a5a31a2004-09-29 13:19:12 +000057 offsetof(struct t_member1, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +000058 0, /* XER encoding is XMLDelimitedItemList */
vlmb71a9d32004-09-08 00:26:56 +000059};
60static /* Use -fall-defs-global to expose */
vlm7a5a31a2004-09-29 13:19:12 +000061asn_TYPE_descriptor_t asn_DEF_t_member1 = {
vlmb71a9d32004-09-08 00:26:56 +000062 "t-member1",
vlm39ba4c42004-09-22 16:06:28 +000063 SET_OF_free,
64 SET_OF_print,
vlmb71a9d32004-09-08 00:26:56 +000065 SET_OF_constraint,
66 SET_OF_decode_ber,
67 SET_OF_encode_der,
vlm39ba4c42004-09-22 16:06:28 +000068 0, /* Not implemented yet */
69 SET_OF_encode_xer,
vlmb71a9d32004-09-08 00:26:56 +000070 0, /* Use generic outmost tag fetcher */
vlm7a5a31a2004-09-29 13:19:12 +000071 asn_DEF_t_member1_tags,
72 sizeof(asn_DEF_t_member1_tags)
73 /sizeof(asn_DEF_t_member1_tags[0]), /* 1 */
74 asn_DEF_t_member1_tags, /* Same as above */
75 sizeof(asn_DEF_t_member1_tags)
76 /sizeof(asn_DEF_t_member1_tags[0]), /* 1 */
77 asn_MBR_t_member1,
vlmb71a9d32004-09-08 00:26:56 +000078 1, /* Single element */
vlm7a5a31a2004-09-29 13:19:12 +000079 &asn_DEF_t_member1_specs /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +000080};
81
vlm7a5a31a2004-09-29 13:19:12 +000082static asn_TYPE_member_t asn_MBR_t_member2[] = {
vlmddd5a7d2004-09-10 09:18:20 +000083 { ATF_NOFLAGS, 0, 0,
vlmb71a9d32004-09-08 00:26:56 +000084 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
85 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +000086 .type = (void *)&asn_DEF_Test_structure_1,
vlmb71a9d32004-09-08 00:26:56 +000087 .memb_constraints = 0, /* Defer to actual type */
88 .name = ""
89 },
90};
vlm7a5a31a2004-09-29 13:19:12 +000091static ber_tlv_tag_t asn_DEF_t_member2_tags[] = {
vlmb71a9d32004-09-08 00:26:56 +000092 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
93};
vlm7a5a31a2004-09-29 13:19:12 +000094static asn_SET_OF_specifics_t asn_DEF_t_member2_specs = {
vlmb71a9d32004-09-08 00:26:56 +000095 sizeof(struct t_member2),
vlm7a5a31a2004-09-29 13:19:12 +000096 offsetof(struct t_member2, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +000097 0, /* XER encoding is XMLDelimitedItemList */
vlmb71a9d32004-09-08 00:26:56 +000098};
99static /* Use -fall-defs-global to expose */
vlm7a5a31a2004-09-29 13:19:12 +0000100asn_TYPE_descriptor_t asn_DEF_t_member2 = {
vlmb71a9d32004-09-08 00:26:56 +0000101 "t-member2",
vlm39ba4c42004-09-22 16:06:28 +0000102 SEQUENCE_OF_free,
103 SEQUENCE_OF_print,
vlmb71a9d32004-09-08 00:26:56 +0000104 SEQUENCE_OF_constraint,
105 SEQUENCE_OF_decode_ber,
106 SEQUENCE_OF_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000107 0, /* Not implemented yet */
108 SEQUENCE_OF_encode_xer,
vlmb71a9d32004-09-08 00:26:56 +0000109 0, /* Use generic outmost tag fetcher */
vlm7a5a31a2004-09-29 13:19:12 +0000110 asn_DEF_t_member2_tags,
111 sizeof(asn_DEF_t_member2_tags)
112 /sizeof(asn_DEF_t_member2_tags[0]), /* 1 */
113 asn_DEF_t_member2_tags, /* Same as above */
114 sizeof(asn_DEF_t_member2_tags)
115 /sizeof(asn_DEF_t_member2_tags[0]), /* 1 */
116 asn_MBR_t_member2,
vlmb71a9d32004-09-08 00:26:56 +0000117 1, /* Single element */
vlm7a5a31a2004-09-29 13:19:12 +0000118 &asn_DEF_t_member2_specs /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000119};
120
vlm7a5a31a2004-09-29 13:19:12 +0000121static asn_TYPE_member_t asn_MBR_Test_structure_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000122 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
vlmb71a9d32004-09-08 00:26:56 +0000123 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
124 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000125 .type = (void *)&asn_DEF_t_member1,
vlmb71a9d32004-09-08 00:26:56 +0000126 .memb_constraints = 0, /* Defer to actual type */
127 .name = "t-member1"
128 },
vlmddd5a7d2004-09-10 09:18:20 +0000129 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
vlmb71a9d32004-09-08 00:26:56 +0000130 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
131 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000132 .type = (void *)&asn_DEF_t_member2,
vlmb71a9d32004-09-08 00:26:56 +0000133 .memb_constraints = 0, /* Defer to actual type */
134 .name = "t-member2"
135 },
vlmddd5a7d2004-09-10 09:18:20 +0000136 { ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3),
vlmb71a9d32004-09-08 00:26:56 +0000137 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
138 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000139 .type = (void *)&asn_DEF_Test_structure_1,
vlmb71a9d32004-09-08 00:26:56 +0000140 .memb_constraints = 0, /* Defer to actual type */
141 .name = "t-member3"
142 },
vlmddd5a7d2004-09-10 09:18:20 +0000143 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4),
vlmb71a9d32004-09-08 00:26:56 +0000144 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
145 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000146 .type = (void *)&asn_DEF_INTEGER,
vlmb71a9d32004-09-08 00:26:56 +0000147 .memb_constraints = 0, /* Defer to actual type */
148 .name = "t-member4"
149 },
150};
vlm7a5a31a2004-09-29 13:19:12 +0000151static ber_tlv_tag_t asn_DEF_Test_structure_1_tags[] = {
vlmb71a9d32004-09-08 00:26:56 +0000152 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
153};
vlm7a5a31a2004-09-29 13:19:12 +0000154static asn_TYPE_tag2member_t asn_DEF_Test_structure_1_tag2el[] = {
vlmb71a9d32004-09-08 00:26:56 +0000155 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* t-member4 at 19 */
156 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* t-member2 at 16 */
157 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 at 17 */
158 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* t-member1 at 15 */
159};
vlm7a5a31a2004-09-29 13:19:12 +0000160static asn_SEQUENCE_specifics_t asn_DEF_Test_structure_1_specs = {
vlmb71a9d32004-09-08 00:26:56 +0000161 sizeof(struct Test_structure_1),
vlm7a5a31a2004-09-29 13:19:12 +0000162 offsetof(struct Test_structure_1, _asn_ctx),
163 asn_DEF_Test_structure_1_tag2el,
vlmb71a9d32004-09-08 00:26:56 +0000164 4, /* Count of tags in the map */
165 -1, /* Start extensions */
166 -1 /* Stop extensions */
167};
vlm7a5a31a2004-09-29 13:19:12 +0000168asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000169 "Test-structure-1",
vlm39ba4c42004-09-22 16:06:28 +0000170 SEQUENCE_free,
171 SEQUENCE_print,
vlmb71a9d32004-09-08 00:26:56 +0000172 SEQUENCE_constraint,
173 SEQUENCE_decode_ber,
174 SEQUENCE_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000175 0, /* Not implemented yet */
176 SEQUENCE_encode_xer,
vlmb71a9d32004-09-08 00:26:56 +0000177 0, /* Use generic outmost tag fetcher */
vlm7a5a31a2004-09-29 13:19:12 +0000178 asn_DEF_Test_structure_1_tags,
179 sizeof(asn_DEF_Test_structure_1_tags)
180 /sizeof(asn_DEF_Test_structure_1_tags[0]), /* 1 */
181 asn_DEF_Test_structure_1_tags, /* Same as above */
182 sizeof(asn_DEF_Test_structure_1_tags)
183 /sizeof(asn_DEF_Test_structure_1_tags[0]), /* 1 */
184 asn_MBR_Test_structure_1,
vlmb71a9d32004-09-08 00:26:56 +0000185 4, /* Elements count */
vlm7a5a31a2004-09-29 13:19:12 +0000186 &asn_DEF_Test_structure_1_specs /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000187};
188
189
190/*** <<< INCLUDES [Choice-1] >>> ***/
191
192#include <Choice-1.h>
193#include <INTEGER.h>
194#include <asn_SET_OF.h>
195#include <constr_SET_OF.h>
196#include <constr_CHOICE.h>
197
198/*** <<< DEPS [Choice-1] >>> ***/
199
200typedef enum Choice_1_PR {
201 Choice_1_PR_NOTHING, /* No components present */
202 Choice_1_PR_and,
203 Choice_1_PR_or,
204 Choice_1_PR_not,
205 Choice_1_PR_other,
206} Choice_1_PR;
vlm7a5a31a2004-09-29 13:19:12 +0000207
208struct Choice_1; /* Forward declaration */
209
210struct Choice_1; /* Forward declaration */
211extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
vlmb71a9d32004-09-08 00:26:56 +0000212
213/*** <<< TYPE-DECLS [Choice-1] >>> ***/
214
215
216typedef struct Choice_1 {
217 Choice_1_PR present;
218 union {
vlmddd5a7d2004-09-10 09:18:20 +0000219 struct Choice_1 *and;
vlmb71a9d32004-09-08 00:26:56 +0000220 struct or {
221 A_SET_OF(struct Choice_1) list;
222
223 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +0000224 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +0000225 } or;
vlmddd5a7d2004-09-10 09:18:20 +0000226 struct Choice_1 *not;
vlmb71a9d32004-09-08 00:26:56 +0000227 INTEGER_t other;
228 } choice;
229
230 /* Context for parsing across buffer boundaries */
vlm7a5a31a2004-09-29 13:19:12 +0000231 asn_struct_ctx_t _asn_ctx;
vlmb71a9d32004-09-08 00:26:56 +0000232} Choice_1_t;
233
234/*** <<< STAT-DEFS [Choice-1] >>> ***/
235
vlm7a5a31a2004-09-29 13:19:12 +0000236static asn_TYPE_member_t asn_MBR_or[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000237 { ATF_NOFLAGS, 0, 0,
vlm060fe2a2004-09-10 09:37:12 +0000238 .tag = -1 /* Ambiguous tag (CHOICE?) */,
vlmb71a9d32004-09-08 00:26:56 +0000239 .tag_mode = 0,
vlm7a5a31a2004-09-29 13:19:12 +0000240 .type = (void *)&asn_DEF_Choice_1,
vlmb71a9d32004-09-08 00:26:56 +0000241 .memb_constraints = 0, /* Defer to actual type */
242 .name = ""
243 },
244};
vlm7a5a31a2004-09-29 13:19:12 +0000245static ber_tlv_tag_t asn_DEF_or_tags[] = {
vlm72425de2004-09-13 08:31:01 +0000246 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
247 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
vlmb71a9d32004-09-08 00:26:56 +0000248};
vlm7a5a31a2004-09-29 13:19:12 +0000249static asn_SET_OF_specifics_t asn_DEF_or_specs = {
vlmb71a9d32004-09-08 00:26:56 +0000250 sizeof(struct or),
vlm7a5a31a2004-09-29 13:19:12 +0000251 offsetof(struct or, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +0000252 1, /* XER encoding is XMLValueList */
vlmb71a9d32004-09-08 00:26:56 +0000253};
254static /* Use -fall-defs-global to expose */
vlm7a5a31a2004-09-29 13:19:12 +0000255asn_TYPE_descriptor_t asn_DEF_or = {
vlmb71a9d32004-09-08 00:26:56 +0000256 "or",
vlm39ba4c42004-09-22 16:06:28 +0000257 SET_OF_free,
258 SET_OF_print,
vlmb71a9d32004-09-08 00:26:56 +0000259 SET_OF_constraint,
260 SET_OF_decode_ber,
261 SET_OF_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000262 0, /* Not implemented yet */
263 SET_OF_encode_xer,
vlmb71a9d32004-09-08 00:26:56 +0000264 0, /* Use generic outmost tag fetcher */
vlm7a5a31a2004-09-29 13:19:12 +0000265 asn_DEF_or_tags,
266 sizeof(asn_DEF_or_tags)
267 /sizeof(asn_DEF_or_tags[0]) - 1, /* 1 */
268 asn_DEF_or_tags, /* Same as above */
269 sizeof(asn_DEF_or_tags)
270 /sizeof(asn_DEF_or_tags[0]), /* 2 */
271 asn_MBR_or,
vlmb71a9d32004-09-08 00:26:56 +0000272 1, /* Single element */
vlm7a5a31a2004-09-29 13:19:12 +0000273 &asn_DEF_or_specs /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000274};
275
vlm7a5a31a2004-09-29 13:19:12 +0000276static asn_TYPE_member_t asn_MBR_Choice_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000277 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.and),
vlmb71a9d32004-09-08 00:26:56 +0000278 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
279 .tag_mode = +1, /* EXPLICIT tag at current level */
vlm7a5a31a2004-09-29 13:19:12 +0000280 .type = (void *)&asn_DEF_Choice_1,
vlmb71a9d32004-09-08 00:26:56 +0000281 .memb_constraints = 0, /* Defer to actual type */
282 .name = "and"
283 },
vlmddd5a7d2004-09-10 09:18:20 +0000284 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.or),
vlmb71a9d32004-09-08 00:26:56 +0000285 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
286 .tag_mode = -1, /* IMPLICIT tag at current level */
vlm7a5a31a2004-09-29 13:19:12 +0000287 .type = (void *)&asn_DEF_or,
vlmb71a9d32004-09-08 00:26:56 +0000288 .memb_constraints = 0, /* Defer to actual type */
289 .name = "or"
290 },
vlmddd5a7d2004-09-10 09:18:20 +0000291 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.not),
vlmb71a9d32004-09-08 00:26:56 +0000292 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
293 .tag_mode = +1, /* EXPLICIT tag at current level */
vlm7a5a31a2004-09-29 13:19:12 +0000294 .type = (void *)&asn_DEF_Choice_1,
vlmb71a9d32004-09-08 00:26:56 +0000295 .memb_constraints = 0, /* Defer to actual type */
296 .name = "not"
297 },
vlmddd5a7d2004-09-10 09:18:20 +0000298 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
vlmb71a9d32004-09-08 00:26:56 +0000299 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
300 .tag_mode = +1, /* EXPLICIT tag at current level */
vlm7a5a31a2004-09-29 13:19:12 +0000301 .type = (void *)&asn_DEF_INTEGER,
vlmb71a9d32004-09-08 00:26:56 +0000302 .memb_constraints = 0, /* Defer to actual type */
303 .name = "other"
304 },
305};
vlm7a5a31a2004-09-29 13:19:12 +0000306static asn_TYPE_tag2member_t asn_DEF_Choice_1_tag2el[] = {
vlmb71a9d32004-09-08 00:26:56 +0000307 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and at 22 */
308 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or at 23 */
309 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not at 24 */
310 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* other at 26 */
311};
vlm7a5a31a2004-09-29 13:19:12 +0000312static asn_CHOICE_specifics_t asn_DEF_Choice_1_specs = {
vlmb71a9d32004-09-08 00:26:56 +0000313 sizeof(struct Choice_1),
vlm7a5a31a2004-09-29 13:19:12 +0000314 offsetof(struct Choice_1, _asn_ctx),
vlmb71a9d32004-09-08 00:26:56 +0000315 offsetof(struct Choice_1, present),
316 sizeof(((struct Choice_1 *)0)->present),
vlm7a5a31a2004-09-29 13:19:12 +0000317 asn_DEF_Choice_1_tag2el,
vlmb71a9d32004-09-08 00:26:56 +0000318 4, /* Count of tags in the map */
319 0 /* Whether extensible */
320};
vlm7a5a31a2004-09-29 13:19:12 +0000321asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
vlmb71a9d32004-09-08 00:26:56 +0000322 "Choice-1",
vlm39ba4c42004-09-22 16:06:28 +0000323 CHOICE_free,
324 CHOICE_print,
vlmb71a9d32004-09-08 00:26:56 +0000325 CHOICE_constraint,
326 CHOICE_decode_ber,
327 CHOICE_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000328 0, /* Not implemented yet */
329 CHOICE_encode_xer,
vlmb71a9d32004-09-08 00:26:56 +0000330 CHOICE_outmost_tag,
vlm72425de2004-09-13 08:31:01 +0000331 0, /* No effective tags (pointer) */
332 0, /* No effective tags (count) */
333 0, /* No tags (pointer) */
334 0, /* No tags (count) */
vlm7a5a31a2004-09-29 13:19:12 +0000335 asn_MBR_Choice_1,
vlmb71a9d32004-09-08 00:26:56 +0000336 4, /* Elements count */
vlm7a5a31a2004-09-29 13:19:12 +0000337 &asn_DEF_Choice_1_specs /* Additional specs */
338};
339
340
341/*** <<< INCLUDES [Test-structure-2] >>> ***/
342
343#include <Test-structure-3.h>
344#include <constr_SET.h>
345
346/*** <<< DEPS [Test-structure-2] >>> ***/
347
348
349/*
350 * Method of determining the components presence
351 */
352typedef enum Test_structure_2_PR {
353 Test_structure_2_PR_m1, /* Member m1 is present */
354} Test_structure_2_PR;
355
356struct Test_structure_3; /* Forward declaration */
357extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
358
359/*** <<< TYPE-DECLS [Test-structure-2] >>> ***/
360
361
362typedef struct Test_structure_2 {
363 struct Test_structure_3 *m1 /* OPTIONAL */;
364
365 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */
366 unsigned int _presence_map
367 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
368
369 /* Context for parsing across buffer boundaries */
370 asn_struct_ctx_t _asn_ctx;
371} Test_structure_2_t;
372
373/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
374
375static asn_TYPE_member_t asn_MBR_Test_structure_2[] = {
376 { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
377 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
378 .tag_mode = 0,
379 .type = (void *)&asn_DEF_Test_structure_3,
380 .memb_constraints = 0, /* Defer to actual type */
381 .name = "m1"
382 },
383};
384static ber_tlv_tag_t asn_DEF_Test_structure_2_tags[] = {
385 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
386};
387static asn_TYPE_tag2member_t asn_DEF_Test_structure_2_tag2el[] = {
388 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* m1 at 28 */
389};
390static uint8_t asn_DEF_Test_structure_2_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
391 (0 << 7)
392};
393static asn_SET_specifics_t asn_DEF_Test_structure_2_specs = {
394 sizeof(struct Test_structure_2),
395 offsetof(struct Test_structure_2, _asn_ctx),
396 offsetof(struct Test_structure_2, _presence_map),
397 asn_DEF_Test_structure_2_tag2el,
398 1, /* Count of tags in the map */
vlm07891132004-10-03 09:14:49 +0000399 asn_DEF_Test_structure_2_tag2el, /* Same as above */
400 1, /* Count of tags in the CANONICAL-XER map */
vlm7a5a31a2004-09-29 13:19:12 +0000401 0, /* Whether extensible */
402 (unsigned int *)asn_DEF_Test_structure_2_mmap /* Mandatory elements map */
403};
404asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
405 "Test-structure-2",
406 SET_free,
407 SET_print,
408 SET_constraint,
409 SET_decode_ber,
410 SET_encode_der,
411 0, /* Not implemented yet */
412 SET_encode_xer,
413 0, /* Use generic outmost tag fetcher */
414 asn_DEF_Test_structure_2_tags,
415 sizeof(asn_DEF_Test_structure_2_tags)
416 /sizeof(asn_DEF_Test_structure_2_tags[0]), /* 1 */
417 asn_DEF_Test_structure_2_tags, /* Same as above */
418 sizeof(asn_DEF_Test_structure_2_tags)
419 /sizeof(asn_DEF_Test_structure_2_tags[0]), /* 1 */
420 asn_MBR_Test_structure_2,
421 1, /* Elements count */
422 &asn_DEF_Test_structure_2_specs /* Additional specs */
423};
424
425
426/*** <<< INCLUDES [Test-structure-3] >>> ***/
427
428#include <Test-structure-2.h>
429#include <constr_SET.h>
430
431/*** <<< DEPS [Test-structure-3] >>> ***/
432
433
434/*
435 * Method of determining the components presence
436 */
437typedef enum Test_structure_3_PR {
438 Test_structure_3_PR_m1, /* Member m1 is present */
439} Test_structure_3_PR;
440
441struct Test_structure_2; /* Forward declaration */
442extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
443
444/*** <<< TYPE-DECLS [Test-structure-3] >>> ***/
445
446
447typedef struct Test_structure_3 {
448 struct Test_structure_2 *m1 /* OPTIONAL */;
449
450 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */
451 unsigned int _presence_map
452 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
453
454 /* Context for parsing across buffer boundaries */
455 asn_struct_ctx_t _asn_ctx;
456} Test_structure_3_t;
457
458/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
459
460static asn_TYPE_member_t asn_MBR_Test_structure_3[] = {
461 { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
462 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
463 .tag_mode = 0,
464 .type = (void *)&asn_DEF_Test_structure_2,
465 .memb_constraints = 0, /* Defer to actual type */
466 .name = "m1"
467 },
468};
469static ber_tlv_tag_t asn_DEF_Test_structure_3_tags[] = {
470 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
471};
472static asn_TYPE_tag2member_t asn_DEF_Test_structure_3_tag2el[] = {
473 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* m1 at 29 */
474};
475static uint8_t asn_DEF_Test_structure_3_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
476 (0 << 7)
477};
478static asn_SET_specifics_t asn_DEF_Test_structure_3_specs = {
479 sizeof(struct Test_structure_3),
480 offsetof(struct Test_structure_3, _asn_ctx),
481 offsetof(struct Test_structure_3, _presence_map),
482 asn_DEF_Test_structure_3_tag2el,
483 1, /* Count of tags in the map */
vlm07891132004-10-03 09:14:49 +0000484 asn_DEF_Test_structure_3_tag2el, /* Same as above */
485 1, /* Count of tags in the CANONICAL-XER map */
vlm7a5a31a2004-09-29 13:19:12 +0000486 0, /* Whether extensible */
487 (unsigned int *)asn_DEF_Test_structure_3_mmap /* Mandatory elements map */
488};
489asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
490 "Test-structure-3",
491 SET_free,
492 SET_print,
493 SET_constraint,
494 SET_decode_ber,
495 SET_encode_der,
496 0, /* Not implemented yet */
497 SET_encode_xer,
498 0, /* Use generic outmost tag fetcher */
499 asn_DEF_Test_structure_3_tags,
500 sizeof(asn_DEF_Test_structure_3_tags)
501 /sizeof(asn_DEF_Test_structure_3_tags[0]), /* 1 */
502 asn_DEF_Test_structure_3_tags, /* Same as above */
503 sizeof(asn_DEF_Test_structure_3_tags)
504 /sizeof(asn_DEF_Test_structure_3_tags[0]), /* 1 */
505 asn_MBR_Test_structure_3,
506 1, /* Elements count */
507 &asn_DEF_Test_structure_3_specs /* Additional specs */
vlmb71a9d32004-09-08 00:26:56 +0000508};
509