summaryrefslogtreecommitdiff
path: root/network/core/os_abstraction.h
diff options
context:
space:
mode:
Diffstat (limited to 'network/core/os_abstraction.h')
-rw-r--r--network/core/os_abstraction.h181
1 files changed, 0 insertions, 181 deletions
diff --git a/network/core/os_abstraction.h b/network/core/os_abstraction.h
deleted file mode 100644
index c7df16a93..000000000
--- a/network/core/os_abstraction.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* $Id$ */
-
-#ifndef NETWORK_CORE_OS_ABSTRACTION_H
-#define NETWORK_CORE_OS_ABSTRACTION_H
-
-/**
- * @file os_abstraction.h Network stuff has many things that needs to be
- * included and/or implemented by default.
- * All those things are in this file.
- */
-
-/* Include standard stuff per OS */
-
-#ifdef ENABLE_NETWORK
-
-/* Windows stuff */
-#if defined(WIN32) || defined(WIN64)
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <windows.h>
-
-#if !(defined(__MINGW32__) || defined(__CYGWIN__))
- /* Windows has some different names for some types */
- typedef SSIZE_T ssize_t;
- typedef int socklen_t;
-#endif
-
-#define GET_LAST_ERROR() WSAGetLastError()
-#define EWOULDBLOCK WSAEWOULDBLOCK
-/* Windows has some different names for some types */
-typedef unsigned long in_addr_t;
-#endif /* WIN32 */
-
-/* UNIX stuff */
-#if defined(UNIX)
-# define SOCKET int
-# define INVALID_SOCKET -1
-# if !defined(__MORPHOS__) && !defined(__AMIGA__)
-# define ioctlsocket ioctl
-# if !defined(BEOS_NET_SERVER)
-# define closesocket close
-# endif
-# define GET_LAST_ERROR() (errno)
-# endif
-/* Need this for FIONREAD on solaris */
-# define BSD_COMP
-
-/* Includes needed for UNIX-like systems */
-# include <unistd.h>
-# include <sys/ioctl.h>
-# if defined(__BEOS__) && defined(BEOS_NET_SERVER)
-# include <be/net/socket.h>
-# include <be/kernel/OS.h> // snooze()
-# include <be/net/netdb.h>
- typedef unsigned long in_addr_t;
-# define INADDR_NONE INADDR_BROADCAST
-# else
-# include <sys/socket.h>
-# include <netinet/in.h>
-# include <netinet/tcp.h>
-# include <arpa/inet.h>
-# include <net/if.h>
-/* According to glibc/NEWS, <ifaddrs.h> appeared in glibc-2.3. */
-# if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) && !defined(__INNOTEK_LIBC__) \
- && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__)
-/* If for any reason ifaddrs.h does not exist on your system, comment out
- * the following two lines and an alternative way will be used to fetch
- * the list of IPs from the system. */
-# include <ifaddrs.h>
-# define HAVE_GETIFADDRS
-# endif
-# if defined(SUNOS) || defined(__MORPHOS__) || defined(__BEOS__)
-# define INADDR_NONE 0xffffffff
-# endif
-# if defined(__BEOS__) && !defined(BEOS_NET_SERVER)
- /* needed on Zeta */
-# include <sys/sockio.h>
-# endif
-# endif /* BEOS_NET_SERVER */
-
-# if !defined(__BEOS__) && defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 1)
- typedef uint32_t in_addr_t;
-# endif
-
-# include <errno.h>
-# include <sys/time.h>
-# include <netdb.h>
-#endif // UNIX
-
-#ifdef __BEOS__
- typedef int socklen_t;
-#endif
-
-/* OS/2 stuff */
-#if defined(__OS2__)
-# define SOCKET int
-# define INVALID_SOCKET -1
-# define ioctlsocket ioctl
-# define closesocket close
-# define GET_LAST_ERROR() (sock_errno())
-
-/* Includes needed for OS/2 systems */
-# include <types.h>
-# include <unistd.h>
-# include <sys/ioctl.h>
-# include <sys/socket.h>
-# include <netinet/in.h>
-# include <netinet/tcp.h>
-# include <arpa/inet.h>
-# include <net/if.h>
-# include <errno.h>
-# include <sys/time.h>
-# include <netdb.h>
-# include <nerrno.h>
-# define INADDR_NONE 0xffffffff
-
-typedef int socklen_t;
-#if !defined(__INNOTEK_LIBC__)
-typedef unsigned long in_addr_t;
-#endif /* __INNOTEK_LIBC__ */
-#endif /* OS/2 */
-
-/* MorphOS and Amiga stuff */
-#if defined(__MORPHOS__) || defined(__AMIGA__)
-# include <exec/types.h>
-# include <proto/exec.h> // required for Open/CloseLibrary()
-# if defined(__MORPHOS__)
-# include <sys/filio.h> // FIO* defines
-# include <sys/sockio.h> // SIO* defines
-# include <netinet/in.h>
-# else /* __AMIGA__ */
-# include <proto/socket.h>
-# endif
-
-/* Make the names compatible */
-# define closesocket(s) CloseSocket(s)
-# define GET_LAST_ERROR() Errno()
-# define ioctlsocket(s,request,status) IoctlSocket((LONG)s,(ULONG)request,(char*)status)
-# define ioctl ioctlsocket
-
- typedef unsigned int in_addr_t;
- typedef long socklen_t;
- extern struct Library *SocketBase;
-
-# ifdef __AMIGA__
- /* for usleep() implementation */
- extern struct Device *TimerBase;
- extern struct MsgPort *TimerPort;
- extern struct timerequest *TimerRequest;
-# endif
-#endif // __MORPHOS__ || __AMIGA__
-
-static inline bool SetNonBlocking(int d)
-{
-#ifdef WIN32
- u_long nonblocking = 1;
-#else
- int nonblocking = 1;
-#endif
-#if defined(__BEOS__) && defined(BEOS_NET_SERVER)
- return setsockopt(d, SOL_SOCKET, SO_NONBLOCK, &nonblocking, sizeof(nonblocking)) == 0;
-#else
- return ioctlsocket(d, FIONBIO, &nonblocking) == 0;
-#endif
-}
-
-static inline bool SetNoDelay(int d)
-{
- /* XXX should this be done at all? */
-#if !defined(BEOS_NET_SERVER) // not implemented on BeOS net_server
- int b = 1;
- /* The (const char*) cast is needed for windows */
- return setsockopt(d, IPPROTO_TCP, TCP_NODELAY, (const char*)&b, sizeof(b)) == 0;
-#else
- return true;
-#endif
-}
-
-#endif /* ENABLE_NETWORK */
-
-#endif /* NETWORK_CORE_OS_ABSTRACTION_H */