X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/bc714cab3838a8039a24bb718c030cc2c736ee4a..f2a9defa2bdaf750790aae6cea75cf23b945189e:/ev.h?ds=inline diff --git a/ev.h b/ev.h index 8017838..cde9da0 100644 --- a/ev.h +++ b/ev.h @@ -88,7 +88,7 @@ struct ev_loop; #define EV_VERSION_MINOR 1 #ifndef EV_CB_DECLARE -# define EV_CB_DECLARE(type) void (*cb)(EV_P_ struct type *w, int revents) +# define EV_CB_DECLARE(type) void (*cb)(EV_P_ struct type *w, int revents); #endif #ifndef EV_CB_INVOKE # define EV_CB_INVOKE(watcher,revents) (watcher)->cb (EV_A_ (watcher), (revents)) @@ -212,14 +212,15 @@ union ev_any_watcher { struct ev_watcher w; struct ev_watcher_list wl; + struct ev_io io; struct ev_timer timer; struct ev_periodic periodic; - struct ev_signal signal; struct ev_idle idle; - struct ev_child child; struct ev_prepare prepare; struct ev_check check; + struct ev_signal signal; + struct ev_child child; }; #define EVMETHOD_AUTO 0 /* consults environment */ @@ -261,8 +262,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 */ @@ -284,8 +297,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