blob: ae5fa99b533c791ddc4945c335956d40bfb6279a [file] [log] [blame]
Lev Walkin67ec2092004-09-08 00:26:56 +00001
2/*** <<< INCLUDES [Test-structure-1] >>> ***/
3
Lev Walkin67ec2092004-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
Lev Walkinc8285712005-03-04 22:18:20 +000011/*** <<< FWD-DECLS [Test-structure-1] >>> ***/
Lev Walkin1ca69672004-09-29 13:19:12 +000012
Lev Walkinbf56d542005-03-04 23:50:56 +000013struct Test_structure_1;
Lev Walkin67ec2092004-09-08 00:26:56 +000014
15/*** <<< TYPE-DECLS [Test-structure-1] >>> ***/
16
Lev Walkin67ec2092004-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 */
Lev Walkin1ca69672004-09-29 13:19:12 +000022 asn_struct_ctx_t _asn_ctx;
Lev Walkin67ec2092004-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 */
Lev Walkin1ca69672004-09-29 13:19:12 +000028 asn_struct_ctx_t _asn_ctx;
Lev Walkin67ec2092004-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 */
Lev Walkin1ca69672004-09-29 13:19:12 +000034 asn_struct_ctx_t _asn_ctx;
Lev Walkin67ec2092004-09-08 00:26:56 +000035} Test_structure_1_t;
36
Lev Walkinc8285712005-03-04 22:18:20 +000037/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/
38
39extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080040extern asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1;
41extern asn_TYPE_member_t asn_MBR_Test_structure_1_1[4];
Lev Walkinc8285712005-03-04 22:18:20 +000042
43/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/
44
Lev Walkin22b5ed42006-09-13 02:51:20 +000045#include "Test-structure-1.h"
Lev Walkinc8285712005-03-04 22:18:20 +000046
Lev Walkin67ec2092004-09-08 00:26:56 +000047/*** <<< STAT-DEFS [Test-structure-1] >>> ***/
48
Lev Walkine0272aa2005-03-04 11:26:08 +000049static asn_TYPE_member_t asn_MBR_t_member1_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000050 { ATF_POINTER, 0, 0,
Lev Walkin67ec2092004-09-08 00:26:56 +000051 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
52 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000053 .type = &asn_DEF_Test_structure_1,
Lev Walkin67a30122017-08-10 05:48:54 -070054 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070055 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +000056 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +000057 .name = ""
58 },
59};
Lev Walkina7591b52014-10-12 18:37:35 -070060static const ber_tlv_tag_t asn_DEF_t_member1_tags_2[] = {
Lev Walkin67ec2092004-09-08 00:26:56 +000061 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
62};
Lev Walkin59b176e2005-11-26 11:25:14 +000063static asn_SET_OF_specifics_t asn_SPC_t_member1_specs_2 = {
Lev Walkin67ec2092004-09-08 00:26:56 +000064 sizeof(struct t_member1),
Lev Walkin1ca69672004-09-29 13:19:12 +000065 offsetof(struct t_member1, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000066 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin67ec2092004-09-08 00:26:56 +000067};
68static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +000069asn_TYPE_descriptor_t asn_DEF_t_member1_2 = {
Lev Walkin67ec2092004-09-08 00:26:56 +000070 "t-member1",
Lev Walkindc06f6b2004-10-20 15:50:55 +000071 "t-member1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080072 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +000073 asn_DEF_t_member1_tags_2,
74 sizeof(asn_DEF_t_member1_tags_2)
75 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
76 asn_DEF_t_member1_tags_2, /* Same as above */
77 sizeof(asn_DEF_t_member1_tags_2)
78 /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -070079 { 0, 0, SET_OF_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +000080 asn_MBR_t_member1_2,
Lev Walkin67ec2092004-09-08 00:26:56 +000081 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000082 &asn_SPC_t_member1_specs_2 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +000083};
84
Lev Walkine8318b82005-03-06 09:29:03 +000085static asn_TYPE_member_t asn_MBR_t_member2_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000086 { ATF_POINTER, 0, 0,
Lev Walkin67ec2092004-09-08 00:26:56 +000087 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
88 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000089 .type = &asn_DEF_Test_structure_1,
Lev Walkin67a30122017-08-10 05:48:54 -070090 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070091 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +000092 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +000093 .name = ""
94 },
95};
Lev Walkina7591b52014-10-12 18:37:35 -070096static const ber_tlv_tag_t asn_DEF_t_member2_tags_4[] = {
Lev Walkin67ec2092004-09-08 00:26:56 +000097 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
98};
Lev Walkin59b176e2005-11-26 11:25:14 +000099static asn_SET_OF_specifics_t asn_SPC_t_member2_specs_4 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000100 sizeof(struct t_member2),
Lev Walkin1ca69672004-09-29 13:19:12 +0000101 offsetof(struct t_member2, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000102 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin67ec2092004-09-08 00:26:56 +0000103};
104static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000105asn_TYPE_descriptor_t asn_DEF_t_member2_4 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000106 "t-member2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000107 "t-member2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800108 &asn_OP_SEQUENCE_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000109 asn_DEF_t_member2_tags_4,
110 sizeof(asn_DEF_t_member2_tags_4)
111 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
112 asn_DEF_t_member2_tags_4, /* Same as above */
113 sizeof(asn_DEF_t_member2_tags_4)
114 /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700115 { 0, 0, SEQUENCE_OF_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000116 asn_MBR_t_member2_4,
Lev Walkin67ec2092004-09-08 00:26:56 +0000117 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000118 &asn_SPC_t_member2_specs_4 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000119};
120
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800121asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000122 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
Lev Walkin67ec2092004-09-08 00:26:56 +0000123 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
124 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_t_member1_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700126 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700127 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000128 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000129 .name = "t-member1"
130 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000131 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
Lev Walkin67ec2092004-09-08 00:26:56 +0000132 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
133 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_t_member2_4,
Lev Walkin67a30122017-08-10 05:48:54 -0700135 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700136 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000137 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000138 .name = "t-member2"
139 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000140 { ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3),
Lev Walkin67ec2092004-09-08 00:26:56 +0000141 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
142 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000143 .type = &asn_DEF_Test_structure_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700144 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700145 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000146 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000147 .name = "t-member3"
148 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000149 { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4),
Lev Walkin67ec2092004-09-08 00:26:56 +0000150 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
151 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000152 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700153 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700154 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000155 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000156 .name = "t-member4"
157 },
158};
Lev Walkina7591b52014-10-12 18:37:35 -0700159static const ber_tlv_tag_t asn_DEF_Test_structure_1_tags_1[] = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000160 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
161};
Lev Walkina7591b52014-10-12 18:37:35 -0700162static const asn_TYPE_tag2member_t asn_MAP_Test_structure_1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700163 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* t-member4 */
164 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* t-member2 */
165 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 */
166 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 */
Lev Walkin67ec2092004-09-08 00:26:56 +0000167};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800168asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000169 sizeof(struct Test_structure_1),
Lev Walkin1ca69672004-09-29 13:19:12 +0000170 offsetof(struct Test_structure_1, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700171 .tag2el = asn_MAP_Test_structure_1_tag2el_1,
172 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000173 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin67ec2092004-09-08 00:26:56 +0000174 -1, /* Start extensions */
175 -1 /* Stop extensions */
176};
Lev Walkin1ca69672004-09-29 13:19:12 +0000177asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000178 "Test-structure-1",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000179 "Test-structure-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800180 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000181 asn_DEF_Test_structure_1_tags_1,
182 sizeof(asn_DEF_Test_structure_1_tags_1)
183 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
184 asn_DEF_Test_structure_1_tags_1, /* Same as above */
185 sizeof(asn_DEF_Test_structure_1_tags_1)
186 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700187 { 0, 0, SEQUENCE_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000188 asn_MBR_Test_structure_1_1,
Lev Walkin67ec2092004-09-08 00:26:56 +0000189 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000190 &asn_SPC_Test_structure_1_specs_1 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000191};
192
193
194/*** <<< INCLUDES [Choice-1] >>> ***/
195
Lev Walkin67ec2092004-09-08 00:26:56 +0000196#include <INTEGER.h>
197#include <asn_SET_OF.h>
198#include <constr_SET_OF.h>
199#include <constr_CHOICE.h>
200
201/*** <<< DEPS [Choice-1] >>> ***/
202
203typedef enum Choice_1_PR {
204 Choice_1_PR_NOTHING, /* No components present */
205 Choice_1_PR_and,
206 Choice_1_PR_or,
207 Choice_1_PR_not,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000208 Choice_1_PR_other
Lev Walkin67ec2092004-09-08 00:26:56 +0000209} Choice_1_PR;
Lev Walkin1ca69672004-09-29 13:19:12 +0000210
Lev Walkinc8285712005-03-04 22:18:20 +0000211/*** <<< FWD-DECLS [Choice-1] >>> ***/
Lev Walkin1ca69672004-09-29 13:19:12 +0000212
Lev Walkinbf56d542005-03-04 23:50:56 +0000213struct Choice_1;
Lev Walkin67ec2092004-09-08 00:26:56 +0000214
215/*** <<< TYPE-DECLS [Choice-1] >>> ***/
216
Lev Walkin67ec2092004-09-08 00:26:56 +0000217typedef struct Choice_1 {
218 Choice_1_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000219 union Choice_1_u {
Lev Walkin2a744a72013-03-27 01:56:23 -0700220 struct Choice_1 *And;
221 struct Or {
Lev Walkin67ec2092004-09-08 00:26:56 +0000222 A_SET_OF(struct Choice_1) list;
223
224 /* Context for parsing across buffer boundaries */
Lev Walkin1ca69672004-09-29 13:19:12 +0000225 asn_struct_ctx_t _asn_ctx;
Lev Walkin2a744a72013-03-27 01:56:23 -0700226 } Or;
227 struct Choice_1 *Not;
Lev Walkin67ec2092004-09-08 00:26:56 +0000228 INTEGER_t other;
229 } choice;
230
231 /* Context for parsing across buffer boundaries */
Lev Walkin1ca69672004-09-29 13:19:12 +0000232 asn_struct_ctx_t _asn_ctx;
Lev Walkin67ec2092004-09-08 00:26:56 +0000233} Choice_1_t;
234
Lev Walkinc8285712005-03-04 22:18:20 +0000235/*** <<< FUNC-DECLS [Choice-1] >>> ***/
236
237extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800238extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1;
239extern asn_TYPE_member_t asn_MBR_Choice_1_1[4];
Lev Walkinc8285712005-03-04 22:18:20 +0000240
241/*** <<< POST-INCLUDE [Choice-1] >>> ***/
242
Lev Walkin22b5ed42006-09-13 02:51:20 +0000243#include "Choice-1.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000244
Lev Walkin67ec2092004-09-08 00:26:56 +0000245/*** <<< STAT-DEFS [Choice-1] >>> ***/
246
Lev Walkine8318b82005-03-06 09:29:03 +0000247static asn_TYPE_member_t asn_MBR_or_3[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000248 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000249 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin67ec2092004-09-08 00:26:56 +0000250 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000251 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700252 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700253 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000254 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000255 .name = ""
256 },
257};
Lev Walkina7591b52014-10-12 18:37:35 -0700258static const ber_tlv_tag_t asn_DEF_or_tags_3[] = {
Lev Walkin188ed2c2004-09-13 08:31:01 +0000259 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
260 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin67ec2092004-09-08 00:26:56 +0000261};
Lev Walkin59b176e2005-11-26 11:25:14 +0000262static asn_SET_OF_specifics_t asn_SPC_or_specs_3 = {
Lev Walkin2a744a72013-03-27 01:56:23 -0700263 sizeof(struct Or),
264 offsetof(struct Or, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000265 2, /* XER encoding is XMLValueList */
Lev Walkin67ec2092004-09-08 00:26:56 +0000266};
267static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000268asn_TYPE_descriptor_t asn_DEF_or_3 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000269 "or",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000270 "or",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800271 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000272 asn_DEF_or_tags_3,
273 sizeof(asn_DEF_or_tags_3)
274 /sizeof(asn_DEF_or_tags_3[0]) - 1, /* 1 */
275 asn_DEF_or_tags_3, /* Same as above */
276 sizeof(asn_DEF_or_tags_3)
277 /sizeof(asn_DEF_or_tags_3[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700278 { 0, 0, SET_OF_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000279 asn_MBR_or_3,
Lev Walkin67ec2092004-09-08 00:26:56 +0000280 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000281 &asn_SPC_or_specs_3 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000282};
283
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800284asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
Lev Walkin2a744a72013-03-27 01:56:23 -0700285 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.And),
Lev Walkin67ec2092004-09-08 00:26:56 +0000286 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
287 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000288 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700289 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700290 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000291 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000292 .name = "and"
293 },
Lev Walkin2a744a72013-03-27 01:56:23 -0700294 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.Or),
Lev Walkin67ec2092004-09-08 00:26:56 +0000295 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000296 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000297 .type = &asn_DEF_or_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700298 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700299 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000300 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000301 .name = "or"
302 },
Lev Walkin2a744a72013-03-27 01:56:23 -0700303 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.Not),
Lev Walkin67ec2092004-09-08 00:26:56 +0000304 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
305 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000306 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700307 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700308 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000309 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000310 .name = "not"
311 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000312 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
Lev Walkin67ec2092004-09-08 00:26:56 +0000313 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
314 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000315 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700316 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700317 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000318 .default_value = 0,
Lev Walkin67ec2092004-09-08 00:26:56 +0000319 .name = "other"
320 },
321};
Lev Walkina7591b52014-10-12 18:37:35 -0700322static const asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700323 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and */
324 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or */
325 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */
326 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */
Lev Walkin67ec2092004-09-08 00:26:56 +0000327};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800328asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000329 sizeof(struct Choice_1),
Lev Walkin1ca69672004-09-29 13:19:12 +0000330 offsetof(struct Choice_1, _asn_ctx),
Lev Walkin67ec2092004-09-08 00:26:56 +0000331 offsetof(struct Choice_1, present),
332 sizeof(((struct Choice_1 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700333 .tag2el = asn_MAP_Choice_1_tag2el_1,
334 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000335 .canonical_order = 0,
336 .ext_start = -1 /* Extensions start */
Lev Walkin67ec2092004-09-08 00:26:56 +0000337};
Lev Walkin1ca69672004-09-29 13:19:12 +0000338asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000339 "Choice-1",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000340 "Choice-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800341 &asn_OP_CHOICE,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000342 0, /* No effective tags (pointer) */
343 0, /* No effective tags (count) */
344 0, /* No tags (pointer) */
345 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700346 { 0, 0, CHOICE_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000347 asn_MBR_Choice_1_1,
Lev Walkin67ec2092004-09-08 00:26:56 +0000348 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000349 &asn_SPC_Choice_1_specs_1 /* Additional specs */
Lev Walkin1ca69672004-09-29 13:19:12 +0000350};
351
352
353/*** <<< INCLUDES [Test-structure-2] >>> ***/
354
Lev Walkin1ca69672004-09-29 13:19:12 +0000355#include <constr_SET.h>
356
357/*** <<< DEPS [Test-structure-2] >>> ***/
358
359
360/*
361 * Method of determining the components presence
362 */
363typedef enum Test_structure_2_PR {
364 Test_structure_2_PR_m1, /* Member m1 is present */
365} Test_structure_2_PR;
366
Lev Walkinc8285712005-03-04 22:18:20 +0000367/*** <<< FWD-DECLS [Test-structure-2] >>> ***/
368
Lev Walkinbf56d542005-03-04 23:50:56 +0000369struct Test_structure_3;
Lev Walkin1ca69672004-09-29 13:19:12 +0000370
371/*** <<< TYPE-DECLS [Test-structure-2] >>> ***/
372
Lev Walkin1ca69672004-09-29 13:19:12 +0000373typedef struct Test_structure_2 {
374 struct Test_structure_3 *m1 /* OPTIONAL */;
375
376 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */
377 unsigned int _presence_map
378 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
379
380 /* Context for parsing across buffer boundaries */
381 asn_struct_ctx_t _asn_ctx;
382} Test_structure_2_t;
383
Lev Walkinc8285712005-03-04 22:18:20 +0000384/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
385
386extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800387extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1;
388extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000389
390/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
391
Lev Walkin22b5ed42006-09-13 02:51:20 +0000392#include "Test-structure-3.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000393
Lev Walkin1ca69672004-09-29 13:19:12 +0000394/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
395
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800396asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000397 { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
398 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
399 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000400 .type = &asn_DEF_Test_structure_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700401 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700402 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000403 .default_value = 0,
Lev Walkin1ca69672004-09-29 13:19:12 +0000404 .name = "m1"
405 },
406};
Lev Walkina7591b52014-10-12 18:37:35 -0700407static const ber_tlv_tag_t asn_DEF_Test_structure_2_tags_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000408 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
409};
Lev Walkina7591b52014-10-12 18:37:35 -0700410static const asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700411 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
Lev Walkin1ca69672004-09-29 13:19:12 +0000412};
Lev Walkina7591b52014-10-12 18:37:35 -0700413static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000414 (0 << 7)
415};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800416asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000417 sizeof(struct Test_structure_2),
418 offsetof(struct Test_structure_2, _asn_ctx),
419 offsetof(struct Test_structure_2, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700420 .tag2el = asn_MAP_Test_structure_2_tag2el_1,
421 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000422 asn_MAP_Test_structure_2_tag2el_1, /* Same as above */
Lev Walkinf82138b2005-02-25 08:20:32 +0000423 1, /* Count of tags in the CXER map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000424 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700425 (const unsigned int *)asn_MAP_Test_structure_2_mmap_1 /* Mandatory elements map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000426};
427asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
428 "Test-structure-2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000429 "Test-structure-2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800430 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000431 asn_DEF_Test_structure_2_tags_1,
432 sizeof(asn_DEF_Test_structure_2_tags_1)
433 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
434 asn_DEF_Test_structure_2_tags_1, /* Same as above */
435 sizeof(asn_DEF_Test_structure_2_tags_1)
436 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700437 { 0, 0, SET_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000438 asn_MBR_Test_structure_2_1,
Lev Walkin1ca69672004-09-29 13:19:12 +0000439 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000440 &asn_SPC_Test_structure_2_specs_1 /* Additional specs */
Lev Walkin1ca69672004-09-29 13:19:12 +0000441};
442
443
444/*** <<< INCLUDES [Test-structure-3] >>> ***/
445
Lev Walkin1ca69672004-09-29 13:19:12 +0000446#include <constr_SET.h>
447
448/*** <<< DEPS [Test-structure-3] >>> ***/
449
450
451/*
452 * Method of determining the components presence
453 */
454typedef enum Test_structure_3_PR {
455 Test_structure_3_PR_m1, /* Member m1 is present */
456} Test_structure_3_PR;
457
Lev Walkinc8285712005-03-04 22:18:20 +0000458/*** <<< FWD-DECLS [Test-structure-3] >>> ***/
459
Lev Walkinbf56d542005-03-04 23:50:56 +0000460struct Test_structure_2;
Lev Walkin1ca69672004-09-29 13:19:12 +0000461
462/*** <<< TYPE-DECLS [Test-structure-3] >>> ***/
463
Lev Walkin1ca69672004-09-29 13:19:12 +0000464typedef struct Test_structure_3 {
465 struct Test_structure_2 *m1 /* OPTIONAL */;
466
467 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */
468 unsigned int _presence_map
469 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
470
471 /* Context for parsing across buffer boundaries */
472 asn_struct_ctx_t _asn_ctx;
473} Test_structure_3_t;
474
Lev Walkinc8285712005-03-04 22:18:20 +0000475/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
476
477extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800478extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1;
479extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000480
481/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
482
Lev Walkin22b5ed42006-09-13 02:51:20 +0000483#include "Test-structure-2.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000484
Lev Walkin1ca69672004-09-29 13:19:12 +0000485/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
486
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800487asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000488 { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
489 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
490 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000491 .type = &asn_DEF_Test_structure_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700492 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700493 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin59b176e2005-11-26 11:25:14 +0000494 .default_value = 0,
Lev Walkin1ca69672004-09-29 13:19:12 +0000495 .name = "m1"
496 },
497};
Lev Walkina7591b52014-10-12 18:37:35 -0700498static const ber_tlv_tag_t asn_DEF_Test_structure_3_tags_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000499 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
500};
Lev Walkina7591b52014-10-12 18:37:35 -0700501static const asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700502 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
Lev Walkin1ca69672004-09-29 13:19:12 +0000503};
Lev Walkina7591b52014-10-12 18:37:35 -0700504static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000505 (0 << 7)
506};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800507asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000508 sizeof(struct Test_structure_3),
509 offsetof(struct Test_structure_3, _asn_ctx),
510 offsetof(struct Test_structure_3, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700511 .tag2el = asn_MAP_Test_structure_3_tag2el_1,
512 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000513 asn_MAP_Test_structure_3_tag2el_1, /* Same as above */
Lev Walkinf82138b2005-02-25 08:20:32 +0000514 1, /* Count of tags in the CXER map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000515 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700516 (const unsigned int *)asn_MAP_Test_structure_3_mmap_1 /* Mandatory elements map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000517};
518asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
519 "Test-structure-3",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000520 "Test-structure-3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800521 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000522 asn_DEF_Test_structure_3_tags_1,
523 sizeof(asn_DEF_Test_structure_3_tags_1)
524 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
525 asn_DEF_Test_structure_3_tags_1, /* Same as above */
526 sizeof(asn_DEF_Test_structure_3_tags_1)
527 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700528 { 0, 0, SET_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000529 asn_MBR_Test_structure_3_1,
Lev Walkin1ca69672004-09-29 13:19:12 +0000530 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000531 &asn_SPC_Test_structure_3_specs_1 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000532};
533