昇腾社区首页
中文
注册

halHdcFastRecv

函数功能

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

函数原型

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

参数说明

参数名

说明

session

指定接收消息的session。

类型:HDC_SESSION

msg

接收的消息。

类型:drvHdcFastSendMsg

flag

阻塞标志。

  • 0:默认值,阻塞。
  • HDC_FLAG_NOWAIT:非阻塞。

类型:UINT64。

timeout

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

类型: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,接收失败
  • 46:DRV_ERROR_OPER_NOT_PERMITTED,无权限访问

约束说明

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

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