Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13115259
compat.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
compat.h
View Options
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_COMPAT_H
#define BITCOIN_COMPAT_H
#if defined(HAVE_CONFIG_H)
#include
"config/bitcoin-config.h"
#endif
#ifdef WIN32
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0501
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1
#endif
#ifndef NOMINMAX
#define NOMINMAX
#endif
#ifdef FD_SETSIZE
#undef FD_SETSIZE
// prevent redefinition compiler warning
#endif
#define FD_SETSIZE 1024
// max number of fds in fd_set
#include
<winsock2.h>
// Must be included before mswsock.h and windows.h
#include
<mswsock.h>
#include
<windows.h>
#include
<ws2tcpip.h>
#else
#include
<sys/fcntl.h>
#include
<sys/mman.h>
#include
<sys/select.h>
#include
<sys/socket.h>
#include
<sys/types.h>
#include
<net/if.h>
#include
<netinet/in.h>
#include
<netinet/tcp.h>
#include
<arpa/inet.h>
#include
<ifaddrs.h>
#include
<limits.h>
#include
<netdb.h>
#include
<unistd.h>
#endif
#ifdef WIN32
#define MSG_DONTWAIT 0
#else
typedef
u_int
SOCKET
;
#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
#ifdef WIN32
#ifndef S_IRUSR
#define S_IRUSR 0400
#define S_IWUSR 0200
#endif
#else
#define MAX_PATH 1024
#endif
// As Solaris does not have the MSG_NOSIGNAL flag for send(2) syscall, it is defined as 0
#if !defined(HAVE_MSG_NOSIGNAL) && !defined(MSG_NOSIGNAL)
#define MSG_NOSIGNAL 0
#endif
#if HAVE_DECL_STRNLEN == 0
size_t
strnlen
(
const
char
*
start
,
size_t
max_len
);
#endif
// HAVE_DECL_STRNLEN
bool
static
inline
IsSelectableSocket
(
SOCKET
s
)
{
#ifdef WIN32
return
true
;
#else
return
(
s
<
FD_SETSIZE
);
#endif
}
#endif
// BITCOIN_COMPAT_H
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sun, Mar 2, 10:31 (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5187360
Default Alt Text
compat.h (2 KB)
Attached To
rABC Bitcoin ABC
Event Timeline
Log In to Comment