昇腾社区首页
中文
注册

halHdcFastRecv

函数功能

HDC免拷贝快速接收消息接口。

函数原型

hdcError_t halHdcFastRecv(HDC_SESSION session, struct drvHdcFastRecvMsg *msg, UINT64 flag, UINT32 timeout)

参数说明

参数名

说明

session

指定接收消息的session。

类型:HDC_SESSION

msg

接收的消息。

类型:drvHdcFastRecvMsg

flag

阻塞标志。

  • 0:默认值,阻塞。
  • 1:不阻塞,如果接收通道无消息则立马返回接收失败。
  • 2:阻塞直到超时,如果接收通道无消息则阻塞等待消息到来,直到超时。

类型:UINT64。

timeout

当flag取值为“2"时,设置阻塞超时时间,单位毫秒。

类型:UINT32。

返回值说明

  • 0:DRV_ERROR_NONE,成功
  • 3:DRV_ERROR_INVALID_VALUE,参数错误
  • 16:DRV_ERROR_WAIT_TIMEOUT,发送超时
  • 25:DRV_ERROR_SOCKET_CLOSE,通道被关闭
  • 26:DRV_ERROR_RECV_MESG,接收失败
  • 34:DRV_ERROR_DEVICE_NOT_READY,等待设备响应
  • 46:DRV_ERROR_OPER_NOT_PERMITTED,无权限访问

约束说明

使用此接口时,需要提前通过HDC申请好内存。

halHdcFastSend、halHdcFastRecv接口,数据bufferr或控制buff的收发地址需同时给定。例如发送数据,则需要给定源数据内存地址和接收侧的目的内存地址。