90b9174e43f826667d2689d4494afa754547b59e
[olsrd.git] / src / kernel_tunnel.h
1 /*
2  * kernel_tunnel.h
3  *
4  *  Created on: 08.02.2010
5  *      Author: henning
6  */
7
8 #ifndef KERNEL_TUNNEL_H_
9 #define KERNEL_TUNNEL_H_
10
11 #include <net/if.h>
12 #ifdef WIN32
13 /* compat for win32 */
14 #include <iprtrmib.h>
15 #define IF_NAMESIZE MAX_INTERFACE_NAME_LEN
16 #endif
17
18
19 #include "defs.h"
20 #include "olsr_types.h"
21 #include "common/avl.h"
22
23 struct olsr_iptunnel_entry {
24   struct avl_node node;
25   union olsr_ip_addr target;
26
27   char if_name[IF_NAMESIZE];
28   int if_index;
29
30   int usage;
31 };
32
33 int olsr_os_init_iptunnel(void);
34 void olsr_os_cleanup_iptunnel(void);
35
36 struct olsr_iptunnel_entry *olsr_os_add_ipip_tunnel(union olsr_ip_addr *target, bool transportV4);
37 void olsr_os_del_ipip_tunnel(struct olsr_iptunnel_entry *);
38
39 #endif /* KERNEL_TUNNEL_H_ */