NAMEumad_recv - receive umad
SYNOPSIS#include <infiniband/umad.h> int umad_recv(int portid, void *umad, int *length, int timeout_ms);
DESCRIPTIONumad_recv() waits up to timeout_ms milliseconds for a packet to be received from the port specified by portid. The packet is copied to the umad 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 length. A negative timeout_ms makes the function block until a packet is received. A timeout_ms parameter of zero indicates a non blocking read.
RETURN VALUEumad_recv() 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
AUTHORHal Rosenstock <firstname.lastname@example.org> UMAD_RECV(3)