1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2021-10-11     zhangsz      the first version
9  */
10 
11 #ifndef __LPTIMER_H__
12 #define __LPTIMER_H__
13 
14 #include <rtthread.h>
15 
16 struct rt_lptimer
17 {
18     struct rt_timer timer;
19     rt_list_t list;
20 };
21 typedef struct rt_lptimer *rt_lptimer_t;
22 
23 void rt_lptimer_init(rt_lptimer_t  timer,
24                    const char *name,
25                    void (*timeout)(void *parameter),
26                    void       *parameter,
27                    rt_tick_t   time,
28                    rt_uint8_t  flag);
29 
30 rt_err_t rt_lptimer_detach(rt_lptimer_t timer);
31 rt_err_t rt_lptimer_start(rt_lptimer_t timer);
32 rt_err_t rt_lptimer_stop(rt_lptimer_t timer);
33 
34 rt_err_t rt_lptimer_control(rt_lptimer_t timer, int cmd, void *arg);
35 
36 rt_tick_t rt_lptimer_next_timeout_tick(void);
37 
38 #endif
39