9#ifndef TOR_COMPAT_LIBEVENT_H
10#define TOR_COMPAT_LIBEVENT_H
21#define tor_event_new event_new
22#define tor_event_del event_del
23#define tor_evtimer_new evtimer_new
24#define tor_evsignal_new evsignal_new
25#define tor_evdns_add_server_port(sock, tcp, cb, data) \
26 evdns_add_server_port_with_base(tor_libevent_get_base(), \
27 (sock),(tcp),(cb),(data));
33void tor_event_free_(
struct event *ev);
34#define tor_event_free(ev) \
35 FREE_AND_NULL(struct event, tor_event_free_, (ev))
46#define periodic_timer_free(t) \
47 FREE_AND_NULL(periodic_timer_t, periodic_timer_free_, (t))
60#define mainloop_event_free(event) \
61 FREE_AND_NULL(mainloop_event_t, mainloop_event_free_, (event))
77void tor_check_libevent_header_compatibility(
void);
82int tor_init_libevent_rng(
void);
85void tor_libevent_postfork(
void);
93#ifdef COMPAT_LIBEVENT_PRIVATE
101#define V(major, minor, patch) \
102 (((major) << 24) | ((minor) << 16) | ((patch) << 8))
STATIC void libevent_logging_callback(int severity, const char *msg)
void tor_libevent_initialize(tor_libevent_cfg_t *cfg)
const char * tor_libevent_get_header_version_str(void)
void suppress_libevent_log_msg(const char *msg)
bool tor_libevent_is_initialized(void)
void periodic_timer_free_(periodic_timer_t *)
int mainloop_event_schedule(mainloop_event_t *event, const struct timeval *delay)
void periodic_timer_launch(periodic_timer_t *, const struct timeval *tv)
void mainloop_event_cancel(mainloop_event_t *event)
void tor_libevent_exit_loop_after_callback(struct event_base *base)
void mainloop_event_free_(mainloop_event_t *event)
int tor_libevent_run_event_loop(struct event_base *base, int once)
const char * tor_libevent_get_version_str(void)
void tor_libevent_exit_loop_after_delay(struct event_base *base, const struct timeval *delay)
mainloop_event_t * mainloop_event_postloop_new(void(*cb)(mainloop_event_t *, void *), void *userdata)
void tor_libevent_free_all(void)
periodic_timer_t * periodic_timer_new(struct event_base *base, const struct timeval *tv, void(*cb)(periodic_timer_t *timer, void *data), void *data)
const char * tor_libevent_get_method(void)
struct event_base * tor_libevent_get_base(void)
void configure_libevent_logging(void)
void periodic_timer_disable(periodic_timer_t *)
mainloop_event_t * mainloop_event_new(void(*cb)(mainloop_event_t *, void *), void *userdata)
void mainloop_event_activate(mainloop_event_t *event)
Headers for util_malloc.c.
void(* cb)(struct periodic_timer_t *, void *)
Macros to implement mocking and selective exposure for the test code.
#define MOCK_DECL(rv, funcname, arglist)