Files
ESPC3-wireless/components/system/include/os/os_timer.h
2024-03-28 12:19:52 +08:00

56 lines
993 B
C
Executable File

/**
* @file os_timer.h
* @author LokLiang (lokliang@163.com)
* @brief
* @version 0.1
* @date 2023-05-01
*
* @copyright Copyright (c) 2023
*
*/
#ifndef __OS_TIMER_H__
#define __OS_TIMER_H__
#include "os/os_common.h"
#ifdef __cplusplus
extern "C"
{
#endif
typedef os_handle_t os_timer_handle_t;
typedef struct
{
os_timer_handle_t handle;
} os_timer_t;
typedef enum
{
OS_TIMER_ONCE = 0, /* one shot timer */
OS_TIMER_PERIODIC = 1 /* periodic timer */
} os_timer_type_t;
typedef void (*os_timer_cb_fn)(void *arg);
os_state os_timer_create(os_timer_t *timer, os_timer_cb_fn cb, void *arg);
os_state os_timer_delete(os_timer_t *timer);
os_state os_timer_set_period(os_timer_t *timer, os_timer_type_t type, os_time_t period_ms);
os_state os_timer_start(os_timer_t *timer);
os_state os_timer_stop(os_timer_t *timer);
bool os_timer_is_pending(os_timer_t *timer);
bool os_timer_is_valid(os_timer_t *timer);
#ifdef __cplusplus
}
#endif
#endif /* __OS_TIMER_H__ */