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
17
#include "
xf_task_kernel_config.h
"
18
#include "xf_utils.h"
19
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
/* ==================== [Defines] =========================================== */
34
35
/* ==================== [Typedefs] ========================================== */
36
40
typedef
void
*
xf_task_t
;
41
45
typedef
void
*
xf_task_manager_t
;
46
52
typedef
void (*
xf_task_on_idle_t
)(
unsigned
long
int
max_idle_ms);
53
54
/* ==================== [Global Prototypes] ================================= */
55
62
xf_task_manager_t
xf_task_manager_create
(
xf_task_on_idle_t
on_idle);
63
73
xf_err_t
xf_task_manager_set_idle
(
xf_task_manager_t
manager,
xf_task_on_idle_t
on_idle);
74
80
void
xf_task_manager_run
(
xf_task_manager_t
manager);
81
93
xf_err_t
xf_task_set_urgent_task_with_manager
(
xf_task_manager_t
manager,
xf_task_t
task
,
bool
force);
94
101
xf_task_t
xf_task_manager_get_current_task
(
xf_task_manager_t
manager);
102
112
xf_err_t
xf_task_manager_task_ready
(
xf_task_manager_t
manager,
xf_task_t
task
);
113
123
xf_err_t
xf_task_manager_task_suspend
(
xf_task_manager_t
manager,
xf_task_t
task
);
124
134
xf_err_t
xf_task_manager_task_destory
(
xf_task_manager_t
manager,
xf_task_t
task
);
135
145
xf_err_t
xf_task_manager_task_blocked
(
xf_task_manager_t
manager,
xf_task_t
task
);
146
147
/* ==================== [Macros] ============================================ */
148
149
#ifdef __cplusplus
150
}
/* extern "C" */
151
#endif
152
158
#endif
// __XF_TASK_MANAGER_H__
xf_err_t
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition
xf_err.h:69
task
static void task(xf_task_t task)
Definition
xf_main.c:45
xf_task_kernel_config.h
xf_task 内核配置(仅 xf_task kernel 内部使用)。
xf_task_manager_t
void * xf_task_manager_t
任务管理器句柄。
Definition
xf_task_manager.h:45
xf_task_manager_set_idle
xf_err_t xf_task_manager_set_idle(xf_task_manager_t manager, xf_task_on_idle_t on_idle)
设置 manager 的空闲回调函数
Definition
xf_task_manager.c:75
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
xf_task_manager_task_blocked
xf_err_t xf_task_manager_task_blocked(xf_task_manager_t manager, xf_task_t task)
设置当前任务为阻塞。
Definition
xf_task_manager.c:252
xf_task_manager_task_suspend
xf_err_t xf_task_manager_task_suspend(xf_task_manager_t manager, xf_task_t task)
设置当前任务为挂起。
Definition
xf_task_manager.c:220
xf_task_manager_run
void xf_task_manager_run(xf_task_manager_t manager)
开始启动任务管理器调度任务。
Definition
xf_task_manager.c:91
xf_task_on_idle_t
void(* xf_task_on_idle_t)(unsigned long int max_idle_ms)
空闲任务回调函数原型。
Definition
xf_task_manager.h:52
xf_task_set_urgent_task_with_manager
xf_err_t xf_task_set_urgent_task_with_manager(xf_task_manager_t manager, xf_task_t task, bool force)
将任务设置为紧急任务,下次调度立即执行。
Definition
xf_task_manager.c:277
xf_task_manager_create
xf_task_manager_t xf_task_manager_create(xf_task_on_idle_t on_idle)
创建任务管理器。
Definition
xf_task_manager.c:53
xf_task_manager_task_ready
xf_err_t xf_task_manager_task_ready(xf_task_manager_t manager, xf_task_t task)
设置当前任务为就绪。
Definition
xf_task_manager.c:204
xf_task_manager_task_destory
xf_err_t xf_task_manager_task_destory(xf_task_manager_t manager, xf_task_t task)
设置当前任务为销毁。
Definition
xf_task_manager.c:236
xf_task_manager_get_current_task
xf_task_t xf_task_manager_get_current_task(xf_task_manager_t manager)
获取管理器运行的任务。
Definition
xf_task_manager.c:195
components
xf_task
xf_task
src
kernel
xf_task_manager.h
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8