2 * @ingroup adf_os_public
4 * This file abstracts OS timers.
7 #ifndef _ADF_OS_TIMER_H
8 #define _ADF_OS_TIMER_H
10 #include <adf_os_types.h>
11 #include <adf_os_timer_pvt.h>
15 * @brief Platform timer object
17 typedef __adf_os_timer_t adf_os_timer_t;
21 * @brief Initialize a timer
23 * @param[in] hdl OS handle
24 * @param[in] timer timer object pointer
25 * @param[in] func timer function
26 * @param[in] context context of timer function
29 adf_os_timer_init(adf_os_handle_t hdl,
30 adf_os_timer_t *timer,
31 adf_os_timer_func_t func,
34 __adf_os_timer_init(hdl, timer, func, arg);
38 * @brief Start a one-shot timer
40 * @param[in] timer timer object pointer
41 * @param[in] msec expiration period in milliseconds
44 adf_os_timer_start(adf_os_timer_t *timer, int msec)
46 __adf_os_timer_start(timer, msec);
50 * @brief Cancel a timer
52 * @param[in] timer timer object pointer
54 * @retval TRUE timer was cancelled and deactived
55 * @retval FALSE timer was cancelled but already got fired.
57 static inline a_bool_t
58 adf_os_timer_cancel(adf_os_timer_t *timer)
60 return __adf_os_timer_cancel(timer);