Skip to main content

acltdtGetBufData

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

返回值说明​

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

参考资源​

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

父主题: 共享Buffer管理

acltdtGetBufUserData​

函数功能​

获取共享Buffer的私有数据区数据,偏移offset后并拷贝至用户申请的内存区域。同步接口。

约束说明​

当前默认私有数据区大小是96Byte,offset+size必须小于或等于96Byte,否则返回报错。

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

函数原型​

aclError acltdtGetBufUserData (const acltdtBuf buf, void *dataPtr, size_t size, size_t offset)

参数说明​

参数名输入/输出说明
buf输入共享Buffer指针,须通过acltdtAllocBuf或acltdtCopyBufRef接口申请获得。
dataPtr输入存放用户数据的内存地址指针。
size输入用户数据的长度,单位为Byte。 数据长度小于或等于96Byte。
offset输入地址偏移,单位为Byte。 偏移量小于或等于96Byte。

返回值说明​

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

父主题: 共享Buffer管理

acltdtSetBufDataLen​

设置共享Buffer中有效数据的长度。同步接口。

约束说明​

函数原型​

aclError acltdtSetBufDataLen(****acltdtBuf buf, size_t len)

参数说明​

参数名输入/输出说明
buf输入共享Buffer指针,须通过acltdtAllocBuf或acltdtCopyBufRef接口申请获得。
len输入有效数据的长度,单位为Byte。

返回值说明​

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

参考资源​

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

父主题: 共享Buffer管理

在线提单