* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _EVENT_H_
-#define _EVENT_H_
+#ifndef EVENT_H__
+#define EVENT_H__
-#include <ev.h>
+#ifdef EV_H
+# include EV_H
+#else
+# include <ev.h>
+#endif
#ifdef __cplusplus
extern "C" {
#endif
+struct event_base;
+
+#define EVLIST_TIMEOUT 0x01
+#define EVLIST_INSERTED 0x02
+#define EVLIST_SIGNAL 0x04
+#define EVLIST_ACTIVE 0x08
+#define EVLIST_INTERNAL 0x10
+#define EVLIST_INIT 0x80
+
struct event
{
/* libev watchers we map onto */
int ev_fd;
int ev_pri;
int ev_res;
+ int ev_flags;
short ev_events;
-
- char initialised; /* flag to work around some idiosynchrasies in the API */
};
#define EV_PERSIST 0x10
#define EVENT_SIGNAL(ev) ((int) (ev)->ev_fd)
#define EVENT_FD(ev) ((int) (ev)->ev_fd)
-#define event_initialized(ev) ((ev)->initialised)
+#define event_initialized(ev) ((ev)->ev_flags & EVLIST_INIT)
#define evtimer_add(ev,tv) event_add (ev, tv)
#define evtimer_set(ev,cb,data) event_set (ev, -1, 0, cb, data)
int event_add (struct event *ev, struct timeval *tv);
int event_del (struct event *ev);
+void event_active (struct event *ev, int res, short ncalls); /* ncalls is being ignored */
int event_pending (struct event *ev, short, struct timeval *tv);
int event_priority_init (int npri);
int event_priority_set (struct event *ev, int pri);
-struct event_base;
-
int event_base_set (struct event_base *base, struct event *ev);
int event_base_loop (struct event_base *base, int);
int event_base_loopexit (struct event_base *base, struct timeval *tv);
int event_base_priority_init (struct event_base *base, int fd);
#ifndef EV_STANDALONE
-# include "event_compat.h"
+# include <event_compat.h>
#endif
#ifdef __cplusplus