mirror of /home/gitosis/repositories/libev.git
*** empty log message ***
This commit is contained in:
parent
8eedae812f
commit
947bab6cea
32
README.embed
32
README.embed
|
@ -75,18 +75,6 @@ PREPROCESSOR SYMBOLS
|
|||
will also not define any of the structs usually found in "event.h"
|
||||
that are not directly supported by libev code alone.
|
||||
|
||||
EV_H
|
||||
|
||||
The name of the ev.h header file used to include it. The default
|
||||
if undefined is <ev.h> in event.h and "ev.h" in ev.c. This can
|
||||
be used to virtually rename the ev.h header file in case of
|
||||
conflicts.
|
||||
|
||||
EV_EVENT_H
|
||||
|
||||
Similarly to EV_H, this macro cna be used to override event.c's idea
|
||||
of how the event.h header can be found.
|
||||
|
||||
EV_USE_MONOTONIC
|
||||
|
||||
If undefined or defined to be "1", libev will try to detect the
|
||||
|
@ -142,6 +130,18 @@ PREPROCESSOR SYMBOLS
|
|||
will be detected at runtime and routed around by disabling this
|
||||
backend.
|
||||
|
||||
EV_H
|
||||
|
||||
The name of the ev.h header file used to include it. The default
|
||||
if undefined is <ev.h> in event.h and "ev.h" in ev.c. This can
|
||||
be used to virtually rename the ev.h header file in case of
|
||||
conflicts.
|
||||
|
||||
EV_EVENT_H
|
||||
|
||||
Similarly to EV_H, this macro cna be used to override event.c's idea
|
||||
of how the event.h header can be found.
|
||||
|
||||
EV_COMMON
|
||||
|
||||
By default, all watchers have a "void *data" member. By redefining
|
||||
|
@ -170,6 +170,14 @@ PREPROCESSOR SYMBOLS
|
|||
event loop pointer argument. Instead, all functions act on the
|
||||
single default loop.
|
||||
|
||||
EV_CB_DECLARE(type)
|
||||
EV_CB_INVOKE(watcher,revents)
|
||||
|
||||
Can be used to change the callback member declaration in each
|
||||
watcher, and the way callbacks are invoked. Must expand to a struct
|
||||
member definition and a statement, respectively. See the ev.v
|
||||
header file for their default definitions.
|
||||
|
||||
EXAMPLES
|
||||
|
||||
For a real-world example of a program the includes libev
|
||||
|
|
2
ev.c
2
ev.c
|
@ -950,7 +950,7 @@ call_pending (EV_P)
|
|||
if (p->w)
|
||||
{
|
||||
p->w->pending = 0;
|
||||
p->w->cb (EV_A_ p->w, p->events);
|
||||
EV_CB_INVOKE (p->w, p->events);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
18
ev.h
18
ev.h
|
@ -87,6 +87,13 @@ struct ev_loop;
|
|||
#define EV_VERSION_MAJOR 1
|
||||
#define EV_VERSION_MINOR 1
|
||||
|
||||
#ifndef EV_CB_DECLARE
|
||||
# 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))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* struct member types:
|
||||
* private: you can look at them, but not change them, and they might not mean anything to you.
|
||||
|
@ -100,7 +107,7 @@ struct ev_loop;
|
|||
int pending; /* private */ \
|
||||
int priority; /* private */ \
|
||||
EV_COMMON; /* rw */ \
|
||||
void (*cb)(EV_P_ struct type *, int revents) /* private */ /* gets invoked with an eventmask */
|
||||
EV_CB_DECLARE (type) /* private */
|
||||
|
||||
#define EV_WATCHER_LIST(type) \
|
||||
EV_WATCHER (type); \
|
||||
|
@ -111,17 +118,20 @@ struct ev_loop;
|
|||
ev_tstamp at /* private */
|
||||
|
||||
/* base class, nothing to see here unless you subclass */
|
||||
struct ev_watcher {
|
||||
struct ev_watcher
|
||||
{
|
||||
EV_WATCHER (ev_watcher);
|
||||
};
|
||||
|
||||
/* base class, nothing to see here unless you subclass */
|
||||
struct ev_watcher_list {
|
||||
struct ev_watcher_list
|
||||
{
|
||||
EV_WATCHER_LIST (ev_watcher_list);
|
||||
};
|
||||
|
||||
/* base class, nothing to see here unless you subclass */
|
||||
struct ev_watcher_time {
|
||||
struct ev_watcher_time
|
||||
{
|
||||
EV_WATCHER_TIME (ev_watcher_time);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue