adamdunkels | d106ecc | 2004-06-06 06:09:31 +0000 | [diff] [blame] | 1 | #include "timer.h" |
| 2 | |
| 3 | /*---------------------------------------------------------------------------*/ |
| 4 | void |
| 5 | timer_set(struct timer *t, clock_time_t interval) |
| 6 | { |
| 7 | t->interval = interval; |
adamdunkels | 123ab1c | 2004-09-01 19:05:21 +0000 | [diff] [blame^] | 8 | t->start = clock_time(); |
adamdunkels | d106ecc | 2004-06-06 06:09:31 +0000 | [diff] [blame] | 9 | } |
| 10 | /*---------------------------------------------------------------------------*/ |
| 11 | void |
| 12 | timer_reset(struct timer *t) |
| 13 | { |
adamdunkels | 123ab1c | 2004-09-01 19:05:21 +0000 | [diff] [blame^] | 14 | t->start = t->start + t->interval; |
adamdunkels | d106ecc | 2004-06-06 06:09:31 +0000 | [diff] [blame] | 15 | } |
| 16 | /*---------------------------------------------------------------------------*/ |
| 17 | int |
| 18 | timer_expired(struct timer *t) |
| 19 | { |
adamdunkels | 123ab1c | 2004-09-01 19:05:21 +0000 | [diff] [blame^] | 20 | return (clock_time_t)(clock_time() - t->start) >= (clock_time_t)t->interval; |
adamdunkels | d106ecc | 2004-06-06 06:09:31 +0000 | [diff] [blame] | 21 | } |
| 22 | /*---------------------------------------------------------------------------*/ |
| 23 | |