]> git.llucax.com Git - software/libev.git/blobdiff - event.h
optimise ev_now when \!MULTIPLICITY
[software/libev.git] / event.h
diff --git a/event.h b/event.h
index 220421c1b3faa50fefc7786957db040499eea462..4e988c6417386186ca5d5bd4dff38444678c8bd7 100644 (file)
--- a/event.h
+++ b/event.h
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-#ifndef _EVENT_H_
-#define _EVENT_H_
+#ifndef EVENT_H__
+#define EVENT_H__
+
+#ifdef EV_H
+# include EV_H
+#else
+# include <ev.h>
+#endif
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#include "ev.h"
+struct event_base;
 
 struct event
-  {
-  struct ev_io io;
+{
+  /* libev watchers we map onto */
+  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;
   void (*ev_callback)(int, short, void *arg);
   void *ev_arg;
@@ -100,15 +110,13 @@ 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);
+void event_active (struct event *ev, int res, short ncalls); /* ncalls is being ignored */
 
 int event_pending (struct event *ev, short, struct timeval *tv);
 
 int event_priority_init (int npri);
 int event_priority_set (struct event *ev, int pri);
 
-struct event_base;
-
 int event_base_set (struct event_base *base, struct event *ev);
 int event_base_loop (struct event_base *base, int);
 int event_base_loopexit (struct event_base *base, struct timeval *tv);
@@ -116,4 +124,13 @@ int event_base_dispatch (struct event_base *base);
 int event_base_once (struct event_base *base, int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv);
 int event_base_priority_init (struct event_base *base, int fd);
 
+#ifndef EV_STANDALONE
+# include <event_compat.h>
 #endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+