diff options
Diffstat (limited to 'sysdep/unix')
-rw-r--r-- | sysdep/unix/Modules | 2 | ||||
-rw-r--r-- | sysdep/unix/timer.h | 22 |
2 files changed, 17 insertions, 7 deletions
diff --git a/sysdep/unix/Modules b/sysdep/unix/Modules index 450f5795..95b80b38 100644 --- a/sysdep/unix/Modules +++ b/sysdep/unix/Modules @@ -1,3 +1,5 @@ log.c main.c timer.h +io.c +unix.h diff --git a/sysdep/unix/timer.h b/sysdep/unix/timer.h index 506e3c94..0589ec0f 100644 --- a/sysdep/unix/timer.h +++ b/sysdep/unix/timer.h @@ -1,5 +1,5 @@ /* - * BIRD Timers + * BIRD -- Unix Timers * * (c) 1998 Martin Mares <mj@ucw.cz> * @@ -9,18 +9,26 @@ #ifndef _BIRD_TIMER_H_ #define _BIRD_TIMER_H_ +#include <sys/time.h> + #include "lib/resource.h" +typedef time_t bird_clock_t; /* Use instead of time_t */ + typedef struct timer { - resource r; - void (*hook)(struct timer *); - void *data; - /* internal fields should be here */ + resource r; + void (*hook)(struct timer *); + void *data; + unsigned randomize; /* Amount of randomization */ + node n; /* Internal link */ + clock_t expires; /* 0=inactive */ } timer; -timer *tm_new(pool *, void (*hook)(timer *), void *data); +timer *tm_new(pool *); void tm_start(timer *, unsigned after); void tm_stop(timer *); -void tm_trigger(timer *); +void tm_dump_all(void); + +extern clock_t now; #endif |