]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.cpp
Store id in TreeServer, use TreeServer::GetID() to get the id (NOTE: it is std::string)
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.cpp
index cc56af69d922a308c342ea6cd0351b39fad9812c..e6f25df18f8d33837b4ea7a2401abec89accfb68 100644 (file)
 #include <string>
 #include <errno.h>
 #include <assert.h>
+#pragma comment(lib, "winmm.lib")
 using namespace std;
 
 #ifndef INADDR_NONE
 #define INADDR_NONE 0xffffffff
 #endif
 
+#include <mmsystem.h>
+
 /* This MUST remain static and delcared outside the class, so that WriteProcessMemory can reference it properly */
 static DWORD owner_processid = 0;
 
@@ -516,19 +519,16 @@ void ClearConsole()
 }
 
 /* Many inspircd classes contain function pointers/functors which can be changed to point at platform specific implementations
- * of code. This function, called from WindowsForkStart, repoints these pointers and functors so that calls are windows
- * specific.
+ * of code. This function repoints these pointers and functors so that calls are windows specific.
  */
 void ChangeWindowsSpecificPointers(InspIRCd* Instance)
 {
+       Instance->Log(DEBUG,"Changing to windows specific pointer and functor set");
        Instance->Config->DNSServerValidator = &ValidateWindowsDnsServer;
 }
 
 DWORD WindowsForkStart(InspIRCd* Instance)
 {
-       /* See the function declaration above */
-       ChangeWindowsSpecificPointers(Instance);
-
         /* Windows implementation of fork() :P */
        if (owner_processid)
                return 0;
@@ -643,3 +643,14 @@ bool ValidateWindowsDnsServer(ServerConfig* conf, const char* tag, const char* v
        }
        return true;
 }
+
+int gettimeofday(struct timeval * tv, void * tz)
+{
+       if(tv == NULL)
+               return -1;
+
+       DWORD mstime = timeGetTime();
+       tv->tv_sec   = time(NULL);
+       tv->tv_usec  = (mstime - (tv->tv_sec * 1000)) * 1000;
+    return 0;  
+}