]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.h
Change a few bits to use std::list instead of std::vector.
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.h
index 6008828393eacccd5fa17e2459ba846846cbdb96..4c865870319939fd46b42302d0b37cd51e692f7b 100644 (file)
 #ifndef INSPIRCD_WIN32WRAPPER_H
 #define INSPIRCD_WIN32WRAPPER_H
 
+#ifndef CONFIGURE_BUILD
+#include "win32service.h"
+#endif
+
 /* Define the WINDOWS macro. This means we're building on windows to the rest of the server.
    I think this is more reasonable than using WIN32, especially if we're gonna be doing 64-bit compiles */
 #define WINDOWS 1
 #define ENABLE_CRASHDUMPS 0
 
 /* This defaults to 64, way too small for an ircd! */
+/* CRT memory debugging */
+#ifdef DEBUG
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#endif
+
 #define FD_SETSIZE 24000
 
 /* Make builds smaller, leaner and faster */
@@ -55,6 +66,9 @@
 #define DllExport __declspec(dllimport)
 #endif
 
+/* Redirect main() through a different method in win32service.cpp, to intercept service startup */
+#define ENTRYPOINT CoreExport int smain(int argc, char** argv)
+
 /* Disable the deprecation warnings.. it spams :P */
 #define _CRT_SECURE_NO_DEPRECATE
 #define _SCL_SECURE_NO_DEPRECATE
@@ -107,9 +121,6 @@ CoreExport const char * inet_ntop(int af, const void * src, char * dst, socklen_
 /* Since when does the ISO C++ standard *remove* C functions?! */
 #define mkdir(file,mode) _mkdir(file)
 
-/* Recursive token function doesn't exist in VC++ */
-CoreExport char * strtok_r(char *_String, const char *_Control, char **_Context);
-
 /* Unix-style sleep (argument is in seconds) */
 __inline void sleep(int seconds) { Sleep(seconds * 1000); }
 
@@ -213,6 +224,8 @@ CoreExport bool initwmi();
 CoreExport void donewmi();
 CoreExport int getcpu();
 
+CoreExport void usleep(unsigned long usecs);
+
 
 #endif