a496d50a644fe37a35fa413520b263112a63b0e7
[olsrd.git] / src / net_os.h
1 /*
2  * OLSR ad-hoc routing table management protocol
3  * Copyright (C) 2004 Andreas T√łnnesen (andreto@ifi.uio.no)
4  *
5  * This file is part of the olsr.org OLSR daemon.
6  *
7  * olsr.org is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * olsr.org is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with olsr.org; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  * 
21  * 
22  * $Id: net_os.h,v 1.2 2004/10/18 13:13:37 kattemat Exp $
23  *
24  */
25
26
27 /*
28  * This file defines the OS dependent network related functions
29  * that MUST be available to olsrd.
30  * The implementations of the functions should be found in
31  * <OS>/net.c (e.g. linux/net.c)
32  */
33
34
35 #ifndef _OLSR_NET_OS_H
36 #define _OLSR_NET_OS_H
37
38 /* OS dependent functions */
39
40 int
41 bind_socket_to_device(int, char *);
42
43 int
44 convert_ip_to_mac(union olsr_ip_addr *, struct sockaddr *, char *);
45
46 int
47 disable_redirects(char *, int, int);
48
49 int
50 deactivate_spoof(char *, int, int);
51
52 int
53 restore_settings(int);
54
55 int
56 enable_ip_forwarding(int);
57
58 int  
59 getsocket(struct sockaddr *, int, char *);
60
61 int  
62 getsocket6(struct sockaddr_in6 *, int, char *);
63
64 int
65 get_ipv6_address(char *, struct sockaddr_in6 *, int);
66
67 #endif