| .\" -*- nroff -*- | |
| .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md | |
| .\" | |
| .TH IBV_OPEN_DEVICE 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual" | |
| .SH "NAME" | |
| ibv_open_device, ibv_close_device \- open and close an RDMA device context | |
| .SH "SYNOPSIS" | |
| .nf | |
| .B #include <infiniband/verbs.h> | |
| .sp | |
| .BI "struct ibv_context *ibv_open_device(struct ibv_device " "*device" "); | |
| .sp | |
| .BI "int ibv_close_device(struct ibv_context " "*context" "); | |
| .fi | |
| .SH "DESCRIPTION" | |
| .B ibv_open_device() | |
| opens the device | |
| .I device | |
| and creates a context for further use. | |
| .PP | |
| .B ibv_close_device() | |
| closes the device context | |
| .I context\fR. | |
| .SH "RETURN VALUE" | |
| .B ibv_open_device() | |
| returns a pointer to the allocated device context, or NULL if the request fails, and errno is set to indicate the reason. | |
| .PP | |
| .B ibv_close_device() | |
| returns 0 on success, \-1 on failure. | |
| .SH "NOTES" | |
| .B ibv_close_device() | |
| does not release all the resources allocated using context | |
| .I context\fR. | |
| To avoid resource leaks, the user should release all associated | |
| resources before closing a context. | |
| Setting the environment variable **RDMAV_ALLOW_DISASSOC_DESTROY** tells the | |
| library to relate an EIO from destroy commands as a success as the kernel | |
| resources were already released. This comes to prevent memory leakage in the | |
| user space area upon device disassociation. Applications using this flag cannot | |
| call ibv_get_cq_event or ibv_get_async_event concurrently with any call to an | |
| object destruction function. | |
| .SH "SEE ALSO" | |
| .BR ibv_get_device_list (3), | |
| .BR ibv_query_device (3), | |
| .BR ibv_query_port (3), | |
| .BR ibv_query_gid (3), | |
| .BR ibv_query_pkey (3) | |
| .SH "AUTHORS" | |
| .TP | |
| Dotan Barak <dotanba@gmail.com> |