Section: OpenIB Programmer's Manual (3)Updated: May 11, 2007Local indexUp
umad_recv - receive umad
#include <infiniband/umad.h>int umad_recv(int portid, void *umad, int *length, int timeout_ms);
waits up to
milliseconds for a packet to be received from the port specified by
The packet is copied to the
buffer if there is sufficient room and the received
length is indicated.
If the buffer is not large enough, the size of the umad
buffer needed is returned in
makes the function block until a packet is received. A
parameter of zero indicates a non blocking read.
returns non negative receiving agentid on success, and a negative value on error as follows:
-EINVAL invalid port handle or agentid
-EIO receive operation failed
-EWOULDBLOCK non blocking read can't be fulfilled