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 |