blob: ece1127a36d1395235cae347f7d35c2eaf3a9432 [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 <VariablePartSet.h>
6#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +00007#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00008#include <constr_SEQUENCE.h>
9
Lev Walkinb47ddce2004-08-11 05:25:47 +000010/*** <<< DEPS [LogLine] >>> ***/
11
Lev Walkinf15320b2004-06-03 03:38:44 +000012extern asn1_TYPE_descriptor_t asn1_DEF_LogLine;
13
14/*** <<< TYPE-DECLS [LogLine] >>> ***/
15
16
17typedef struct LogLine {
18 IA5String_t line_digest;
19 struct varsets {
20 A_SEQUENCE_OF(struct VariablePartSet) list;
21
22 /* Context for parsing across buffer boundaries */
23 ber_dec_ctx_t _ber_dec_ctx;
24 } varsets;
25 /*
26 * This type is extensible,
27 * possible extensions are below.
28 */
29
30 /* Context for parsing across buffer boundaries */
31 ber_dec_ctx_t _ber_dec_ctx;
32} LogLine_t;
33
34/*** <<< STAT-DEFS [LogLine] >>> ***/
35
36 static asn1_SET_OF_element_t asn1_DEF_varsets_elements[] = {
37 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
38 (void *)&asn1_DEF_VariablePartSet },
39 };
40 static ber_tlv_tag_t asn1_DEF_varsets_tags[] = {
41 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
42 };
43 static asn1_SET_OF_specifics_t asn1_DEF_varsets_specs = {
44 sizeof(struct varsets),
45 offsetof(struct varsets, _ber_dec_ctx),
46 asn1_DEF_varsets_elements
47 };
48 asn1_TYPE_descriptor_t asn1_DEF_varsets = {
49 "varsets",
50 SEQUENCE_OF_constraint,
51 SEQUENCE_OF_decode_ber,
52 SEQUENCE_OF_encode_der,
53 SEQUENCE_OF_print,
54 SEQUENCE_OF_free,
55 0, /* Use generic outmost tag fetcher */
56 asn1_DEF_varsets_tags,
57 sizeof(asn1_DEF_varsets_tags)
Lev Walkin64399722004-08-11 07:17:22 +000058 /sizeof(asn1_DEF_varsets_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +000059 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +000060 1, /* Whether CONSTRUCTED */
61 &asn1_DEF_varsets_specs /* Additional specs */
62 };
63
Lev Walkinf15320b2004-06-03 03:38:44 +000064static asn1_SEQUENCE_element_t asn1_DEF_LogLine_elements[] = {
65 { offsetof(struct LogLine, line_digest), 0,
66 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
67 0,
68 (void *)&asn1_DEF_IA5String,
69 "line-digest"
70 },
71 { offsetof(struct LogLine, varsets), 0,
72 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
73 0,
74 (void *)&asn1_DEF_varsets,
75 "varsets"
76 },
77};
78static ber_tlv_tag_t asn1_DEF_LogLine_tags[] = {
79 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
80};
Lev Walkincda6b8a2004-06-06 07:20:52 +000081static asn1_TYPE_tag2member_t asn1_DEF_LogLine_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +000082 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
83 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* line-digest at 23 */
Lev Walkincda6b8a2004-06-06 07:20:52 +000084};
Lev Walkinf15320b2004-06-03 03:38:44 +000085static asn1_SEQUENCE_specifics_t asn1_DEF_LogLine_specs = {
86 sizeof(struct LogLine),
87 offsetof(struct LogLine, _ber_dec_ctx),
88 asn1_DEF_LogLine_elements,
89 2, /* Elements count */
Lev Walkincda6b8a2004-06-06 07:20:52 +000090 asn1_DEF_LogLine_tag2el,
91 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +000092 1, /* Start extensions */
93 3 /* Stop extensions */
94};
95asn1_TYPE_descriptor_t asn1_DEF_LogLine = {
96 "LogLine",
97 SEQUENCE_constraint,
98 SEQUENCE_decode_ber,
99 SEQUENCE_encode_der,
100 SEQUENCE_print,
101 SEQUENCE_free,
102 0, /* Use generic outmost tag fetcher */
103 asn1_DEF_LogLine_tags,
104 sizeof(asn1_DEF_LogLine_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000105 /sizeof(asn1_DEF_LogLine_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000106 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000107 1, /* Whether CONSTRUCTED */
108 &asn1_DEF_LogLine_specs /* Additional specs */
109};
110
111
Lev Walkinb47ddce2004-08-11 05:25:47 +0000112/*** <<< INCLUDES [VariablePartSet] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000113
Lev Walkinf15320b2004-06-03 03:38:44 +0000114#include <ActionItem.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000115#include <VariablePart.h>
116#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000117#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000118#include <constr_SEQUENCE.h>
119
Lev Walkinb47ddce2004-08-11 05:25:47 +0000120/*** <<< DEPS [VariablePartSet] >>> ***/
121
Lev Walkinf15320b2004-06-03 03:38:44 +0000122extern asn1_TYPE_descriptor_t asn1_DEF_VariablePartSet;
123
124/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
125
126
127typedef struct VariablePartSet {
128 struct vparts {
129 A_SEQUENCE_OF(struct VariablePart) list;
130
131 /* Context for parsing across buffer boundaries */
132 ber_dec_ctx_t _ber_dec_ctx;
133 } vparts;
134 ActionItem_t resolution;
135 /*
136 * This type is extensible,
137 * possible extensions are below.
138 */
139
140 /* Context for parsing across buffer boundaries */
141 ber_dec_ctx_t _ber_dec_ctx;
142} VariablePartSet_t;
143
144/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
145
146 static asn1_SET_OF_element_t asn1_DEF_vparts_elements[] = {
147 { -1 /* Ambiguous tag (CHOICE?) */,
148 (void *)&asn1_DEF_VariablePart },
149 };
150 static ber_tlv_tag_t asn1_DEF_vparts_tags[] = {
151 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
152 };
153 static asn1_SET_OF_specifics_t asn1_DEF_vparts_specs = {
154 sizeof(struct vparts),
155 offsetof(struct vparts, _ber_dec_ctx),
156 asn1_DEF_vparts_elements
157 };
158 asn1_TYPE_descriptor_t asn1_DEF_vparts = {
159 "vparts",
160 SEQUENCE_OF_constraint,
161 SEQUENCE_OF_decode_ber,
162 SEQUENCE_OF_encode_der,
163 SEQUENCE_OF_print,
164 SEQUENCE_OF_free,
165 0, /* Use generic outmost tag fetcher */
166 asn1_DEF_vparts_tags,
167 sizeof(asn1_DEF_vparts_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000168 /sizeof(asn1_DEF_vparts_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000169 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000170 1, /* Whether CONSTRUCTED */
171 &asn1_DEF_vparts_specs /* Additional specs */
172 };
173
Lev Walkinf15320b2004-06-03 03:38:44 +0000174static asn1_SEQUENCE_element_t asn1_DEF_VariablePartSet_elements[] = {
175 { offsetof(struct VariablePartSet, vparts), 0,
176 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
177 0,
178 (void *)&asn1_DEF_vparts,
179 "vparts"
180 },
181 { offsetof(struct VariablePartSet, resolution), 0,
182 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
183 0,
184 (void *)&asn1_DEF_ActionItem,
185 "resolution"
186 },
187};
188static ber_tlv_tag_t asn1_DEF_VariablePartSet_tags[] = {
189 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
190};
Lev Walkincda6b8a2004-06-06 07:20:52 +0000191static asn1_TYPE_tag2member_t asn1_DEF_VariablePartSet_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000192 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
193 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* resolution at 35 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000194};
Lev Walkinf15320b2004-06-03 03:38:44 +0000195static asn1_SEQUENCE_specifics_t asn1_DEF_VariablePartSet_specs = {
196 sizeof(struct VariablePartSet),
197 offsetof(struct VariablePartSet, _ber_dec_ctx),
198 asn1_DEF_VariablePartSet_elements,
199 2, /* Elements count */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000200 asn1_DEF_VariablePartSet_tag2el,
201 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000202 1, /* Start extensions */
203 3 /* Stop extensions */
204};
205asn1_TYPE_descriptor_t asn1_DEF_VariablePartSet = {
206 "VariablePartSet",
207 SEQUENCE_constraint,
208 SEQUENCE_decode_ber,
209 SEQUENCE_encode_der,
210 SEQUENCE_print,
211 SEQUENCE_free,
212 0, /* Use generic outmost tag fetcher */
213 asn1_DEF_VariablePartSet_tags,
214 sizeof(asn1_DEF_VariablePartSet_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000215 /sizeof(asn1_DEF_VariablePartSet_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000216 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000217 1, /* Whether CONSTRUCTED */
218 &asn1_DEF_VariablePartSet_specs /* Additional specs */
219};
220
221
Lev Walkinb47ddce2004-08-11 05:25:47 +0000222/*** <<< INCLUDES [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000223
Lev Walkinf15320b2004-06-03 03:38:44 +0000224#include <VisibleString.h>
225#include <asn_SET_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000226#include <constr_SET_OF.h>
227#include <constr_SEQUENCE.h>
228#include <constr_CHOICE.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000229
Lev Walkinb47ddce2004-08-11 05:25:47 +0000230/*** <<< DEPS [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000231
Lev Walkinb47ddce2004-08-11 05:25:47 +0000232typedef enum VariablePart_PR {
233 VariablePart_PR_NOTHING, /* No components present */
234 VariablePart_PR_vset,
235 VariablePart_PR_vrange,
236 /* Extensions may appear below */
Lev Walkin64399722004-08-11 07:17:22 +0000237} VariablePart_PR;
Lev Walkinf15320b2004-06-03 03:38:44 +0000238extern asn1_TYPE_descriptor_t asn1_DEF_VariablePart;
239
240/*** <<< TYPE-DECLS [VariablePart] >>> ***/
241
242
243typedef struct VariablePart {
Lev Walkin64399722004-08-11 07:17:22 +0000244 VariablePart_PR present;
Lev Walkinf15320b2004-06-03 03:38:44 +0000245 union {
246 struct vset {
247 A_SET_OF(VisibleString_t) list;
248
249 /* Context for parsing across buffer boundaries */
250 ber_dec_ctx_t _ber_dec_ctx;
251 } vset;
252 struct vrange {
253 VisibleString_t from;
254 VisibleString_t to;
255 /*
256 * This type is extensible,
257 * possible extensions are below.
258 */
259
260 /* Context for parsing across buffer boundaries */
261 ber_dec_ctx_t _ber_dec_ctx;
262 } vrange;
263 /*
264 * This type is extensible,
265 * possible extensions are below.
266 */
267 } choice;
268
269 /* Context for parsing across buffer boundaries */
270 ber_dec_ctx_t _ber_dec_ctx;
271} VariablePart_t;
272
273/*** <<< STAT-DEFS [VariablePart] >>> ***/
274
275 static asn1_SET_OF_element_t asn1_DEF_vset_elements[] = {
276 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
277 (void *)&asn1_DEF_VisibleString },
278 };
279 static ber_tlv_tag_t asn1_DEF_vset_tags[] = {
280 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
281 };
282 static asn1_SET_OF_specifics_t asn1_DEF_vset_specs = {
283 sizeof(struct vset),
284 offsetof(struct vset, _ber_dec_ctx),
285 asn1_DEF_vset_elements
286 };
287 asn1_TYPE_descriptor_t asn1_DEF_vset = {
288 "vset",
289 SET_OF_constraint,
290 SET_OF_decode_ber,
291 SET_OF_encode_der,
292 SET_OF_print,
293 SET_OF_free,
294 0, /* Use generic outmost tag fetcher */
295 asn1_DEF_vset_tags,
296 sizeof(asn1_DEF_vset_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000297 /sizeof(asn1_DEF_vset_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000298 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000299 1, /* Whether CONSTRUCTED */
300 &asn1_DEF_vset_specs /* Additional specs */
301 };
302
Lev Walkinf15320b2004-06-03 03:38:44 +0000303 static asn1_SEQUENCE_element_t asn1_DEF_vrange_elements[] = {
304 { offsetof(struct vrange, from), 0,
305 (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
306 0,
307 (void *)&asn1_DEF_VisibleString,
308 "from"
309 },
310 { offsetof(struct vrange, to), 0,
311 (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
312 0,
313 (void *)&asn1_DEF_VisibleString,
314 "to"
315 },
316 };
317 static ber_tlv_tag_t asn1_DEF_vrange_tags[] = {
318 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
319 };
Lev Walkincda6b8a2004-06-06 07:20:52 +0000320 static asn1_TYPE_tag2member_t asn1_DEF_vrange_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000321 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
322 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 }, /* to at 46 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000323 };
Lev Walkinf15320b2004-06-03 03:38:44 +0000324 static asn1_SEQUENCE_specifics_t asn1_DEF_vrange_specs = {
325 sizeof(struct vrange),
326 offsetof(struct vrange, _ber_dec_ctx),
327 asn1_DEF_vrange_elements,
328 2, /* Elements count */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000329 asn1_DEF_vrange_tag2el,
330 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000331 1, /* Start extensions */
332 3 /* Stop extensions */
333 };
334 asn1_TYPE_descriptor_t asn1_DEF_vrange = {
335 "vrange",
336 SEQUENCE_constraint,
337 SEQUENCE_decode_ber,
338 SEQUENCE_encode_der,
339 SEQUENCE_print,
340 SEQUENCE_free,
341 0, /* Use generic outmost tag fetcher */
342 asn1_DEF_vrange_tags,
343 sizeof(asn1_DEF_vrange_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000344 /sizeof(asn1_DEF_vrange_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000345 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000346 1, /* Whether CONSTRUCTED */
347 &asn1_DEF_vrange_specs /* Additional specs */
348 };
349
Lev Walkinf15320b2004-06-03 03:38:44 +0000350static asn1_CHOICE_element_t asn1_DEF_VariablePart_elements[] = {
351 { offsetof(struct VariablePart, choice.vset), 0,
352 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
353 0,
354 (void *)&asn1_DEF_vset,
355 "vset"
356 },
357 { offsetof(struct VariablePart, choice.vrange), 0,
358 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
359 0,
360 (void *)&asn1_DEF_vrange,
361 "vrange"
362 },
363};
Lev Walkincda6b8a2004-06-06 07:20:52 +0000364static asn1_TYPE_tag2member_t asn1_DEF_VariablePart_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000365 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
366 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* vset at 42 */
Lev Walkinf15320b2004-06-03 03:38:44 +0000367};
368static asn1_CHOICE_specifics_t asn1_DEF_VariablePart_specs = {
369 sizeof(struct VariablePart),
370 offsetof(struct VariablePart, _ber_dec_ctx),
371 offsetof(struct VariablePart, present),
372 sizeof(((struct VariablePart *)0)->present),
373 asn1_DEF_VariablePart_elements,
374 2, /* Elements count */
375 asn1_DEF_VariablePart_tag2el,
376 2, /* Count of tags in the map */
Lev Walkind64497c2004-07-01 00:49:55 +0000377 1 /* Whether extensible */
Lev Walkinf15320b2004-06-03 03:38:44 +0000378};
379asn1_TYPE_descriptor_t asn1_DEF_VariablePart = {
380 "VariablePart",
381 CHOICE_constraint,
382 CHOICE_decode_ber,
383 CHOICE_encode_der,
384 CHOICE_print,
385 CHOICE_free,
386 CHOICE_outmost_tag,
Lev Walkin64399722004-08-11 07:17:22 +0000387 0, /* No explicit tags (pointer) */
388 0, /* No explicit tags (count) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000389 0, /* Tags to skip */
390 1, /* Whether CONSTRUCTED */
391 &asn1_DEF_VariablePart_specs /* Additional specs */
392};
393
394
Lev Walkinb47ddce2004-08-11 05:25:47 +0000395/*** <<< INCLUDES [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000396
Lev Walkinf15320b2004-06-03 03:38:44 +0000397#include <ENUMERATED.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000398#include <BOOLEAN.h>
399#include <VisibleString.h>
400#include <asn_SET_OF.h>
401#include <constr_SET_OF.h>
402#include <constr_SEQUENCE.h>
403
404/*** <<< DEPS [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000405
406 typedef enum accept_as {
407 accept_as_unknown = 0,
408 accept_as_safe = 1,
409 accept_as_unsafe = 2,
410 /*
411 * Enumeration is extensible
412 */
413 } accept_as_e;
Lev Walkinf15320b2004-06-03 03:38:44 +0000414extern asn1_TYPE_descriptor_t asn1_DEF_ActionItem;
415
416/*** <<< TYPE-DECLS [ActionItem] >>> ***/
417
418
419typedef struct ActionItem {
420 ENUMERATED_t accept_as;
421 struct notify {
422 BOOLEAN_t critical;
423 struct email {
424 A_SET_OF(VisibleString_t) list;
425
426 /* Context for parsing across buffer boundaries */
427 ber_dec_ctx_t _ber_dec_ctx;
428 } email;
429 /*
430 * This type is extensible,
431 * possible extensions are below.
432 */
433
434 /* Context for parsing across buffer boundaries */
435 ber_dec_ctx_t _ber_dec_ctx;
436 } *notify;
437 /*
438 * This type is extensible,
439 * possible extensions are below.
440 */
441
442 /* Context for parsing across buffer boundaries */
443 ber_dec_ctx_t _ber_dec_ctx;
444} ActionItem_t;
445
446/*** <<< STAT-DEFS [ActionItem] >>> ***/
447
448 static asn1_SET_OF_element_t asn1_DEF_email_elements[] = {
449 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
450 (void *)&asn1_DEF_VisibleString },
451 };
452 static ber_tlv_tag_t asn1_DEF_email_tags[] = {
453 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
454 };
455 static asn1_SET_OF_specifics_t asn1_DEF_email_specs = {
456 sizeof(struct email),
457 offsetof(struct email, _ber_dec_ctx),
458 asn1_DEF_email_elements
459 };
460 asn1_TYPE_descriptor_t asn1_DEF_email = {
461 "email",
462 SET_OF_constraint,
463 SET_OF_decode_ber,
464 SET_OF_encode_der,
465 SET_OF_print,
466 SET_OF_free,
467 0, /* Use generic outmost tag fetcher */
468 asn1_DEF_email_tags,
469 sizeof(asn1_DEF_email_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000470 /sizeof(asn1_DEF_email_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000471 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000472 1, /* Whether CONSTRUCTED */
473 &asn1_DEF_email_specs /* Additional specs */
474 };
475
Lev Walkinf15320b2004-06-03 03:38:44 +0000476 static asn1_SEQUENCE_element_t asn1_DEF_notify_elements[] = {
477 { offsetof(struct notify, critical), 0,
478 (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
479 0,
480 (void *)&asn1_DEF_BOOLEAN,
481 "critical"
482 },
483 { offsetof(struct notify, email), 0,
484 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
485 0,
486 (void *)&asn1_DEF_email,
487 "email"
488 },
489 };
490 static ber_tlv_tag_t asn1_DEF_notify_tags[] = {
491 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
492 };
Lev Walkincda6b8a2004-06-06 07:20:52 +0000493 static asn1_TYPE_tag2member_t asn1_DEF_notify_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000494 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
495 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 }, /* email at 62 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000496 };
Lev Walkinf15320b2004-06-03 03:38:44 +0000497 static asn1_SEQUENCE_specifics_t asn1_DEF_notify_specs = {
498 sizeof(struct notify),
499 offsetof(struct notify, _ber_dec_ctx),
500 asn1_DEF_notify_elements,
501 2, /* Elements count */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000502 asn1_DEF_notify_tag2el,
503 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000504 1, /* Start extensions */
505 3 /* Stop extensions */
506 };
507 asn1_TYPE_descriptor_t asn1_DEF_notify = {
508 "notify",
509 SEQUENCE_constraint,
510 SEQUENCE_decode_ber,
511 SEQUENCE_encode_der,
512 SEQUENCE_print,
513 SEQUENCE_free,
514 0, /* Use generic outmost tag fetcher */
515 asn1_DEF_notify_tags,
516 sizeof(asn1_DEF_notify_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000517 /sizeof(asn1_DEF_notify_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000518 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000519 1, /* Whether CONSTRUCTED */
520 &asn1_DEF_notify_specs /* Additional specs */
521 };
522
Lev Walkinf15320b2004-06-03 03:38:44 +0000523static asn1_SEQUENCE_element_t asn1_DEF_ActionItem_elements[] = {
524 { offsetof(struct ActionItem, accept_as), 0,
525 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
526 0,
527 (void *)&asn1_DEF_ENUMERATED,
528 "accept-as"
529 },
530 { offsetof(struct ActionItem, notify), 1,
531 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
532 0,
533 (void *)&asn1_DEF_notify,
534 "notify"
535 },
536};
537static ber_tlv_tag_t asn1_DEF_ActionItem_tags[] = {
538 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
539};
Lev Walkincda6b8a2004-06-06 07:20:52 +0000540static asn1_TYPE_tag2member_t asn1_DEF_ActionItem_tag2el[] = {
Lev Walkin38abe792004-06-14 13:09:45 +0000541 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
542 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* notify at 61 */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000543};
Lev Walkinf15320b2004-06-03 03:38:44 +0000544static asn1_SEQUENCE_specifics_t asn1_DEF_ActionItem_specs = {
545 sizeof(struct ActionItem),
546 offsetof(struct ActionItem, _ber_dec_ctx),
547 asn1_DEF_ActionItem_elements,
548 2, /* Elements count */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000549 asn1_DEF_ActionItem_tag2el,
550 2, /* Count of tags in the map */
Lev Walkinf15320b2004-06-03 03:38:44 +0000551 1, /* Start extensions */
552 3 /* Stop extensions */
553};
554asn1_TYPE_descriptor_t asn1_DEF_ActionItem = {
555 "ActionItem",
556 SEQUENCE_constraint,
557 SEQUENCE_decode_ber,
558 SEQUENCE_encode_der,
559 SEQUENCE_print,
560 SEQUENCE_free,
561 0, /* Use generic outmost tag fetcher */
562 asn1_DEF_ActionItem_tags,
563 sizeof(asn1_DEF_ActionItem_tags)
Lev Walkin64399722004-08-11 07:17:22 +0000564 /sizeof(asn1_DEF_ActionItem_tags[0]), /* 1 */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000565 1, /* Tags to skip */
Lev Walkinf15320b2004-06-03 03:38:44 +0000566 1, /* Whether CONSTRUCTED */
567 &asn1_DEF_ActionItem_specs /* Additional specs */
568};
569