doubao_chat/include_lib/system/wait.h

35 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef WAIT_COMPLETION_H
#define WAIT_COMPLETION_H
/**
* @brief 条件轮询回调,回调函数将通过队列消息由指定线程接收执行
* @param task_name, 指定执行回调函数的任务名
* @param condition: 条件判断函数指针
* @param callback: 回调函数指针
* @param priv, 传到回调函数参数指针
* @param condition_priv: 传到判断条件函数参数指针
* @note 指定的线程一定要接收任务队列消息才会执行回调函数
* @return id:创建成功的id号 0:失败
*/
u16 wait_completion_add_to_task(const char *task_name, int (*condition)(void *), int (*callback)(void *), void *priv, void *condition_priv);
/**
* @brief 条件轮询回调,回调函数将通过队列消息由当前线程接收执行
* @param condition: 条件判断函数指针
* @param callback: 回调函数指针
* @param priv: 传到回调函数参数指针
* @param condition_priv: 传到判断条件函数参数指针
* @note 调用此函数的线程一定要接收任务队列消息才会执行回调函数
* @return id:创建成功的id号 0:失败
*/
u16 wait_completion(int (*condition)(void *), int (*callback)(void *), void *priv, void *condition_priv);
/**
* @brief 删除条件轮询回调函数
* @param id: 创建的时候对应返回的ID号
* @return 0:成功 非0:失败
*/
int wait_completion_del(u16 id);
#endif