27 #ifndef EVENT2_EVENT_H_INCLUDED_
28 #define EVENT2_EVENT_H_INCLUDED_
185 #include <event2/visibility.h>
191 #include <event2/event-config.h>
192 #ifdef EVENT__HAVE_SYS_TYPES_H
193 #include <sys/types.h>
195 #ifdef EVENT__HAVE_SYS_TIME_H
196 #include <sys/time.h>
218 #ifdef EVENT_IN_DOXYGEN_
277 #ifdef EVENT_IN_DOXYGEN_
296 #ifdef EVENT_IN_DOXYGEN_
413 #define EVENT_BASE_COUNT_ACTIVE 1U
416 #define EVENT_BASE_COUNT_VIRTUAL 2U
419 #define EVENT_BASE_COUNT_ADDED 4U
662 const struct timeval *max_interval,
int max_callbacks,
703 #define EVENT_LOG_DEBUG 0
704 #define EVENT_LOG_MSG 1
705 #define EVENT_LOG_WARN 2
706 #define EVENT_LOG_ERR 3
711 #define _EVENT_LOG_DEBUG EVENT_LOG_DEBUG
712 #define _EVENT_LOG_MSG EVENT_LOG_MSG
713 #define _EVENT_LOG_WARN EVENT_LOG_WARN
714 #define _EVENT_LOG_ERR EVENT_LOG_ERR
721 typedef void (*
event_log_cb)(
int severity,
const char *msg);
757 #define EVENT_DBG_ALL 0xffffffffu
758 #define EVENT_DBG_NONE 0
796 #define EVLOOP_ONCE 0x01
799 #define EVLOOP_NONBLOCK 0x02
804 #define EVLOOP_NO_EXIT_ON_EMPTY 0x04
921 #define EV_TIMEOUT 0x01
925 #define EV_WRITE 0x04
927 #define EV_SIGNAL 0x08
934 #define EV_PERSIST 0x10
945 #define EV_FINALIZE 0x40
954 #define EV_CLOSED 0x80
964 #define evtimer_assign(ev, b, cb, arg) \
965 event_assign((ev), (b), -1, 0, (cb), (arg))
966 #define evtimer_new(b, cb, arg) event_new((b), -1, 0, (cb), (arg))
967 #define evtimer_add(ev, tv) event_add((ev), (tv))
968 #define evtimer_del(ev) event_del(ev)
969 #define evtimer_pending(ev, tv) event_pending((ev), EV_TIMEOUT, (tv))
970 #define evtimer_initialized(ev) event_initialized(ev)
979 #define evsignal_add(ev, tv) event_add((ev), (tv))
980 #define evsignal_assign(ev, b, x, cb, arg) \
981 event_assign((ev), (b), (x), EV_SIGNAL|EV_PERSIST, cb, (arg))
982 #define evsignal_new(b, x, cb, arg) \
983 event_new((b), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg))
984 #define evsignal_del(ev) event_del(ev)
985 #define evsignal_pending(ev, tv) event_pending((ev), EV_SIGNAL, (tv))
986 #define evsignal_initialized(ev) event_initialized(ev)
996 #define evuser_new(b, cb, arg) event_new((b), -1, 0, (cb), (arg))
997 #define evuser_del(ev) event_del(ev)
998 #define evuser_pending(ev, tv) event_pending((ev), 0, (tv))
999 #define evuser_initialized(ev) event_initialized(ev)
1000 #define evuser_trigger(ev) event_active((ev), 0, 0)
1038 EVENT2_EXPORT_SYMBOL
1089 EVENT2_EXPORT_SYMBOL
1131 EVENT2_EXPORT_SYMBOL
1140 EVENT2_EXPORT_SYMBOL
1178 EVENT2_EXPORT_SYMBOL
1180 EVENT2_EXPORT_SYMBOL
1208 EVENT2_EXPORT_SYMBOL
1232 EVENT2_EXPORT_SYMBOL
1244 EVENT2_EXPORT_SYMBOL
1258 EVENT2_EXPORT_SYMBOL
1266 EVENT2_EXPORT_SYMBOL
1273 EVENT2_EXPORT_SYMBOL
1290 EVENT2_EXPORT_SYMBOL
1306 EVENT2_EXPORT_SYMBOL
1315 EVENT2_EXPORT_SYMBOL
1333 EVENT2_EXPORT_SYMBOL
1339 #define event_get_signal(ev) ((int)event_get_fd(ev))
1345 EVENT2_EXPORT_SYMBOL
1351 EVENT2_EXPORT_SYMBOL
1357 EVENT2_EXPORT_SYMBOL
1363 EVENT2_EXPORT_SYMBOL
1369 EVENT2_EXPORT_SYMBOL
1376 EVENT2_EXPORT_SYMBOL
1386 EVENT2_EXPORT_SYMBOL
1404 EVENT2_EXPORT_SYMBOL
1416 EVENT2_EXPORT_SYMBOL
1430 EVENT2_EXPORT_SYMBOL
1434 #define LIBEVENT_VERSION EVENT__VERSION
1437 #define LIBEVENT_VERSION_NUMBER EVENT__NUMERIC_VERSION
1440 #define EVENT_MAX_PRIORITIES 256
1468 EVENT2_EXPORT_SYMBOL
1478 EVENT2_EXPORT_SYMBOL
1489 EVENT2_EXPORT_SYMBOL
1511 EVENT2_EXPORT_SYMBOL
1513 const struct timeval *duration);
1515 #if !defined(EVENT__DISABLE_MM_REPLACEMENT) || defined(EVENT_IN_DOXYGEN_)
1538 EVENT2_EXPORT_SYMBOL
1540 void *(*malloc_fn)(
size_t sz),
1541 void *(*realloc_fn)(
void *ptr,
size_t sz),
1542 void (*free_fn)(
void *ptr));
1545 #define EVENT_SET_MEM_FUNCTIONS_IMPLEMENTED
1558 EVENT2_EXPORT_SYMBOL
1572 EVENT2_EXPORT_SYMBOL
1584 EVENT2_EXPORT_SYMBOL
1617 EVENT2_EXPORT_SYMBOL
1632 EVENT2_EXPORT_SYMBOL
1634 struct timeval *tv);
1648 EVENT2_EXPORT_SYMBOL
1665 EVENT2_EXPORT_SYMBOL
EVENT2_EXPORT_SYMBOL void event_base_active_by_fd(struct event_base *base, evutil_socket_t fd, short events)
Definition: event.c:3826
EVENT2_EXPORT_SYMBOL int event_base_got_break(struct event_base *)
Definition: event.c:1895
EVENT2_EXPORT_SYMBOL int event_gettime_monotonic(struct event_base *base, struct timeval *tp)
Definition: event.c:1090
EVENT2_EXPORT_SYMBOL size_t event_get_struct_event_size(void)
Definition: event.c:2436
EVENT2_EXPORT_SYMBOL int event_base_gettimeofday_cached(struct event_base *base, struct timeval *tv)
Definition: event.c:438
EVENT2_EXPORT_SYMBOL void event_debug_unassign(struct event *)
Definition: event.c:2237
EVENT2_EXPORT_SYMBOL int event_base_got_exit(struct event_base *)
Definition: event.c:1905
void(* event_log_cb)(int severity, const char *msg)
Definition: event.h:709
EVENT2_EXPORT_SYMBOL void event_set_fatal_callback(event_fatal_cb cb)
Definition: log.c:84
EVENT2_EXPORT_SYMBOL void event_free(struct event *)
Definition: event.c:2223
EVENT2_EXPORT_SYMBOL struct event * event_base_get_running_event(struct event_base *base)
Definition: event.c:2194
EVENT2_EXPORT_SYMBOL void event_set_log_callback(event_log_cb cb)
Definition: log.c:213
EVENT2_EXPORT_SYMBOL void event_active(struct event *ev, int res, short ncalls)
Definition: event.c:2901
EVENT2_EXPORT_SYMBOL int event_base_loopbreak(struct event_base *)
Definition: event.c:1857
EVENT2_EXPORT_SYMBOL void event_enable_debug_mode(void)
Definition: event.c:570
EVENT2_EXPORT_SYMBOL void event_base_free_nofinalize(struct event_base *)
Definition: event.c:949
EVENT2_EXPORT_SYMBOL int event_base_dispatch(struct event_base *)
Definition: event.c:1815
EVENT2_EXPORT_SYMBOL int event_base_get_npriorities(struct event_base *eb)
Definition: event.c:1280
EVENT2_EXPORT_SYMBOL const struct timeval * event_base_init_common_timeout(struct event_base *base, const struct timeval *duration)
Definition: event.c:1487
EVENT2_EXPORT_SYMBOL int event_config_set_num_cpus_hint(struct event_config *cfg, int cpus)
Definition: event.c:1208
EVENT2_EXPORT_SYMBOL void event_base_active_by_signal(struct event_base *base, int sig)
Definition: event.c:3862
EVENT2_EXPORT_SYMBOL evutil_socket_t event_get_fd(const struct event *ev)
Definition: event.c:2442
EVENT2_EXPORT_SYMBOL int event_del_noblock(struct event *ev)
Definition: event.c:2799
EVENT2_EXPORT_SYMBOL ev_uint32_t event_get_version_number(void)
Definition: event.c:3462
EVENT2_EXPORT_SYMBOL const char ** event_get_supported_methods(void)
Definition: event.c:1104
EVENT2_EXPORT_SYMBOL int event_base_once(struct event_base *, evutil_socket_t, short, event_callback_fn, void *, const struct timeval *)
Definition: event.c:2051
int(* event_base_foreach_event_cb)(const struct event_base *, const struct event *, void *)
Definition: event.h:1578
EVENT2_EXPORT_SYMBOL void event_base_free(struct event_base *)
Definition: event.c:955
EVENT2_EXPORT_SYMBOL int event_remove_timer(struct event *ev)
Definition: event.c:2574
EVENT2_EXPORT_SYMBOL void event_get_assignment(const struct event *event, struct event_base **base_out, evutil_socket_t *fd_out, short *events_out, event_callback_fn *callback_out, void **arg_out)
Definition: event.c:2419
EVENT2_EXPORT_SYMBOL event_callback_fn event_get_callback(const struct event *ev)
Definition: event.c:2463
void(* event_finalize_callback_fn)(struct event *, void *)
Definition: event.h:1134
EVENT2_EXPORT_SYMBOL short event_get_events(const struct event *ev)
Definition: event.c:2456
EVENT2_EXPORT_SYMBOL int event_assign(struct event *, struct event_base *, evutil_socket_t, short, event_callback_fn, void *)
Definition: event.c:2113
EVENT2_EXPORT_SYMBOL int event_base_loop(struct event_base *, int)
Definition: event.c:1923
EVENT2_EXPORT_SYMBOL struct event_config * event_config_new(void)
Definition: event.c:1136
EVENT2_EXPORT_SYMBOL int event_priority_set(struct event *, int)
Definition: event.c:2356
EVENT2_EXPORT_SYMBOL int event_base_foreach_event(struct event_base *base, event_base_foreach_event_cb fn, void *arg)
Definition: event.c:3799
EVENT2_EXPORT_SYMBOL int event_reinit(struct event_base *base)
Definition: event.c:981
EVENT2_EXPORT_SYMBOL int event_del_block(struct event *ev)
Definition: event.c:2793
EVENT2_EXPORT_SYMBOL int event_initialized(const struct event *ev)
Definition: event.c:2410
EVENT2_EXPORT_SYMBOL int event_del(struct event *)
Definition: event.c:2787
EVENT2_EXPORT_SYMBOL struct event_base * event_base_new_with_config(const struct event_config *)
Definition: event.c:605
EVENT2_EXPORT_SYMBOL int event_pending(const struct event *ev, short events, struct timeval *tv)
Definition: event.c:2375
EVENT2_EXPORT_SYMBOL int event_base_loopcontinue(struct event_base *)
Definition: event.c:1876
EVENT2_EXPORT_SYMBOL void event_set_mem_functions(void *(*malloc_fn)(size_t sz), void *(*realloc_fn)(void *ptr, size_t sz), void(*free_fn)(void *ptr))
Definition: event.c:3571
EVENT2_EXPORT_SYMBOL const char * event_base_get_method(const struct event_base *)
Definition: event.c:1821
EVENT2_EXPORT_SYMBOL void event_base_dump_events(struct event_base *, FILE *)
Definition: event.c:3814
EVENT2_EXPORT_SYMBOL void libevent_global_shutdown(void)
Definition: event.c:3932
EVENT2_EXPORT_SYMBOL void * event_self_cbarg(void)
Definition: event.c:2188
EVENT2_EXPORT_SYMBOL int event_add(struct event *ev, const struct timeval *timeout)
Definition: event.c:2484
EVENT2_EXPORT_SYMBOL int event_base_set(struct event_base *, struct event *)
Definition: event.c:2164
EVENT2_EXPORT_SYMBOL int event_config_require_features(struct event_config *cfg, int feature)
Definition: event.c:1198
EVENT2_EXPORT_SYMBOL int event_base_loopexit(struct event_base *, const struct timeval *)
Definition: event.c:1844
EVENT2_EXPORT_SYMBOL struct event_base * event_get_base(const struct event *ev)
Definition: event.c:2449
void(* event_fatal_cb)(int err)
Definition: event.h:728
EVENT2_EXPORT_SYMBOL int event_get_priority(const struct event *ev)
Definition: event.c:2477
EVENT2_EXPORT_SYMBOL void event_enable_debug_logging(ev_uint32_t which)
Definition: log.c:76
EVENT2_EXPORT_SYMBOL int event_config_avoid_method(struct event_config *cfg, const char *method)
Definition: event.c:1181
EVENT2_EXPORT_SYMBOL int event_base_get_features(const struct event_base *base)
Definition: event.c:564
event_base_config_flag
Definition: event.h:517
@ EVENT_BASE_FLAG_NO_CACHE_TIME
Definition: event.h:538
@ EVENT_BASE_FLAG_IGNORE_ENV
Definition: event.h:527
@ EVENT_BASE_FLAG_STARTUP_IOCP
Definition: event.h:534
@ EVENT_BASE_FLAG_NOLOCK
Definition: event.h:524
@ EVENT_BASE_FLAG_EPOLL_USE_CHANGELIST
Definition: event.h:554
@ EVENT_BASE_FLAG_PRECISE_TIMER
Definition: event.h:561
EVENT2_EXPORT_SYMBOL struct event * event_new(struct event_base *, evutil_socket_t, short, event_callback_fn, void *)
Definition: event.c:2208
EVENT2_EXPORT_SYMBOL int event_base_get_max_events(struct event_base *, unsigned int, int)
Definition: event.c:1315
EVENT2_EXPORT_SYMBOL void event_config_free(struct event_config *cfg)
Definition: event.c:1160
EVENT2_EXPORT_SYMBOL void * event_get_callback_arg(const struct event *ev)
Definition: event.c:2470
event_method_feature
Definition: event.h:489
@ EV_FEATURE_FDS
Definition: event.h:499
@ EV_FEATURE_O1
Definition: event.h:496
@ EV_FEATURE_ET
Definition: event.h:491
@ EV_FEATURE_EARLY_CLOSE
Definition: event.h:506
EVENT2_EXPORT_SYMBOL int event_base_update_cache_time(struct event_base *base)
Definition: event.c:475
EVENT2_EXPORT_SYMBOL int event_config_set_flag(struct event_config *cfg, int flag)
Definition: event.c:1172
EVENT2_EXPORT_SYMBOL int event_config_set_max_dispatch_interval(struct event_config *cfg, const struct timeval *max_interval, int max_callbacks, int min_priority)
Definition: event.c:1217
void(* event_callback_fn)(evutil_socket_t, short, void *)
Definition: event.h:1002
EVENT2_EXPORT_SYMBOL int event_base_priority_init(struct event_base *, int)
Definition: event.c:1240
EVENT2_EXPORT_SYMBOL struct event_base * event_base_new(void)
Definition: event.c:520
EVENT2_EXPORT_SYMBOL const char * event_get_version(void)
Definition: event.c:3456
EVENT2_EXPORT_SYMBOL int event_base_get_num_events(struct event_base *, unsigned int)
Definition: event.c:1294
Definition: event-internal.h:208
Definition: event-internal.h:359
Definition: event_struct.h:123
#define evutil_socket_t
Definition: util.h:310