#ifndef UPNPINET_H #define UPNPINET_H /*! * \addtogroup Sock * * @{ * * \file * * \brief Provides a platform independent way to include TCP/IP types and functions. */ #include "UpnpUniStd.h" /* for close() */ #ifdef WIN32 #include #ifndef UPNP_USE_MSVCPP /* Removed: not required (and cause compilation issues) */ #include #include #endif #include #include #include #define UpnpCloseSocket closesocket #if(_WIN32_WINNT < 0x0600) typedef short sa_family_t; #else typedef ADDRESS_FAMILY sa_family_t; #endif #else /* WIN32 */ #include #if defined(__sun) #include #include #elif (defined(BSD) && BSD >= 199306) || defined (__FreeBSD_kernel__) #include /* Do not move or remove the include below for "sys/socket"! * Will break FreeBSD builds. */ #include #endif #include /* for inet_pton() */ #include #include /*! This typedef makes the code slightly more WIN32 tolerant. * On WIN32 systems, SOCKET is unsigned and is not a file * descriptor. */ typedef int SOCKET; /*! INVALID_SOCKET is unsigned on win32. */ #define INVALID_SOCKET (-1) /*! select() returns SOCKET_ERROR on win32. */ #define SOCKET_ERROR (-1) /*! Alias to close() to make code more WIN32 tolerant. */ #define UpnpCloseSocket close #endif /* WIN32 */ /* @} Sock */ #endif /* UPNPINET_H */