+ EV_PERIODICS
+
+ If undefined or defined to be "1", then periodic timers are
+ supported, otherwise not. This saves a few kb of code.
+
+ EV_COMMON
+
+ By default, all watchers have a "void *data" member. By redefining
+ this macro to a something else you can include more and other types
+ of members. You have to define it each time you include one of the
+ files, though, and it must be identical each time.
+
+ For example, the perl EV module uses this:
+
+ #define EV_COMMON \
+ SV *self; /* contains this struct */ \
+ SV *cb_sv, *fh /* note no trailing ";" */
+
+ EV_CB_DECLARE(type)
+ EV_CB_INVOKE(watcher,revents)
+ ev_set_cb(ev,cb)
+
+ Can be used to change the callback member declaration in each
+ watcher, and the way callbacks are invoked and set. Must expand
+ to a struct member definition and a statement, respectively. See
+ the ev.v header file for their default definitions. One possible
+ use for overriding these is to avoid the ev_loop pointer as first
+ argument in all cases, or to use method calls instead of plain
+ function calls in C++.
+