blob: 0fd30dca0442a39be94f28a8514e7a3d02c4211c [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001
vlm6e1b13e2004-08-11 05:25:47 +00002/*** <<< INCLUDES [LogLine] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +00003
vlmfa67ddc2004-06-03 03:38:44 +00004#include <IA5String.h>
vlmfa67ddc2004-06-03 03:38:44 +00005#include <asn_SEQUENCE_OF.h>
vlm6e1b13e2004-08-11 05:25:47 +00006#include <constr_SEQUENCE_OF.h>
vlmfa67ddc2004-06-03 03:38:44 +00007#include <constr_SEQUENCE.h>
8
vlm0b567bf2005-03-04 22:18:20 +00009/*** <<< FWD-DECLS [LogLine] >>> ***/
vlm6e1b13e2004-08-11 05:25:47 +000010
vlm5feb7522005-03-04 23:50:56 +000011struct VariablePartSet;
vlmfa67ddc2004-06-03 03:38:44 +000012
13/*** <<< TYPE-DECLS [LogLine] >>> ***/
14
vlmfa67ddc2004-06-03 03:38:44 +000015typedef struct LogLine {
16 IA5String_t line_digest;
17 struct varsets {
vlm0b567bf2005-03-04 22:18:20 +000018 A_SEQUENCE_OF(struct VariablePartSet) list;
vlmfa67ddc2004-06-03 03:38:44 +000019
20 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +000021 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +000029 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +000030} LogLine_t;
31
vlm0b567bf2005-03-04 22:18:20 +000032/*** <<< FUNC-DECLS [LogLine] >>> ***/
33
34extern asn_TYPE_descriptor_t asn_DEF_LogLine;
35
36/*** <<< POST-INCLUDE [LogLine] >>> ***/
37
vlmea226772006-09-13 02:51:20 +000038#include "VariablePartSet.h"
vlm0b567bf2005-03-04 22:18:20 +000039
vlm21e46002004-08-20 13:36:32 +000040/*** <<< CODE [LogLine] >>> ***/
41
42static int
vlm337167e2005-11-26 11:25:14 +000043memb_varsets_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
vlmaf68ef52006-07-13 11:19:01 +000044 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
vlm21e46002004-08-20 13:36:32 +000045 size_t size;
46
47 if(!sptr) {
vlmd4ae41c2006-07-13 13:28:32 +000048 _ASN_CTFAIL(app_key, td, sptr,
vlm758530a2004-08-22 13:47:59 +000049 "%s: value not given (%s:%d)",
50 td->name, __FILE__, __LINE__);
vlm21e46002004-08-20 13:36:32 +000051 return -1;
52 }
53
vlm754a90f2005-07-04 02:03:57 +000054 /* Determine the number of elements */
55 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
vlm21e46002004-08-20 13:36:32 +000056
57 if((size >= 1)) {
vlm541def92005-03-29 19:05:37 +000058 /* Perform validation of the inner elements */
vlmd4ae41c2006-07-13 13:28:32 +000059 return td->check_constraints(td, sptr, ctfailcb, app_key);
vlm21e46002004-08-20 13:36:32 +000060 } else {
vlmd4ae41c2006-07-13 13:28:32 +000061 _ASN_CTFAIL(app_key, td, sptr,
vlm758530a2004-08-22 13:47:59 +000062 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
vlm21e46002004-08-20 13:36:32 +000064 return -1;
65 }
66}
67
68
vlmfa67ddc2004-06-03 03:38:44 +000069/*** <<< STAT-DEFS [LogLine] >>> ***/
70
vlm67d57fe2005-03-06 09:29:03 +000071static asn_TYPE_member_t asn_MBR_varsets_3[] = {
vlm2cebdf32005-08-16 16:57:17 +000072 { ATF_POINTER, 0, 0,
vlm21e46002004-08-20 13:36:32 +000073 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
74 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +000075 .type = &asn_DEF_VariablePartSet,
vlm0a9af512005-01-17 12:20:19 +000076 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +000077 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
78 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +000079 .name = ""
vlmfa67ddc2004-06-03 03:38:44 +000080 },
vlm21e46002004-08-20 13:36:32 +000081};
vlm337167e2005-11-26 11:25:14 +000082static ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
vlm21e46002004-08-20 13:36:32 +000083 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
84};
vlm337167e2005-11-26 11:25:14 +000085static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
vlm21e46002004-08-20 13:36:32 +000086 sizeof(struct varsets),
vlm02296432004-09-29 13:19:37 +000087 offsetof(struct varsets, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +000088 0, /* XER encoding is XMLDelimitedItemList */
vlm21e46002004-08-20 13:36:32 +000089};
vlm1dc848e2004-09-07 06:44:29 +000090static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +000091asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
vlm21e46002004-08-20 13:36:32 +000092 "varsets",
vlm9de248e2004-10-20 15:50:55 +000093 "varsets",
vlm39ba4c42004-09-22 16:06:28 +000094 SEQUENCE_OF_free,
95 SEQUENCE_OF_print,
vlm21e46002004-08-20 13:36:32 +000096 SEQUENCE_OF_constraint,
97 SEQUENCE_OF_decode_ber,
98 SEQUENCE_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +000099 SEQUENCE_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000100 SEQUENCE_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000101 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000102 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm67d57fe2005-03-06 09:29:03 +0000110 asn_MBR_varsets_3,
vlm21e46002004-08-20 13:36:32 +0000111 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000112 &asn_SPC_varsets_specs_3 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000113};
114
vlm44fe49a2005-03-04 11:26:08 +0000115static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000116 { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
vlm21e46002004-08-20 13:36:32 +0000117 .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
118 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000119 .type = &asn_DEF_IA5String,
vlm0a9af512005-01-17 12:20:19 +0000120 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000121 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
122 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000123 .name = "line-digest"
124 },
vlmddd5a7d2004-09-10 09:18:20 +0000125 { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
vlm21e46002004-08-20 13:36:32 +0000126 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
127 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000128 .type = &asn_DEF_varsets_3,
vlm337167e2005-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,
vlm21e46002004-08-20 13:36:32 +0000132 .name = "varsets"
vlmfa67ddc2004-06-03 03:38:44 +0000133 },
134};
vlm337167e2005-11-26 11:25:14 +0000135static ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
vlmfa67ddc2004-06-03 03:38:44 +0000136 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
137};
vlm337167e2005-11-26 11:25:14 +0000138static asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
vlmc8aeab42004-06-14 13:09:45 +0000139 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
vlm6c70ec52005-02-25 08:17:56 +0000140 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest at 23 */
vlm35efd1b2004-06-06 07:20:52 +0000141};
vlm337167e2005-11-26 11:25:14 +0000142static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
vlmfa67ddc2004-06-03 03:38:44 +0000143 sizeof(struct LogLine),
vlm02296432004-09-29 13:19:37 +0000144 offsetof(struct LogLine, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000145 asn_MAP_LogLine_tag2el_1,
vlm35efd1b2004-06-06 07:20:52 +0000146 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000147 0, 0, 0, /* Optional elements (not needed) */
vlmfa67ddc2004-06-03 03:38:44 +0000148 1, /* Start extensions */
149 3 /* Stop extensions */
150};
vlm02296432004-09-29 13:19:37 +0000151asn_TYPE_descriptor_t asn_DEF_LogLine = {
vlmfa67ddc2004-06-03 03:38:44 +0000152 "LogLine",
vlm9de248e2004-10-20 15:50:55 +0000153 "LogLine",
vlm39ba4c42004-09-22 16:06:28 +0000154 SEQUENCE_free,
155 SEQUENCE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000156 SEQUENCE_constraint,
157 SEQUENCE_decode_ber,
158 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000159 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000160 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000161 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmfa67ddc2004-06-03 03:38:44 +0000162 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm44fe49a2005-03-04 11:26:08 +0000170 asn_MBR_LogLine_1,
vlm21e46002004-08-20 13:36:32 +0000171 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000172 &asn_SPC_LogLine_specs_1 /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000173};
174
175
vlm6e1b13e2004-08-11 05:25:47 +0000176/*** <<< INCLUDES [VariablePartSet] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000177
vlmea226772006-09-13 02:51:20 +0000178#include "ActionItem.h"
vlmfa67ddc2004-06-03 03:38:44 +0000179#include <asn_SEQUENCE_OF.h>
vlm6e1b13e2004-08-11 05:25:47 +0000180#include <constr_SEQUENCE_OF.h>
vlmfa67ddc2004-06-03 03:38:44 +0000181#include <constr_SEQUENCE.h>
182
vlm0b567bf2005-03-04 22:18:20 +0000183/*** <<< FWD-DECLS [VariablePartSet] >>> ***/
vlm6e1b13e2004-08-11 05:25:47 +0000184
vlm5feb7522005-03-04 23:50:56 +0000185struct VariablePart;
vlmfa67ddc2004-06-03 03:38:44 +0000186
187/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
188
vlmfa67ddc2004-06-03 03:38:44 +0000189typedef struct VariablePartSet {
190 struct vparts {
vlm0b567bf2005-03-04 22:18:20 +0000191 A_SEQUENCE_OF(struct VariablePart) list;
vlmfa67ddc2004-06-03 03:38:44 +0000192
193 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +0000194 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000203 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +0000204} VariablePartSet_t;
205
vlm0b567bf2005-03-04 22:18:20 +0000206/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
207
208extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
209
210/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
211
vlmea226772006-09-13 02:51:20 +0000212#include "VariablePart.h"
vlm0b567bf2005-03-04 22:18:20 +0000213
vlm21e46002004-08-20 13:36:32 +0000214/*** <<< CODE [VariablePartSet] >>> ***/
215
216static int
vlm337167e2005-11-26 11:25:14 +0000217memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
vlmaf68ef52006-07-13 11:19:01 +0000218 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
vlm21e46002004-08-20 13:36:32 +0000219
220 if(!sptr) {
vlmd4ae41c2006-07-13 13:28:32 +0000221 _ASN_CTFAIL(app_key, td, sptr,
vlm758530a2004-08-22 13:47:59 +0000222 "%s: value not given (%s:%d)",
223 td->name, __FILE__, __LINE__);
vlm21e46002004-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
vlmaf68ef52006-07-13 11:19:01 +0000232 return td->check_constraints(td, sptr, ctfailcb, app_key);
vlm21e46002004-08-20 13:36:32 +0000233}
234
235
vlmfa67ddc2004-06-03 03:38:44 +0000236/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
237
vlm44fe49a2005-03-04 11:26:08 +0000238static asn_TYPE_member_t asn_MBR_vparts_2[] = {
vlm2cebdf32005-08-16 16:57:17 +0000239 { ATF_POINTER, 0, 0,
vlm060fe2a2004-09-10 09:37:12 +0000240 .tag = -1 /* Ambiguous tag (CHOICE?) */,
vlm21e46002004-08-20 13:36:32 +0000241 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000242 .type = &asn_DEF_VariablePart,
vlm0a9af512005-01-17 12:20:19 +0000243 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000244 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
245 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000246 .name = ""
vlmfa67ddc2004-06-03 03:38:44 +0000247 },
vlm21e46002004-08-20 13:36:32 +0000248};
vlm337167e2005-11-26 11:25:14 +0000249static ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
vlm21e46002004-08-20 13:36:32 +0000250 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
251};
vlm337167e2005-11-26 11:25:14 +0000252static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
vlm21e46002004-08-20 13:36:32 +0000253 sizeof(struct vparts),
vlm02296432004-09-29 13:19:37 +0000254 offsetof(struct vparts, _asn_ctx),
vlm6d44a542005-11-08 03:06:16 +0000255 2, /* XER encoding is XMLValueList */
vlm21e46002004-08-20 13:36:32 +0000256};
vlm1dc848e2004-09-07 06:44:29 +0000257static /* Use -fall-defs-global to expose */
vlm44fe49a2005-03-04 11:26:08 +0000258asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
vlm21e46002004-08-20 13:36:32 +0000259 "vparts",
vlm9de248e2004-10-20 15:50:55 +0000260 "vparts",
vlm39ba4c42004-09-22 16:06:28 +0000261 SEQUENCE_OF_free,
262 SEQUENCE_OF_print,
vlm21e46002004-08-20 13:36:32 +0000263 SEQUENCE_OF_constraint,
264 SEQUENCE_OF_decode_ber,
265 SEQUENCE_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000266 SEQUENCE_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000267 SEQUENCE_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000268 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000269 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm44fe49a2005-03-04 11:26:08 +0000277 asn_MBR_vparts_2,
vlm21e46002004-08-20 13:36:32 +0000278 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000279 &asn_SPC_vparts_specs_2 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000280};
281
vlm44fe49a2005-03-04 11:26:08 +0000282static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000283 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
vlm21e46002004-08-20 13:36:32 +0000284 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
285 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000286 .type = &asn_DEF_vparts_2,
vlm337167e2005-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,
vlm21e46002004-08-20 13:36:32 +0000290 .name = "vparts"
291 },
vlmddd5a7d2004-09-10 09:18:20 +0000292 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
vlm21e46002004-08-20 13:36:32 +0000293 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
294 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000295 .type = &asn_DEF_ActionItem,
vlm0a9af512005-01-17 12:20:19 +0000296 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000297 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
298 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000299 .name = "resolution"
vlmfa67ddc2004-06-03 03:38:44 +0000300 },
301};
vlm337167e2005-11-26 11:25:14 +0000302static ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
vlmfa67ddc2004-06-03 03:38:44 +0000303 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
304};
vlm337167e2005-11-26 11:25:14 +0000305static asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
vlmc8aeab42004-06-14 13:09:45 +0000306 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
vlm6c70ec52005-02-25 08:17:56 +0000307 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution at 35 */
vlm35efd1b2004-06-06 07:20:52 +0000308};
vlm337167e2005-11-26 11:25:14 +0000309static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
vlmfa67ddc2004-06-03 03:38:44 +0000310 sizeof(struct VariablePartSet),
vlm02296432004-09-29 13:19:37 +0000311 offsetof(struct VariablePartSet, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000312 asn_MAP_VariablePartSet_tag2el_1,
vlm35efd1b2004-06-06 07:20:52 +0000313 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000314 0, 0, 0, /* Optional elements (not needed) */
vlmfa67ddc2004-06-03 03:38:44 +0000315 1, /* Start extensions */
316 3 /* Stop extensions */
317};
vlm02296432004-09-29 13:19:37 +0000318asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
vlmfa67ddc2004-06-03 03:38:44 +0000319 "VariablePartSet",
vlm9de248e2004-10-20 15:50:55 +0000320 "VariablePartSet",
vlm39ba4c42004-09-22 16:06:28 +0000321 SEQUENCE_free,
322 SEQUENCE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000323 SEQUENCE_constraint,
324 SEQUENCE_decode_ber,
325 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000326 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000327 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000328 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmfa67ddc2004-06-03 03:38:44 +0000329 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm44fe49a2005-03-04 11:26:08 +0000337 asn_MBR_VariablePartSet_1,
vlm21e46002004-08-20 13:36:32 +0000338 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000339 &asn_SPC_VariablePartSet_specs_1 /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000340};
341
342
vlm6e1b13e2004-08-11 05:25:47 +0000343/*** <<< INCLUDES [VariablePart] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000344
vlmfa67ddc2004-06-03 03:38:44 +0000345#include <VisibleString.h>
346#include <asn_SET_OF.h>
vlm6e1b13e2004-08-11 05:25:47 +0000347#include <constr_SET_OF.h>
348#include <constr_SEQUENCE.h>
349#include <constr_CHOICE.h>
vlmfa67ddc2004-06-03 03:38:44 +0000350
vlm6e1b13e2004-08-11 05:25:47 +0000351/*** <<< DEPS [VariablePart] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000352
vlm6e1b13e2004-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 */
vlmb1b193e2006-08-18 01:46:46 +0000358
vlm6e73a042004-08-11 07:17:22 +0000359} VariablePart_PR;
vlmfa67ddc2004-06-03 03:38:44 +0000360
361/*** <<< TYPE-DECLS [VariablePart] >>> ***/
362
vlmfa67ddc2004-06-03 03:38:44 +0000363typedef struct VariablePart {
vlm6e73a042004-08-11 07:17:22 +0000364 VariablePart_PR present;
vlm2e774282005-08-14 15:03:31 +0000365 union VariablePart_u {
vlmfa67ddc2004-06-03 03:38:44 +0000366 struct vset {
367 A_SET_OF(VisibleString_t) list;
368
369 /* Context for parsing across buffer boundaries */
vlm02296432004-09-29 13:19:37 +0000370 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000381 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000390 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +0000391} VariablePart_t;
392
vlm0b567bf2005-03-04 22:18:20 +0000393/*** <<< FUNC-DECLS [VariablePart] >>> ***/
394
395extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
396
vlm21e46002004-08-20 13:36:32 +0000397/*** <<< CODE [VariablePart] >>> ***/
398
399static int
vlm337167e2005-11-26 11:25:14 +0000400memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
vlmaf68ef52006-07-13 11:19:01 +0000401 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
vlm21e46002004-08-20 13:36:32 +0000402 size_t size;
403
404 if(!sptr) {
vlmd4ae41c2006-07-13 13:28:32 +0000405 _ASN_CTFAIL(app_key, td, sptr,
vlm758530a2004-08-22 13:47:59 +0000406 "%s: value not given (%s:%d)",
407 td->name, __FILE__, __LINE__);
vlm21e46002004-08-20 13:36:32 +0000408 return -1;
409 }
410
vlm754a90f2005-07-04 02:03:57 +0000411 /* Determine the number of elements */
412 size = _A_CSET_FROM_VOID(sptr)->count;
vlm21e46002004-08-20 13:36:32 +0000413
414 if((size >= 1)) {
vlm541def92005-03-29 19:05:37 +0000415 /* Perform validation of the inner elements */
vlmd4ae41c2006-07-13 13:28:32 +0000416 return td->check_constraints(td, sptr, ctfailcb, app_key);
vlm21e46002004-08-20 13:36:32 +0000417 } else {
vlmd4ae41c2006-07-13 13:28:32 +0000418 _ASN_CTFAIL(app_key, td, sptr,
vlm758530a2004-08-22 13:47:59 +0000419 "%s: constraint failed (%s:%d)",
420 td->name, __FILE__, __LINE__);
vlm21e46002004-08-20 13:36:32 +0000421 return -1;
422 }
423}
424
425
vlmfa67ddc2004-06-03 03:38:44 +0000426/*** <<< STAT-DEFS [VariablePart] >>> ***/
427
vlm44fe49a2005-03-04 11:26:08 +0000428static asn_TYPE_member_t asn_MBR_vset_2[] = {
vlm2cebdf32005-08-16 16:57:17 +0000429 { ATF_POINTER, 0, 0,
vlm21e46002004-08-20 13:36:32 +0000430 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
431 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000432 .type = &asn_DEF_VisibleString,
vlm0a9af512005-01-17 12:20:19 +0000433 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000434 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
435 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000436 .name = ""
vlmfa67ddc2004-06-03 03:38:44 +0000437 },
vlm21e46002004-08-20 13:36:32 +0000438};
vlm337167e2005-11-26 11:25:14 +0000439static ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
vlm21e46002004-08-20 13:36:32 +0000440 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
441};
vlm337167e2005-11-26 11:25:14 +0000442static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
vlm21e46002004-08-20 13:36:32 +0000443 sizeof(struct vset),
vlm02296432004-09-29 13:19:37 +0000444 offsetof(struct vset, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +0000445 0, /* XER encoding is XMLDelimitedItemList */
vlm21e46002004-08-20 13:36:32 +0000446};
vlm1dc848e2004-09-07 06:44:29 +0000447static /* Use -fall-defs-global to expose */
vlm44fe49a2005-03-04 11:26:08 +0000448asn_TYPE_descriptor_t asn_DEF_vset_2 = {
vlm21e46002004-08-20 13:36:32 +0000449 "vset",
vlm9de248e2004-10-20 15:50:55 +0000450 "vset",
vlm39ba4c42004-09-22 16:06:28 +0000451 SET_OF_free,
452 SET_OF_print,
vlm21e46002004-08-20 13:36:32 +0000453 SET_OF_constraint,
454 SET_OF_decode_ber,
455 SET_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000456 SET_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000457 SET_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000458 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000459 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm44fe49a2005-03-04 11:26:08 +0000467 asn_MBR_vset_2,
vlm21e46002004-08-20 13:36:32 +0000468 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000469 &asn_SPC_vset_specs_2 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000470};
471
vlm67d57fe2005-03-06 09:29:03 +0000472static asn_TYPE_member_t asn_MBR_vrange_4[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000473 { ATF_NOFLAGS, 0, offsetof(struct vrange, from),
vlm21e46002004-08-20 13:36:32 +0000474 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
475 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000476 .type = &asn_DEF_VisibleString,
vlm0a9af512005-01-17 12:20:19 +0000477 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000478 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
479 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000480 .name = "from"
481 },
vlmddd5a7d2004-09-10 09:18:20 +0000482 { ATF_NOFLAGS, 0, offsetof(struct vrange, to),
vlm21e46002004-08-20 13:36:32 +0000483 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
484 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000485 .type = &asn_DEF_VisibleString,
vlm0a9af512005-01-17 12:20:19 +0000486 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000487 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
488 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000489 .name = "to"
490 },
491};
vlm337167e2005-11-26 11:25:14 +0000492static ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
vlm21e46002004-08-20 13:36:32 +0000493 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
494};
vlm337167e2005-11-26 11:25:14 +0000495static asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
vlm21e46002004-08-20 13:36:32 +0000496 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
vlm6c70ec52005-02-25 08:17:56 +0000497 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to at 46 */
vlm21e46002004-08-20 13:36:32 +0000498};
vlm337167e2005-11-26 11:25:14 +0000499static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
vlm21e46002004-08-20 13:36:32 +0000500 sizeof(struct vrange),
vlm02296432004-09-29 13:19:37 +0000501 offsetof(struct vrange, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000502 asn_MAP_vrange_tag2el_4,
vlm21e46002004-08-20 13:36:32 +0000503 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000504 0, 0, 0, /* Optional elements (not needed) */
vlm21e46002004-08-20 13:36:32 +0000505 1, /* Start extensions */
506 3 /* Stop extensions */
507};
vlm1dc848e2004-09-07 06:44:29 +0000508static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +0000509asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
vlm21e46002004-08-20 13:36:32 +0000510 "vrange",
vlm9de248e2004-10-20 15:50:55 +0000511 "vrange",
vlm39ba4c42004-09-22 16:06:28 +0000512 SEQUENCE_free,
513 SEQUENCE_print,
vlm21e46002004-08-20 13:36:32 +0000514 SEQUENCE_constraint,
515 SEQUENCE_decode_ber,
516 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000517 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000518 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000519 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000520 0, /* Use generic outmost tag fetcher */
vlm337167e2005-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 */
vlm67d57fe2005-03-06 09:29:03 +0000528 asn_MBR_vrange_4,
vlm21e46002004-08-20 13:36:32 +0000529 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000530 &asn_SPC_vrange_specs_4 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000531};
532
vlm44fe49a2005-03-04 11:26:08 +0000533static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000534 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
vlm21e46002004-08-20 13:36:32 +0000535 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
536 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000537 .type = &asn_DEF_vset_2,
vlm337167e2005-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,
vlm21e46002004-08-20 13:36:32 +0000541 .name = "vset"
542 },
vlmddd5a7d2004-09-10 09:18:20 +0000543 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
vlm21e46002004-08-20 13:36:32 +0000544 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
545 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000546 .type = &asn_DEF_vrange_4,
vlm0a9af512005-01-17 12:20:19 +0000547 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000548 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
549 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000550 .name = "vrange"
vlmfa67ddc2004-06-03 03:38:44 +0000551 },
552};
vlm337167e2005-11-26 11:25:14 +0000553static asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
vlmc8aeab42004-06-14 13:09:45 +0000554 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
vlm6c70ec52005-02-25 08:17:56 +0000555 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset at 42 */
vlmfa67ddc2004-06-03 03:38:44 +0000556};
vlm337167e2005-11-26 11:25:14 +0000557static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
vlmfa67ddc2004-06-03 03:38:44 +0000558 sizeof(struct VariablePart),
vlm02296432004-09-29 13:19:37 +0000559 offsetof(struct VariablePart, _asn_ctx),
vlmfa67ddc2004-06-03 03:38:44 +0000560 offsetof(struct VariablePart, present),
561 sizeof(((struct VariablePart *)0)->present),
vlm337167e2005-11-26 11:25:14 +0000562 asn_MAP_VariablePart_tag2el_1,
vlmfa67ddc2004-06-03 03:38:44 +0000563 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000564 .canonical_order = 0,
565 .ext_start = 2 /* Extensions start */
vlmfa67ddc2004-06-03 03:38:44 +0000566};
vlm02296432004-09-29 13:19:37 +0000567asn_TYPE_descriptor_t asn_DEF_VariablePart = {
vlmfa67ddc2004-06-03 03:38:44 +0000568 "VariablePart",
vlm9de248e2004-10-20 15:50:55 +0000569 "VariablePart",
vlm39ba4c42004-09-22 16:06:28 +0000570 CHOICE_free,
571 CHOICE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000572 CHOICE_constraint,
573 CHOICE_decode_ber,
574 CHOICE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000575 CHOICE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000576 CHOICE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000577 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmfa67ddc2004-06-03 03:38:44 +0000578 CHOICE_outmost_tag,
vlm72425de2004-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) */
vlm337167e2005-11-26 11:25:14 +0000583 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000584 asn_MBR_VariablePart_1,
vlm21e46002004-08-20 13:36:32 +0000585 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000586 &asn_SPC_VariablePart_specs_1 /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000587};
588
589
vlm6e1b13e2004-08-11 05:25:47 +0000590/*** <<< INCLUDES [ActionItem] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000591
vlmfa67ddc2004-06-03 03:38:44 +0000592#include <ENUMERATED.h>
vlm6e1b13e2004-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] >>> ***/
vlmfa67ddc2004-06-03 03:38:44 +0000600
vlm21e46002004-08-20 13:36:32 +0000601typedef enum accept_as {
602 accept_as_unknown = 0,
603 accept_as_safe = 1,
vlm6c70ec52005-02-25 08:17:56 +0000604 accept_as_unsafe = 2
vlm21e46002004-08-20 13:36:32 +0000605 /*
606 * Enumeration is extensible
607 */
vlm7c8aa5e2006-03-21 07:25:18 +0000608} e_accept_as;
vlmfa67ddc2004-06-03 03:38:44 +0000609
610/*** <<< TYPE-DECLS [ActionItem] >>> ***/
611
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000620 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000628 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-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 */
vlm02296432004-09-29 13:19:37 +0000636 asn_struct_ctx_t _asn_ctx;
vlmfa67ddc2004-06-03 03:38:44 +0000637} ActionItem_t;
638
vlm6c70ec52005-02-25 08:17:56 +0000639/*** <<< FUNC-DECLS [ActionItem] >>> ***/
640
vlm44fe49a2005-03-04 11:26:08 +0000641/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
vlm0b567bf2005-03-04 22:18:20 +0000642extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
vlm6c70ec52005-02-25 08:17:56 +0000643
644/*** <<< CODE [ActionItem] >>> ***/
645
646static int
vlm44fe49a2005-03-04 11:26:08 +0000647accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
vlmaf68ef52006-07-13 11:19:01 +0000648 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
vlm6c70ec52005-02-25 08:17:56 +0000649 /* Replace with underlying type checker */
650 td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
vlmaf68ef52006-07-13 11:19:01 +0000651 return td->check_constraints(td, sptr, ctfailcb, app_key);
vlm6c70ec52005-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
vlm44fe49a2005-03-04 11:26:08 +0000659accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
vlm6c70ec52005-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;
vlm337167e2005-11-26 11:25:14 +0000666 td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
vlmb1b193e2006-08-18 01:46:46 +0000667 td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
vlm337167e2005-11-26 11:25:14 +0000668 if(!td->per_constraints)
669 td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
vlm6c70ec52005-02-25 08:17:56 +0000670 td->elements = asn_DEF_ENUMERATED.elements;
671 td->elements_count = asn_DEF_ENUMERATED.elements_count;
vlm541def92005-03-29 19:05:37 +0000672 /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
vlm6c70ec52005-02-25 08:17:56 +0000673}
674
675static void
vlm44fe49a2005-03-04 11:26:08 +0000676accept_as_2_free(asn_TYPE_descriptor_t *td,
vlm6c70ec52005-02-25 08:17:56 +0000677 void *struct_ptr, int contents_only) {
vlm44fe49a2005-03-04 11:26:08 +0000678 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-02-25 08:17:56 +0000679 td->free_struct(td, struct_ptr, contents_only);
680}
681
682static int
vlm44fe49a2005-03-04 11:26:08 +0000683accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
vlm6c70ec52005-02-25 08:17:56 +0000684 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
vlm44fe49a2005-03-04 11:26:08 +0000685 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-02-25 08:17:56 +0000686 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
687}
688
689static asn_dec_rval_t
vlm44fe49a2005-03-04 11:26:08 +0000690accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
vlmc04faea2005-03-17 21:57:19 +0000691 void **structure, const void *bufptr, size_t size, int tag_mode) {
vlm44fe49a2005-03-04 11:26:08 +0000692 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-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
vlm44fe49a2005-03-04 11:26:08 +0000697accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
vlm6c70ec52005-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) {
vlm44fe49a2005-03-04 11:26:08 +0000700 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-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
vlm44fe49a2005-03-04 11:26:08 +0000705accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
vlmc04faea2005-03-17 21:57:19 +0000706 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
vlm44fe49a2005-03-04 11:26:08 +0000707 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-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
vlm44fe49a2005-03-04 11:26:08 +0000712accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
vlm6c70ec52005-02-25 08:17:56 +0000713 int ilevel, enum xer_encoder_flags_e flags,
714 asn_app_consume_bytes_f *cb, void *app_key) {
vlm44fe49a2005-03-04 11:26:08 +0000715 accept_as_2_inherit_TYPE_descriptor(td);
vlm6c70ec52005-02-25 08:17:56 +0000716 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
717}
718
719
vlmfa67ddc2004-06-03 03:38:44 +0000720/*** <<< STAT-DEFS [ActionItem] >>> ***/
721
vlm337167e2005-11-26 11:25:14 +0000722static asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
vlm56a1f3e2005-02-25 11:08:02 +0000723 { 0, 7, "unknown" },
724 { 1, 4, "safe" },
725 { 2, 6, "unsafe" }
vlm6c70ec52005-02-25 08:17:56 +0000726 /* This list is extensible */
727};
vlm337167e2005-11-26 11:25:14 +0000728static unsigned int asn_MAP_accept_as_enum2value_2[] = {
vlm56a1f3e2005-02-25 11:08:02 +0000729 1, /* safe(1) */
730 0, /* unknown(0) */
731 2 /* unsafe(2) */
vlm6c70ec52005-02-25 08:17:56 +0000732 /* This list is extensible */
733};
vlm337167e2005-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 */
vlm6c70ec52005-02-25 08:17:56 +0000737 3, /* Number of elements in the maps */
vlm337167e2005-11-26 11:25:14 +0000738 4, /* Extensions before this member */
vlm12164c42007-12-03 13:41:36 +0000739 1, /* Strict enumeration */
740 0, /* Native long size */
741 0
vlm6c70ec52005-02-25 08:17:56 +0000742};
vlm337167e2005-11-26 11:25:14 +0000743static ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
vlm6c70ec52005-02-25 08:17:56 +0000744 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
745};
746static /* Use -fall-defs-global to expose */
vlm44fe49a2005-03-04 11:26:08 +0000747asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
vlm6c70ec52005-02-25 08:17:56 +0000748 "accept-as",
749 "accept-as",
vlm44fe49a2005-03-04 11:26:08 +0000750 accept_as_2_free,
751 accept_as_2_print,
752 accept_as_2_constraint,
753 accept_as_2_decode_ber,
754 accept_as_2_encode_der,
755 accept_as_2_decode_xer,
756 accept_as_2_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000757 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm6c70ec52005-02-25 08:17:56 +0000758 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000759 asn_DEF_accept_as_tags_2,
760 sizeof(asn_DEF_accept_as_tags_2)
761 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
762 asn_DEF_accept_as_tags_2, /* Same as above */
763 sizeof(asn_DEF_accept_as_tags_2)
764 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
765 0, /* No PER visible constraints */
vlm6c70ec52005-02-25 08:17:56 +0000766 0, 0, /* Defined elsewhere */
vlm337167e2005-11-26 11:25:14 +0000767 &asn_SPC_accept_as_specs_2 /* Additional specs */
vlm6c70ec52005-02-25 08:17:56 +0000768};
769
vlm67d57fe2005-03-06 09:29:03 +0000770static asn_TYPE_member_t asn_MBR_email_9[] = {
vlm2cebdf32005-08-16 16:57:17 +0000771 { ATF_POINTER, 0, 0,
vlm21e46002004-08-20 13:36:32 +0000772 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
773 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000774 .type = &asn_DEF_VisibleString,
vlm0a9af512005-01-17 12:20:19 +0000775 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000776 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
777 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000778 .name = ""
vlmfa67ddc2004-06-03 03:38:44 +0000779 },
vlm21e46002004-08-20 13:36:32 +0000780};
vlm337167e2005-11-26 11:25:14 +0000781static ber_tlv_tag_t asn_DEF_email_tags_9[] = {
vlm21e46002004-08-20 13:36:32 +0000782 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
783};
vlm337167e2005-11-26 11:25:14 +0000784static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
vlm21e46002004-08-20 13:36:32 +0000785 sizeof(struct email),
vlm02296432004-09-29 13:19:37 +0000786 offsetof(struct email, _asn_ctx),
vlm39ba4c42004-09-22 16:06:28 +0000787 0, /* XER encoding is XMLDelimitedItemList */
vlm21e46002004-08-20 13:36:32 +0000788};
vlm1dc848e2004-09-07 06:44:29 +0000789static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +0000790asn_TYPE_descriptor_t asn_DEF_email_9 = {
vlm21e46002004-08-20 13:36:32 +0000791 "email",
vlm9de248e2004-10-20 15:50:55 +0000792 "email",
vlm39ba4c42004-09-22 16:06:28 +0000793 SET_OF_free,
794 SET_OF_print,
vlm21e46002004-08-20 13:36:32 +0000795 SET_OF_constraint,
796 SET_OF_decode_ber,
797 SET_OF_encode_der,
vlm9de212e2005-02-14 20:31:31 +0000798 SET_OF_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000799 SET_OF_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000800 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000801 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000802 asn_DEF_email_tags_9,
803 sizeof(asn_DEF_email_tags_9)
804 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
805 asn_DEF_email_tags_9, /* Same as above */
806 sizeof(asn_DEF_email_tags_9)
807 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
808 0, /* No PER visible constraints */
vlm67d57fe2005-03-06 09:29:03 +0000809 asn_MBR_email_9,
vlm21e46002004-08-20 13:36:32 +0000810 1, /* Single element */
vlm337167e2005-11-26 11:25:14 +0000811 &asn_SPC_email_specs_9 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000812};
813
vlm67d57fe2005-03-06 09:29:03 +0000814static asn_TYPE_member_t asn_MBR_notify_7[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000815 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
vlm21e46002004-08-20 13:36:32 +0000816 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
817 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000818 .type = &asn_DEF_BOOLEAN,
vlm0a9af512005-01-17 12:20:19 +0000819 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000820 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
821 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000822 .name = "critical"
823 },
vlmddd5a7d2004-09-10 09:18:20 +0000824 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
vlm21e46002004-08-20 13:36:32 +0000825 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
826 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000827 .type = &asn_DEF_email_9,
vlm0a9af512005-01-17 12:20:19 +0000828 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000829 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
830 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000831 .name = "email"
832 },
833};
vlm337167e2005-11-26 11:25:14 +0000834static ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
vlm21e46002004-08-20 13:36:32 +0000835 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
836};
vlm337167e2005-11-26 11:25:14 +0000837static asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
vlm21e46002004-08-20 13:36:32 +0000838 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
vlm6c70ec52005-02-25 08:17:56 +0000839 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email at 62 */
vlm21e46002004-08-20 13:36:32 +0000840};
vlm337167e2005-11-26 11:25:14 +0000841static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
vlm21e46002004-08-20 13:36:32 +0000842 sizeof(struct notify),
vlm02296432004-09-29 13:19:37 +0000843 offsetof(struct notify, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000844 asn_MAP_notify_tag2el_7,
vlm21e46002004-08-20 13:36:32 +0000845 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000846 0, 0, 0, /* Optional elements (not needed) */
vlm21e46002004-08-20 13:36:32 +0000847 1, /* Start extensions */
848 3 /* Stop extensions */
849};
vlm1dc848e2004-09-07 06:44:29 +0000850static /* Use -fall-defs-global to expose */
vlm67d57fe2005-03-06 09:29:03 +0000851asn_TYPE_descriptor_t asn_DEF_notify_7 = {
vlm21e46002004-08-20 13:36:32 +0000852 "notify",
vlm9de248e2004-10-20 15:50:55 +0000853 "notify",
vlm39ba4c42004-09-22 16:06:28 +0000854 SEQUENCE_free,
855 SEQUENCE_print,
vlm21e46002004-08-20 13:36:32 +0000856 SEQUENCE_constraint,
857 SEQUENCE_decode_ber,
858 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000859 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000860 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000861 0, 0, /* No PER support, use "-gen-PER" to enable */
vlm21e46002004-08-20 13:36:32 +0000862 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000863 asn_DEF_notify_tags_7,
864 sizeof(asn_DEF_notify_tags_7)
865 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
866 asn_DEF_notify_tags_7, /* Same as above */
867 sizeof(asn_DEF_notify_tags_7)
868 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
869 0, /* No PER visible constraints */
vlm67d57fe2005-03-06 09:29:03 +0000870 asn_MBR_notify_7,
vlm21e46002004-08-20 13:36:32 +0000871 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000872 &asn_SPC_notify_specs_7 /* Additional specs */
vlm21e46002004-08-20 13:36:32 +0000873};
874
vlm44fe49a2005-03-04 11:26:08 +0000875static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
vlmddd5a7d2004-09-10 09:18:20 +0000876 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
vlm21e46002004-08-20 13:36:32 +0000877 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
878 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000879 .type = &asn_DEF_accept_as_2,
vlm0a9af512005-01-17 12:20:19 +0000880 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000881 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
882 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000883 .name = "accept-as"
884 },
vlmddd5a7d2004-09-10 09:18:20 +0000885 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
vlm21e46002004-08-20 13:36:32 +0000886 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
887 .tag_mode = 0,
vlme0fea712005-08-29 10:31:14 +0000888 .type = &asn_DEF_notify_7,
vlm0a9af512005-01-17 12:20:19 +0000889 .memb_constraints = 0, /* Defer constraints checking to the member type */
vlm337167e2005-11-26 11:25:14 +0000890 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
891 .default_value = 0,
vlm21e46002004-08-20 13:36:32 +0000892 .name = "notify"
vlmfa67ddc2004-06-03 03:38:44 +0000893 },
894};
vlm337167e2005-11-26 11:25:14 +0000895static ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
vlmfa67ddc2004-06-03 03:38:44 +0000896 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
897};
vlm337167e2005-11-26 11:25:14 +0000898static asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
vlmc8aeab42004-06-14 13:09:45 +0000899 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
vlm6c70ec52005-02-25 08:17:56 +0000900 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify at 61 */
vlm35efd1b2004-06-06 07:20:52 +0000901};
vlm337167e2005-11-26 11:25:14 +0000902static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
vlmfa67ddc2004-06-03 03:38:44 +0000903 sizeof(struct ActionItem),
vlm02296432004-09-29 13:19:37 +0000904 offsetof(struct ActionItem, _asn_ctx),
vlm337167e2005-11-26 11:25:14 +0000905 asn_MAP_ActionItem_tag2el_1,
vlm35efd1b2004-06-06 07:20:52 +0000906 2, /* Count of tags in the map */
vlm337167e2005-11-26 11:25:14 +0000907 0, 0, 0, /* Optional elements (not needed) */
vlmfa67ddc2004-06-03 03:38:44 +0000908 1, /* Start extensions */
909 3 /* Stop extensions */
910};
vlm02296432004-09-29 13:19:37 +0000911asn_TYPE_descriptor_t asn_DEF_ActionItem = {
vlmfa67ddc2004-06-03 03:38:44 +0000912 "ActionItem",
vlm9de248e2004-10-20 15:50:55 +0000913 "ActionItem",
vlm39ba4c42004-09-22 16:06:28 +0000914 SEQUENCE_free,
915 SEQUENCE_print,
vlmfa67ddc2004-06-03 03:38:44 +0000916 SEQUENCE_constraint,
917 SEQUENCE_decode_ber,
918 SEQUENCE_encode_der,
vlm2dbab7c2004-10-23 15:07:45 +0000919 SEQUENCE_decode_xer,
vlm39ba4c42004-09-22 16:06:28 +0000920 SEQUENCE_encode_xer,
vlmb1b193e2006-08-18 01:46:46 +0000921 0, 0, /* No PER support, use "-gen-PER" to enable */
vlmfa67ddc2004-06-03 03:38:44 +0000922 0, /* Use generic outmost tag fetcher */
vlm337167e2005-11-26 11:25:14 +0000923 asn_DEF_ActionItem_tags_1,
924 sizeof(asn_DEF_ActionItem_tags_1)
925 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
926 asn_DEF_ActionItem_tags_1, /* Same as above */
927 sizeof(asn_DEF_ActionItem_tags_1)
928 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
929 0, /* No PER visible constraints */
vlm44fe49a2005-03-04 11:26:08 +0000930 asn_MBR_ActionItem_1,
vlm21e46002004-08-20 13:36:32 +0000931 2, /* Elements count */
vlm337167e2005-11-26 11:25:14 +0000932 &asn_SPC_ActionItem_specs_1 /* Additional specs */
vlmfa67ddc2004-06-03 03:38:44 +0000933};
934