21 #ifndef _LWPA_TIMER_H_
22 #define _LWPA_TIMER_H_
25 #include "lwpa_bool.h"
63 #define lwpa_timer_start(lwpatimerptr, intval) \
66 (lwpatimerptr)->reset_time = lwpa_getms(); \
67 (lwpatimerptr)->interval = intval; \
73 #define lwpa_timer_reset(lwpatimerptr) (((lwpatimerptr)->reset_time) = lwpa_getms())
80 #define lwpa_timer_elapsed(lwpatimerptr) (lwpa_getms() - (lwpatimerptr)->reset_time)
91 #define lwpa_timer_isexpired(lwpatimerptr) \
92 (((lwpatimerptr)->interval == 0) || (lwpa_timer_elapsed(lwpatimerptr) > (lwpatimerptr)->interval))
uint32_t lwpa_timer_remaining(const LwpaTimer *timer)
Get the amount of time remaining in a timer.
Definition: lwpa_timer.c:36
uint32_t lwpa_getms()
Get a monotonically-increasing millisecond value.
Definition: lwpa_timer.c:24
struct LwpaTimer LwpaTimer
A millisecond-resolution timer.
A millisecond-resolution timer.
Definition: lwpa_timer.h:44
uint32_t reset_time
The time at which this timer was reset.
Definition: lwpa_timer.h:45
uint32_t interval
This timer's timeout interval.
Definition: lwpa_timer.h:46