X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=win%2Finspircd_win32wrapper.h;h=8120e193f1d25a2d6c459576341164bcafbdd74d;hb=819147178db00008a215670992d0f532dd57f9e5;hp=e0cc77291b4d8e7fa4f49d5ca7301b5ff8ff8c16;hpb=1a9b84820cd4eb009ba4b73421619e573f702241;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h index e0cc77291..8120e193f 100644 --- a/win/inspircd_win32wrapper.h +++ b/win/inspircd_win32wrapper.h @@ -18,6 +18,15 @@ #ifndef INSPIRCD_WIN32WRAPPER_H #define INSPIRCD_WIN32WRAPPER_H +/* + * Starting with PSAPI version 2 for Windows 7 and Windows Server 2008 R2, this function is defined as K32GetProcessMemoryInfo in Psapi.h and exported + * in Kernel32.lib and Kernel32.dll. However, you should always call this function as GetProcessMemoryInfo. To ensure correct resolution of symbols + * for programs that will run on earlier versions ofWindows, add Psapi.lib to the TARGETLIBS macro and compile the program with PSAPI_VERSION=1. + * + * We do this before anything to make sure it's done. + */ +#define PSAPI_VERSION 1 + #ifndef CONFIGURE_BUILD #include "win32service.h" #endif @@ -37,8 +46,8 @@ #define FD_SETSIZE 24000 -#define uint32_t DWORD -#define uint16_t WORD +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; /* Make builds smaller, leaner and faster */ #define VC_EXTRALEAN @@ -103,12 +112,14 @@ #define popen _popen #define pclose _pclose -/* Error macros need to be redirected to winsock error codes */ -#define ETIMEDOUT WSAETIMEDOUT -#define ECONNREFUSED WSAECONNREFUSED -#define EADDRINUSE WSAEADDRINUSE -#define EINPROGRESS WSAEWOULDBLOCK -#define EADDRNOTAVAIL WSAEADDRNOTAVAIL +/* Error macros need to be redirected to winsock error codes, apart from on VS2010 *SIGH* */ +#if _MSC_VER < 1600 + #define ETIMEDOUT WSAETIMEDOUT + #define ECONNREFUSED WSAECONNREFUSED + #define EADDRINUSE WSAEADDRINUSE + #define EINPROGRESS WSAEWOULDBLOCK + #define EADDRNOTAVAIL WSAEADDRNOTAVAIL +#endif /* Convert formatted (xxx.xxx.xxx.xxx) string to in_addr struct */ CoreExport int insp_inet_pton(int af, const char * src, void * dst); @@ -150,6 +161,7 @@ struct option int *flag; int val; }; +extern int optind; extern char optarg[514]; int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);