blob: 1c99d1aa3d77872bb650af0f88b8e394852278d8 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001
Lev Walkinb47ddce2004-08-11 05:25:47 +00002/*** <<< INCLUDES [LogLine] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +00003
Lev Walkinf15320b2004-06-03 03:38:44 +00004#include <IA5String.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00005#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +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 [LogLine] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +000010
Lev Walkinbf56d542005-03-04 23:50:56 +000011struct VariablePartSet;
Lev Walkinf15320b2004-06-03 03:38:44 +000012
13/*** <<< TYPE-DECLS [LogLine] >>> ***/
14
Lev Walkinf15320b2004-06-03 03:38:44 +000015typedef struct LogLine {
16 IA5String_t line_digest;
17 struct varsets {
Lev Walkinc8285712005-03-04 22:18:20 +000018 A_SEQUENCE_OF(struct VariablePartSet) 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 } varsets;
23 /*
24 * This type is extensible,
25 * possible extensions are below.
26 */
27
28 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000029 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +000030} LogLine_t;
31
Lev Walkinc8285712005-03-04 22:18:20 +000032/*** <<< FUNC-DECLS [LogLine] >>> ***/
33
34extern asn_TYPE_descriptor_t asn_DEF_LogLine;
35
36/*** <<< POST-INCLUDE [LogLine] >>> ***/
37
38#include <VariablePartSet.h>
39
Lev Walkin2e3055d2004-08-20 13:36:32 +000040/*** <<< CODE [LogLine] >>> ***/
41
42static int
Lev Walkin59b176e2005-11-26 11:25:14 +000043memb_varsets_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +000044 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +000045 size_t size;
46
47 if(!sptr) {
Lev Walkin739d9bf2006-07-13 13:28:32 +000048 _ASN_CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +000049 "%s: value not given (%s:%d)",
50 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +000051 return -1;
52 }
53
Lev Walkin66d542b2005-07-04 02:03:57 +000054 /* Determine the number of elements */
55 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +000056
57 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +000058 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +000059 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +000060 } else {
Lev Walkin739d9bf2006-07-13 13:28:32 +000061 _ASN_CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +000062 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +000064 return -1;
65 }
66}
67
68
Lev Walkinf15320b2004-06-03 03:38:44 +000069/*** <<< STAT-DEFS [LogLine] >>> ***/
70
Lev Walkine8318b82005-03-06 09:29:03 +000071static asn_TYPE_member_t asn_MBR_varsets_3[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000072 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000073 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
74 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000075 .type = &asn_DEF_VariablePartSet,
Lev Walkinba58e1b2005-01-17 12:20:19 +000076 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +000077 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
78 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000079 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000080 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000081};
Lev Walkin59b176e2005-11-26 11:25:14 +000082static ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000083 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
84};
Lev Walkin59b176e2005-11-26 11:25:14 +000085static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000086 sizeof(struct varsets),
Lev Walkindfae9752004-09-29 13:19:37 +000087 offsetof(struct varsets, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000088 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000089};
Lev Walkind04430c2004-09-07 06:44:29 +000090static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +000091asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000092 "varsets",
Lev Walkindc06f6b2004-10-20 15:50:55 +000093 "varsets",
Lev Walkina9cc46e2004-09-22 16:06:28 +000094 SEQUENCE_OF_free,
95 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +000096 SEQUENCE_OF_constraint,
97 SEQUENCE_OF_decode_ber,
98 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000099 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000100 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000101 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000102 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000103 asn_DEF_varsets_tags_3,
104 sizeof(asn_DEF_varsets_tags_3)
105 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
106 asn_DEF_varsets_tags_3, /* Same as above */
107 sizeof(asn_DEF_varsets_tags_3)
108 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
109 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000110 asn_MBR_varsets_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000111 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000112 &asn_SPC_varsets_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000113};
114
Lev Walkine0272aa2005-03-04 11:26:08 +0000115static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000116 { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000117 .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
118 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000119 .type = &asn_DEF_IA5String,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000120 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000121 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
122 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000123 .name = "line-digest"
124 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000125 { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000126 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
127 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000128 .type = &asn_DEF_varsets_3,
Lev Walkin59b176e2005-11-26 11:25:14 +0000129 .memb_constraints = memb_varsets_constraint_1,
130 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
131 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132 .name = "varsets"
Lev Walkinf15320b2004-06-03 03:38:44 +0000133 },
134};
Lev Walkin59b176e2005-11-26 11:25:14 +0000135static ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000136 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
137};
Lev Walkin59b176e2005-11-26 11:25:14 +0000138static asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000139 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000140 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest at 23 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000141};
Lev Walkin59b176e2005-11-26 11:25:14 +0000142static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000143 sizeof(struct LogLine),
Lev Walkindfae9752004-09-29 13:19:37 +0000144 offsetof(struct LogLine, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000145 asn_MAP_LogLine_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000146 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000147 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000148 1, /* Start extensions */
149 3 /* Stop extensions */
150};
Lev Walkindfae9752004-09-29 13:19:37 +0000151asn_TYPE_descriptor_t asn_DEF_LogLine = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000152 "LogLine",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000153 "LogLine",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000154 SEQUENCE_free,
155 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000156 SEQUENCE_constraint,
157 SEQUENCE_decode_ber,
158 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000159 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000160 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000161 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000162 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000163 asn_DEF_LogLine_tags_1,
164 sizeof(asn_DEF_LogLine_tags_1)
165 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
166 asn_DEF_LogLine_tags_1, /* Same as above */
167 sizeof(asn_DEF_LogLine_tags_1)
168 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
169 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000170 asn_MBR_LogLine_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000171 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000172 &asn_SPC_LogLine_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000173};
174
175
Lev Walkinb47ddce2004-08-11 05:25:47 +0000176/*** <<< INCLUDES [VariablePartSet] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000177
Lev Walkinf15320b2004-06-03 03:38:44 +0000178#include <ActionItem.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000179#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000180#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000181#include <constr_SEQUENCE.h>
182
Lev Walkinc8285712005-03-04 22:18:20 +0000183/*** <<< FWD-DECLS [VariablePartSet] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +0000184
Lev Walkinbf56d542005-03-04 23:50:56 +0000185struct VariablePart;
Lev Walkinf15320b2004-06-03 03:38:44 +0000186
187/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
188
Lev Walkinf15320b2004-06-03 03:38:44 +0000189typedef struct VariablePartSet {
190 struct vparts {
Lev Walkinc8285712005-03-04 22:18:20 +0000191 A_SEQUENCE_OF(struct VariablePart) list;
Lev Walkinf15320b2004-06-03 03:38:44 +0000192
193 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000194 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000195 } vparts;
196 ActionItem_t resolution;
197 /*
198 * This type is extensible,
199 * possible extensions are below.
200 */
201
202 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000203 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000204} VariablePartSet_t;
205
Lev Walkinc8285712005-03-04 22:18:20 +0000206/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
207
208extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
209
210/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
211
212#include <VariablePart.h>
213
Lev Walkin2e3055d2004-08-20 13:36:32 +0000214/*** <<< CODE [VariablePartSet] >>> ***/
215
216static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000217memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000218 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000219
220 if(!sptr) {
Lev Walkin739d9bf2006-07-13 13:28:32 +0000221 _ASN_CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000222 "%s: value not given (%s:%d)",
223 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000224 return -1;
225 }
226
227
228 if(1 /* No applicable constraints whatsoever */) {
229 /* Nothing is here. See below */
230 }
231
Lev Walkin1eded352006-07-13 11:19:01 +0000232 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000233}
234
235
Lev Walkinf15320b2004-06-03 03:38:44 +0000236/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
237
Lev Walkine0272aa2005-03-04 11:26:08 +0000238static asn_TYPE_member_t asn_MBR_vparts_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000239 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000240 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000241 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000242 .type = &asn_DEF_VariablePart,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000243 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000244 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
245 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000246 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000247 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248};
Lev Walkin59b176e2005-11-26 11:25:14 +0000249static ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000250 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
251};
Lev Walkin59b176e2005-11-26 11:25:14 +0000252static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000253 sizeof(struct vparts),
Lev Walkindfae9752004-09-29 13:19:37 +0000254 offsetof(struct vparts, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000255 2, /* XER encoding is XMLValueList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000256};
Lev Walkind04430c2004-09-07 06:44:29 +0000257static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000258asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000259 "vparts",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000260 "vparts",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000261 SEQUENCE_OF_free,
262 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000263 SEQUENCE_OF_constraint,
264 SEQUENCE_OF_decode_ber,
265 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000266 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000267 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000268 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000269 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000270 asn_DEF_vparts_tags_2,
271 sizeof(asn_DEF_vparts_tags_2)
272 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
273 asn_DEF_vparts_tags_2, /* Same as above */
274 sizeof(asn_DEF_vparts_tags_2)
275 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
276 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000277 asn_MBR_vparts_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000278 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000279 &asn_SPC_vparts_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000280};
281
Lev Walkine0272aa2005-03-04 11:26:08 +0000282static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000283 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000284 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
285 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000286 .type = &asn_DEF_vparts_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000287 .memb_constraints = memb_vparts_constraint_1,
288 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
289 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000290 .name = "vparts"
291 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000292 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000293 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
294 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000295 .type = &asn_DEF_ActionItem,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000296 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000297 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
298 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000299 .name = "resolution"
Lev Walkinf15320b2004-06-03 03:38:44 +0000300 },
301};
Lev Walkin59b176e2005-11-26 11:25:14 +0000302static ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000303 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
304};
Lev Walkin59b176e2005-11-26 11:25:14 +0000305static asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000306 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000307 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution at 35 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000308};
Lev Walkin59b176e2005-11-26 11:25:14 +0000309static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000310 sizeof(struct VariablePartSet),
Lev Walkindfae9752004-09-29 13:19:37 +0000311 offsetof(struct VariablePartSet, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000312 asn_MAP_VariablePartSet_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000313 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000314 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000315 1, /* Start extensions */
316 3 /* Stop extensions */
317};
Lev Walkindfae9752004-09-29 13:19:37 +0000318asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000319 "VariablePartSet",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000320 "VariablePartSet",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000321 SEQUENCE_free,
322 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000323 SEQUENCE_constraint,
324 SEQUENCE_decode_ber,
325 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000326 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000327 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000328 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000329 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000330 asn_DEF_VariablePartSet_tags_1,
331 sizeof(asn_DEF_VariablePartSet_tags_1)
332 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
333 asn_DEF_VariablePartSet_tags_1, /* Same as above */
334 sizeof(asn_DEF_VariablePartSet_tags_1)
335 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
336 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000337 asn_MBR_VariablePartSet_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000338 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000339 &asn_SPC_VariablePartSet_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000340};
341
342
Lev Walkinb47ddce2004-08-11 05:25:47 +0000343/*** <<< INCLUDES [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000344
Lev Walkinf15320b2004-06-03 03:38:44 +0000345#include <VisibleString.h>
346#include <asn_SET_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000347#include <constr_SET_OF.h>
348#include <constr_SEQUENCE.h>
349#include <constr_CHOICE.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000350
Lev Walkinb47ddce2004-08-11 05:25:47 +0000351/*** <<< DEPS [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000352
Lev Walkinb47ddce2004-08-11 05:25:47 +0000353typedef enum VariablePart_PR {
354 VariablePart_PR_NOTHING, /* No components present */
355 VariablePart_PR_vset,
356 VariablePart_PR_vrange,
357 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000358
Lev Walkin64399722004-08-11 07:17:22 +0000359} VariablePart_PR;
Lev Walkinf15320b2004-06-03 03:38:44 +0000360
361/*** <<< TYPE-DECLS [VariablePart] >>> ***/
362
Lev Walkinf15320b2004-06-03 03:38:44 +0000363typedef struct VariablePart {
Lev Walkin64399722004-08-11 07:17:22 +0000364 VariablePart_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000365 union VariablePart_u {
Lev Walkinf15320b2004-06-03 03:38:44 +0000366 struct vset {
367 A_SET_OF(VisibleString_t) list;
368
369 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000370 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000371 } vset;
372 struct vrange {
373 VisibleString_t from;
374 VisibleString_t to;
375 /*
376 * This type is extensible,
377 * possible extensions are below.
378 */
379
380 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000381 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000382 } vrange;
383 /*
384 * This type is extensible,
385 * possible extensions are below.
386 */
387 } choice;
388
389 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000390 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000391} VariablePart_t;
392
Lev Walkinc8285712005-03-04 22:18:20 +0000393/*** <<< FUNC-DECLS [VariablePart] >>> ***/
394
395extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
396
Lev Walkin2e3055d2004-08-20 13:36:32 +0000397/*** <<< CODE [VariablePart] >>> ***/
398
399static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000400memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000401 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000402 size_t size;
403
404 if(!sptr) {
Lev Walkin739d9bf2006-07-13 13:28:32 +0000405 _ASN_CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000406 "%s: value not given (%s:%d)",
407 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000408 return -1;
409 }
410
Lev Walkin66d542b2005-07-04 02:03:57 +0000411 /* Determine the number of elements */
412 size = _A_CSET_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +0000413
414 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +0000415 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +0000416 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000417 } else {
Lev Walkin739d9bf2006-07-13 13:28:32 +0000418 _ASN_CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000419 "%s: constraint failed (%s:%d)",
420 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000421 return -1;
422 }
423}
424
425
Lev Walkinf15320b2004-06-03 03:38:44 +0000426/*** <<< STAT-DEFS [VariablePart] >>> ***/
427
Lev Walkine0272aa2005-03-04 11:26:08 +0000428static asn_TYPE_member_t asn_MBR_vset_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000429 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000430 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
431 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000432 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000433 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000434 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
435 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000436 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000437 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000438};
Lev Walkin59b176e2005-11-26 11:25:14 +0000439static ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000440 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
441};
Lev Walkin59b176e2005-11-26 11:25:14 +0000442static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000443 sizeof(struct vset),
Lev Walkindfae9752004-09-29 13:19:37 +0000444 offsetof(struct vset, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000445 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000446};
Lev Walkind04430c2004-09-07 06:44:29 +0000447static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000448asn_TYPE_descriptor_t asn_DEF_vset_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000449 "vset",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000450 "vset",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000451 SET_OF_free,
452 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000453 SET_OF_constraint,
454 SET_OF_decode_ber,
455 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000456 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000457 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000458 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000459 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000460 asn_DEF_vset_tags_2,
461 sizeof(asn_DEF_vset_tags_2)
462 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
463 asn_DEF_vset_tags_2, /* Same as above */
464 sizeof(asn_DEF_vset_tags_2)
465 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
466 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000467 asn_MBR_vset_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000468 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000469 &asn_SPC_vset_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000470};
471
Lev Walkine8318b82005-03-06 09:29:03 +0000472static asn_TYPE_member_t asn_MBR_vrange_4[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000473 { ATF_NOFLAGS, 0, offsetof(struct vrange, from),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000474 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
475 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000476 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000477 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000478 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
479 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000480 .name = "from"
481 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000482 { ATF_NOFLAGS, 0, offsetof(struct vrange, to),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000483 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
484 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000485 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000486 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000487 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
488 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000489 .name = "to"
490 },
491};
Lev Walkin59b176e2005-11-26 11:25:14 +0000492static ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000493 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
494};
Lev Walkin59b176e2005-11-26 11:25:14 +0000495static asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000496 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000497 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to at 46 */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000498};
Lev Walkin59b176e2005-11-26 11:25:14 +0000499static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000500 sizeof(struct vrange),
Lev Walkindfae9752004-09-29 13:19:37 +0000501 offsetof(struct vrange, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000502 asn_MAP_vrange_tag2el_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000503 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000504 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000505 1, /* Start extensions */
506 3 /* Stop extensions */
507};
Lev Walkind04430c2004-09-07 06:44:29 +0000508static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000509asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000510 "vrange",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000511 "vrange",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000512 SEQUENCE_free,
513 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000514 SEQUENCE_constraint,
515 SEQUENCE_decode_ber,
516 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000517 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000518 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000519 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000520 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000521 asn_DEF_vrange_tags_4,
522 sizeof(asn_DEF_vrange_tags_4)
523 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
524 asn_DEF_vrange_tags_4, /* Same as above */
525 sizeof(asn_DEF_vrange_tags_4)
526 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
527 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000528 asn_MBR_vrange_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000529 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000530 &asn_SPC_vrange_specs_4 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000531};
532
Lev Walkine0272aa2005-03-04 11:26:08 +0000533static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000534 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000535 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
536 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000537 .type = &asn_DEF_vset_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000538 .memb_constraints = memb_vset_constraint_1,
539 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
540 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000541 .name = "vset"
542 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000543 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000544 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
545 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000546 .type = &asn_DEF_vrange_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000547 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000548 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
549 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000550 .name = "vrange"
Lev Walkinf15320b2004-06-03 03:38:44 +0000551 },
552};
Lev Walkin59b176e2005-11-26 11:25:14 +0000553static asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000554 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000555 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset at 42 */
Lev Walkinf15320b2004-06-03 03:38:44 +0000556};
Lev Walkin59b176e2005-11-26 11:25:14 +0000557static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000558 sizeof(struct VariablePart),
Lev Walkindfae9752004-09-29 13:19:37 +0000559 offsetof(struct VariablePart, _asn_ctx),
Lev Walkinf15320b2004-06-03 03:38:44 +0000560 offsetof(struct VariablePart, present),
561 sizeof(((struct VariablePart *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000562 asn_MAP_VariablePart_tag2el_1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000563 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000564 .canonical_order = 0,
565 .ext_start = 2 /* Extensions start */
Lev Walkinf15320b2004-06-03 03:38:44 +0000566};
Lev Walkindfae9752004-09-29 13:19:37 +0000567asn_TYPE_descriptor_t asn_DEF_VariablePart = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000568 "VariablePart",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000569 "VariablePart",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000570 CHOICE_free,
571 CHOICE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000572 CHOICE_constraint,
573 CHOICE_decode_ber,
574 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000575 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000576 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000577 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000578 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000579 0, /* No effective tags (pointer) */
580 0, /* No effective tags (count) */
581 0, /* No tags (pointer) */
582 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000583 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000584 asn_MBR_VariablePart_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000585 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000586 &asn_SPC_VariablePart_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000587};
588
589
Lev Walkinb47ddce2004-08-11 05:25:47 +0000590/*** <<< INCLUDES [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000591
Lev Walkinf15320b2004-06-03 03:38:44 +0000592#include <ENUMERATED.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000593#include <BOOLEAN.h>
594#include <VisibleString.h>
595#include <asn_SET_OF.h>
596#include <constr_SET_OF.h>
597#include <constr_SEQUENCE.h>
598
599/*** <<< DEPS [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000600
Lev Walkin2e3055d2004-08-20 13:36:32 +0000601typedef enum accept_as {
602 accept_as_unknown = 0,
603 accept_as_safe = 1,
Lev Walkinbbe38662005-02-25 08:17:56 +0000604 accept_as_unsafe = 2
Lev Walkin2e3055d2004-08-20 13:36:32 +0000605 /*
606 * Enumeration is extensible
607 */
Lev Walkin171487e2006-03-21 07:25:18 +0000608} e_accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000609
610/*** <<< TYPE-DECLS [ActionItem] >>> ***/
611
Lev Walkinf15320b2004-06-03 03:38:44 +0000612typedef struct ActionItem {
613 ENUMERATED_t accept_as;
614 struct notify {
615 BOOLEAN_t critical;
616 struct email {
617 A_SET_OF(VisibleString_t) list;
618
619 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000620 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000621 } email;
622 /*
623 * This type is extensible,
624 * possible extensions are below.
625 */
626
627 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000628 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000629 } *notify;
630 /*
631 * This type is extensible,
632 * possible extensions are below.
633 */
634
635 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000636 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000637} ActionItem_t;
638
Lev Walkinbbe38662005-02-25 08:17:56 +0000639/*** <<< FUNC-DECLS [ActionItem] >>> ***/
640
Lev Walkine0272aa2005-03-04 11:26:08 +0000641/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000642extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
Lev Walkinbbe38662005-02-25 08:17:56 +0000643
644/*** <<< CODE [ActionItem] >>> ***/
645
646static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000647accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000648 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinbbe38662005-02-25 08:17:56 +0000649 /* Replace with underlying type checker */
650 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000651 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinbbe38662005-02-25 08:17:56 +0000652}
653
654/*
655 * This type is implemented using ENUMERATED,
656 * so here we adjust the DEF accordingly.
657 */
658static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000659accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkinbbe38662005-02-25 08:17:56 +0000660 td->free_struct = asn_DEF_ENUMERATED.free_struct;
661 td->print_struct = asn_DEF_ENUMERATED.print_struct;
662 td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
663 td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
664 td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
665 td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000666 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000667 td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000668 if(!td->per_constraints)
669 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
Lev Walkinbbe38662005-02-25 08:17:56 +0000670 td->elements = asn_DEF_ENUMERATED.elements;
671 td->elements_count = asn_DEF_ENUMERATED.elements_count;
Lev Walkin29a82192005-03-29 19:05:37 +0000672 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
Lev Walkinbbe38662005-02-25 08:17:56 +0000673}
674
675static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000676accept_as_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000677 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000678 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000679 td->free_struct(td, struct_ptr, contents_only);
680}
681
682static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000683accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinbbe38662005-02-25 08:17:56 +0000684 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000685 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000686 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
687}
688
689static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000690accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000691 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000692 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000693 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
694}
695
696static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000697accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000698 void *structure, int tag_mode, ber_tlv_tag_t tag,
699 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000700 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000701 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
702}
703
704static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000705accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000706 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000707 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000708 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
709}
710
711static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000712accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinbbe38662005-02-25 08:17:56 +0000713 int ilevel, enum xer_encoder_flags_e flags,
714 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000715 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000716 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
717}
718
719
Lev Walkinf15320b2004-06-03 03:38:44 +0000720/*** <<< STAT-DEFS [ActionItem] >>> ***/
721
Lev Walkin59b176e2005-11-26 11:25:14 +0000722static asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000723 { 0, 7, "unknown" },
724 { 1, 4, "safe" },
725 { 2, 6, "unsafe" }
Lev Walkinbbe38662005-02-25 08:17:56 +0000726 /* This list is extensible */
727};
Lev Walkin59b176e2005-11-26 11:25:14 +0000728static unsigned int asn_MAP_accept_as_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000729 1, /* safe(1) */
730 0, /* unknown(0) */
731 2 /* unsafe(2) */
Lev Walkinbbe38662005-02-25 08:17:56 +0000732 /* This list is extensible */
733};
Lev Walkin59b176e2005-11-26 11:25:14 +0000734static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
735 asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
736 asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinbbe38662005-02-25 08:17:56 +0000737 3, /* Number of elements in the maps */
Lev Walkin59b176e2005-11-26 11:25:14 +0000738 4, /* Extensions before this member */
Lev Walkin295e2452005-02-25 11:47:59 +0000739 1 /* Strict enumeration */
Lev Walkinbbe38662005-02-25 08:17:56 +0000740};
Lev Walkin59b176e2005-11-26 11:25:14 +0000741static ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000742 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
743};
744static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000745asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000746 "accept-as",
747 "accept-as",
Lev Walkine0272aa2005-03-04 11:26:08 +0000748 accept_as_2_free,
749 accept_as_2_print,
750 accept_as_2_constraint,
751 accept_as_2_decode_ber,
752 accept_as_2_encode_der,
753 accept_as_2_decode_xer,
754 accept_as_2_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000755 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinbbe38662005-02-25 08:17:56 +0000756 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000757 asn_DEF_accept_as_tags_2,
758 sizeof(asn_DEF_accept_as_tags_2)
759 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
760 asn_DEF_accept_as_tags_2, /* Same as above */
761 sizeof(asn_DEF_accept_as_tags_2)
762 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
763 0, /* No PER visible constraints */
Lev Walkinbbe38662005-02-25 08:17:56 +0000764 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000765 &asn_SPC_accept_as_specs_2 /* Additional specs */
Lev Walkinbbe38662005-02-25 08:17:56 +0000766};
767
Lev Walkine8318b82005-03-06 09:29:03 +0000768static asn_TYPE_member_t asn_MBR_email_9[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000769 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000770 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
771 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000772 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000773 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000774 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
775 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000776 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000777 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000778};
Lev Walkin59b176e2005-11-26 11:25:14 +0000779static ber_tlv_tag_t asn_DEF_email_tags_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000780 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
781};
Lev Walkin59b176e2005-11-26 11:25:14 +0000782static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000783 sizeof(struct email),
Lev Walkindfae9752004-09-29 13:19:37 +0000784 offsetof(struct email, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000785 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000786};
Lev Walkind04430c2004-09-07 06:44:29 +0000787static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000788asn_TYPE_descriptor_t asn_DEF_email_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000789 "email",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000790 "email",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000791 SET_OF_free,
792 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000793 SET_OF_constraint,
794 SET_OF_decode_ber,
795 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000796 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000797 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000798 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000799 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000800 asn_DEF_email_tags_9,
801 sizeof(asn_DEF_email_tags_9)
802 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
803 asn_DEF_email_tags_9, /* Same as above */
804 sizeof(asn_DEF_email_tags_9)
805 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
806 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000807 asn_MBR_email_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000808 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000809 &asn_SPC_email_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000810};
811
Lev Walkine8318b82005-03-06 09:29:03 +0000812static asn_TYPE_member_t asn_MBR_notify_7[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000813 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000814 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
815 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000816 .type = &asn_DEF_BOOLEAN,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000817 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000818 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
819 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000820 .name = "critical"
821 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000822 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000823 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
824 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000825 .type = &asn_DEF_email_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000826 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000827 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
828 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000829 .name = "email"
830 },
831};
Lev Walkin59b176e2005-11-26 11:25:14 +0000832static ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000833 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
834};
Lev Walkin59b176e2005-11-26 11:25:14 +0000835static asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000836 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000837 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email at 62 */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000838};
Lev Walkin59b176e2005-11-26 11:25:14 +0000839static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000840 sizeof(struct notify),
Lev Walkindfae9752004-09-29 13:19:37 +0000841 offsetof(struct notify, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000842 asn_MAP_notify_tag2el_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000843 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000844 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000845 1, /* Start extensions */
846 3 /* Stop extensions */
847};
Lev Walkind04430c2004-09-07 06:44:29 +0000848static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000849asn_TYPE_descriptor_t asn_DEF_notify_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000850 "notify",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000851 "notify",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000852 SEQUENCE_free,
853 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000854 SEQUENCE_constraint,
855 SEQUENCE_decode_ber,
856 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000857 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000858 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000859 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000860 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000861 asn_DEF_notify_tags_7,
862 sizeof(asn_DEF_notify_tags_7)
863 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
864 asn_DEF_notify_tags_7, /* Same as above */
865 sizeof(asn_DEF_notify_tags_7)
866 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
867 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000868 asn_MBR_notify_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000869 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000870 &asn_SPC_notify_specs_7 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000871};
872
Lev Walkine0272aa2005-03-04 11:26:08 +0000873static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000874 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000875 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
876 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000877 .type = &asn_DEF_accept_as_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000878 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000879 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
880 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000881 .name = "accept-as"
882 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000883 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000884 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
885 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000886 .type = &asn_DEF_notify_7,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000887 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000888 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
889 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000890 .name = "notify"
Lev Walkinf15320b2004-06-03 03:38:44 +0000891 },
892};
Lev Walkin59b176e2005-11-26 11:25:14 +0000893static ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000894 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
895};
Lev Walkin59b176e2005-11-26 11:25:14 +0000896static asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000897 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000898 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify at 61 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000899};
Lev Walkin59b176e2005-11-26 11:25:14 +0000900static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000901 sizeof(struct ActionItem),
Lev Walkindfae9752004-09-29 13:19:37 +0000902 offsetof(struct ActionItem, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000903 asn_MAP_ActionItem_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000904 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000905 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000906 1, /* Start extensions */
907 3 /* Stop extensions */
908};
Lev Walkindfae9752004-09-29 13:19:37 +0000909asn_TYPE_descriptor_t asn_DEF_ActionItem = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000910 "ActionItem",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000911 "ActionItem",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000912 SEQUENCE_free,
913 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000914 SEQUENCE_constraint,
915 SEQUENCE_decode_ber,
916 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000917 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000918 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000919 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000920 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000921 asn_DEF_ActionItem_tags_1,
922 sizeof(asn_DEF_ActionItem_tags_1)
923 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
924 asn_DEF_ActionItem_tags_1, /* Same as above */
925 sizeof(asn_DEF_ActionItem_tags_1)
926 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
927 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000928 asn_MBR_ActionItem_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000929 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000930 &asn_SPC_ActionItem_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000931};
932