int ub_timer_add(struct ub_event* ev, struct ub_event_base* base, void (*cb)(int, short, void*), void* arg, struct timeval* tv) { event_set(AS_EVENT(ev), -1, UB_EV_TIMEOUT, cb, arg); if (event_base_set(AS_EVENT_BASE(base), AS_EVENT(ev)) != 0) return -1; return evtimer_add(AS_EVENT(ev), tv); }
void ub_winsock_unregister_wsaevent(struct ub_event* ev) { #if defined(USE_MINI_EVENT) && defined(USE_WINSOCK) winsock_unregister_wsaevent(AS_EVENT(ev)); free(AS_EVENT(ev)); #else (void)ev; #endif }
void ub_winsock_tcp_wouldblock(struct ub_event* ev, int eventbits) { #if defined(USE_MINI_EVENT) && defined(USE_WINSOCK) winsock_tcp_wouldblock(AS_EVENT(ev), eventbits); #else (void)ev; (void)eventbits; #endif }
int ub_signal_del(struct ub_event* ev) { return signal_del(AS_EVENT(ev)); }
int ub_signal_add(struct ub_event* ev, struct timeval* tv) { return signal_add(AS_EVENT(ev), tv); }
int ub_timer_del(struct ub_event* ev) { return evtimer_del(AS_EVENT(ev)); }
void ub_event_free(struct ub_event* ev) { if (ev) free(AS_EVENT(ev)); }
void ub_event_set_fd(struct ub_event* ev, int fd) { AS_EVENT(ev)->ev_fd = fd; }
void ub_event_del_bits(struct ub_event* ev, short bits) { AS_EVENT(ev)->ev_events &= ~bits; }
void ub_event_add_bits(struct ub_event* ev, short bits) { AS_EVENT(ev)->ev_events |= bits; }
void ub_event_del_bits(struct ub_event* ev, short bits) { AS_EVENT(ev)->ev_events &= ~NATIVE_BITS(bits); }
void ub_event_add_bits(struct ub_event* ev, short bits) { AS_EVENT(ev)->ev_events |= NATIVE_BITS(bits); }