Scroll to navigation

IBV_GET_DEVICE_LIST(3) Libibverbs Programmer's Manual IBV_GET_DEVICE_LIST(3)

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

Permission denied.
No kernel support for RDMA.
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

2006-10-31 libibverbs