Man Linux: Main Page and Category List

NAME

       umad_recv - receive umad

SYNOPSIS

       #include <infiniband/umad.h>

       int umad_recv(int portid, void *umad, int *length, int timeout_ms);

DESCRIPTION

       umad_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 VALUE

       umad_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

SEE ALSO

       umad_poll(3)

AUTHOR

       Hal Rosenstock <halr@voltaire.com>