• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# type_def.h
2
3<!--Kit: Function Flow Runtime Kit-->
4<!--Subsystem: Resourceschedule-->
5<!--Owner: @chuchihtung; @yanleo-->
6<!--Designer: @geoffrey_guo; @huangyouzhong-->
7<!--Tester: @lotsof; @sunxuhao-->
8<!--Adviser: @foryourself-->
9
10## 概述
11
12定义通用类型。
13
14**引用文件:** <ffrt/type_def.h>
15
16**库:** libffrt.z.so
17
18**系统能力:** SystemCapability.Resourceschedule.Ffrt.Core
19
20**起始版本:** 10
21
22**相关模块:** [FFRT](capi-ffrt.md)
23
24## 汇总
25
26### 变量
27
28| 名称  | typedef关键字 | 描述                     |
29|-----|------------|------------------------|
30| int | ffrt_timer_t | 定时器句柄。                 |
31| int | ffrt_qos_t | QoS类型。                 |
32| using qos = int | - | QoS类型。<br>**起始版本:** 10 |
33
34### 结构体
35
36| 名称 | typedef关键字 | 描述 |
37| -- | -- | -- |
38| [ffrt_function_header_t](capi-ffrt-ffrt-function-header-t.md) | ffrt_function_header_t | 任务执行体。 |
39| [ffrt_dependence_t](capi-ffrt-ffrt-dependence-t.md) | ffrt_dependence_t | 依赖数据结构。 |
40| [ffrt_deps_t](capi-ffrt-ffrt-deps-t.md) | ffrt_deps_t | 依赖结构定义。 |
41| [ffrt_task_attr_t](capi-ffrt-ffrt-task-attr-t.md) | ffrt_task_attr_t | 并行任务属性结构。 |
42| [ffrt_queue_attr_t](capi-ffrt-ffrt-queue-attr-t.md) | ffrt_queue_attr_t | 串行队列属性结构。 |
43| [ffrt_condattr_t](capi-ffrt-ffrt-condattr-t.md) | ffrt_condattr_t | FFRT条件变量属性结构。 |
44| [ffrt_mutexattr_t](capi-ffrt-ffrt-mutexattr-t.md) | ffrt_mutexattr_t | FFRT锁属性结构。 |
45| [ffrt_rwlockattr_t](capi-ffrt-ffrt-rwlockattr-t.md) | ffrt_rwlockattr_t | FFRT读写锁属性结构。 |
46| [ffrt_mutex_t](capi-ffrt-ffrt-mutex-t.md) | ffrt_mutex_t | FFRT互斥锁结构。 |
47| [ffrt_rwlock_t](capi-ffrt-ffrt-rwlock-t.md) | ffrt_rwlock_t | FFRT读写锁结构。 |
48| [ffrt_cond_t](capi-ffrt-ffrt-cond-t.md) | ffrt_cond_t | FFRT条件变量结构。 |
49| void* | [ffrt_task_handle_t](capi-ffrt-ffrt-task-handle-t.md) | 并行任务句柄。 |
50| [ffrt_fiber_t](capi-ffrt-ffrt-fiber-t.md) | ffrt_fiber_t | 纤程结构。 |
51
52### 枚举
53
54| 名称 | typedef关键字 | 描述 |
55| -- | -- | -- |
56| [ffrt_queue_priority_t](#ffrt_queue_priority_t) | ffrt_queue_priority_t | 任务的优先级类型。 |
57| [ffrt_qos_default_t](#ffrt_qos_default_t) | ffrt_qos_default_t | 任务的QoS类型。 |
58| [ffrt_storage_size_t](#ffrt_storage_size_t) | ffrt_storage_size_t | 多种类型数据结构分配大小定义。 |
59| [ffrt_function_kind_t](#ffrt_function_kind_t) | ffrt_function_kind_t | 任务类型。 |
60| [ffrt_dependence_type_t](#ffrt_dependence_type_t) | ffrt_dependence_type_t | 依赖类型。 |
61| [ffrt_error_t](#ffrt_error_t) | ffrt_error_t | FFRT错误码。 |
62| [ffrt_mutex_type](#ffrt_mutex_type) | ffrt_mutex_type | 互斥锁类型枚举。描述互斥类型,ffrt_mutex_normal是普通互斥锁;ffrt_mutex_recursive是递归互斥锁,ffrt_mutex_default是普通互斥锁。 |
63| [qos_default](#qos_default) | - | 任务QoS类型枚举。 |
64
65### 函数
66
67| 名称 | typedef关键字 | 描述 |
68| -- | -- | -- |
69| [typedef void(\*ffrt_function_t)(void*)](#ffrt_function_t) | ffrt_function_t | 任务执行函数指针类型。 |
70| [typedef void (\*ffrt_poller_cb)(void* data, uint32_t event)](#ffrt_poller_cb) | ffrt_poller_cb | poller回调函数定义。 |
71| [typedef void (\*ffrt_timer_cb)(void* data)](#ffrt_timer_cb) | ffrt_timer_cb | timer回调函数定义。 |
72
73## 枚举类型说明
74
75### ffrt_queue_priority_t
76
77```
78enum ffrt_queue_priority_t
79```
80
81**描述**
82
83任务的优先级类型。
84
85**起始版本:** 12
86
87| 枚举项 | 描述 |
88| -- | -- |
89| ffrt_queue_priority_immediate = 0 | immediate 优先级 |
90| ffrt_queue_priority_high | high 优先级 |
91| ffrt_queue_priority_low | low 优先级 |
92| ffrt_queue_priority_idle | lowest 优先级 |
93
94### ffrt_qos_default_t
95
96```
97enum ffrt_qos_default_t
98```
99
100**描述**
101
102任务的QoS类型。
103
104**起始版本:** 10
105
106| 枚举项 | 描述 |
107| -- | -- |
108| ffrt_qos_inherit = -1 | 继承当前任务QoS属性 |
109| ffrt_qos_background | 后台任务 |
110| ffrt_qos_utility | 实时工具 |
111| ffrt_qos_default | 默认类型 |
112| ffrt_qos_user_initiated | 用户期望 |
113
114### ffrt_storage_size_t
115
116```
117enum ffrt_storage_size_t
118```
119
120**描述**
121
122多种类型数据结构分配大小定义。
123
124**起始版本:** 10
125
126| 枚举项 | 描述 |
127| -- | -- |
128| ffrt_task_attr_storage_size = 128 | 任务属性 |
129| ffrt_auto_managed_function_storage_size = 64 + sizeof(ffrt_function_header_t) | 任务执行体 |
130| ffrt_mutex_storage_size = 64 | 互斥锁 |
131| ffrt_cond_storage_size = 64 | 条件变量 |
132| ffrt_queue_attr_storage_size = 128 | 队列属性 |
133| ffrt_rwlock_storage_size = 64 | 读写锁<br>**起始版本:** 18 |
134| ffrt_fiber_storage_size| 纤程在不同平台所占大小,单位:Byte。(平台相关)aarch64架构:22字节;arm架构:64字节;x86_64架构:8字节;其他平台:不支持。<br>**起始版本:** 20  |
135
136### ffrt_function_kind_t
137
138```
139enum ffrt_function_kind_t
140```
141
142**描述**
143
144任务类型。
145
146**起始版本:** 10
147
148| 枚举项 | 描述 |
149| -- | -- |
150| ffrt_function_kind_general | 通用任务类型 |
151| ffrt_function_kind_queue | 队列任务类型 |
152
153### ffrt_dependence_type_t
154
155```
156enum ffrt_dependence_type_t
157```
158
159**描述**
160
161依赖类型。
162
163**起始版本:** 10
164
165| 枚举项 | 描述 |
166| -- | -- |
167| ffrt_dependence_data | 数据依赖类型 |
168| ffrt_dependence_task | 任务依赖类型 |
169
170### ffrt_error_t
171
172```
173enum ffrt_error_t
174```
175
176**描述**
177
178FFRT错误码。
179
180**起始版本:** 10
181
182| 枚举项 | 描述 |
183| -- | -- |
184| ffrt_error = -1 | 失败 |
185| ffrt_success = 0 | 成功 |
186| ffrt_error_nomem = ENOMEM | 内存不足 |
187| ffrt_error_timedout = ETIMEDOUT | 超时 |
188| ffrt_error_busy = EBUSY | 重新尝试 |
189| ffrt_error_inval = EINVAL | 值无效 |
190
191### ffrt_mutex_type
192
193```
194enum ffrt_mutex_type
195```
196
197**描述**
198
199互斥锁类型枚举。描述互斥类型,ffrt_mutex_normal是普通互斥锁;ffrt_mutex_recursive是递归互斥锁,ffrt_mutex_default是普通互斥锁。
200
201**起始版本:** 12
202
203| 枚举项 | 描述 |
204| -- | -- |
205| ffrt_mutex_normal = 0 | 普通互斥锁 |
206| ffrt_mutex_recursive = 2 | 递归互斥锁 |
207| ffrt_mutex_default = ffrt_mutex_normal | 默认互斥锁 |
208
209### qos_default
210
211```
212enum qos_default
213```
214
215**描述**
216
217任务QoS类型枚举。
218
219**起始版本:** 10
220
221| 枚举项 | 描述 |
222| -- | -- |
223| qos_inherit = ffrt_qos_inherit | 继承当前任务的QoS类型 |
224| qos_background = ffrt_qos_background | 后台任务 |
225| qos_utility = ffrt_qos_utility | 实时工具 |
226| qos_default = ffrt_qos_default | 默认类型 |
227| qos_user_initiated = ffrt_qos_user_initiated | 用户期望 |
228
229
230## 函数说明
231
232### ffrt_function_t()
233
234```
235typedef void(*ffrt_function_t)(void*)
236```
237
238**描述**
239
240任务执行函数指针类型。
241
242**起始版本:** 10
243
244### ffrt_poller_cb()
245
246```
247typedef void (*ffrt_poller_cb)(void* data, uint32_t event)
248```
249
250**描述**
251
252poller回调函数定义。
253
254**起始版本:** 12
255
256### ffrt_timer_cb()
257
258```
259typedef void (*ffrt_timer_cb)(void* data)
260```
261
262**描述**
263
264timer回调函数定义。
265
266**起始版本:** 12
267
268
269