More fixes for Windows.
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 3 Dec 2012 09:41:28 +0000 (10:41 +0100)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 3 Dec 2012 09:41:28 +0000 (10:41 +0100)
In particular, Windows does support many of the timer* macros, except timeradd
and timersub.

src/dropin.h
src/event.c
src/process.c

index c6cabba..61143eb 100644 (file)
@@ -45,4 +45,22 @@ extern int gettimeofday(struct timeval *, void *);
 extern int usleep(long long usec);
 #endif
 
+#ifndef timeradd
+#define timeradd(a, b, r) do {\
+       (r)->tv_sec = (a)->tv_sec + (b)->tv_sec;\
+       (r)->tv_usec = (a)->tv_usec + (b)->tv_usec;\
+       if((r)->tv_usec >= 1000000)\
+               (r)->tv_sec++, (r)->tv_usec -= 1000000;\
+} while (0)
+#endif
+
+#ifndef timersub
+#define timersub(a, b, r) do {\
+       (r)->tv_sec = (a)->tv_sec - (b)->tv_sec;\
+       (r)->tv_usec = (a)->tv_usec - (b)->tv_usec;\
+       if((r)->tv_usec < 1000000)\
+               (r)->tv_sec--, (r)->tv_usec += 1000000;\
+} while (0)
+#endif
+
 #endif /* __DROPIN_H__ */
index 44a1f87..0dde994 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "system.h"
 
+#include "dropin.h"
 #include "event.h"
 #include "net.h"
 #include "utils.h"
index 1093ea8..2fd3d93 100644 (file)
@@ -25,6 +25,7 @@
 #include "control.h"
 #include "device.h"
 #include "edge.h"
+#include "event.h"
 #include "logger.h"
 #include "net.h"
 #include "node.h"