blob: 18214d3e2c4f576f569b871c9e8ba8e6afcec9e4 [file] [log] [blame]
Lev Walkinb9189732004-09-10 09:37:12 +00001
2/*** <<< INCLUDES [T1] >>> ***/
3
4#include <INTEGER.h>
5#include <ANY.h>
6#include <constr_SEQUENCE.h>
7
Lev Walkinb9189732004-09-10 09:37:12 +00008/*** <<< TYPE-DECLS [T1] >>> ***/
9
Lev Walkinb9189732004-09-10 09:37:12 +000010typedef struct T1 {
11 INTEGER_t i;
12 ANY_t any;
13
14 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000015 asn_struct_ctx_t _asn_ctx;
Lev Walkinb9189732004-09-10 09:37:12 +000016} T1_t;
17
Lev Walkinc8285712005-03-04 22:18:20 +000018/*** <<< FUNC-DECLS [T1] >>> ***/
19
20extern asn_TYPE_descriptor_t asn_DEF_T1;
21
Lev Walkinb9189732004-09-10 09:37:12 +000022/*** <<< STAT-DEFS [T1] >>> ***/
23
Lev Walkine0272aa2005-03-04 11:26:08 +000024static asn_TYPE_member_t asn_MBR_T1_1[] = {
Lev Walkinb9189732004-09-10 09:37:12 +000025 { ATF_NOFLAGS, 0, offsetof(struct T1, i),
26 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
27 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000028 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +000029 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040030 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000031 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
32 .default_value = 0,
Lev Walkinb9189732004-09-10 09:37:12 +000033 .name = "i"
34 },
35 { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct T1, any),
36 .tag = -1 /* Ambiguous tag (ANY?) */,
37 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000038 .type = &asn_DEF_ANY,
Lev Walkinba58e1b2005-01-17 12:20:19 +000039 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040040 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000041 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
42 .default_value = 0,
Lev Walkinb9189732004-09-10 09:37:12 +000043 .name = "any"
44 },
45};
Lev Walkina7591b52014-10-12 18:37:35 -070046static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = {
Lev Walkinb9189732004-09-10 09:37:12 +000047 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
48};
Lev Walkina7591b52014-10-12 18:37:35 -070049static const asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070050 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */
Lev Walkinb9189732004-09-10 09:37:12 +000051};
Lev Walkin59b176e2005-11-26 11:25:14 +000052static asn_SEQUENCE_specifics_t asn_SPC_T1_specs_1 = {
Lev Walkinb9189732004-09-10 09:37:12 +000053 sizeof(struct T1),
Lev Walkindfae9752004-09-29 13:19:37 +000054 offsetof(struct T1, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +000055 asn_MAP_T1_tag2el_1,
Lev Walkinb9189732004-09-10 09:37:12 +000056 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000057 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb9189732004-09-10 09:37:12 +000058 -1, /* Start extensions */
59 -1 /* Stop extensions */
60};
Lev Walkindfae9752004-09-29 13:19:37 +000061asn_TYPE_descriptor_t asn_DEF_T1 = {
Lev Walkinb9189732004-09-10 09:37:12 +000062 "T1",
Lev Walkindc06f6b2004-10-20 15:50:55 +000063 "T1",
Lev Walkina9cc46e2004-09-22 16:06:28 +000064 SEQUENCE_free,
65 SEQUENCE_print,
Lev Walkinb9189732004-09-10 09:37:12 +000066 SEQUENCE_constraint,
67 SEQUENCE_decode_ber,
68 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +000069 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000070 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070071 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040072 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb9189732004-09-10 09:37:12 +000073 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000074 asn_DEF_T1_tags_1,
75 sizeof(asn_DEF_T1_tags_1)
76 /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */
77 asn_DEF_T1_tags_1, /* Same as above */
78 sizeof(asn_DEF_T1_tags_1)
79 /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040080 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000081 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +000082 asn_MBR_T1_1,
Lev Walkinb9189732004-09-10 09:37:12 +000083 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000084 &asn_SPC_T1_specs_1 /* Additional specs */
Lev Walkinb9189732004-09-10 09:37:12 +000085};
86
87
88/*** <<< INCLUDES [T2] >>> ***/
89
90#include <INTEGER.h>
91#include <ANY.h>
92#include <constr_SEQUENCE.h>
93
Lev Walkinb9189732004-09-10 09:37:12 +000094/*** <<< TYPE-DECLS [T2] >>> ***/
95
Lev Walkinb9189732004-09-10 09:37:12 +000096typedef struct T2 {
97 INTEGER_t i;
98 ANY_t *any /* OPTIONAL */;
99
100 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000101 asn_struct_ctx_t _asn_ctx;
Lev Walkinb9189732004-09-10 09:37:12 +0000102} T2_t;
103
Lev Walkinc8285712005-03-04 22:18:20 +0000104/*** <<< FUNC-DECLS [T2] >>> ***/
105
106extern asn_TYPE_descriptor_t asn_DEF_T2;
107
Lev Walkinb9189732004-09-10 09:37:12 +0000108/*** <<< STAT-DEFS [T2] >>> ***/
109
Lev Walkine0272aa2005-03-04 11:26:08 +0000110static asn_TYPE_member_t asn_MBR_T2_1[] = {
Lev Walkinb9189732004-09-10 09:37:12 +0000111 { ATF_NOFLAGS, 0, offsetof(struct T2, i),
112 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
113 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000114 .type = &asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000115 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400116 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000117 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
118 .default_value = 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000119 .name = "i"
120 },
121 { ATF_POINTER, 1, offsetof(struct T2, any),
122 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
123 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000124 .type = &asn_DEF_ANY,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000125 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400126 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000127 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
128 .default_value = 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000129 .name = "any"
130 },
131};
Lev Walkina7591b52014-10-12 18:37:35 -0700132static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = {
Lev Walkinb9189732004-09-10 09:37:12 +0000133 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
134};
Lev Walkina7591b52014-10-12 18:37:35 -0700135static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700136 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i */
137 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* any */
Lev Walkinb9189732004-09-10 09:37:12 +0000138};
Lev Walkin59b176e2005-11-26 11:25:14 +0000139static asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
Lev Walkinb9189732004-09-10 09:37:12 +0000140 sizeof(struct T2),
Lev Walkindfae9752004-09-29 13:19:37 +0000141 offsetof(struct T2, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000142 asn_MAP_T2_tag2el_1,
Lev Walkinb9189732004-09-10 09:37:12 +0000143 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000144 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb9189732004-09-10 09:37:12 +0000145 -1, /* Start extensions */
146 -1 /* Stop extensions */
147};
Lev Walkindfae9752004-09-29 13:19:37 +0000148asn_TYPE_descriptor_t asn_DEF_T2 = {
Lev Walkinb9189732004-09-10 09:37:12 +0000149 "T2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000150 "T2",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000151 SEQUENCE_free,
152 SEQUENCE_print,
Lev Walkinb9189732004-09-10 09:37:12 +0000153 SEQUENCE_constraint,
154 SEQUENCE_decode_ber,
155 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000156 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000157 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700158 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400159 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb9189732004-09-10 09:37:12 +0000160 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 asn_DEF_T2_tags_1,
162 sizeof(asn_DEF_T2_tags_1)
163 /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */
164 asn_DEF_T2_tags_1, /* Same as above */
165 sizeof(asn_DEF_T2_tags_1)
166 /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400167 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000168 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000169 asn_MBR_T2_1,
Lev Walkinb9189732004-09-10 09:37:12 +0000170 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000171 &asn_SPC_T2_specs_1 /* Additional specs */
Lev Walkinb9189732004-09-10 09:37:12 +0000172};
173
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000174
175/*** <<< INCLUDES [T3] >>> ***/
176
177#include <ANY.h>
178#include <constr_SEQUENCE.h>
179
180/*** <<< TYPE-DECLS [T3] >>> ***/
181
182typedef struct T3 {
183 ANY_t any1;
184 ANY_t any2;
185
186 /* Context for parsing across buffer boundaries */
187 asn_struct_ctx_t _asn_ctx;
188} T3_t;
189
190/*** <<< FUNC-DECLS [T3] >>> ***/
191
192extern asn_TYPE_descriptor_t asn_DEF_T3;
193
194/*** <<< STAT-DEFS [T3] >>> ***/
195
196static asn_TYPE_member_t asn_MBR_T3_1[] = {
197 { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct T3, any1),
198 .tag = -1 /* Ambiguous tag (ANY?) */,
199 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000200 .type = &asn_DEF_ANY,
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000201 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400202 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000203 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
204 .default_value = 0,
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000205 .name = "any1"
206 },
207 { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct T3, any2),
208 .tag = -1 /* Ambiguous tag (ANY?) */,
209 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000210 .type = &asn_DEF_ANY,
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000211 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400212 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000213 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
214 .default_value = 0,
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000215 .name = "any2"
216 },
217};
Lev Walkina7591b52014-10-12 18:37:35 -0700218static const ber_tlv_tag_t asn_DEF_T3_tags_1[] = {
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000219 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
220};
Lev Walkin59b176e2005-11-26 11:25:14 +0000221static asn_SEQUENCE_specifics_t asn_SPC_T3_specs_1 = {
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000222 sizeof(struct T3),
223 offsetof(struct T3, _asn_ctx),
224 0, /* No top level tags */
225 0, /* No tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000226 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000227 -1, /* Start extensions */
228 -1 /* Stop extensions */
229};
230asn_TYPE_descriptor_t asn_DEF_T3 = {
231 "T3",
232 "T3",
233 SEQUENCE_free,
234 SEQUENCE_print,
235 SEQUENCE_constraint,
236 SEQUENCE_decode_ber,
237 SEQUENCE_encode_der,
238 SEQUENCE_decode_xer,
239 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700240 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400241 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000242 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000243 asn_DEF_T3_tags_1,
244 sizeof(asn_DEF_T3_tags_1)
245 /sizeof(asn_DEF_T3_tags_1[0]), /* 1 */
246 asn_DEF_T3_tags_1, /* Same as above */
247 sizeof(asn_DEF_T3_tags_1)
248 /sizeof(asn_DEF_T3_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400249 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000250 0, /* No PER visible constraints */
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000251 asn_MBR_T3_1,
252 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000253 &asn_SPC_T3_specs_1 /* Additional specs */
Lev Walkinb3ee6a62005-05-27 21:58:41 +0000254};
255