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

Comparing libev/event.h (file contents):
Revision 1.9 by root, Sun Nov 4 18:15:16 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 33
34#ifdef EV_H
35# include EV_H
36#else
34#include <ev.h> 37# include <ev.h>
38#endif
35 39
36#ifdef __cplusplus 40#ifdef __cplusplus
37extern "C" { 41extern "C" {
38#endif 42#endif
43
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{
42 /* libev watchers we map onto */ 55 /* libev watchers we map onto */
43 union { 56 union {
51 void (*ev_callback)(int, short, void *arg); 64 void (*ev_callback)(int, short, void *arg);
52 void *ev_arg; 65 void *ev_arg;
53 int ev_fd; 66 int ev_fd;
54 int ev_pri; 67 int ev_pri;
55 int ev_res; 68 int ev_res;
69 int ev_flags;
56 short ev_events; 70 short ev_events;
57
58 char initialised; /* flag to work around some idiosynchrasies in the API */
59}; 71};
60 72
61#define EV_PERSIST 0x10 73#define EV_PERSIST 0x10
62 74
63#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd) 75#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd)
64#define EVENT_FD(ev) ((int) (ev)->ev_fd) 76#define EVENT_FD(ev) ((int) (ev)->ev_fd)
65 77
66#define event_initialized(ev) ((ev)->initialised) 78#define event_initialized(ev) ((ev)->ev_flags & EVLIST_INIT)
67 79
68#define evtimer_add(ev,tv) event_add (ev, tv) 80#define evtimer_add(ev,tv) event_add (ev, tv)
69#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)
70#define evtimer_del(ev) event_del (ev) 82#define evtimer_del(ev) event_del (ev)
71#define evtimer_pending(ev,tv) event_pending (ev, EV_TIMEOUT, tv) 83#define evtimer_pending(ev,tv) event_pending (ev, EV_TIMEOUT, tv)
104void 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);
105int 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);
106 118
107int event_add (struct event *ev, struct timeval *tv); 119int event_add (struct event *ev, struct timeval *tv);
108int event_del (struct event *ev); 120int event_del (struct event *ev);
121void event_active (struct event *ev, int res, short ncalls); /* ncalls is being ignored */
109 122
110int event_pending (struct event *ev, short, struct timeval *tv); 123int event_pending (struct event *ev, short, struct timeval *tv);
111 124
112int event_priority_init (int npri); 125int event_priority_init (int npri);
113int event_priority_set (struct event *ev, int pri); 126int event_priority_set (struct event *ev, int pri);
114
115struct event_base;
116 127
117int event_base_set (struct event_base *base, struct event *ev); 128int event_base_set (struct event_base *base, struct event *ev);
118int event_base_loop (struct event_base *base, int); 129int event_base_loop (struct event_base *base, int);
119int event_base_loopexit (struct event_base *base, struct timeval *tv); 130int event_base_loopexit (struct event_base *base, struct timeval *tv);
120int event_base_dispatch (struct event_base *base); 131int event_base_dispatch (struct event_base *base);
121int 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);
122int event_base_priority_init (struct event_base *base, int fd); 133int event_base_priority_init (struct event_base *base, int fd);
123 134
124#ifndef EV_STANDALONE 135#ifndef EV_STANDALONE
125# include "event_compat.h" 136# include <event_compat.h>
126#endif 137#endif
127 138
128#ifdef __cplusplus 139#ifdef __cplusplus
129} 140}
130#endif 141#endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines