1IBV_GET_DEVICE_LIST(3)  Libibverbs Programmer's Manual  IBV_GET_DEVICE_LIST(3)
2
3
4

NAME

6       ibv_get_device_list,  ibv_free_device_list  -  get  and release list of
7       available RDMA devices
8

SYNOPSIS

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

DESCRIPTION

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

RETURN VALUE

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

ERRORS

32       EPERM  Permission denied.
33
34       ENOSYS No kernel support for RDMA.
35
36       ENOMEM Insufficient memory to complete the operation.
37

NOTES

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
44       Setting the environment variable IBV_SHOW_WARNINGS will cause  warnings
45       to  be emitted to stderr if a kernel verbs device is discovered, but no
46       corresponding userspace driver can be found for it.
47

STATIC LINKING

49       If libibverbs is statically linked to the application then all provider
50       drivers  must also be statically linked.  The library will not load dy‐
51       namic providers when static linking is used.
52
53       To link the providers set the RDMA_STATIC_PROVIDERS define to the comma
54       separated  list  of  desired  providers when compiling the application.
55       The special keyword 'all' will statically link all supported libibverbs
56       providers.
57
58       This is intended to be used along with pkg-config(1) to setup the prop‐
59       er flags for libibverbs linking.
60
61       If this is not done then ibv_get_device_list will always return an emp‐
62       ty list.
63
64       Using only dynamic linking for libibverbs applications is strongly rec‐
65       ommended.
66

SEE ALSO

68       ibv_fork_init(3),    ibv_get_device_guid(3),    ibv_get_device_name(3),
69       ibv_open_device(3)
70

AUTHOR

72       Dotan Barak <dotanba@gmail.com>
73
74
75
76libibverbs                        2006-10-31            IBV_GET_DEVICE_LIST(3)
Impressum