]> git.llucax.com Git - software/libev.git/blobdiff - ev.h
cna you say fuck?
[software/libev.git] / ev.h
diff --git a/ev.h b/ev.h
index 126de491968253b0cff8c7e80af94896d22fdd7d..fec2ca4a9fd1a64b32361784390e738234bd0306 100644 (file)
--- a/ev.h
+++ b/ev.h
@@ -48,6 +48,10 @@ typedef double ev_tstamp;
 # define EV_MULTIPLICITY 1
 #endif
 
+#ifndef EV_PERIODICS
+# define EV_PERIODICS 1
+#endif
+
 /* support multiple event loops? */
 #if EV_MULTIPLICITY
 struct ev_loop;
@@ -55,11 +59,15 @@ struct ev_loop;
 # define EV_P_ EV_P,
 # define EV_A loop
 # define EV_A_ EV_A,
+# define EV_DEFAULT_A ev_default_loop (0)
+# define EV_DEFAULT_A_ EV_DEFAULT_A,
 #else
 # define EV_P void
 # define EV_P_
 # define EV_A
 # define EV_A_
+# define EV_DEFAULT_A
+# define EV_DEFAULT_A_
 #endif
 
 /* eventmask, revents, events... */
@@ -262,8 +270,20 @@ struct ev_loop *ev_default_loop (int methods); /* returns default loop */
 struct ev_loop *ev_loop_new (int methods);
 void ev_loop_destroy (EV_P);
 void ev_loop_fork (EV_P);
+
+ev_tstamp ev_now (EV_P); /* time w.r.t. timers and the eventloop, updated after each poll */
+
 # else
+
 int ev_default_loop (int methods); /* returns true when successful */
+
+static ev_tstamp
+ev_now ()
+{
+  extern ev_tstamp ev_rt_now;
+
+  return ev_rt_now;
+}
 # endif
 
 void ev_default_destroy (void); /* destroy the default loop */
@@ -285,8 +305,6 @@ int ev_method (EV_P);
 void ev_loop (EV_P_ int flags);
 void ev_unloop (EV_P_ int how); /* set to 1 to break out of event loop, set to 2 to break out of all event loops */
 
-ev_tstamp ev_now (EV_P); /* time w.r.t. timers and the eventloop, updated after each poll */
-
 /*
  * ref/unref can be used to add or remove a refcount on the mainloop. every watcher
  * keeps one reference. if you have a long-runing watcher you never unregister that
@@ -356,9 +374,11 @@ void ev_timer_stop     (EV_P_ struct ev_timer *w);
 /* stops if active and no repeat, restarts if active and repeating, starts if inactive and repeating */
 void ev_timer_again    (EV_P_ struct ev_timer *w);
 
+#if EV_PERIODICS
 void ev_periodic_start (EV_P_ struct ev_periodic *w);
 void ev_periodic_stop  (EV_P_ struct ev_periodic *w);
 void ev_periodic_again (EV_P_ struct ev_periodic *w);
+#endif
 
 void ev_idle_start     (EV_P_ struct ev_idle *w);
 void ev_idle_stop      (EV_P_ struct ev_idle *w);