84#ifndef UTIL_WINSOCK_EVENT_H
85#define UTIL_WINSOCK_EVENT_H
89#ifndef HAVE_EVENT_BASE_FREE
90#define HAVE_EVENT_BASE_FREE
95#define event_init winsockevent_init
96#define event_get_version winsockevent_get_version
97#define event_get_method winsockevent_get_method
98#define event_base_dispatch winsockevent_base_dispatch
99#define event_base_loopexit winsockevent_base_loopexit
100#define event_base_free winsockevent_base_free
101#define event_set winsockevent_set
102#define event_base_set winsockevent_base_set
103#define event_add winsockevent_add
104#define event_del winsockevent_del
105#define signal_add winsocksignal_add
106#define signal_del winsocksignal_del
109#define EV_TIMEOUT 0x01
115#define EV_SIGNAL 0x08
117#define EV_PERSIST 0x10
127#define WSK_MAX_ITEMS 64
137 struct event** items;
143 struct event** signals;
149 struct timeval* time_tv;
162 int tcp_reinvigorated;
164 WSAEVENT waitfor[WSK_MAX_ITEMS];
177 struct event_base *ev_base;
183 struct timeval ev_timeout;
186 void (*ev_callback)(int, short,
void *);
212void *event_init(time_t* time_secs,
struct timeval* time_tv);
214const char *event_get_version(
void);
216const char *event_get_method(
void);
218int event_base_dispatch(
struct event_base *);
220int event_base_loopexit(
struct event_base *,
struct timeval *);
222void event_base_free(
struct event_base *);
224void event_set(
struct event *,
int,
short,
void (*)(
int,
short,
void *),
void *);
227int event_base_set(
struct event_base *,
struct event *);
229int event_add(
struct event *,
struct timeval *);
231int event_del(
struct event *);
233#define evtimer_add(ev, tv) event_add(ev, tv)
234#define evtimer_del(ev) event_del(ev)
239int signal_add(
struct event *,
struct timeval *);
241#define signal_set(ev, x, cb, arg) \
242 event_set(ev, x, EV_SIGNAL|EV_PERSIST, cb, arg)
244int signal_del(
struct event *);
255void winsock_tcp_wouldblock(
struct event* ev,
int eventbit);
269int winsock_register_wsaevent(
struct event_base* base,
struct event* ev,
270 WSAEVENT wsaevent,
void (*cb)(
int,
short,
void*),
void* arg);
276void winsock_unregister_wsaevent(
struct event* ev);
int mini_ev_cmp(const void *a, const void *b)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
struct rbnode_type rbnode_type
struct rbtree_type rbtree_type