00001
00005 #ifndef __ENET_WIN32_H__
00006 #define __ENET_WIN32_H__
00007
00008 #ifdef _MSC_VER
00009 #ifdef ENET_BUILDING_LIB
00010 #pragma warning (disable: 4996) // 'strncpy' was declared deprecated
00011 #pragma warning (disable: 4267) // size_t to int conversion
00012 #pragma warning (disable: 4244) // 64bit to 32bit int
00013 #pragma warning (disable: 4018) // signed/unsigned mismatch
00014 #pragma warning (disable: 4146) // unary minus operator applied to unsigned type
00015 #endif
00016 #endif
00017
00018 #include <stdlib.h>
00019 #include <winsock2.h>
00020
00021 typedef SOCKET ENetSocket;
00022
00023 #define ENET_SOCKET_NULL INVALID_SOCKET
00024
00025 #define ENET_HOST_TO_NET_16(value) (htons (value))
00026 #define ENET_HOST_TO_NET_32(value) (htonl (value))
00027
00028 #define ENET_NET_TO_HOST_16(value) (ntohs (value))
00029 #define ENET_NET_TO_HOST_32(value) (ntohl (value))
00030
00031 typedef struct
00032 {
00033 size_t dataLength;
00034 void * data;
00035 } ENetBuffer;
00036
00037 #define ENET_CALLBACK __cdecl
00038
00039 #ifdef ENET_DLL
00040 #ifdef ENET_BUILDING_LIB
00041 #define ENET_API __declspec( dllexport )
00042 #else
00043 #define ENET_API __declspec( dllimport )
00044 #endif
00045 #else
00046 #define ENET_API extern
00047 #endif
00048
00049 typedef fd_set ENetSocketSet;
00050
00051 #define ENET_SOCKETSET_EMPTY(sockset) FD_ZERO (& (sockset))
00052 #define ENET_SOCKETSET_ADD(sockset, socket) FD_SET (socket, & (sockset))
00053 #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLR (socket, & (sockset))
00054 #define ENET_SOCKETSET_CHECK(sockset, socket) FD_ISSET (socket, & (sockset))
00055
00056 #endif
00057
00058