Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
syssocket.h
Go to the documentation of this file.
1 /*
2  Posadis - A DNS Server
3  Universal include file for sockets, since different OS'ses use different directories
4  Copyright (C) 2001 Meilof Veeningen <meilof@users.sourceforge.net>
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20 
21 #ifndef __POSLIB_SYSSOCKET_H
22 #define __POSLIB_SYSSOCKET_H
23 
24 #include "dibbler-config.h"
25 
26 #ifdef _WIN32
27 # include <winsock2.h>
28 # include <ws2tcpip.h>
29 #else
30 # include <sys/time.h>
31 # ifdef HAVE_SYS_POLL_H
32 # include <sys/poll.h>
33 # else
34 # ifdef HAVE_POLL_H
35 # include <poll.h>
36 # else
37 # include "w32poll.h"
38 # endif
39 # endif
40 # include <sys/socket.h>
41 # include <netinet/in.h>
42 # include <arpa/inet.h>
43 # include <netdb.h>
44 # include <unistd.h>
45 # include <fcntl.h>
46 # include <errno.h>
47 # define closesocket close
48 #endif
49 
50 #ifndef HAVE_SOCKLEN_T
51 #define socklen_t int
52 #endif
53 
54 #ifdef HAVE_SOCKADDR_STORAGE
55 # ifdef HAVE___SS_FAMILY
56 # define s_family __ss_family
57 # else
58 # define s_family ss_family
59 # endif
60 # ifdef __BORLANDC__
61 # define sockaddr_storage sockaddr_in6
62 # undef s_family
63 # define s_family sin6_family
64 # endif
65 #else
66 # define sockaddr_storage sockaddr
67 # define s_family sa_family
68 # ifdef HAVE_IPV6
69 # warning sockaddr_storage not available: ipv6 support has been disabled!
70 # endif
71 # undef HAVE_IPV6
72 #endif
73 
74 #ifndef HAVE_POLL
75 # include "w32poll.h"
76 #endif
77 
78 #endif /* __POSLIB_SYSSOCKET_H */
79 
80