Provided by: libibverbs-dev_50.0-2ubuntu0.2_amd64 bug

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.

       Setting the environment variable IBV_SHOW_WARNINGS will cause warnings to be emitted to stderr if a  ker‐
       nel verbs device is discovered, but no corresponding userspace driver can be found for it.

STATIC LINKING

       If  libibverbs  is statically linked to the application then all provider drivers must also be statically
       linked.  The library will not load dynamic providers when static linking is used.

       To link the providers set the RDMA_STATIC_PROVIDERS  define  to  the  comma  separated  list  of  desired
       providers  when  compiling the application.  The special keyword `all' will statically link all supported
       libibverbs providers.

       This is intended to be used along with pkg-config(1) to setup the proper flags for libibverbs linking.

       If this is not done then ibv_get_device_list will always return an empty list.

       Using only dynamic linking for libibverbs applications is strongly recommended.

SEE ALSO

       ibv_fork_init(3), ibv_get_device_guid(3), ibv_get_device_name(3),  ibv_get_device_index(3),  ibv_open_de‐
       vice(3)

AUTHOR

       Dotan Barak <dotanba@gmail.com>

libibverbs                                         2006-10-31                             IBV_GET_DEVICE_LIST(3)