ibv_open_xrcd(3) — Linux manual page
IBV_OPEN_XRCD(3) Libibverbs Programmer's Manual IBV_OPEN_XRCD(3)
NAME
ibv_open_xrcd, ibv_close_xrcd - open or close an XRC protection
domain (XRCDs)
SYNOPSIS
#include <infiniband/verbs.h>
struct ibv_xrcd *ibv_open_xrcd(struct ibv_context *context,
struct ibv_xrcd_init_attr *xrcd_init_attr);
int ibv_close_xrcd(struct ibv_xrcd *xrcd);
DESCRIPTION
ibv_open_xrcd() open an XRC domain for the RDMA device context
context xrcd_init_attr is an ibv_xrcd_init_attr struct, as
defined in <infiniband/verbs.h>.
struct ibv_xrcd_init_attr {
uint32_t comp_mask; /* Identifies valid fields */
int fd;
int oflag;
fd is the file descriptor to associate with the XRCD. oflag
describes the desired creation attributes. It is a bitwise OR of
zero or more of the following flags:
O_CREAT
Indicates that an XRCD should be created and associated
with the inode referenced by the given fd. If the XRCD
exists, this flag has no effect except as noted under
O_EXCL below.
O_EXCL If O_EXCL and O_CREAT are set, open will fail if an XRCD
associated with the inode exists.
If fd equals -1, no inode is associated with the XRCD. To
indicate that XRCD should be created, use oflag = O_CREAT.
ibv_close_xrcd() closes the XRCD xrcd. If this is the last
reference, the XRCD will be destroyed.
RETURN VALUE
ibv_open_xrcd() returns a pointer to the opened XRCD, or NULL if
the request fails.
ibv_close_xrcd() returns 0 on success, or the value of errno on
failure (which indicates the failure reason).
NOTES
ibv_close_xrcd() may fail if any other resource is still
associated with the XRCD being closed.
SEE ALSO
ibv_create_srq_ex(3), ibv_create_qp_ex(3),
AUTHORS
Sean Hefty <sean.hefty@intel.com>
COLOPHON
This page is part of the rdma-core (RDMA Core Userspace Libraries
and Daemons) project. Information about the project can be found
at ⟨https://github.com/linux-rdma/rdma-core⟩. If you have a bug
report for this manual page, send it to
linux-rdma@vger.kernel.org. This page was obtained from the
project's upstream Git repository
⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2024-06-14. (At
that time, the date of the most recent commit that was found in
the repository was 2024-06-10.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org