blob: d223133a19ecce987227e4587e0d411881b347b3 [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
Lev Walkin22b5ed42006-09-13 02:51:20 +000038#include "VariablePartSet.h"
Lev Walkinc8285712005-03-04 22:18:20 +000039
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 Walkin7c1dc052016-03-14 03:08:15 -070048 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 Walkin7c1dc052016-03-14 03:08:15 -070061 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 Walkina7591b52014-10-12 18:37:35 -070082static const 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 Walkina7591b52014-10-12 18:37:35 -0700135static const 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 Walkina7591b52014-10-12 18:37:35 -0700138static const asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700139 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets */
140 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest */
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 Walkin22b5ed42006-09-13 02:51:20 +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
Lev Walkin22b5ed42006-09-13 02:51:20 +0000212#include "VariablePart.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000213
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 Walkin7c1dc052016-03-14 03:08:15 -0700221 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 Walkina7591b52014-10-12 18:37:35 -0700249static const 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 Walkina7591b52014-10-12 18:37:35 -0700302static const 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 Walkina7591b52014-10-12 18:37:35 -0700305static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700306 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
307 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
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 Walkin7c1dc052016-03-14 03:08:15 -0700405 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 Walkin7c1dc052016-03-14 03:08:15 -0700418 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 Walkina7591b52014-10-12 18:37:35 -0700439static const 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 Walkina7591b52014-10-12 18:37:35 -0700492static const 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 Walkina7591b52014-10-12 18:37:35 -0700495static const asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700496 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from */
497 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to */
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 Walkina7591b52014-10-12 18:37:35 -0700553static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700554 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
555 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
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 Walkin2a744a72013-03-27 01:56:23 -0700592#include <NativeEnumerated.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 {
Lev Walkin2a744a72013-03-27 01:56:23 -0700613 long accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000614 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 */
Lev Walkin2a744a72013-03-27 01:56:23 -0700650 td->check_constraints = asn_DEF_NativeEnumerated.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/*
Lev Walkin2a744a72013-03-27 01:56:23 -0700655 * This type is implemented using NativeEnumerated,
Lev Walkinbbe38662005-02-25 08:17:56 +0000656 * 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 Walkin2a744a72013-03-27 01:56:23 -0700660 td->free_struct = asn_DEF_NativeEnumerated.free_struct;
661 td->print_struct = asn_DEF_NativeEnumerated.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800662 td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
Lev Walkin2a744a72013-03-27 01:56:23 -0700663 td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
664 td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
665 td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
666 td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
667 td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
668 td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000669 if(!td->per_constraints)
Lev Walkin2a744a72013-03-27 01:56:23 -0700670 td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
671 td->elements = asn_DEF_NativeEnumerated.elements;
672 td->elements_count = asn_DEF_NativeEnumerated.elements_count;
673 /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
Lev Walkinbbe38662005-02-25 08:17:56 +0000674}
675
676static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000677accept_as_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000678 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000679 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000680 td->free_struct(td, struct_ptr, contents_only);
681}
682
683static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000684accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinbbe38662005-02-25 08:17:56 +0000685 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000686 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000687 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
688}
689
690static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000691accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000692 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000693 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000694 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
695}
696
697static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000698accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000699 void *structure, int tag_mode, ber_tlv_tag_t tag,
700 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000701 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000702 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
703}
704
705static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000706accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000707 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000708 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000709 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
710}
711
712static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000713accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinbbe38662005-02-25 08:17:56 +0000714 int ilevel, enum xer_encoder_flags_e flags,
715 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000716 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000717 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
718}
719
720
Lev Walkinf15320b2004-06-03 03:38:44 +0000721/*** <<< STAT-DEFS [ActionItem] >>> ***/
722
Lev Walkina7591b52014-10-12 18:37:35 -0700723static const asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000724 { 0, 7, "unknown" },
725 { 1, 4, "safe" },
726 { 2, 6, "unsafe" }
Lev Walkinbbe38662005-02-25 08:17:56 +0000727 /* This list is extensible */
728};
Lev Walkina7591b52014-10-12 18:37:35 -0700729static const unsigned int asn_MAP_accept_as_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000730 1, /* safe(1) */
731 0, /* unknown(0) */
732 2 /* unsafe(2) */
Lev Walkinbbe38662005-02-25 08:17:56 +0000733 /* This list is extensible */
734};
Lev Walkina7591b52014-10-12 18:37:35 -0700735static const asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000736 asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
737 asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinbbe38662005-02-25 08:17:56 +0000738 3, /* Number of elements in the maps */
Lev Walkin59b176e2005-11-26 11:25:14 +0000739 4, /* Extensions before this member */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000740 1, /* Strict enumeration */
741 0, /* Native long size */
742 0
Lev Walkinbbe38662005-02-25 08:17:56 +0000743};
Lev Walkina7591b52014-10-12 18:37:35 -0700744static const ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000745 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
746};
747static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000748asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000749 "accept-as",
750 "accept-as",
Lev Walkine0272aa2005-03-04 11:26:08 +0000751 accept_as_2_free,
752 accept_as_2_print,
753 accept_as_2_constraint,
754 accept_as_2_decode_ber,
755 accept_as_2_encode_der,
756 accept_as_2_decode_xer,
757 accept_as_2_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000758 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinbbe38662005-02-25 08:17:56 +0000759 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000760 asn_DEF_accept_as_tags_2,
761 sizeof(asn_DEF_accept_as_tags_2)
762 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
763 asn_DEF_accept_as_tags_2, /* Same as above */
764 sizeof(asn_DEF_accept_as_tags_2)
765 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
766 0, /* No PER visible constraints */
Lev Walkinbbe38662005-02-25 08:17:56 +0000767 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000768 &asn_SPC_accept_as_specs_2 /* Additional specs */
Lev Walkinbbe38662005-02-25 08:17:56 +0000769};
770
Lev Walkine8318b82005-03-06 09:29:03 +0000771static asn_TYPE_member_t asn_MBR_email_9[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000772 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000773 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
774 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000775 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000776 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000777 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
778 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000779 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000780 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000781};
Lev Walkina7591b52014-10-12 18:37:35 -0700782static const ber_tlv_tag_t asn_DEF_email_tags_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000783 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
784};
Lev Walkin59b176e2005-11-26 11:25:14 +0000785static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000786 sizeof(struct email),
Lev Walkindfae9752004-09-29 13:19:37 +0000787 offsetof(struct email, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000788 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000789};
Lev Walkind04430c2004-09-07 06:44:29 +0000790static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000791asn_TYPE_descriptor_t asn_DEF_email_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000792 "email",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000793 "email",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000794 SET_OF_free,
795 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000796 SET_OF_constraint,
797 SET_OF_decode_ber,
798 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000799 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000800 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000801 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000802 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000803 asn_DEF_email_tags_9,
804 sizeof(asn_DEF_email_tags_9)
805 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
806 asn_DEF_email_tags_9, /* Same as above */
807 sizeof(asn_DEF_email_tags_9)
808 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
809 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000810 asn_MBR_email_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000811 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000812 &asn_SPC_email_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000813};
814
Lev Walkine8318b82005-03-06 09:29:03 +0000815static asn_TYPE_member_t asn_MBR_notify_7[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000816 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000817 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
818 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000819 .type = &asn_DEF_BOOLEAN,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000820 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000821 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
822 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000823 .name = "critical"
824 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000825 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000826 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
827 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000828 .type = &asn_DEF_email_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000829 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000830 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
831 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000832 .name = "email"
833 },
834};
Lev Walkina7591b52014-10-12 18:37:35 -0700835static const ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000836 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
837};
Lev Walkina7591b52014-10-12 18:37:35 -0700838static const asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700839 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical */
840 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000841};
Lev Walkin59b176e2005-11-26 11:25:14 +0000842static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000843 sizeof(struct notify),
Lev Walkindfae9752004-09-29 13:19:37 +0000844 offsetof(struct notify, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000845 asn_MAP_notify_tag2el_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000846 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000847 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000848 1, /* Start extensions */
849 3 /* Stop extensions */
850};
Lev Walkind04430c2004-09-07 06:44:29 +0000851static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000852asn_TYPE_descriptor_t asn_DEF_notify_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000853 "notify",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000854 "notify",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000855 SEQUENCE_free,
856 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000857 SEQUENCE_constraint,
858 SEQUENCE_decode_ber,
859 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000860 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000861 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000862 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000863 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000864 asn_DEF_notify_tags_7,
865 sizeof(asn_DEF_notify_tags_7)
866 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
867 asn_DEF_notify_tags_7, /* Same as above */
868 sizeof(asn_DEF_notify_tags_7)
869 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
870 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000871 asn_MBR_notify_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000872 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000873 &asn_SPC_notify_specs_7 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000874};
875
Lev Walkine0272aa2005-03-04 11:26:08 +0000876static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000877 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000878 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
879 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000880 .type = &asn_DEF_accept_as_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000881 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000882 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
883 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000884 .name = "accept-as"
885 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000886 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000887 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
888 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000889 .type = &asn_DEF_notify_7,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000890 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000891 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
892 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000893 .name = "notify"
Lev Walkinf15320b2004-06-03 03:38:44 +0000894 },
895};
Lev Walkina7591b52014-10-12 18:37:35 -0700896static const ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000897 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
898};
Lev Walkina7591b52014-10-12 18:37:35 -0700899static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700900 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
901 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000902};
Lev Walkin59b176e2005-11-26 11:25:14 +0000903static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000904 sizeof(struct ActionItem),
Lev Walkindfae9752004-09-29 13:19:37 +0000905 offsetof(struct ActionItem, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000906 asn_MAP_ActionItem_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000907 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000908 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000909 1, /* Start extensions */
910 3 /* Stop extensions */
911};
Lev Walkindfae9752004-09-29 13:19:37 +0000912asn_TYPE_descriptor_t asn_DEF_ActionItem = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000913 "ActionItem",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000914 "ActionItem",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000915 SEQUENCE_free,
916 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000917 SEQUENCE_constraint,
918 SEQUENCE_decode_ber,
919 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000920 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000921 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000922 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000923 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000924 asn_DEF_ActionItem_tags_1,
925 sizeof(asn_DEF_ActionItem_tags_1)
926 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
927 asn_DEF_ActionItem_tags_1, /* Same as above */
928 sizeof(asn_DEF_ActionItem_tags_1)
929 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
930 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000931 asn_MBR_ActionItem_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000932 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000933 &asn_SPC_ActionItem_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000934};
935