blob: 9b39bc4b34fba2662fadb0df3d39895acae68345 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001
Lev Walkin5d5e6522004-08-11 05:22:22 +00002/*** <<< INCLUDES [T] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +00003
Lev Walkinf15320b2004-06-03 03:38:44 +00004#include <INTEGER.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00005#include <asn_SEQUENCE_OF.h>
Lev Walkin5d5e6522004-08-11 05:22:22 +00006#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00007#include <constr_SEQUENCE.h>
8
Lev Walkinc8285712005-03-04 22:18:20 +00009/*** <<< FWD-DECLS [T] >>> ***/
Lev Walkin5d5e6522004-08-11 05:22:22 +000010
Lev Walkinbf56d542005-03-04 23:50:56 +000011struct T2;
Lev Walkinf15320b2004-06-03 03:38:44 +000012
13/*** <<< TYPE-DECLS [T] >>> ***/
14
Lev Walkinf15320b2004-06-03 03:38:44 +000015typedef struct T {
Lev Walkin64d99e92005-01-30 18:34:07 +000016 INTEGER_t Int;
Lev Walkinf15320b2004-06-03 03:38:44 +000017 struct collection {
Lev Walkinc8285712005-03-04 22:18:20 +000018 A_SEQUENCE_OF(struct T2) list;
Lev Walkinf15320b2004-06-03 03:38:44 +000019
20 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000021 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +000022 } collection;
23
24 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000025 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +000026} T_t;
27
Lev Walkinc8285712005-03-04 22:18:20 +000028/*** <<< FUNC-DECLS [T] >>> ***/
29
30extern asn_TYPE_descriptor_t asn_DEF_T;
31
32/*** <<< POST-INCLUDE [T] >>> ***/
33
Lev Walkin22b5ed42006-09-13 02:51:20 +000034#include "T2.h"
Lev Walkinc8285712005-03-04 22:18:20 +000035
Lev Walkinf15320b2004-06-03 03:38:44 +000036/*** <<< STAT-DEFS [T] >>> ***/
37
Lev Walkine8318b82005-03-06 09:29:03 +000038static asn_TYPE_member_t asn_MBR_collection_3[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000039 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000040 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
41 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000042 .type = &asn_DEF_T2,
Lev Walkin67a30122017-08-10 05:48:54 -070043 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +000044 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040045 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000046 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
47 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000048 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000049 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000050};
Lev Walkina7591b52014-10-12 18:37:35 -070051static const ber_tlv_tag_t asn_DEF_collection_tags_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000052 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
53};
Lev Walkin59b176e2005-11-26 11:25:14 +000054static asn_SET_OF_specifics_t asn_SPC_collection_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000055 sizeof(struct collection),
Lev Walkindfae9752004-09-29 13:19:37 +000056 offsetof(struct collection, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000057 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000058};
Lev Walkind04430c2004-09-07 06:44:29 +000059static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +000060asn_TYPE_descriptor_t asn_DEF_collection_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000061 "collection",
Lev Walkindc06f6b2004-10-20 15:50:55 +000062 "collection",
Lev Walkina9cc46e2004-09-22 16:06:28 +000063 SEQUENCE_OF_free,
64 SEQUENCE_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -070065 SEQUENCE_OF_compare,
Lev Walkin2e3055d2004-08-20 13:36:32 +000066 SEQUENCE_OF_constraint,
67 SEQUENCE_OF_decode_ber,
68 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000069 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000070 SEQUENCE_OF_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 Walkin2e3055d2004-08-20 13:36:32 +000073 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000074 asn_DEF_collection_tags_3,
75 sizeof(asn_DEF_collection_tags_3)
76 /sizeof(asn_DEF_collection_tags_3[0]), /* 1 */
77 asn_DEF_collection_tags_3, /* Same as above */
78 sizeof(asn_DEF_collection_tags_3)
79 /sizeof(asn_DEF_collection_tags_3[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 Walkine8318b82005-03-06 09:29:03 +000082 asn_MBR_collection_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +000083 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000084 &asn_SPC_collection_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +000085};
86
Lev Walkine0272aa2005-03-04 11:26:08 +000087static asn_TYPE_member_t asn_MBR_T_1[] = {
Lev Walkin64d99e92005-01-30 18:34:07 +000088 { ATF_NOFLAGS, 0, offsetof(struct T, Int),
Lev Walkin2e3055d2004-08-20 13:36:32 +000089 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
90 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000091 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -070092 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +000093 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040094 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000095 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
96 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000097 .name = "int"
98 },
Lev Walkincc93b0f2004-09-10 09:18:20 +000099 { ATF_NOFLAGS, 0, offsetof(struct T, collection),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000100 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
101 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000102 .type = &asn_DEF_collection_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700103 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000104 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400105 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000106 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
107 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000108 .name = "collection"
Lev Walkinf15320b2004-06-03 03:38:44 +0000109 },
110};
Lev Walkina7591b52014-10-12 18:37:35 -0700111static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000112 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
113};
Lev Walkina7591b52014-10-12 18:37:35 -0700114static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700115 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int */
116 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* collection */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000117};
Lev Walkin59b176e2005-11-26 11:25:14 +0000118static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000119 sizeof(struct T),
Lev Walkindfae9752004-09-29 13:19:37 +0000120 offsetof(struct T, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000121 asn_MAP_T_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000122 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000123 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000124 -1, /* Start extensions */
125 -1 /* Stop extensions */
126};
Lev Walkindfae9752004-09-29 13:19:37 +0000127asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000128 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000129 "T",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000130 SEQUENCE_free,
131 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700132 SEQUENCE_compare,
Lev Walkinf15320b2004-06-03 03:38:44 +0000133 SEQUENCE_constraint,
134 SEQUENCE_decode_ber,
135 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000136 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000137 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700138 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400139 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000140 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000141 asn_DEF_T_tags_1,
142 sizeof(asn_DEF_T_tags_1)
143 /sizeof(asn_DEF_T_tags_1[0]), /* 1 */
144 asn_DEF_T_tags_1, /* Same as above */
145 sizeof(asn_DEF_T_tags_1)
146 /sizeof(asn_DEF_T_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400147 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000148 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000149 asn_MBR_T_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000150 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000151 &asn_SPC_T_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000152};
153
154
Lev Walkin5d5e6522004-08-11 05:22:22 +0000155/*** <<< INCLUDES [T2] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000156
Lev Walkinf15320b2004-06-03 03:38:44 +0000157#include <BOOLEAN.h>
158#include <UTF8String.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000159#include <constr_SEQUENCE.h>
160
Lev Walkinf15320b2004-06-03 03:38:44 +0000161/*** <<< TYPE-DECLS [T2] >>> ***/
162
Lev Walkinf15320b2004-06-03 03:38:44 +0000163typedef struct T2 {
164 BOOLEAN_t flag;
165 UTF8String_t str;
166
167 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000168 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000169} T2_t;
170
Lev Walkinc8285712005-03-04 22:18:20 +0000171/*** <<< FUNC-DECLS [T2] >>> ***/
172
173extern asn_TYPE_descriptor_t asn_DEF_T2;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800174extern asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1;
175extern asn_TYPE_member_t asn_MBR_T2_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000176
Lev Walkinf15320b2004-06-03 03:38:44 +0000177/*** <<< STAT-DEFS [T2] >>> ***/
178
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800179asn_TYPE_member_t asn_MBR_T2_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000180 { ATF_NOFLAGS, 0, offsetof(struct T2, flag),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000181 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
182 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000183 .type = &asn_DEF_BOOLEAN,
Lev Walkin67a30122017-08-10 05:48:54 -0700184 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000185 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400186 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000187 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
188 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000189 .name = "flag"
Lev Walkinf15320b2004-06-03 03:38:44 +0000190 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000191 { ATF_NOFLAGS, 0, offsetof(struct T2, str),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000192 .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
193 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000194 .type = &asn_DEF_UTF8String,
Lev Walkin67a30122017-08-10 05:48:54 -0700195 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000196 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400197 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000198 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
199 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000200 .name = "str"
Lev Walkinf15320b2004-06-03 03:38:44 +0000201 },
202};
Lev Walkina7591b52014-10-12 18:37:35 -0700203static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000204 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
205};
Lev Walkina7591b52014-10-12 18:37:35 -0700206static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700207 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag */
208 { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* str */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000209};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800210asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000211 sizeof(struct T2),
Lev Walkindfae9752004-09-29 13:19:37 +0000212 offsetof(struct T2, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000213 asn_MAP_T2_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000214 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000215 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000216 -1, /* Start extensions */
217 -1 /* Stop extensions */
218};
Lev Walkindfae9752004-09-29 13:19:37 +0000219asn_TYPE_descriptor_t asn_DEF_T2 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000220 "T2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000221 "T2",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000222 SEQUENCE_free,
223 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700224 SEQUENCE_compare,
Lev Walkinf15320b2004-06-03 03:38:44 +0000225 SEQUENCE_constraint,
226 SEQUENCE_decode_ber,
227 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000228 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000229 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700230 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400231 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000232 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000233 asn_DEF_T2_tags_1,
234 sizeof(asn_DEF_T2_tags_1)
235 /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */
236 asn_DEF_T2_tags_1, /* Same as above */
237 sizeof(asn_DEF_T2_tags_1)
238 /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400239 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000240 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000241 asn_MBR_T2_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000242 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000243 &asn_SPC_T2_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000244};
245