diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2012-01-07 06:19:46 -0800 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2012-01-07 06:19:46 -0800 |
commit | 1684f98b27de9323d24ee4489af54dd84083956a (patch) | |
tree | 9c4313e815bd77e817f2dc5b796347d343458d0e /src/compat.h | |
parent | 7486c64dd8436febbe59e82dbb875e83ad6b5194 (diff) | |
parent | 67a42f929b1434f647c63922fd02dc2b93b28060 (diff) | |
download | bitcoin-1684f98b27de9323d24ee4489af54dd84083956a.tar.xz |
Merge pull request #735 from sipa/netbase
Network stack refactor
Diffstat (limited to 'src/compat.h')
-rw-r--r-- | src/compat.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/compat.h b/src/compat.h new file mode 100644 index 0000000000..5c1fcc3d6e --- /dev/null +++ b/src/compat.h @@ -0,0 +1,42 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2011 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file license.txt or http://www.opensource.org/licenses/mit-license.php. +#ifndef _BITCOIN_COMPAT_H +#define _BITCOIN_COMPAT_H 1 + +typedef u_int SOCKET; +#ifdef WIN32 +#define MSG_NOSIGNAL 0 +#define MSG_DONTWAIT 0 +typedef int socklen_t; +#else +#include "errno.h" +#define WSAGetLastError() errno +#define WSAEINVAL EINVAL +#define WSAEALREADY EALREADY +#define WSAEWOULDBLOCK EWOULDBLOCK +#define WSAEMSGSIZE EMSGSIZE +#define WSAEINTR EINTR +#define WSAEINPROGRESS EINPROGRESS +#define WSAEADDRINUSE EADDRINUSE +#define WSAENOTSOCK EBADF +#define INVALID_SOCKET (SOCKET)(~0) +#define SOCKET_ERROR -1 +#endif + +inline int myclosesocket(SOCKET& hSocket) +{ + if (hSocket == INVALID_SOCKET) + return WSAENOTSOCK; +#ifdef WIN32 + int ret = closesocket(hSocket); +#else + int ret = close(hSocket); +#endif + hSocket = INVALID_SOCKET; + return ret; +} +#define closesocket(s) myclosesocket(s) + +#endif |