Replace MinGW with Windows to avoid ambiguities
[tinc] / src / event.h
index d0129d0..70d86f5 100644 (file)
@@ -1,6 +1,9 @@
+#ifndef TINC_EVENT_H
+#define TINC_EVENT_H
+
 /*
     event.h -- I/O, timeout and signal event handling
-    Copyright (C) 2012 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2012-2013 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -17,9 +20,7 @@
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef __TINC_EVENT_H__
-#define __TINC_EVENT_H__
-
+#include "system.h"
 #include "splay_tree.h"
 
 #define IO_READ 1
@@ -32,6 +33,9 @@ typedef void (*signal_cb_t)(void *data);
 typedef struct io_t {
        int fd;
        int flags;
+#ifdef HAVE_WINDOWS
+       WSAEVENT event;
+#endif
        io_cb_t cb;
        void *data;
        splay_node_t node;
@@ -48,12 +52,14 @@ typedef struct signal_t {
        int signum;
        signal_cb_t cb;
        void *data;
-       splay_node_t node;
 } signal_t;
 
 extern struct timeval now;
 
 extern void io_add(io_t *io, io_cb_t cb, void *data, int fd, int flags);
+#ifdef HAVE_WINDOWS
+extern void io_add_event(io_t *io, io_cb_t cb, void *data, WSAEVENT event);
+#endif
 extern void io_del(io_t *io);
 extern void io_set(io_t *io, int flags);