acltdtFreeBuf
acltdtAllocBuf
函数功能
申请共享Buffer内存。同步接口。
约束说明
- 使用acltdtAllocBuf接口申请内存后,数据区的长度为size参数的大小,在用户还未填入有效数据前,该内存的有效数据长度初始值为0,可在用户向内存中填入有效数据后,再通过acltdtSetBufDataLen接口设置有效数据长度。
- 使用acltdtAllocBuf接口申请的内存,需要通过acltdtFreeBuf接口释放内存。
- 仅支持在Control CPU开放形态或RC模式下使用该接口。
函数原型
aclError acltdtAllocBuf(size_t size, uint32_t type, acltdtBuf *buf)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| size | 输入 | 用于指定申请数据区大小,单位Byte,不能超过4G。 |
| type | 输入 | 共享Buffer内存类型,支持设置如下枚举值。 text<br>typedef enum {<br> ACL_TDT_NORMAL_MEM = 0,<br> ACL_TDT_DVPP_MEM<br>} acltdtAllocBufType;<br> |
| buf | 输出 | 申请成功,输出共享Buffer指针。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例,参见共享Buffer管理。
父主题: 共享Buffer管理
acltdtFreeBuf
函数功能
释放通过acltdtAllocBuf接口申请的mbuf。同步接口。
约束说明
仅支持在Control CPU开放形态或RC模式下使用该接口。
函数原型
aclError acltdtFreeBuf(acltdtBuf buf)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| buf | 输入 | 指定要释放的mbuf。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例,参见共享Buffer管理。
父主题: 共享Buffer管理
acltdtGetBufData
函数功能
获取共享Buffer的数据区指针和数据区长度,用户可以使用此指针填入数据。同步接口。
约束说明
- 接口调用顺序:调用acltdtAllocBuf或acltdtCopyBufRef接口申请到共享Buffer后,因此需由用户调用acltdtGetBufData接口获取共享Buffer的内存指针及长度后,再自行向内存中填充有效数据,然后再调用acltdtSetBufDataLen接口设置共享Buffer中有效数据的长度,且长度必须小于acltdtGetBufData获取到的size大小。
- 仅支持在Control CPU开放形态或RC模式下使用该接口。
函数原型
aclError acltdtGetBufData(const acltdtBuf buf, void **dataPtr, size_t *size)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| buf | 输入 | 共享Buffer指针,须通过acltdtAllocBuf接口申请获得。 |
| dataPtr | 输出 | 数据区指针(device侧地址)。 |
| size | 输出 | 数据区的长度,单位为Byte。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例,参见共享Buffer管理。
父主题: 共享Buffer管理
acltdtSetBufUserData
函数功能
设置共享Buffer的私有数据区数据,从用户内存拷贝到共享内存的私有数据区的指定偏移位置,用于设置控制信息做为上下文传递。同步接口。
约束说明
当前默认私有数据区大小是96Byte,offset+size必须小于或等于96Byte,否则返回报错。
仅支持在Control CPU开放形态或RC模式下使用该接口。
函数原型
aclError acltdtSetBufUserData (****acltdtBuf buf, const void *dataPtr, size_t size, size_t offset)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| buf | 输入 | 共享Buffer指针,须通过acltdtAllocBuf或acltdtCopyBufRef接口申请获得。 |
| dataPtr | 输入 | 存放用户数据的内存地址指针。 |
| size | 输入 | 用户数据的长度,单位为Byte。 数据长度小于或等于96Byte。 |
| offset | 输入 | 地址偏移,单位为Byte。 偏移量小于或等于96Byte。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例,参见共享Buffer管理。
父主题: 共享Buffer管理
在线提单