blob: bdf973b37f48abeba59b8abce2c6561a8a0cb23d [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 Walkin20696a42017-10-17 21:27:33 -070056 0, 0, /* No default value */
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 Walkin20696a42017-10-17 21:27:33 -070092 0, 0, /* No default value */
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 Walkin20696a42017-10-17 21:27:33 -0700128 0, 0, /* No default value */
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 Walkin20696a42017-10-17 21:27:33 -0700137 0, 0, /* No default value */
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 Walkin20696a42017-10-17 21:27:33 -0700146 0, 0, /* No default value */
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 Walkin20696a42017-10-17 21:27:33 -0700155 0, 0, /* No default value */
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 Walkindf2edbb2017-10-21 13:40:07 -0700174 -1, /* First extension addition */
Lev Walkin67ec2092004-09-08 00:26:56 +0000175};
Lev Walkin1ca69672004-09-29 13:19:12 +0000176asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000177 "Test-structure-1",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000178 "Test-structure-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800179 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +0000180 asn_DEF_Test_structure_1_tags_1,
181 sizeof(asn_DEF_Test_structure_1_tags_1)
182 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
183 asn_DEF_Test_structure_1_tags_1, /* Same as above */
184 sizeof(asn_DEF_Test_structure_1_tags_1)
185 /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700186 { 0, 0, SEQUENCE_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000187 asn_MBR_Test_structure_1_1,
Lev Walkin67ec2092004-09-08 00:26:56 +0000188 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000189 &asn_SPC_Test_structure_1_specs_1 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000190};
191
192
193/*** <<< INCLUDES [Choice-1] >>> ***/
194
Lev Walkin67ec2092004-09-08 00:26:56 +0000195#include <INTEGER.h>
196#include <asn_SET_OF.h>
197#include <constr_SET_OF.h>
198#include <constr_CHOICE.h>
199
200/*** <<< DEPS [Choice-1] >>> ***/
201
202typedef enum Choice_1_PR {
203 Choice_1_PR_NOTHING, /* No components present */
204 Choice_1_PR_and,
205 Choice_1_PR_or,
206 Choice_1_PR_not,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000207 Choice_1_PR_other
Lev Walkin67ec2092004-09-08 00:26:56 +0000208} Choice_1_PR;
Lev Walkin1ca69672004-09-29 13:19:12 +0000209
Lev Walkinc8285712005-03-04 22:18:20 +0000210/*** <<< FWD-DECLS [Choice-1] >>> ***/
Lev Walkin1ca69672004-09-29 13:19:12 +0000211
Lev Walkinbf56d542005-03-04 23:50:56 +0000212struct Choice_1;
Lev Walkin67ec2092004-09-08 00:26:56 +0000213
214/*** <<< TYPE-DECLS [Choice-1] >>> ***/
215
Lev Walkin67ec2092004-09-08 00:26:56 +0000216typedef struct Choice_1 {
217 Choice_1_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000218 union Choice_1_u {
Lev Walkin2a744a72013-03-27 01:56:23 -0700219 struct Choice_1 *And;
220 struct Or {
Lev Walkin67ec2092004-09-08 00:26:56 +0000221 A_SET_OF(struct Choice_1) list;
222
223 /* Context for parsing across buffer boundaries */
Lev Walkin1ca69672004-09-29 13:19:12 +0000224 asn_struct_ctx_t _asn_ctx;
Lev Walkin2a744a72013-03-27 01:56:23 -0700225 } Or;
226 struct Choice_1 *Not;
Lev Walkin67ec2092004-09-08 00:26:56 +0000227 INTEGER_t other;
228 } choice;
229
230 /* Context for parsing across buffer boundaries */
Lev Walkin1ca69672004-09-29 13:19:12 +0000231 asn_struct_ctx_t _asn_ctx;
Lev Walkin67ec2092004-09-08 00:26:56 +0000232} Choice_1_t;
233
Lev Walkinc8285712005-03-04 22:18:20 +0000234/*** <<< FUNC-DECLS [Choice-1] >>> ***/
235
236extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800237extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1;
238extern asn_TYPE_member_t asn_MBR_Choice_1_1[4];
Lev Walkinc8285712005-03-04 22:18:20 +0000239
240/*** <<< POST-INCLUDE [Choice-1] >>> ***/
241
Lev Walkin22b5ed42006-09-13 02:51:20 +0000242#include "Choice-1.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000243
Lev Walkin67ec2092004-09-08 00:26:56 +0000244/*** <<< STAT-DEFS [Choice-1] >>> ***/
245
Lev Walkine8318b82005-03-06 09:29:03 +0000246static asn_TYPE_member_t asn_MBR_or_3[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000247 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000248 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin67ec2092004-09-08 00:26:56 +0000249 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000250 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700251 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700252 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700253 0, 0, /* No default value */
Lev Walkin67ec2092004-09-08 00:26:56 +0000254 .name = ""
255 },
256};
Lev Walkina7591b52014-10-12 18:37:35 -0700257static const ber_tlv_tag_t asn_DEF_or_tags_3[] = {
Lev Walkin188ed2c2004-09-13 08:31:01 +0000258 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
259 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
Lev Walkin67ec2092004-09-08 00:26:56 +0000260};
Lev Walkin59b176e2005-11-26 11:25:14 +0000261static asn_SET_OF_specifics_t asn_SPC_or_specs_3 = {
Lev Walkin2a744a72013-03-27 01:56:23 -0700262 sizeof(struct Or),
263 offsetof(struct Or, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000264 2, /* XER encoding is XMLValueList */
Lev Walkin67ec2092004-09-08 00:26:56 +0000265};
266static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000267asn_TYPE_descriptor_t asn_DEF_or_3 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000268 "or",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000269 "or",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800270 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000271 asn_DEF_or_tags_3,
272 sizeof(asn_DEF_or_tags_3)
273 /sizeof(asn_DEF_or_tags_3[0]) - 1, /* 1 */
274 asn_DEF_or_tags_3, /* Same as above */
275 sizeof(asn_DEF_or_tags_3)
276 /sizeof(asn_DEF_or_tags_3[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700277 { 0, 0, SET_OF_constraint },
Lev Walkine8318b82005-03-06 09:29:03 +0000278 asn_MBR_or_3,
Lev Walkin67ec2092004-09-08 00:26:56 +0000279 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000280 &asn_SPC_or_specs_3 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000281};
282
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800283asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
Lev Walkin2a744a72013-03-27 01:56:23 -0700284 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.And),
Lev Walkin67ec2092004-09-08 00:26:56 +0000285 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
286 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000287 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700288 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700289 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700290 0, 0, /* No default value */
Lev Walkin67ec2092004-09-08 00:26:56 +0000291 .name = "and"
292 },
Lev Walkin2a744a72013-03-27 01:56:23 -0700293 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.Or),
Lev Walkin67ec2092004-09-08 00:26:56 +0000294 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000295 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000296 .type = &asn_DEF_or_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700297 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700298 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700299 0, 0, /* No default value */
Lev Walkin67ec2092004-09-08 00:26:56 +0000300 .name = "or"
301 },
Lev Walkin2a744a72013-03-27 01:56:23 -0700302 { ATF_POINTER, 0, offsetof(struct Choice_1, choice.Not),
Lev Walkin67ec2092004-09-08 00:26:56 +0000303 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
304 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000305 .type = &asn_DEF_Choice_1,
Lev Walkin67a30122017-08-10 05:48:54 -0700306 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700307 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700308 0, 0, /* No default value */
Lev Walkin67ec2092004-09-08 00:26:56 +0000309 .name = "not"
310 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000311 { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
Lev Walkin67ec2092004-09-08 00:26:56 +0000312 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
313 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000314 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700315 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700316 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700317 0, 0, /* No default value */
Lev Walkin67ec2092004-09-08 00:26:56 +0000318 .name = "other"
319 },
320};
Lev Walkina7591b52014-10-12 18:37:35 -0700321static const asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700322 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and */
323 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or */
324 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */
325 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */
Lev Walkin67ec2092004-09-08 00:26:56 +0000326};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800327asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000328 sizeof(struct Choice_1),
Lev Walkin1ca69672004-09-29 13:19:12 +0000329 offsetof(struct Choice_1, _asn_ctx),
Lev Walkin67ec2092004-09-08 00:26:56 +0000330 offsetof(struct Choice_1, present),
331 sizeof(((struct Choice_1 *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700332 .tag2el = asn_MAP_Choice_1_tag2el_1,
333 .tag2el_count = 4, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700334 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700335 .first_extension = -1 /* Extensions start */
Lev Walkin67ec2092004-09-08 00:26:56 +0000336};
Lev Walkin1ca69672004-09-29 13:19:12 +0000337asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
Lev Walkin67ec2092004-09-08 00:26:56 +0000338 "Choice-1",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000339 "Choice-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800340 &asn_OP_CHOICE,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000341 0, /* No effective tags (pointer) */
342 0, /* No effective tags (count) */
343 0, /* No tags (pointer) */
344 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700345 { 0, 0, CHOICE_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000346 asn_MBR_Choice_1_1,
Lev Walkin67ec2092004-09-08 00:26:56 +0000347 4, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000348 &asn_SPC_Choice_1_specs_1 /* Additional specs */
Lev Walkin1ca69672004-09-29 13:19:12 +0000349};
350
351
352/*** <<< INCLUDES [Test-structure-2] >>> ***/
353
Lev Walkin1ca69672004-09-29 13:19:12 +0000354#include <constr_SET.h>
355
356/*** <<< DEPS [Test-structure-2] >>> ***/
357
358
359/*
360 * Method of determining the components presence
361 */
362typedef enum Test_structure_2_PR {
363 Test_structure_2_PR_m1, /* Member m1 is present */
364} Test_structure_2_PR;
365
Lev Walkinc8285712005-03-04 22:18:20 +0000366/*** <<< FWD-DECLS [Test-structure-2] >>> ***/
367
Lev Walkinbf56d542005-03-04 23:50:56 +0000368struct Test_structure_3;
Lev Walkin1ca69672004-09-29 13:19:12 +0000369
370/*** <<< TYPE-DECLS [Test-structure-2] >>> ***/
371
Lev Walkin1ca69672004-09-29 13:19:12 +0000372typedef struct Test_structure_2 {
373 struct Test_structure_3 *m1 /* OPTIONAL */;
374
375 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */
376 unsigned int _presence_map
377 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
378
379 /* Context for parsing across buffer boundaries */
380 asn_struct_ctx_t _asn_ctx;
381} Test_structure_2_t;
382
Lev Walkinc8285712005-03-04 22:18:20 +0000383/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
384
385extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800386extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1;
387extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000388
389/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
390
Lev Walkin22b5ed42006-09-13 02:51:20 +0000391#include "Test-structure-3.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000392
Lev Walkin1ca69672004-09-29 13:19:12 +0000393/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
394
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800395asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000396 { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
397 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
398 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000399 .type = &asn_DEF_Test_structure_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700400 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700401 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700402 0, 0, /* No default value */
Lev Walkin1ca69672004-09-29 13:19:12 +0000403 .name = "m1"
404 },
405};
Lev Walkina7591b52014-10-12 18:37:35 -0700406static const ber_tlv_tag_t asn_DEF_Test_structure_2_tags_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000407 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
408};
Lev Walkina7591b52014-10-12 18:37:35 -0700409static const asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700410 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
Lev Walkin1ca69672004-09-29 13:19:12 +0000411};
Lev Walkina7591b52014-10-12 18:37:35 -0700412static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000413 (0 << 7)
414};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800415asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000416 sizeof(struct Test_structure_2),
417 offsetof(struct Test_structure_2, _asn_ctx),
418 offsetof(struct Test_structure_2, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700419 .tag2el = asn_MAP_Test_structure_2_tag2el_1,
420 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000421 asn_MAP_Test_structure_2_tag2el_1, /* Same as above */
Lev Walkinf82138b2005-02-25 08:20:32 +0000422 1, /* Count of tags in the CXER map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000423 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700424 (const unsigned int *)asn_MAP_Test_structure_2_mmap_1 /* Mandatory elements map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000425};
426asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
427 "Test-structure-2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000428 "Test-structure-2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800429 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000430 asn_DEF_Test_structure_2_tags_1,
431 sizeof(asn_DEF_Test_structure_2_tags_1)
432 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
433 asn_DEF_Test_structure_2_tags_1, /* Same as above */
434 sizeof(asn_DEF_Test_structure_2_tags_1)
435 /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700436 { 0, 0, SET_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000437 asn_MBR_Test_structure_2_1,
Lev Walkin1ca69672004-09-29 13:19:12 +0000438 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000439 &asn_SPC_Test_structure_2_specs_1 /* Additional specs */
Lev Walkin1ca69672004-09-29 13:19:12 +0000440};
441
442
443/*** <<< INCLUDES [Test-structure-3] >>> ***/
444
Lev Walkin1ca69672004-09-29 13:19:12 +0000445#include <constr_SET.h>
446
447/*** <<< DEPS [Test-structure-3] >>> ***/
448
449
450/*
451 * Method of determining the components presence
452 */
453typedef enum Test_structure_3_PR {
454 Test_structure_3_PR_m1, /* Member m1 is present */
455} Test_structure_3_PR;
456
Lev Walkinc8285712005-03-04 22:18:20 +0000457/*** <<< FWD-DECLS [Test-structure-3] >>> ***/
458
Lev Walkinbf56d542005-03-04 23:50:56 +0000459struct Test_structure_2;
Lev Walkin1ca69672004-09-29 13:19:12 +0000460
461/*** <<< TYPE-DECLS [Test-structure-3] >>> ***/
462
Lev Walkin1ca69672004-09-29 13:19:12 +0000463typedef struct Test_structure_3 {
464 struct Test_structure_2 *m1 /* OPTIONAL */;
465
466 /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */
467 unsigned int _presence_map
468 [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
469
470 /* Context for parsing across buffer boundaries */
471 asn_struct_ctx_t _asn_ctx;
472} Test_structure_3_t;
473
Lev Walkinc8285712005-03-04 22:18:20 +0000474/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
475
476extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800477extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1;
478extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +0000479
480/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
481
Lev Walkin22b5ed42006-09-13 02:51:20 +0000482#include "Test-structure-2.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000483
Lev Walkin1ca69672004-09-29 13:19:12 +0000484/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
485
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800486asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000487 { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
488 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
489 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000490 .type = &asn_DEF_Test_structure_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700491 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700492 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700493 0, 0, /* No default value */
Lev Walkin1ca69672004-09-29 13:19:12 +0000494 .name = "m1"
495 },
496};
Lev Walkina7591b52014-10-12 18:37:35 -0700497static const ber_tlv_tag_t asn_DEF_Test_structure_3_tags_1[] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000498 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
499};
Lev Walkina7591b52014-10-12 18:37:35 -0700500static const asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700501 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */
Lev Walkin1ca69672004-09-29 13:19:12 +0000502};
Lev Walkina7591b52014-10-12 18:37:35 -0700503static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000504 (0 << 7)
505};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800506asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
Lev Walkin1ca69672004-09-29 13:19:12 +0000507 sizeof(struct Test_structure_3),
508 offsetof(struct Test_structure_3, _asn_ctx),
509 offsetof(struct Test_structure_3, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700510 .tag2el = asn_MAP_Test_structure_3_tag2el_1,
511 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000512 asn_MAP_Test_structure_3_tag2el_1, /* Same as above */
Lev Walkinf82138b2005-02-25 08:20:32 +0000513 1, /* Count of tags in the CXER map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000514 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700515 (const unsigned int *)asn_MAP_Test_structure_3_mmap_1 /* Mandatory elements map */
Lev Walkin1ca69672004-09-29 13:19:12 +0000516};
517asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
518 "Test-structure-3",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000519 "Test-structure-3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800520 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000521 asn_DEF_Test_structure_3_tags_1,
522 sizeof(asn_DEF_Test_structure_3_tags_1)
523 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
524 asn_DEF_Test_structure_3_tags_1, /* Same as above */
525 sizeof(asn_DEF_Test_structure_3_tags_1)
526 /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700527 { 0, 0, SET_constraint },
Lev Walkine0272aa2005-03-04 11:26:08 +0000528 asn_MBR_Test_structure_3_1,
Lev Walkin1ca69672004-09-29 13:19:12 +0000529 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000530 &asn_SPC_Test_structure_3_specs_1 /* Additional specs */
Lev Walkin67ec2092004-09-08 00:26:56 +0000531};
532