Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | pmbaty | 1 | /* |
2 | * Inspiration taken from https://github.com/TheAssemblyArmada/Vanilla-Conquer/blob/vanilla/common/sockets.h |
||
3 | */ |
||
4 | |||
5 | #ifndef HARNESS_WINSOCK_H |
||
6 | #define HARNESS_WINSOCK_H |
||
7 | |||
8 | #include <assert.h> |
||
9 | |||
10 | #ifdef _WIN32 |
||
11 | #define _WINSOCK_DEPRECATED_NO_WARNINGS |
||
12 | #include <winsock2.h> |
||
13 | #include <ws2tcpip.h> |
||
14 | |||
15 | #else /* Assume posix style sockets on non-windows */ |
||
16 | |||
17 | #include <arpa/inet.h> |
||
18 | #include <errno.h> |
||
19 | #include <fcntl.h> |
||
20 | #include <netdb.h> // for getaddrinfo() and freeaddrinfo() |
||
21 | #include <sys/ioctl.h> |
||
22 | #include <sys/socket.h> |
||
23 | #include <sys/types.h> |
||
24 | #include <unistd.h> // for close() |
||
25 | |||
26 | #define closesocket(x) close(x) |
||
27 | #define WSAEISCONN EISCONN |
||
28 | #define WSAEINPROGRESS EINPROGRESS |
||
29 | #define WSAEALREADY EALREADY |
||
30 | #define WSAEADDRINUSE EADDRINUSE |
||
31 | #define WSAEADDRNOTAVAIL EADDRNOTAVAIL |
||
32 | #define WSAEBADF EBADF |
||
33 | #define WSAECONNREFUSED ECONNREFUSED |
||
34 | #define WSAEINTR EINTR |
||
35 | #define WSAENOTSOCK ENOTSOCK |
||
36 | #define WSAEWOULDBLOCK EWOULDBLOCK |
||
37 | #define WSAEINVAL EINVAL |
||
38 | #define WSAETIMEDOUT ETIMEDOUT |
||
39 | |||
40 | #define MAKEWORD(x, y) ((y) << 8 | (x)) |
||
41 | |||
42 | typedef struct WSADATA { |
||
43 | } WSADATA; |
||
44 | |||
45 | int WSAStartup(int version, WSADATA* data); |
||
46 | int WSAGetLastError(void); |
||
47 | int WSACleanup(void); |
||
48 | int ioctlsocket(int handle, long cmd, unsigned long* argp); |
||
49 | |||
50 | #endif /* _WIN32 */ |
||
51 | |||
52 | #endif |