1 /******************************************************************************
2 ###############################################################################
3 # Copyright (c) [2017-2020] [ICT/CAS] #
4 # Licensed under the ORAN Software License v1.0 (License) #
5 ###############################################################################
6 ******************************************************************************/
9 #ifndef __VOS_TIMER_H__
10 #define __VOS_TIMER_H__
11 #include "vos_types.h"
16 #endif /* __cplusplus */
19 /** VOS Timer 类型枚举值 */
22 VOS_TIMER_LOOP, ///< 循环执行的timer
23 VOS_TIMER_NO_LOOP, ///< 执行一次的timer
29 * @param[in] ulModuleId 模块ID
30 * @param[in] msgQId 如果pfTimerFunc非空则无效;如果pfTimerFunc为NULL,则向msgQId队列发送定时器超时消息
31 * @param[in] lMillSec 定时器的时间,毫秒
32 * @param[in] pfTimerFunc 超时回调函数
33 * @param[in] pArg 回调函数参数
34 * @param[in] enType 定时器类型
35 * @return 返回Timer ID,失败则返回VOS_ERROR
37 LONG VOS_TimerCreate(ULONG ulModuleId, ULONG msgQId, LONG lMillSec,
38 VOID (*pfTimerFunc)(VOID *), VOID *pArg, VOS_TIMER_TYPE_EN enType);
42 * 改变定时器时间,不能在超时回调函数中调用
43 * @param[in] ulModuleId 模块ID
44 * @param[in] ulTimerId 定时器Id
45 * @param[in] lMillSec 定时器的时间,毫秒
46 * @return 成功返回VOS_OK,失败则返回VOS_ERROR
48 LONG VOS_TimerChange(ULONG ulModuleId, ULONG ulTimerId, LONG lMillSec);
53 * @param[in] ulModuleId 模块ID
54 * @param[in] ulTimerId 定时器Id
55 * @return 成功VOS_OK,失败则返回VOS_ERROR
57 LONG VOS_TimerDelete(ULONG ulModuleId, ULONG ulTimerId);
62 * @param[in] ulModuleId 模块ID
63 * @param[in] luSec 定时器的时间,微妙
64 * @param[in] pfTimerFunc 超时回调函数
65 * @param[in] pArg 回调函数参数
66 * @param[in] enType 定时器类型
67 * @param[in] cpuNum CPU个数
68 * @param[in] cpus CPU ID 数组
69 * @return 返回Timer ID,失败则返回VOS_ERROR
71 LONG VOS_usTimerCreate(ULONG ulModuleId,LONG luSec,VOID (*pfTimerFunc)(VOID *), VOID *pArg, VOS_TIMER_TYPE_EN enType,LONG cpuNum,LONG cpus[]);
77 * @param[in] ulModuleId 模块ID
78 * @param[in] ulTimerId Timer ID
79 * @return 成功VOS_OK,失败则返回VOS_ERROR
81 LONG VOS_usTimerDestroy(ULONG ulModuleId, ULONG ulTimerId);
86 #endif /* __cplusplus */
87 #endif /* __VOS_TIMER_H__ */