diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-07-05 15:13:44 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-07-05 15:22:17 -0400 |
commit | 1e417b7275028a50227f57fb71d04c1837ec4b2c (patch) | |
tree | 3cbf379caf8367391980abf3a562b20eb4d63052 /src/lib/evloop/timers.h | |
parent | 947de40d198d83e561320afe5d0146f43dc9192a (diff) | |
download | tor-1e417b7275028a50227f57fb71d04c1837ec4b2c.tar.gz tor-1e417b7275028a50227f57fb71d04c1837ec4b2c.zip |
All remaining files in src/common belong to the event loop.
Diffstat (limited to 'src/lib/evloop/timers.h')
-rw-r--r-- | src/lib/evloop/timers.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/evloop/timers.h b/src/lib/evloop/timers.h new file mode 100644 index 0000000000..2348c7b7c1 --- /dev/null +++ b/src/lib/evloop/timers.h @@ -0,0 +1,31 @@ +/* Copyright (c) 2016-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_TIMERS_H +#define TOR_TIMERS_H + +#include "orconfig.h" +#include "lib/testsupport/testsupport.h" + +struct monotime_t; +typedef struct timeout tor_timer_t; +typedef void (*timer_cb_fn_t)(tor_timer_t *, void *, + const struct monotime_t *); +tor_timer_t *timer_new(timer_cb_fn_t cb, void *arg); +void timer_set_cb(tor_timer_t *t, timer_cb_fn_t cb, void *arg); +void timer_get_cb(const tor_timer_t *t, + timer_cb_fn_t *cb_out, void **arg_out); +void timer_schedule(tor_timer_t *t, const struct timeval *delay); +void timer_disable(tor_timer_t *t); +void timer_free_(tor_timer_t *t); +#define timer_free(t) FREE_AND_NULL(tor_timer_t, timer_free_, (t)) + +void timers_initialize(void); +void timers_shutdown(void); + +#ifdef TOR_TIMERS_PRIVATE +STATIC void timers_run_pending(void); +#endif + +#endif /* !defined(TOR_TIMERS_H) */ + |