summaryrefslogtreecommitdiff
path: root/win32port/win32helpers/websock-w32.h
blob: 2483a8ff60b6aacb248103f875c6c452e93e2768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#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

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 */

#ifdef INSTALL_DATADIR
#undef INSTALL_DATADIR
#endif

#define INSTALL_DATADIR "."

#endif