diff --git a/engine/common/netinc.h b/engine/common/netinc.h
new file mode 100644
index 000000000..9816b71b9
--- /dev/null
+++ b/engine/common/netinc.h
@@ -0,0 +1,58 @@
+
+#ifdef _WIN32
+
+#define EWOULDBLOCK	WSAEWOULDBLOCK
+#define EMSGSIZE	WSAEMSGSIZE
+#define ECONNRESET	WSAECONNRESET
+#define ECONNABORTED	WSAECONNABORTED
+#define ECONNREFUSED	WSAECONNREFUSED
+#define EADDRNOTAVAIL	WSAEADDRNOTAVAIL
+#define EAFNOSUPPORT	WSAEAFNOSUPPORT
+
+#ifdef IPPROTO_IPV6
+#include <ws2tcpip.h>
+#endif
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/uio.h>
+#include <arpa/inet.h>
+#include <errno.h>
+
+#include <unistd.h>
+
+#ifdef sun
+#include <sys/filio.h>
+#endif
+
+#ifdef NeXT
+#include <libc.h>
+#endif
+
+#if defined(__MORPHOS__) && !defined(ixemul)
+#define closesocket CloseSocket
+#define ioctlsocket IoctlSocket
+#else
+#define closesocket close
+#define ioctlsocket ioctl
+#endif
+
+#endif
+
+#if defined(_WIN32)
+#define qerrno WSAGetLastError()
+#elif defined(__MORPHOS__) && !defined(ixemul)
+#define qerrno Errno()
+#else
+#define qerrno errno
+#endif
+
+
+#ifndef INVALID_SOCKET
+#define INVALID_SOCKET -1
+#endif
+