X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=win%2Finspircd_win32wrapper.h;h=a19bdf857a2f18d09ced8235d449a3f8d0cf14c1;hb=3a3ff949670c61a4a8856e1391222e156eb1cd17;hp=a1463b318cc19ee48e2ad165400709bfd3f6e72f;hpb=b89aa87280767f47381b8a612f73f1d0fe682e2e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h index a1463b318..a19bdf857 100644 --- a/win/inspircd_win32wrapper.h +++ b/win/inspircd_win32wrapper.h @@ -28,7 +28,7 @@ * 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 of Windows, 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 @@ -68,14 +68,24 @@ #include #include #include +#include + +#define F_OK 0 /* test for existence of file */ +#define X_OK (1<<0) /* test for execute or search permission */ +#define W_OK (1<<1) /* test for write permission */ +#define R_OK (1<<2) /* test for read permission */ -/* Windows defines this already. */ +// Windows defines these already. #undef ERROR +#undef min +#undef max /* strcasecmp is not defined on windows by default */ #define strcasecmp _stricmp #define strncasecmp _strnicmp +typedef int ssize_t; + /* Convert formatted (xxx.xxx.xxx.xxx) string to in_addr struct */ CoreExport int insp_inet_pton(int af, const char * src, void * dst); @@ -90,6 +100,10 @@ CoreExport const char * insp_inet_ntop(int af, const void * src, char * dst, soc #define snprintf _snprintf #define vsnprintf _vsnprintf +#ifndef va_copy +#define va_copy(dest, src) (dest = src) +#endif + /* Unix-style sleep (argument is in seconds) */ __inline void sleep(int seconds) { Sleep(seconds * 1000); } @@ -97,9 +111,12 @@ __inline void sleep(int seconds) { Sleep(seconds * 1000); } #define popen _popen #define pclose _pclose +/* _access */ +#define access _access + /* IPV4 only convert string to address struct */ __inline int inet_aton(const char *cp, struct in_addr *addr) -{ +{ addr->s_addr = inet_addr(cp); return (addr->s_addr == INADDR_NONE) ? 0 : 1; }; @@ -198,3 +215,6 @@ private: char szErrorString[500]; DWORD dwErrorCode; }; + +// Same value as EXIT_STATUS_FORK (EXIT_STATUS_FORK is unused on Windows) +#define EXIT_STATUS_SERVICE 4