XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_task_manager.h
浏览该文件的文档.
1
12#ifndef __XF_TASK_MANAGER_H__
13#define __XF_TASK_MANAGER_H__
14
15/* ==================== [Includes] ========================================== */
16
18#include "xf_utils.h"
19
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33/* ==================== [Defines] =========================================== */
34
35/* ==================== [Typedefs] ========================================== */
36
40typedef void *xf_task_t;
41
45typedef void *xf_task_manager_t;
46
52typedef void (*xf_task_on_idle_t)(unsigned long int max_idle_ms);
53
54/* ==================== [Global Prototypes] ================================= */
55
63
74
81
94
102
113
124
135
146
147/* ==================== [Macros] ============================================ */
148
149#ifdef __cplusplus
150} /* extern "C" */
151#endif
152
158#endif // __XF_TASK_MANAGER_H__
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
static void task(xf_task_t task)
Definition xf_main.c:45
xf_task 内核配置(仅 xf_task kernel 内部使用)。
void * xf_task_manager_t
任务管理器句柄。
xf_err_t xf_task_manager_set_idle(xf_task_manager_t manager, xf_task_on_idle_t on_idle)
设置 manager 的空闲回调函数
void * xf_task_t
任务句柄。
xf_err_t xf_task_manager_task_blocked(xf_task_manager_t manager, xf_task_t task)
设置当前任务为阻塞。
xf_err_t xf_task_manager_task_suspend(xf_task_manager_t manager, xf_task_t task)
设置当前任务为挂起。
void xf_task_manager_run(xf_task_manager_t manager)
开始启动任务管理器调度任务。
void(* xf_task_on_idle_t)(unsigned long int max_idle_ms)
空闲任务回调函数原型。
xf_err_t xf_task_set_urgent_task_with_manager(xf_task_manager_t manager, xf_task_t task, bool force)
将任务设置为紧急任务,下次调度立即执行。
xf_task_manager_t xf_task_manager_create(xf_task_on_idle_t on_idle)
创建任务管理器。
xf_err_t xf_task_manager_task_ready(xf_task_manager_t manager, xf_task_t task)
设置当前任务为就绪。
xf_err_t xf_task_manager_task_destory(xf_task_manager_t manager, xf_task_t task)
设置当前任务为销毁。
xf_task_t xf_task_manager_get_current_task(xf_task_manager_t manager)
获取管理器运行的任务。