2 system.h -- system headers
3 Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
4 2003-2004 Guus Sliepen <guus@tinc-vpn.org>
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __TINC_SYSTEM_H__
22 #define __TINC_SYSTEM_H__
26 /* Include standard headers */
50 #ifdef HAVE_INTTYPES_H
54 /* Include system specific headers */
60 #ifdef HAVE_SYS_TIME_H
64 #ifdef HAVE_SYS_TYPES_H
65 #include <sys/types.h>
68 #ifdef HAVE_SYS_STAT_H
72 #ifdef HAVE_SYS_FILE_H
76 #ifdef HAVE_SYS_WAIT_H
80 #ifdef HAVE_SYS_IOCTL_H
81 #include <sys/ioctl.h>
84 #ifdef HAVE_SYS_PARAM_H
85 #include <sys/param.h>
88 /* SunOS really wants sys/socket.h BEFORE net/if.h,
89 and FreeBSD wants these lines below the rest. */
95 #ifdef HAVE_SYS_SOCKET_H
96 #include <sys/socket.h>
103 #ifdef HAVE_NETINET_IN_SYSTM_H
104 #include <netinet/in_systm.h>
107 #ifdef HAVE_NETINET_IN_H
108 #include <netinet/in.h>
111 #ifdef HAVE_ARPA_INET_H
112 #include <arpa/inet.h>
115 #ifdef HAVE_NETINET_IP_H
116 #include <netinet/ip.h>
119 #ifdef HAVE_NETINET_TCP_H
120 #include <netinet/tcp.h>
123 #ifdef HAVE_NETINET_IN6_H
124 #include <netinet/in6.h>
127 #ifdef HAVE_NETINET_IP6_H
128 #include <netinet/ip6.h>
133 #include <winsock2.h>
136 /* Include localisation support */
140 #ifndef HAVE_STRSIGNAL
141 # define strsignal(p) ""
144 /* Other functions */
148 #ifndef HAVE_SOCKLEN_T
149 typedef int socklen_t;
152 #endif /* __TINC_SYSTEM_H__ */