]> git.llucax.com Git - software/libev.git/blobdiff - event.h
improve event compatibility, make watchers much smaller by union'ising io and sig...
[software/libev.git] / event.h
diff --git a/event.h b/event.h
index 731002f12ea8e52d31f684c2c6a99336ffb757a6..03506ad63656dde9e7391cef8421e658449659a5 100644 (file)
--- a/event.h
+++ b/event.h
@@ -38,18 +38,22 @@ extern "C" {
 #include "ev.h"
 
 struct event
-  {
-  struct ev_io io;
+{
+  /* lib watchers we map to */
+  union {
+    struct ev_io io;
+    struct ev_signal sig;
+  } iosig;
   struct ev_timer to;
-  struct ev_signal sig;
 
+  /* compatibility slots */
   struct event_base *ev_base;
-  int ev_fd;
-  short ev_events;
-  int ev_pri;
   void (*ev_callback)(int, short, void *arg);
   void *ev_arg;
+  int ev_fd;
+  int ev_pri;
   int ev_res;
+  short ev_events;
 };
 
 #define EV_PERSIST                 0x10
@@ -100,7 +104,6 @@ int event_once (int fd, short events, void (*cb)(int, short, void *), void *arg,
 
 int event_add (struct event *ev, struct timeval *tv);
 int event_del (struct event *ev);
-void event_active (struct event *ev, int fd, short events);
 
 int event_pending (struct event *ev, short, struct timeval *tv);