00001 
00002 
00003 
00004 #ifndef _TOR_COMPAT_LIBEVENT_H
00005 #define _TOR_COMPAT_LIBEVENT_H
00006 
00007 #include "orconfig.h"
00008 
00009 struct event;
00010 struct event_base;
00011 
00012 #ifdef HAVE_EVENT2_EVENT_H
00013 #include <event2/util.h>
00014 #else
00015 #define evutil_socket_t int
00016 #endif
00017 
00018 void configure_libevent_logging(void);
00019 void suppress_libevent_log_msg(const char *msg);
00020 
00021 #ifdef HAVE_EVENT2_EVENT_H
00022 #define tor_event_new     event_new
00023 #define tor_evtimer_new   evtimer_new
00024 #define tor_evsignal_new  evsignal_new
00025 #define tor_event_free    event_free
00026 #define tor_evdns_add_server_port(sock, tcp, cb, data) \
00027   evdns_add_server_port_with_base(tor_libevent_get_base(), \
00028   (sock),(tcp),(cb),(data));
00029 
00030 #else
00031 struct event *tor_event_new(struct event_base * base, evutil_socket_t sock,
00032            short what, void (*cb)(evutil_socket_t, short, void *), void *arg);
00033 struct event *tor_evtimer_new(struct event_base * base,
00034             void (*cb)(evutil_socket_t, short, void *), void *arg);
00035 struct event *tor_evsignal_new(struct event_base * base, int sig,
00036             void (*cb)(evutil_socket_t, short, void *), void *arg);
00037 void tor_event_free(struct event *ev);
00038 #define tor_evdns_add_server_port evdns_add_server_port
00039 #endif
00040 
00041 
00042 
00043 #ifdef HAVE_EVENT_BASE_LOOPEXIT
00044 #define tor_event_base_loopexit event_base_loopexit
00045 #else
00046 struct timeval;
00047 int tor_event_base_loopexit(struct event_base *base, struct timeval *tv);
00048 #endif
00049 
00050 void tor_libevent_initialize(void);
00051 struct event_base *tor_libevent_get_base(void);
00052 const char *tor_libevent_get_method(void);
00053 void tor_check_libevent_version(const char *m, int server,
00054                                 const char **badness_out);
00055 void tor_check_libevent_header_compatibility(void);
00056 const char *tor_libevent_get_version_str(void);
00057 
00058 #endif
00059