1IBV_GET_DEVICE_LIST(3) Libibverbs Programmer's Manual IBV_GET_DEVICE_LIST(3)
2
3
4
6 ibv_get_device_list, ibv_free_device_list - get and release list of
7 available RDMA devices
8
10 #include <infiniband/verbs.h>
11
12 struct ibv_device **ibv_get_device_list(int *num_devices);
13
14 void ibv_free_device_list(struct ibv_device **list);
15
17 ibv_get_device_list() returns a NULL-terminated array of RDMA devices
18 currently available. The argument num_devices is optional; if not
19 NULL, it is set to the number of devices returned in the array.
20
21 ibv_free_device_list() frees the array of devices list returned by
22 ibv_get_device_list().
23
25 ibv_get_device_list() returns the array of available RDMA devices, or
26 sets errno and returns NULL if the request fails. If no devices are
27 found then num_devices is set to 0, and non-NULL is returned.
28
29 ibv_free_device_list() returns no value.
30
32 EPERM Permission denied.
33
34 ENOSYS No kernel support for RDMA.
35
36 ENOMEM Insufficient memory to complete the operation.
37
39 Client code should open all the devices it intends to use with
40 ibv_open_device() before calling ibv_free_device_list(). Once it frees
41 the array with ibv_free_device_list(), it will be able to use only the
42 open devices; pointers to unopened devices will no longer be valid.
43
45 ibv_fork_init(3), ibv_get_device_name(3), ibv_get_device_guid(3),
46 ibv_open_device(3)
47
49 Dotan Barak <dotanba@gmail.com>
50
51
52
53libibverbs 2006-10-31 IBV_GET_DEVICE_LIST(3)