blob: 16cc1a0ce8c827e09be3509bfacfcf9b12d34d26 [file] [log] [blame]
.\" -*- nroff -*-
.TH IBV_GET_DEVICE_LIST 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
ibv_get_device_list, ibv_free_device_list \- get and release list of available RDMA devices
.B #include <infiniband/verbs.h>
.BI "struct ibv_device **ibv_get_device_list(int " "*num_devices" );
.BI "void ibv_free_device_list(struct ibv_device " "**list" );
.B ibv_get_device_list()
returns a NULL-terminated array of RDMA devices currently available.
The argument
.I num_devices
is optional; if not NULL, it is set to the number of devices returned in the array.
.B ibv_free_device_list()
frees the array of devices
.I list
returned by
.B ibv_get_device_list()\fR.
.B ibv_get_device_list()
returns the array of available RDMA devices, or sets
.I errno
and returns NULL if the request fails. If no devices are found then
.I num_devices
is set to 0, and non-NULL is returned.
.B ibv_free_device_list()
returns no value.
Permission denied.
No kernel support for RDMA.
Insufficient memory to complete the operation.
Client code should open all the devices it intends to use with
.B ibv_open_device()\fR before calling
.B ibv_free_device_list()\fR.
Once it frees the array with
.B ibv_free_device_list()\fR,
it will be able to use only the open devices; pointers to unopened devices will no longer be valid.
.BR ibv_fork_init (3),
.BR ibv_get_device_name (3),
.BR ibv_get_device_guid (3),
.BR ibv_open_device (3)
Dotan Barak <>