diff options
Diffstat (limited to 'dep/include/sockets/socket_include.h')
-rw-r--r-- | dep/include/sockets/socket_include.h | 60 |
1 files changed, 7 insertions, 53 deletions
diff --git a/dep/include/sockets/socket_include.h b/dep/include/sockets/socket_include.h index dcfd4acfbd6..e5a216432b5 100644 --- a/dep/include/sockets/socket_include.h +++ b/dep/include/sockets/socket_include.h @@ -4,25 +4,20 @@ **/ /* Copyright (C) 2004-2007 Anders Hedstrom - This library is made available under the terms of the GNU GPL. - If you would like to use this library in a closed-source application, a separate license agreement is available. For information about the closed-source license agreement for the C++ sockets library, please visit http://www.alhem.net/Sockets/license.html and/or email license@alhem.net. - This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -30,24 +25,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef _SOCKETS_socket_include_H #define _SOCKETS_socket_include_H #include "sockets-config.h" - #ifdef _MSC_VER #pragma warning(disable:4514) #endif - // common defines affecting library and applications using library - /* Define SOCKETS_DYNAMIC_TEMP to use dynamically allocated buffers in read operations - helps on ECOS */ #define SOCKETS_DYNAMIC_TEMP - // platform specific stuff #if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif #include <list> - // int64 #ifdef _WIN32 typedef unsigned __int64 uint64_t; @@ -59,7 +49,6 @@ typedef unsigned __int64 uint64_t; # include <stdint.h> #endif #endif - #ifndef _WIN32 // ---------------------------------------- // common unix includes / defines @@ -70,44 +59,35 @@ typedef unsigned __int64 uint64_t; #include <netinet/in.h> #include <arpa/inet.h> //#include <netdb.h> - // all typedefs in this file will be declared outside the sockets namespace, // because some os's will already have one or more of the type defined. typedef int SOCKET; #define Errno errno #define StrError strerror - #ifdef SOCKETS_NAMESPACE namespace SOCKETS_NAMESPACE { #endif - // WIN32 adapt #define closesocket close #define INVALID_SOCKET -1 #define SOCKET_ERROR -1 - #ifndef INADDR_NONE #define INADDR_NONE ((unsigned long) -1) #endif // INADDR_NONE - #ifdef SOCKETS_NAMESPACE } #endif - #endif // !_WIN32 - // ---------------------------------------- // Generic #ifndef SOL_IP #define SOL_IP IPPROTO_IP #endif - // ---------------------------------------- // OS specific adaptions - #ifdef SOLARIS // ---------------------------------------- // Solaris @@ -116,14 +96,11 @@ typedef unsigned short port_t; namespace SOCKETS_NAMESPACE { #endif // no defs - #ifdef SOCKETS_NAMESPACE } #endif - #define s6_addr16 _S6_un._S6_u8 #define MSG_NOSIGNAL 0 - #elif defined __FreeBSD__ // ---------------------------------------- // FreeBSD @@ -139,25 +116,22 @@ typedef in_port_t port_t; namespace SOCKETS_NAMESPACE { #endif // no defs - #ifdef SOCKETS_NAMESPACE } #endif - # define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP # define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP # else # error FreeBSD versions prior to 400014 does not support ipv6 # endif - #elif defined (__NetBSD__) || defined (__OpenBSD__) -# if !defined(MSG_NOSIGNAL) -# define MSG_NOSIGNAL 0 -# endif -# include <netinet/in.h> -typedef in_addr_t ipaddr_t; -typedef in_port_t port_t; -#elif defined MACOSX +# if !defined(MSG_NOSIGNAL) +# define MSG_NOSIGNAL 0 +# endif +# include <netinet/in.h> +typedef in_addr_t ipaddr_t; +typedef in_port_t port_t; +#elif defined MACOSX // ---------------------------------------- // Mac OS X #include <string.h> @@ -171,16 +145,13 @@ typedef unsigned long ipaddr_t; namespace SOCKETS_NAMESPACE { #endif // no defs - #ifdef SOCKETS_NAMESPACE } #endif - #define s6_addr16 __u6_addr.__u6_addr16 #define MSG_NOSIGNAL 0 // oops - thanks Derek #define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP #define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP - #elif defined _WIN32 // ---------------------------------------- // Win32 @@ -188,7 +159,6 @@ namespace SOCKETS_NAMESPACE { #pragma comment(lib, "wsock32.lib") #endif #define strcasecmp _stricmp - typedef unsigned long ipaddr_t; typedef unsigned short port_t; typedef int socklen_t; @@ -196,15 +166,12 @@ typedef int socklen_t; namespace SOCKETS_NAMESPACE { #endif // no defs - #ifdef SOCKETS_NAMESPACE } #endif - // 1.8.6: define FD_SETSIZE to something bigger than 64 if there are a lot of // simultaneous connections (must be done before including winsock.h) #define FD_SETSIZE 1024 - // windows 2000 with ipv6 preview installed: // http://msdn.microsoft.com/downloads/sdks/platform/tpipv6.asp // see the FAQ on how to install @@ -219,19 +186,15 @@ namespace SOCKETS_NAMESPACE { #endif #endif // _MSC_VER < 1200 - #define MSG_NOSIGNAL 0 //#define SHUT_RDWR 2 #define SHUT_WR 1 - #define Errno WSAGetLastError() const char *StrError(int x); - #ifdef SOCKETS_NAMESPACE namespace SOCKETS_NAMESPACE { #endif - // class WSAInitializer is a part of the Socket class (on win32) // as a static instance - so whenever an application uses a Socket, // winsock is initialized @@ -250,11 +213,9 @@ public: private: WSADATA m_wsadata; }; - #ifdef SOCKETS_NAMESPACE } #endif - #else // ---------------------------------------- // LINUX @@ -264,26 +225,21 @@ typedef unsigned short port_t; namespace SOCKETS_NAMESPACE { #endif // no defs - #ifdef SOCKETS_NAMESPACE } #endif - #endif - #ifdef SOCKETS_NAMESPACE namespace SOCKETS_NAMESPACE { #endif /** List type containing file descriptors. */ typedef std::list<SOCKET> socket_v; - #ifdef SOCKETS_NAMESPACE } #endif - // getaddrinfo / getnameinfo replacements #ifdef NO_GETADDRINFO #ifndef AI_NUMERICHOST @@ -294,7 +250,5 @@ namespace SOCKETS_NAMESPACE { #endif #endif - #endif // _SOCKETS_socket_include_H - |