Skip to main content

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 &#123;<br> ACL_TDT_NORMAL_MEM = 0,<br> ACL_TDT_DVPP_MEM<br>&#125; acltdtAllocBufType;<br>
buf输出申请成功,输出共享Buffer指针。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用流程及示例,参见共享Buffer管理

父主题: 共享Buffer管理

acltdtFreeBuf

函数功能

释放通过acltdtAllocBuf接口申请的mbuf。同步接口。

约束说明

仅支持在Control CPU开放形态RC模式下使用该接口。

函数原型

aclError acltdtFreeBuf(acltdtBuf buf)

参数说明

参数名输入/输出说明
buf输入指定要释放的mbuf。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用流程及示例,参见共享Buffer管理

父主题: 共享Buffer管理

acltdtGetBufData

函数功能

获取共享Buffer的数据区指针和数据区长度,用户可以使用此指针填入数据。同步接口。

约束说明

函数原型

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指针,须通过acltdtAllocBufacltdtCopyBufRef接口申请获得。
dataPtr输入存放用户数据的内存地址指针。
size输入用户数据的长度,单位为Byte。 数据长度小于或等于96Byte。
offset输入地址偏移,单位为Byte。 偏移量小于或等于96Byte。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用流程及示例,参见共享Buffer管理

父主题: 共享Buffer管理

在线提单