• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_fence.h
2<!--Kit: ArkGraphics 2D-->
3<!--Subsystem: Graphics-->
4<!--Owner: @Flix-fangyang; @li_hui180; @ding-panyun-->
5<!--Designer: @conan13234-->
6<!--Tester: @nobuggers-->
7<!--Adviser: @ge-yafang-->
8## 概述
9
10定义获取和使用NativeFence的相关函数。
11
12**引用文件:** <native_fence/native_fence.h>
13
14**库:** libnative_fence.so
15
16**系统能力:** SystemCapability.Graphic.Graphic2D.NativeFence
17
18**起始版本:** 20
19
20**相关模块:** [NativeFence](capi-nativefence.md)
21
22## 汇总
23
24### 函数
25
26| 名称                                                         | 描述                                                         |
27| ------------------------------------------------------------ | ------------------------------------------------------------ |
28| [bool OH_NativeFence_IsValid(int fenceFd)](#oh_nativefence_isvalid) | 检查fenceFd是否有效。                                        |
29| [bool OH_NativeFence_Wait(int fenceFd, uint32_t timeout)](#oh_nativefence_wait) | 阻塞传入的fenceFd。最大阻塞时间由超时参数决定。传入的fenceFd需要用户自己关闭。 |
30| [bool OH_NativeFence_WaitForever(int fenceFd)](#oh_nativefence_waitforever) | 永久阻塞传入的fenceFd。传入的fenceFd需要用户自己关闭。       |
31| [void OH_NativeFence_Close(int fenceFd)](#oh_nativefence_close) | 关闭fenceFd。                                                |
32
33## 函数说明
34
35### OH_NativeFence_IsValid()
36
37```
38bool OH_NativeFence_IsValid(int fenceFd)
39```
40
41**描述**
42
43检查fenceFd是否有效。
44
45**系统能力:** SystemCapability.Graphic.Graphic2D.NativeFence
46
47**起始版本:** 20
48
49
50**参数:**
51
52| 参数项      | 描述                               |
53| ----------- | ---------------------------------- |
54| int fenceFd | 表示一个文件描述符,用于定时同步。 |
55
56**返回:**
57
58| 类型 | 说明                                                     |
59| ---- | -------------------------------------------------------- |
60| bool | 返回true表示fenceFd有效,返回false表示该值是一个负整数。 |
61
62### OH_NativeFence_Wait()
63
64```
65bool OH_NativeFence_Wait(int fenceFd, uint32_t timeout)
66```
67
68**描述**
69
70阻塞传入的fenceFd。最大阻塞时间由超时参数决定。传入的fenceFd需要用户自己关闭。
71
72**系统能力:** SystemCapability.Graphic.Graphic2D.NativeFence
73
74**起始版本:** 20
75
76
77**参数:**
78
79| 参数项           | 描述                                                         |
80| ---------------- | ------------------------------------------------------------ |
81| int fenceFd      | 表示一个文件描述符,用于定时同步。                           |
82| uint32_t timeout | 表示等待时间。单位为毫秒,-1表示永久等待,0表示接口立即返回。 |
83
84**返回:**
85
86| 类型 | 说明                                                         |
87| ---- | ------------------------------------------------------------ |
88| bool | 返回true表示对应的fenceFd有信号触发;<br>在以下情况会返回false:<br>1.传入的fenceFd为负整数。<br>2.在指定的超时时间内无信号触发。<br>3.调用底层poll接口失败。<br>4.超时时间设置为0。<br>5.接口中复制文件描述符执行失败。 |
89
90### OH_NativeFence_WaitForever()
91
92```
93bool OH_NativeFence_WaitForever(int fenceFd)
94```
95
96**描述**
97
98永久阻塞传入的fenceFd。传入的fenceFd需要用户自己关闭。
99
100**系统能力:** SystemCapability.Graphic.Graphic2D.NativeFence
101
102**起始版本:** 20
103
104
105**参数:**
106
107| 参数项      | 描述                               |
108| ----------- | ---------------------------------- |
109| int fenceFd | 表示一个文件描述符,用于定时同步。 |
110
111**返回:**
112
113| 类型 | 说明                                                         |
114| ---- | ------------------------------------------------------------ |
115| bool | 返回true表示对应的fenceFd有信号触发;<br>在以下情况会返回false:<br>1.传入的fenceFd为负整数。<br>2.在指定的超时时间内无信号触发,永久等待。<br>3.接口中复制文件描述符执行失败。 |
116
117### OH_NativeFence_Close()
118
119```
120void OH_NativeFence_Close(int fenceFd)
121```
122
123**描述**
124
125关闭fenceFd。
126
127**系统能力:** SystemCapability.Graphic.Graphic2D.NativeFence
128
129**起始版本:** 20
130
131
132**参数:**
133
134| 参数项      | 描述                                                   |
135| ----------- | ------------------------------------------------------ |
136| int fenceFd | 表示一个文件描述符,用于定时同步。该值是一个非负整数。 |
137
138