• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ddk_api.h
2<!--Kit: Driver Development Kit-->
3<!--Subsystem: Driver-->
4<!--Owner: @lixinsheng2-->
5<!--Designer: @w00373942-->
6<!--Tester: @dong-dongzhen-->
7<!--Adviser: @w_Machine_cc-->
8
9## 概述
10
11声明主机侧访问的Base DDK接口。
12
13**引用文件:** <ddk/ddk_api.h>
14
15**库:** libddk_base.z.so
16
17**系统能力:** SystemCapability.Driver.DDK.Extension
18
19**起始版本:** 12
20
21**相关模块:** [BaseDdk](capi-baseddk.md)
22
23## 汇总
24
25### 函数
26
27| 名称 | 描述 |
28| -- | -- |
29| [DDK_RetCode OH_DDK_CreateAshmem(const uint8_t *name, uint32_t size, DDK_Ashmem **ashmem)](#oh_ddk_createashmem) | 创建共享内存。为了防止资源泄漏,通过调用<b>OH_DDK_DestroyAshmem</b>接口来销毁不再需要的共享内存。 |
30| [DDK_RetCode OH_DDK_MapAshmem(DDK_Ashmem *ashmem, const uint8_t ashmemMapType)](#oh_ddk_mapashmem) | 映射创建的共享内存到用户空间。通过调用<b>OH_DDK_UnmapAshmem</b>接口取消映射不需要的共享内存。 |
31| [DDK_RetCode OH_DDK_UnmapAshmem(DDK_Ashmem *ashmem)](#oh_ddk_unmapashmem) | 取消映射共享内存。 |
32| [DDK_RetCode OH_DDK_DestroyAshmem(DDK_Ashmem *ashmem)](#oh_ddk_destroyashmem) | 销毁共享内存。 |
33
34## 函数说明
35
36### OH_DDK_CreateAshmem()
37
38```
39DDK_RetCode OH_DDK_CreateAshmem(const uint8_t *name, uint32_t size, DDK_Ashmem **ashmem)
40```
41
42**描述**
43
44创建共享内存。为了防止资源泄漏,通过调用<b>OH_DDK_DestroyAshmem</b>接口来销毁不再需要的共享内存。
45
46**起始版本:** 12
47
48
49**参数:**
50
51| 参数项                                               | 描述 |
52|---------------------------------------------------| -- |
53| const uint8_t *name                               | 指向要创建的共享内存的指针。 |
54| uint32_t size                                     | 共享内存对应的缓冲区大小。 |
55| [DDK_Ashmem](capi-baseddk-ddk-ashmem.md) **ashmem | 指向创建的共享内存的指针。 |
56
57**返回:**
58
59| 类型 | 说明 |
60| -- | -- |
61| [DDK_RetCode](capi-ddk-types-h.md#ddk_retcode) | [DDK_SUCCESS](capi-ddk-types-h.md#ddk_retcode) 调用接口成功。<br>         [DDK_INVALID_PARAMETER](capi-ddk-types-h.md#ddk_retcode) 入参name为空指针,size的大小为0或者入参ashmem是空指针。<br>         [DDK_FAILURE](capi-ddk-types-h.md#ddk_retcode) 创建共享内存失败或者创建结构体DDK_Ashmem失败。 |
62
63### OH_DDK_MapAshmem()
64
65```
66DDK_RetCode OH_DDK_MapAshmem(DDK_Ashmem *ashmem, const uint8_t ashmemMapType)
67```
68
69**描述**
70
71映射创建的共享内存到用户空间。通过调用<b>OH_DDK_UnmapAshmem</b>接口取消映射不需要的共享内存。
72
73**起始版本:** 12
74
75
76**参数:**
77
78| 参数项                                              | 描述 |
79|--------------------------------------------------| -- |
80| [DDK_Ashmem](capi-baseddk-ddk-ashmem.md) *ashmem | 要映射的共享内存指针。 |
81| const uint8_t ashmemMapType                      | 共享内存的保护权限值。 |
82
83**返回:**
84
85| 类型 | 说明 |
86| -- | -- |
87| [DDK_RetCode](capi-ddk-types-h.md#ddk_retcode) | [DDK_SUCCESS](capi-ddk-types-h.md#ddk_retcode) 调用接口成功。<br>         [DDK_NULL_PTR](capi-ddk-types-h.md#ddk_retcode) 入参ashmem为空指针。<br>         [DDK_FAILURE](capi-ddk-types-h.md#ddk_retcode) 共享内存的文件描述符无效。<br>         [DDK_INVALID_OPERATION](capi-ddk-types-h.md#ddk_retcode) 调用接口MapAshmem失败. |
88
89### OH_DDK_UnmapAshmem()
90
91```
92DDK_RetCode OH_DDK_UnmapAshmem(DDK_Ashmem *ashmem)
93```
94
95**描述**
96
97取消映射共享内存。
98
99**起始版本:** 12
100
101
102**参数:**
103
104| 参数项                                              | 描述 |
105|--------------------------------------------------| -- |
106| [DDK_Ashmem](capi-baseddk-ddk-ashmem.md) *ashmem | 要取消映射的共享内存指针。 |
107
108**返回:**
109
110| 类型 | 说明 |
111| -- | -- |
112| [DDK_RetCode](capi-ddk-types-h.md#ddk_retcode) | [DDK_SUCCESS](capi-ddk-types-h.md#ddk_retcode) 调用接口成功。<br>         [DDK_NULL_PTR](capi-ddk-types-h.md#ddk_retcode) 入参ashmem为空指针。<br>         [DDK_FAILURE](capi-ddk-types-h.md#ddk_retcode) 共享内存的文件描述符无效。 |
113
114### OH_DDK_DestroyAshmem()
115
116```
117DDK_RetCode OH_DDK_DestroyAshmem(DDK_Ashmem *ashmem)
118```
119
120**描述**
121
122销毁共享内存。
123
124**起始版本:** 12
125
126
127**参数:**
128
129| 参数项                                              | 描述 |
130|--------------------------------------------------| -- |
131| [DDK_Ashmem](capi-baseddk-ddk-ashmem.md) *ashmem | 要销毁的共享内存指针。 |
132
133**返回:**
134
135| 类型 | 说明 |
136| -- | -- |
137| [DDK_RetCode](capi-ddk-types-h.md#ddk_retcode) | [DDK_SUCCESS](capi-ddk-types-h.md#ddk_retcode) 调用接口成功。<br>         [DDK_NULL_PTR](capi-ddk-types-h.md#ddk_retcode) 入参ashmem为空指针。<br>         [DDK_FAILURE](capi-ddk-types-h.md#ddk_retcode) 共享内存的文件描述符无效。 |
138
139
140