blob: 7f5fe9eaaa549bc14cdf6a37237ad81f139130f7 [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
34#include <T2.h>
35
Lev Walkinf15320b2004-06-03 03:38:44 +000036/*** <<< STAT-DEFS [T] >>> ***/
37
Lev Walkine0272aa2005-03-04 11:26:08 +000038static asn_TYPE_member_t asn_MBR_collection_2[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000039 { ATF_NOFLAGS, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000040 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
41 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +000042 .type = (void *)&asn_DEF_T2,
Lev Walkinba58e1b2005-01-17 12:20:19 +000043 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +000044 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000045 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000046};
Lev Walkine0272aa2005-03-04 11:26:08 +000047static ber_tlv_tag_t asn_DEF_collection_2_tags[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000048 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
49};
Lev Walkine0272aa2005-03-04 11:26:08 +000050static asn_SET_OF_specifics_t asn_SPC_collection_2_specs = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000051 sizeof(struct collection),
Lev Walkindfae9752004-09-29 13:19:37 +000052 offsetof(struct collection, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000053 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000054};
Lev Walkind04430c2004-09-07 06:44:29 +000055static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +000056asn_TYPE_descriptor_t asn_DEF_collection_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000057 "collection",
Lev Walkindc06f6b2004-10-20 15:50:55 +000058 "collection",
Lev Walkina9cc46e2004-09-22 16:06:28 +000059 SEQUENCE_OF_free,
60 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +000061 SEQUENCE_OF_constraint,
62 SEQUENCE_OF_decode_ber,
63 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000064 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000065 SEQUENCE_OF_encode_xer,
Lev Walkin2e3055d2004-08-20 13:36:32 +000066 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +000067 asn_DEF_collection_2_tags,
68 sizeof(asn_DEF_collection_2_tags)
69 /sizeof(asn_DEF_collection_2_tags[0]), /* 1 */
70 asn_DEF_collection_2_tags, /* Same as above */
71 sizeof(asn_DEF_collection_2_tags)
72 /sizeof(asn_DEF_collection_2_tags[0]), /* 1 */
73 asn_MBR_collection_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +000074 1, /* Single element */
Lev Walkine0272aa2005-03-04 11:26:08 +000075 &asn_SPC_collection_2_specs /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +000076};
77
Lev Walkine0272aa2005-03-04 11:26:08 +000078static asn_TYPE_member_t asn_MBR_T_1[] = {
Lev Walkin64d99e92005-01-30 18:34:07 +000079 { ATF_NOFLAGS, 0, offsetof(struct T, Int),
Lev Walkin2e3055d2004-08-20 13:36:32 +000080 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
81 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +000082 .type = (void *)&asn_DEF_INTEGER,
Lev Walkinba58e1b2005-01-17 12:20:19 +000083 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +000084 .name = "int"
85 },
Lev Walkincc93b0f2004-09-10 09:18:20 +000086 { ATF_NOFLAGS, 0, offsetof(struct T, collection),
Lev Walkin2e3055d2004-08-20 13:36:32 +000087 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
88 .tag_mode = 0,
Lev Walkine0272aa2005-03-04 11:26:08 +000089 .type = (void *)&asn_DEF_collection_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +000090 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +000091 .name = "collection"
Lev Walkinf15320b2004-06-03 03:38:44 +000092 },
93};
Lev Walkine0272aa2005-03-04 11:26:08 +000094static ber_tlv_tag_t asn_DEF_T_1_tags[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +000095 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
96};
Lev Walkine0272aa2005-03-04 11:26:08 +000097static asn_TYPE_tag2member_t asn_MAP_T_1_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +000098 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int at 15 */
Lev Walkin4756e5e2005-02-25 08:19:34 +000099 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* collection at 17 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000100};
Lev Walkine0272aa2005-03-04 11:26:08 +0000101static asn_SEQUENCE_specifics_t asn_SPC_T_1_specs = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000102 sizeof(struct T),
Lev Walkindfae9752004-09-29 13:19:37 +0000103 offsetof(struct T, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000104 asn_MAP_T_1_tag2el,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000105 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000106 -1, /* Start extensions */
107 -1 /* Stop extensions */
108};
Lev Walkindfae9752004-09-29 13:19:37 +0000109asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000110 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000111 "T",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000112 SEQUENCE_free,
113 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000114 SEQUENCE_constraint,
115 SEQUENCE_decode_ber,
116 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000117 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000118 SEQUENCE_encode_xer,
Lev Walkinf15320b2004-06-03 03:38:44 +0000119 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000120 asn_DEF_T_1_tags,
121 sizeof(asn_DEF_T_1_tags)
122 /sizeof(asn_DEF_T_1_tags[0]), /* 1 */
123 asn_DEF_T_1_tags, /* Same as above */
124 sizeof(asn_DEF_T_1_tags)
125 /sizeof(asn_DEF_T_1_tags[0]), /* 1 */
126 asn_MBR_T_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000127 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000128 &asn_SPC_T_1_specs /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000129};
130
131
Lev Walkin5d5e6522004-08-11 05:22:22 +0000132/*** <<< INCLUDES [T2] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000133
Lev Walkinf15320b2004-06-03 03:38:44 +0000134#include <BOOLEAN.h>
135#include <UTF8String.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000136#include <constr_SEQUENCE.h>
137
Lev Walkinf15320b2004-06-03 03:38:44 +0000138/*** <<< TYPE-DECLS [T2] >>> ***/
139
Lev Walkinf15320b2004-06-03 03:38:44 +0000140typedef struct T2 {
141 BOOLEAN_t flag;
142 UTF8String_t str;
143
144 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000145 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000146} T2_t;
147
Lev Walkinc8285712005-03-04 22:18:20 +0000148/*** <<< FUNC-DECLS [T2] >>> ***/
149
150extern asn_TYPE_descriptor_t asn_DEF_T2;
151
Lev Walkinf15320b2004-06-03 03:38:44 +0000152/*** <<< STAT-DEFS [T2] >>> ***/
153
Lev Walkine0272aa2005-03-04 11:26:08 +0000154static asn_TYPE_member_t asn_MBR_T2_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000155 { ATF_NOFLAGS, 0, offsetof(struct T2, flag),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000156 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
157 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000158 .type = (void *)&asn_DEF_BOOLEAN,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000159 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000160 .name = "flag"
Lev Walkinf15320b2004-06-03 03:38:44 +0000161 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000162 { ATF_NOFLAGS, 0, offsetof(struct T2, str),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000163 .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
164 .tag_mode = 0,
Lev Walkindfae9752004-09-29 13:19:37 +0000165 .type = (void *)&asn_DEF_UTF8String,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000166 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000167 .name = "str"
Lev Walkinf15320b2004-06-03 03:38:44 +0000168 },
169};
Lev Walkine0272aa2005-03-04 11:26:08 +0000170static ber_tlv_tag_t asn_DEF_T2_1_tags[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000171 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
172};
Lev Walkine0272aa2005-03-04 11:26:08 +0000173static asn_TYPE_tag2member_t asn_MAP_T2_1_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000174 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag at 20 */
Lev Walkin4756e5e2005-02-25 08:19:34 +0000175 { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* str at 21 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000176};
Lev Walkine0272aa2005-03-04 11:26:08 +0000177static asn_SEQUENCE_specifics_t asn_SPC_T2_1_specs = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000178 sizeof(struct T2),
Lev Walkindfae9752004-09-29 13:19:37 +0000179 offsetof(struct T2, _asn_ctx),
Lev Walkine0272aa2005-03-04 11:26:08 +0000180 asn_MAP_T2_1_tag2el,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000181 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000182 -1, /* Start extensions */
183 -1 /* Stop extensions */
184};
Lev Walkindfae9752004-09-29 13:19:37 +0000185asn_TYPE_descriptor_t asn_DEF_T2 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000186 "T2",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000187 "T2",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000188 SEQUENCE_free,
189 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000190 SEQUENCE_constraint,
191 SEQUENCE_decode_ber,
192 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000193 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000194 SEQUENCE_encode_xer,
Lev Walkinf15320b2004-06-03 03:38:44 +0000195 0, /* Use generic outmost tag fetcher */
Lev Walkine0272aa2005-03-04 11:26:08 +0000196 asn_DEF_T2_1_tags,
197 sizeof(asn_DEF_T2_1_tags)
198 /sizeof(asn_DEF_T2_1_tags[0]), /* 1 */
199 asn_DEF_T2_1_tags, /* Same as above */
200 sizeof(asn_DEF_T2_1_tags)
201 /sizeof(asn_DEF_T2_1_tags[0]), /* 1 */
202 asn_MBR_T2_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000203 2, /* Elements count */
Lev Walkine0272aa2005-03-04 11:26:08 +0000204 &asn_SPC_T2_1_specs /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000205};
206