| 
    XFusion API v1.3.0
    
   | 
 
无栈协程。 更多...

结构体 | |
| struct | _xf_ntask_sem_t | 
| ntask 信号量结构体。  更多... | |
宏定义 | |
| #define | XF_TASK_TYPE_NTASK XF_TASK_TYPE_ntask | 
ntask 类型值。 XF_TASK_TYPE_ntask 通过 xf_task_reg.inc 拼接而来。   | |
| #define | XF_NTASK_BEGIN(ntask) | 
| #define | XF_NTASK_END() | 
| #define | xf_ntask_yield() | 
| #define | xf_ntask_until(compare_cb) | 
| #define | xf_ntask_delay(delay_ms) | 
| #define | xf_ntask_until_timeout(compare_cb, timeout_ms) | 
| #define | xf_ntask_exit() | 
| #define | xf_await(func) | 
类型定义 | |
| typedef struct _xf_ntask_sem_t | xf_ntask_sem_t | 
| ntask 信号量结构体。   | |
| typedef int(* | xf_ntask_compare_func_t) (xf_task_t task) | 
| typedef enum _xf_ntask_status_t | xf_ntask_status_t | 
| typedef void | xf_async_t | 
枚举 | |
| enum | _xf_ntask_status_t {  XF_NTASK_NONE = -1 , XF_NTASK_WAITING , XF_NTASK_YIELDED , XF_NTASK_EXITED , XF_NTASK_ENDED , XF_NTASK_FINSHED }  | 
函数 | |
| static xf_task_t | xf_ntask_create_with_manager (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority) | 
| 创建无栈协程   | |
| void | xf_ntask_set_compare (xf_task_t task, xf_ntask_compare_func_t compare) | 
| 设置比较函数,回调函数返回 0,则任务继续进行,单次有效   | |
| int | xf_ntask_args_get_int (xf_task_t *task, const char *name) | 
| 获取保存的整数变量   | |
| float | xf_ntask_args_get_float (xf_task_t *task, const char *name) | 
| 获取保存的浮点变量   | |
| void * | xf_ntask_args_get_array (xf_task_t *task, const char *name) | 
| 获取保存的数组   | |
| xf_err_t | xf_ntask_args_set_int (xf_task_t *task, const char *name, int value) | 
| 保存整数变量   | |
| xf_err_t | xf_ntask_args_set_float (xf_task_t *task, const char *name, float value) | 
| 保存浮点变量   | |
| xf_err_t | xf_ntask_args_set_array (xf_task_t *task, const char *name, void *value, unsigned int size, unsigned int len) | 
| 保存数组   | |
| uint32_t | xf_ntask_get_lc (xf_task_t *task, const char *name) | 
| 获取上下文位置 (给宏调用)   | |
| xf_err_t | xf_ntask_set_lc (xf_task_t *task, const char *name, uint32_t lc) | 
| 设置上下文位置 (给宏调用)   | |
| xf_ntask_status_t | xf_ntask_get_exit_status (xf_task_t *task) | 
| 获取退出状态 (给宏调用)   | |
| xf_err_t | xf_ntask_set_exit_status (xf_task_t *task, xf_ntask_status_t status) | 
| 设置退出状态 (给宏调用)   | |
| bool | xf_ntask_lc_is_first (xf_task_t *task, const char *name) | 
| 获取是否是最外层函数   | |
无栈协程。
| #define XF_TASK_TYPE_NTASK XF_TASK_TYPE_ntask | 
ntask 类型值。 XF_TASK_TYPE_ntask 通过 xf_task_reg.inc 拼接而来。 
在文件 xf_ntask.h 第 38 行定义.
| #define XF_NTASK_BEGIN | ( | ntask | ) | 
在文件 xf_ntask.h 第 193 行定义.
| #define XF_NTASK_END | ( | ) | 
在文件 xf_ntask.h 第 199 行定义.
| #define xf_ntask_yield | ( | ) | 
在文件 xf_ntask.h 第 209 行定义.
| #define xf_ntask_until | ( | compare_cb | ) | 
在文件 xf_ntask.h 第 219 行定义.
| #define xf_ntask_delay | ( | delay_ms | ) | 
在文件 xf_ntask.h 第 229 行定义.
| #define xf_ntask_until_timeout | ( | compare_cb, | |
| timeout_ms | |||
| ) | 
在文件 xf_ntask.h 第 239 行定义.
| #define xf_ntask_exit | ( | ) | 
在文件 xf_ntask.h 第 250 行定义.
| #define xf_await | ( | func | ) | 
在文件 xf_ntask.h 第 264 行定义.
| typedef struct _xf_ntask_sem_t xf_ntask_sem_t | 
ntask 信号量结构体。
在文件 xf_ntask.h 第 49 行定义.
| typedef enum _xf_ntask_status_t xf_ntask_status_t | 
| typedef void xf_async_t | 
在文件 xf_ntask.h 第 262 行定义.
| enum _xf_ntask_status_t | 
| 枚举值 | |
|---|---|
| XF_NTASK_NONE | |
| XF_NTASK_WAITING | |
| XF_NTASK_YIELDED | |
| XF_NTASK_EXITED | |
| XF_NTASK_ENDED | |
| XF_NTASK_FINSHED | |
在文件 xf_ntask.h 第 51 行定义.
      
  | 
  inlinestatic | 
创建无栈协程
| manager | 任务调度器 | 
| func | 任务执行函数 | 
| func_arg | 任务参数 | 
| priority | 任务优先级 | 
在文件 xf_ntask.h 第 72 行定义.
| void xf_ntask_set_compare | ( | xf_task_t | task, | 
| xf_ntask_compare_func_t | compare | ||
| ) | 
| int xf_ntask_args_get_int | ( | xf_task_t * | task, | 
| const char * | name | ||
| ) | 
| float xf_ntask_args_get_float | ( | xf_task_t * | task, | 
| const char * | name | ||
| ) | 
| void * xf_ntask_args_get_array | ( | xf_task_t * | task, | 
| const char * | name | ||
| ) | 
| xf_err_t xf_ntask_args_set_array | ( | xf_task_t * | task, | 
| const char * | name, | ||
| void * | value, | ||
| unsigned int | size, | ||
| unsigned int | len | ||
| ) | 
保存数组
| task | 任务对象 | 
| name | 数组变量名称 | 
| value | 数组变量值 | 
| size | 数组元素大小 | 
| len | 数组元素个数 | 
在文件 xf_ntask.c 第 156 行定义.
| uint32_t xf_ntask_get_lc | ( | xf_task_t * | task, | 
| const char * | name | ||
| ) | 
| xf_ntask_status_t xf_ntask_get_exit_status | ( | xf_task_t * | task | ) | 
| xf_err_t xf_ntask_set_exit_status | ( | xf_task_t * | task, | 
| xf_ntask_status_t | status | ||
| ) | 
| bool xf_ntask_lc_is_first | ( | xf_task_t * | task, | 
| const char * | name | ||
| ) |