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

Comparing libev/event.h (file contents):
Revision 1.1 by root, Thu Nov 1 15:22:12 2007 UTC vs.
Revision 1.16 by root, Mon Nov 12 01:11:36 2007 UTC

26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
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
34#ifdef EV_H
35# include EV_H
36#else
37# include <ev.h>
38#endif
33 39
34#ifdef __cplusplus 40#ifdef __cplusplus
35extern "C" { 41extern "C" {
36#endif 42#endif
37 43
38#include "ev.h" 44struct event_base;
45
46#define EVLIST_TIMEOUT 0x01
47#define EVLIST_INSERTED 0x02
48#define EVLIST_SIGNAL 0x04
49#define EVLIST_ACTIVE 0x08
50#define EVLIST_INTERNAL 0x10
51#define EVLIST_INIT 0x80
39 52
40struct event 53struct event
41 { 54{
55 /* libev watchers we map onto */
56 union {
42 struct ev_io io; 57 struct ev_io io;
58 struct ev_signal sig;
59 } iosig;
43 struct ev_timer to; 60 struct ev_timer to;
44 struct ev_signal sig;
45 61
62 /* compatibility slots */
46 struct event_base *ev_base; 63 struct event_base *ev_base;
47 int ev_fd;
48 short ev_events;
49 int ev_pri;
50 void (*ev_callback)(int, short, void *arg); 64 void (*ev_callback)(int, short, void *arg);
51 void *ev_arg; 65 void *ev_arg;
66 int ev_fd;
67 int ev_pri;
52 int ev_res; 68 int ev_res;
69 int ev_flags;
70 short ev_events;
53}; 71};
54 72
55#define EV_PERSIST 0x10 73#define EV_PERSIST 0x10
56 74
57#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd) 75#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd)
58#define EVENT_FD(ev) ((int) (ev)->ev_fd) 76#define EVENT_FD(ev) ((int) (ev)->ev_fd)
59 77
60#define event_initialized(ev) 1 78#define event_initialized(ev) ((ev)->ev_flags & EVLIST_INIT)
61 79
62#define evtimer_add(ev,tv) event_add (ev, tv) 80#define evtimer_add(ev,tv) event_add (ev, tv)
63#define evtimer_set(ev,cb,data) event_set (ev, -1, 0, cb, data) 81#define evtimer_set(ev,cb,data) event_set (ev, -1, 0, cb, data)
64#define evtimer_del(ev) event_del (ev) 82#define evtimer_del(ev) event_del (ev)
65#define evtimer_pending(ev,tv) event_pending (ev, EV_TIMEOUT, tv) 83#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); 116void 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); 117int event_once (int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv);
100 118
101int event_add (struct event *ev, struct timeval *tv); 119int event_add (struct event *ev, struct timeval *tv);
102int event_del (struct event *ev); 120int event_del (struct event *ev);
103void event_active (struct event *ev, int fd, short events); 121void event_active (struct event *ev, int res, short ncalls); /* ncalls is being ignored */
104 122
105int event_pending (struct event *ev, short, struct timeval *tv); 123int event_pending (struct event *ev, short, struct timeval *tv);
106 124
107int event_priority_init (int npri); 125int event_priority_init (int npri);
108int event_priority_set (struct event *ev, int pri); 126int event_priority_set (struct event *ev, int pri);
109
110struct event_base;
111 127
112int event_base_set (struct event_base *base, struct event *ev); 128int event_base_set (struct event_base *base, struct event *ev);
113int event_base_loop (struct event_base *base, int); 129int event_base_loop (struct event_base *base, int);
114int event_base_loopexit (struct event_base *base, struct timeval *tv); 130int event_base_loopexit (struct event_base *base, struct timeval *tv);
115int event_base_dispatch (struct event_base *base); 131int 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); 132int 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); 133int event_base_priority_init (struct event_base *base, int fd);
118 134
135#ifndef EV_STANDALONE
136# include <event_compat.h>
119#endif 137#endif
138
139#ifdef __cplusplus
140}
141#endif
142
143#endif
144

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines