blob: 4c1a0cb668a0506163db52efa85d7de1daba59fb [file] [log] [blame]
#ifndef __WEB_SOCK_W32_H__
#define __WEB_SOCK_W32_H__
// Windows uses _DEBUG and NDEBUG
#ifdef _DEBUG
#undef DEBUG
#define DEBUG 1
#endif
#pragma warning(disable : 4996)
#define bzero(b,len) (memset((b), '\0', (len)), (void) 0)
#define MSG_NOSIGNAL 0
#define SHUT_RDWR SD_BOTH
#define SOL_TCP IPPROTO_TCP
#define random rand
#define usleep _sleep
#ifdef __MINGW64__
#define DEF_POLL_STUFF
#endif
#ifdef __MINGW32__
#define DEF_POLL_STUFF
#endif
#ifdef DEF_POLL_STUFF
#include <winsock2.h>
typedef struct pollfd {
SOCKET fd;
short events;
short revents;
} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD;
#define POLLIN 0x0001 /* any readable data available */
#define POLLOUT 0x0004 /* file descriptor is writeable */
#define POLLERR 0x0008 /* some poll error occurred */
#define POLLHUP 0x0010 /* file descriptor was "hung up" */
#define POLLNVAL 0x0020 /* requested events "invalid" */
#endif
typedef INT (WSAAPI *PFNWSAPOLL)(LPWSAPOLLFD fdarray, ULONG nfds, INT timeout);
extern PFNWSAPOLL poll;
extern INT WSAAPI emulated_poll(LPWSAPOLLFD fdarray, ULONG nfds, INT timeout);
/* override configure because we are not using Makefiles */
#define LWS_NO_FORK
/* windows can't cope with this idea, needs assets in cwd */
#ifndef INSTALL_DATADIR
#define INSTALL_DATADIR "."
#endif
#endif