ibv_free_device_list (3)
NAME
ibv_get_device_list, ibv_free_device_list - get and release list of available RDMA devicesSYNOPSIS
#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>
-