]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.h
This file *BROKEN AGAIN* in windows builds (VC9) - uint_16t and uint_32t do not exist...
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.h
index 6008828393eacccd5fa17e2459ba846846cbdb96..fc9905403b36dc186db2c01000a17622cec1c2b0 100644 (file)
@@ -2,8 +2,8 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
 #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
 #define ECONNREFUSED WSAECONNREFUSED
 #define EADDRINUSE WSAEADDRINUSE
 #define EINPROGRESS WSAEWOULDBLOCK
+#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
 
 /* Convert formatted (xxx.xxx.xxx.xxx) string to in_addr struct */
 CoreExport int inet_pton(int af, const char * src, void * dst);
@@ -107,9 +122,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 +225,5 @@ CoreExport bool initwmi();
 CoreExport void donewmi();
 CoreExport int getcpu();
 
-
 #endif