Annotation of embedaddon/strongswan/src/libcharon/plugins/farp/farp_listener.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2010 Martin Willi
3: * Copyright (C) 2010 revosec AG
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:
16: /**
17: * @defgroup farp_listener farp_listener
18: * @{ @ingroup farp
19: */
20:
21: #ifndef FARP_LISTENER_H_
22: #define FARP_LISTENER_H_
23:
24: #include <networking/host.h>
25: #include <bus/listeners/listener.h>
26:
27: typedef struct farp_listener_t farp_listener_t;
28:
29: /**
30: * Listener to register the set of IPs we spoof ARP responses for.
31: */
32: struct farp_listener_t {
33:
34: /**
35: * Implements listener_t interface.
36: */
37: listener_t listener;
38:
39: /**
40: * Check if we have a tunnel between two IP addresses.
41: *
42: * @param local local IP
43: * @param remote remote IP
44: * @return TRUE if a tunnel is active
45: */
46: bool (*has_tunnel)(farp_listener_t *this, host_t *local, host_t *remote);
47:
48: /**
49: * Destroy a farp_listener_t.
50: */
51: void (*destroy)(farp_listener_t *this);
52: };
53:
54: /**
55: * Create a farp_listener instance.
56: */
57: farp_listener_t *farp_listener_create();
58:
59: #endif /** FARP_LISTENER_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>