Man Linux: Main Page and Category List

NAME

       ibv_get_device_list,  ibv_free_device_list  -  get  and release list of
       available RDMA devices

SYNOPSIS

       #include <infiniband/verbs.h>

       struct ibv_device **ibv_get_device_list(int *num_devices);

       void ibv_free_device_list(struct ibv_device **list);

DESCRIPTION

       ibv_get_device_list() returns a NULL-terminated array of  RDMA  devices
       currently  available.   The  argument  num_devices  is optional; if not
       NULL, it is set to the number of devices returned in the array.

       ibv_free_device_list() frees the array  of  devices  list  returned  by
       ibv_get_device_list().

RETURN VALUE

       ibv_get_device_list()  returns  the array of available RDMA devices, or
       sets errno and returns NULL if the request fails.  If  no  devices  are
       found then num_devices is set to 0, and non-NULL is returned.

       ibv_free_device_list() returns no value.

ERRORS

       EPERM  Permission denied.

       ENOSYS No kernel support for RDMA.

       ENOMEM Insufficient memory to complete the operation.

NOTES

       Client  code  should  open  all  the  devices  it  intends  to use with
       ibv_open_device() before calling ibv_free_device_list().  Once it frees
       the  array with ibv_free_device_list(), it will be able to use only the
       open devices; pointers to unopened devices will no longer be valid.

SEE ALSO

       ibv_fork_init(3),    ibv_get_device_name(3),    ibv_get_device_guid(3),
       ibv_open_device(3)

AUTHORS

       Dotan Barak <dotanba@gmail.com>