ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/event.h
(Generate patch)

Comparing libev/event.h (file contents):
Revision 1.2 by root, Thu Nov 1 18:30:26 2007 UTC vs.
Revision 1.8 by root, Sun Nov 4 16:52:52 2007 UTC

29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31#ifndef _EVENT_H_ 31#ifndef _EVENT_H_
32#define _EVENT_H_ 32#define _EVENT_H_
33 33
34#ifndef EV_EMBED
35# include "ev.h"
36#endif
37
34#ifdef __cplusplus 38#ifdef __cplusplus
35extern "C" { 39extern "C" {
36#endif 40#endif
37 41
38#include "ev.h" 42struct event
43{
44 /* libev watchers we map onto */
45 union {
46 struct ev_io io;
47 struct ev_signal sig;
48 } iosig;
49 struct ev_timer to;
39 50
40struct event 51 /* compatibility slots */
41 {
42 struct ev_io io;
43 struct ev_timer to;
44 struct ev_signal sig;
45
46 struct event_base *ev_base; 52 struct event_base *ev_base;
47 void (*ev_callback)(int, short, void *arg); 53 void (*ev_callback)(int, short, void *arg);
48 void *ev_arg; 54 void *ev_arg;
49 int ev_fd; 55 int ev_fd;
50 int ev_pri; 56 int ev_pri;
51 int ev_res; 57 int ev_res;
52 short ev_events; 58 short ev_events;
59
60 char initialised; /* flag to work around some idiosynchrasies in the API */
53}; 61};
54 62
55#define EV_PERSIST 0x10 63#define EV_PERSIST 0x10
56 64
57#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd) 65#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd)
58#define EVENT_FD(ev) ((int) (ev)->ev_fd) 66#define EVENT_FD(ev) ((int) (ev)->ev_fd)
59 67
60#define event_initialized(ev) 1 68#define event_initialized(ev) ((ev)->initialised)
61 69
62#define evtimer_add(ev,tv) event_add (ev, tv) 70#define evtimer_add(ev,tv) event_add (ev, tv)
63#define evtimer_set(ev,cb,data) event_set (ev, -1, 0, cb, data) 71#define evtimer_set(ev,cb,data) event_set (ev, -1, 0, cb, data)
64#define evtimer_del(ev) event_del (ev) 72#define evtimer_del(ev) event_del (ev)
65#define evtimer_pending(ev,tv) event_pending (ev, EV_TIMEOUT, tv) 73#define evtimer_pending(ev,tv) event_pending (ev, EV_TIMEOUT, tv)
98void event_set (struct event *ev, int fd, short events, void (*cb)(int, short, void *), void *arg); 106void event_set (struct event *ev, int fd, short events, void (*cb)(int, short, void *), void *arg);
99int event_once (int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv); 107int event_once (int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv);
100 108
101int event_add (struct event *ev, struct timeval *tv); 109int event_add (struct event *ev, struct timeval *tv);
102int event_del (struct event *ev); 110int event_del (struct event *ev);
103void event_active (struct event *ev, int fd, short events);
104 111
105int event_pending (struct event *ev, short, struct timeval *tv); 112int event_pending (struct event *ev, short, struct timeval *tv);
106 113
107int event_priority_init (int npri); 114int event_priority_init (int npri);
108int event_priority_set (struct event *ev, int pri); 115int event_priority_set (struct event *ev, int pri);
114int event_base_loopexit (struct event_base *base, struct timeval *tv); 121int event_base_loopexit (struct event_base *base, struct timeval *tv);
115int event_base_dispatch (struct event_base *base); 122int event_base_dispatch (struct event_base *base);
116int event_base_once (struct event_base *base, int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv); 123int event_base_once (struct event_base *base, int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv);
117int event_base_priority_init (struct event_base *base, int fd); 124int event_base_priority_init (struct event_base *base, int fd);
118 125
126#ifndef EV_EMBED
127# include "event_compat.h"
119#endif 128#endif
129
130#ifdef __cplusplus
131}
132#endif
133
134#endif
135

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines