1f7f19d6255ab7a3c493c4dea3bee86e94553535
[strongswan.git] / src / charon / plugins / stroke / stroke_list.h
1 /*
2 * Copyright (C) 2008 Martin Willi
3 * Hochschule fuer Technik Rapperswil
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 *
15 * $Id$
16 */
17
18 /**
19 * @defgroup stroke_list stroke_list
20 * @{ @ingroup stroke
21 */
22
23 #ifndef STROKE_LIST_H_
24 #define STROKE_LIST_H_
25
26 #include "stroke_attribute.h"
27
28 #include <stroke_msg.h>
29 #include <library.h>
30
31 typedef struct stroke_list_t stroke_list_t;
32
33 /**
34 * Log status information to stroke console
35 */
36 struct stroke_list_t {
37
38 /**
39 * List certificate information to stroke console.
40 *
41 * @param msg stroke message
42 * @param out stroke console stream
43 */
44 void (*list)(stroke_list_t *this, stroke_msg_t *msg, FILE *out);
45
46 /**
47 * Log status information to stroke console.
48 *
49 * @param msg stroke message
50 * @param out stroke console stream
51 * @param all TRUE for "statusall"
52 */
53 void (*status)(stroke_list_t *this, stroke_msg_t *msg, FILE *out, bool all);
54
55 /**
56 * Log pool leases to stroke console.
57 *
58 * @param msg stroke message
59 * @param out stroke console stream
60 */
61 void (*leases)(stroke_list_t *this, stroke_msg_t *msg, FILE *out);
62
63 /**
64 * Destroy a stroke_list instance.
65 */
66 void (*destroy)(stroke_list_t *this);
67 };
68
69 /**
70 * Create a stroke_list instance.
71 *
72 * @param attribute strokes attribute provider
73 */
74 stroke_list_t *stroke_list_create(stroke_attribute_t *attribute);
75
76 #endif /* STROKE_LIST_H_ @}*/