blob: 6ef4a4f2362bbb4e8dc82965e359128aa5eae9e7 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001
vlmeb2157b2004-08-11 05:22:22 +00002/*** <<< INCLUDES [T] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +00003
vlmfa67ddc2004-06-03 03:38:44 +00004#include <INTEGER.h>
vlmfa67ddc2004-06-03 03:38:44 +00005#include <T2.h>
6#include <asn_SEQUENCE_OF.h>
vlmeb2157b2004-08-11 05:22:22 +00007#include <constr_SEQUENCE_OF.h>
vlmfa67ddc2004-06-03 03:38:44 +00008#include <constr_SEQUENCE.h>
9
vlmeb2157b2004-08-11 05:22:22 +000010/*** <<< DEPS [T] >>> ***/
11
vlm02296432004-09-29 13:19:37 +000012extern asn_TYPE_descriptor_t asn_DEF_T;
vlmfa67ddc2004-06-03 03:38:44 +000013
14/*** <<< TYPE-DECLS [T] >>> ***/
15
16
17typedef struct T {
18 INTEGER_t int;
19 struct collection {
vlmb47f48e2004-09-17 06:32:12 +000020 A_SEQUENCE_OF(T2_t) list;
vlmfa67ddc2004-06-03 03:38:44 +000021
22 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +000023 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +000024 } collection;
25
26 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +000027 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +000028} T_t;
29
30/*** <<< STAT-DEFS [T] >>> ***/
31
vlm02296432004-09-29 13:19:37 +000032static asn_TYPE_member_t asn_MBR_collection[] = {
vlmddd5a7d2004-09-10 09:18:20 +000033 { ATF_NOFLAGS, 0, 0,
vlm21e46002004-08-20 13:36:32 +000034 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
35 .tag_mode = 0,
vlm02296432004-09-29 13:19:37 +000036 .type = (void *)&asn_DEF_T2,
vlm21e46002004-08-20 13:36:32 +000037 .memb_constraints = 0, /* Defer to actual type */
38 .name = ""
vlmfa67ddc2004-06-03 03:38:44 +000039 },
vlm21e46002004-08-20 13:36:32 +000040};
vlm02296432004-09-29 13:19:37 +000041static ber_tlv_tag_t asn_DEF_collection_tags[] = {
vlm21e46002004-08-20 13:36:32 +000042 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
43};
vlm02296432004-09-29 13:19:37 +000044static asn_SET_OF_specifics_t asn_DEF_collection_specs = {
vlm21e46002004-08-20 13:36:32 +000045 sizeof(struct collection),
vlm02296432004-09-29 13:19:37 +000046 offsetof(struct collection, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +000047 0, /* XER encoding is XMLDelimitedItemList */
vlm21e46002004-08-20 13:36:32 +000048};
vlm1dc848e2004-09-07 06:44:29 +000049static /* Use -fall-defs-global to expose */
vlm02296432004-09-29 13:19:37 +000050asn_TYPE_descriptor_t asn_DEF_collection = {
vlm21e46002004-08-20 13:36:32 +000051 "collection",
vlm39ba4c42004-09-22 16:06:28 +000052 SEQUENCE_OF_free,
53 SEQUENCE_OF_print,
vlm21e46002004-08-20 13:36:32 +000054 SEQUENCE_OF_constraint,
55 SEQUENCE_OF_decode_ber,
56 SEQUENCE_OF_encode_der,
vlm39ba4c42004-09-22 16:06:28 +000057 0, /* Not implemented yet */
58 SEQUENCE_OF_encode_xer,
vlm21e46002004-08-20 13:36:32 +000059 0, /* Use generic outmost tag fetcher */
vlm02296432004-09-29 13:19:37 +000060 asn_DEF_collection_tags,
61 sizeof(asn_DEF_collection_tags)
62 /sizeof(asn_DEF_collection_tags[0]), /* 1 */
63 asn_DEF_collection_tags, /* Same as above */
64 sizeof(asn_DEF_collection_tags)
65 /sizeof(asn_DEF_collection_tags[0]), /* 1 */
66 asn_MBR_collection,
vlm21e46002004-08-20 13:36:32 +000067 1, /* Single element */
vlm02296432004-09-29 13:19:37 +000068 &asn_DEF_collection_specs /* Additional specs */
vlm21e46002004-08-20 13:36:32 +000069};
70
vlm02296432004-09-29 13:19:37 +000071static asn_TYPE_member_t asn_MBR_T[] = {
vlmddd5a7d2004-09-10 09:18:20 +000072 { ATF_NOFLAGS, 0, offsetof(struct T, int),
vlm21e46002004-08-20 13:36:32 +000073 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
74 .tag_mode = 0,
vlm02296432004-09-29 13:19:37 +000075 .type = (void *)&asn_DEF_INTEGER,
vlm21e46002004-08-20 13:36:32 +000076 .memb_constraints = 0, /* Defer to actual type */
77 .name = "int"
78 },
vlmddd5a7d2004-09-10 09:18:20 +000079 { ATF_NOFLAGS, 0, offsetof(struct T, collection),
vlm21e46002004-08-20 13:36:32 +000080 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
81 .tag_mode = 0,
vlm02296432004-09-29 13:19:37 +000082 .type = (void *)&asn_DEF_collection,
vlm21e46002004-08-20 13:36:32 +000083 .memb_constraints = 0, /* Defer to actual type */
84 .name = "collection"
vlmfa67ddc2004-06-03 03:38:44 +000085 },
86};
vlm02296432004-09-29 13:19:37 +000087static ber_tlv_tag_t asn_DEF_T_tags[] = {
vlmfa67ddc2004-06-03 03:38:44 +000088 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
89};
vlm02296432004-09-29 13:19:37 +000090static asn_TYPE_tag2member_t asn_DEF_T_tag2el[] = {
vlmc8aeab42004-06-14 13:09:45 +000091 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int at 15 */
92 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* collection at 17 */
vlm35efd1b2004-06-06 07:20:52 +000093};
vlm02296432004-09-29 13:19:37 +000094static asn_SEQUENCE_specifics_t asn_DEF_T_specs = {
vlmfa67ddc2004-06-03 03:38:44 +000095 sizeof(struct T),
vlm02296432004-09-29 13:19:37 +000096 offsetof(struct T, _asn_ctx),
97 asn_DEF_T_tag2el,
vlm35efd1b2004-06-06 07:20:52 +000098 2, /* Count of tags in the map */
vlmfa67ddc2004-06-03 03:38:44 +000099 -1, /* Start extensions */
100 -1 /* Stop extensions */
101};
vlm02296432004-09-29 13:19:37 +0000102asn_TYPE_descriptor_t asn_DEF_T = {
vlmfa67ddc2004-06-03 03:38:44 +0000103 "T",
vlm39ba4c42004-09-22 16:06:28 +0000104 SEQUENCE_free,
105 SEQUENCE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000106 SEQUENCE_constraint,
107 SEQUENCE_decode_ber,
108 SEQUENCE_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000109 0, /* Not implemented yet */
110 SEQUENCE_encode_xer,
vlmfa67ddc2004-06-03 03:38:44 +0000111 0, /* Use generic outmost tag fetcher */
vlm02296432004-09-29 13:19:37 +0000112 asn_DEF_T_tags,
113 sizeof(asn_DEF_T_tags)
114 /sizeof(asn_DEF_T_tags[0]), /* 1 */
115 asn_DEF_T_tags, /* Same as above */
116 sizeof(asn_DEF_T_tags)
117 /sizeof(asn_DEF_T_tags[0]), /* 1 */
118 asn_MBR_T,
vlm21e46002004-08-20 13:36:32 +0000119 2, /* Elements count */
vlm02296432004-09-29 13:19:37 +0000120 &asn_DEF_T_specs /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000121};
122
123
vlmeb2157b2004-08-11 05:22:22 +0000124/*** <<< INCLUDES [T2] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000125
vlmfa67ddc2004-06-03 03:38:44 +0000126#include <BOOLEAN.h>
127#include <UTF8String.h>
vlmfa67ddc2004-06-03 03:38:44 +0000128#include <constr_SEQUENCE.h>
129
vlmeb2157b2004-08-11 05:22:22 +0000130/*** <<< DEPS [T2] >>> ***/
131
vlm02296432004-09-29 13:19:37 +0000132extern asn_TYPE_descriptor_t asn_DEF_T2;
vlmfa67ddc2004-06-03 03:38:44 +0000133
134/*** <<< TYPE-DECLS [T2] >>> ***/
135
136
137typedef struct T2 {
138 BOOLEAN_t flag;
139 UTF8String_t str;
140
141 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +0000142 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +0000143} T2_t;
144
145/*** <<< STAT-DEFS [T2] >>> ***/
146
vlm02296432004-09-29 13:19:37 +0000147static asn_TYPE_member_t asn_MBR_T2[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000148 { ATF_NOFLAGS, 0, offsetof(struct T2, flag),
vlm21e46002004-08-20 13:36:32 +0000149 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
150 .tag_mode = 0,
vlm02296432004-09-29 13:19:37 +0000151 .type = (void *)&asn_DEF_BOOLEAN,
vlm21e46002004-08-20 13:36:32 +0000152 .memb_constraints = 0, /* Defer to actual type */
153 .name = "flag"
vlmfa67ddc2004-06-03 03:38:44 +0000154 },
vlmddd5a7d2004-09-10 09:18:20 +0000155 { ATF_NOFLAGS, 0, offsetof(struct T2, str),
vlm21e46002004-08-20 13:36:32 +0000156 .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
157 .tag_mode = 0,
vlm02296432004-09-29 13:19:37 +0000158 .type = (void *)&asn_DEF_UTF8String,
vlm21e46002004-08-20 13:36:32 +0000159 .memb_constraints = 0, /* Defer to actual type */
160 .name = "str"
vlmfa67ddc2004-06-03 03:38:44 +0000161 },
162};
vlm02296432004-09-29 13:19:37 +0000163static ber_tlv_tag_t asn_DEF_T2_tags[] = {
vlmfa67ddc2004-06-03 03:38:44 +0000164 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
165};
vlm02296432004-09-29 13:19:37 +0000166static asn_TYPE_tag2member_t asn_DEF_T2_tag2el[] = {
vlmc8aeab42004-06-14 13:09:45 +0000167 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag at 20 */
168 { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* str at 21 */
vlm35efd1b2004-06-06 07:20:52 +0000169};
vlm02296432004-09-29 13:19:37 +0000170static asn_SEQUENCE_specifics_t asn_DEF_T2_specs = {
vlmfa67ddc2004-06-03 03:38:44 +0000171 sizeof(struct T2),
vlm02296432004-09-29 13:19:37 +0000172 offsetof(struct T2, _asn_ctx),
173 asn_DEF_T2_tag2el,
vlm35efd1b2004-06-06 07:20:52 +0000174 2, /* Count of tags in the map */
vlmfa67ddc2004-06-03 03:38:44 +0000175 -1, /* Start extensions */
176 -1 /* Stop extensions */
177};
vlm02296432004-09-29 13:19:37 +0000178asn_TYPE_descriptor_t asn_DEF_T2 = {
vlmfa67ddc2004-06-03 03:38:44 +0000179 "T2",
vlm39ba4c42004-09-22 16:06:28 +0000180 SEQUENCE_free,
181 SEQUENCE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000182 SEQUENCE_constraint,
183 SEQUENCE_decode_ber,
184 SEQUENCE_encode_der,
vlm39ba4c42004-09-22 16:06:28 +0000185 0, /* Not implemented yet */
186 SEQUENCE_encode_xer,
vlmfa67ddc2004-06-03 03:38:44 +0000187 0, /* Use generic outmost tag fetcher */
vlm02296432004-09-29 13:19:37 +0000188 asn_DEF_T2_tags,
189 sizeof(asn_DEF_T2_tags)
190 /sizeof(asn_DEF_T2_tags[0]), /* 1 */
191 asn_DEF_T2_tags, /* Same as above */
192 sizeof(asn_DEF_T2_tags)
193 /sizeof(asn_DEF_T2_tags[0]), /* 1 */
194 asn_MBR_T2,
vlm21e46002004-08-20 13:36:32 +0000195 2, /* Elements count */
vlm02296432004-09-29 13:19:37 +0000196 &asn_DEF_T2_specs /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000197};
198