.\" -*- nroff -*- .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md .\" .TH IBV_OPEN_QP 3 2011-08-12 libibverbs "Libibverbs Programmer's Manual" .SH "NAME" ibv_open_qp \- open a shareable queue pair (QP) .SH "SYNOPSIS" .nf .B #include .sp .BI "struct ibv_qp *ibv_open_qp(struct ibv_context " "*context" , .BI " struct ibv_qp_open_attr " "*qp_open_attr" ); .fi .SH "DESCRIPTION" .B ibv_open_qp() opens an existing queue pair (QP) associated with the extended protection domain .I xrcd\fR. The argument .I qp_open_attr is an ibv_qp_open_attr struct, as defined in . .PP .nf struct ibv_qp_open_attr { .in +8 uint32_t comp_mask; /* Identifies valid fields */ uint32_t qp_num; /* QP number */ struct *ibv_xrcd; /* XRC domain */ void *qp_context; /* User defined opaque value */ enum ibv_qp_type qp_type; /* QP transport service type */ .fi .PP .B ibv_destroy_qp() closes the opened QP and destroys the underlying QP if it has no other references. .I qp\fR. .SH "RETURN VALUE" .B ibv_open_qp() returns a pointer to the opened QP, or NULL if the request fails. Check the QP number (\fBqp_num\fR) in the returned QP. .SH "NOTES" .B ibv_open_qp() will fail if a it is asked to open a QP that does not exist within the xrcd with the specified qp_num and qp_type. .SH "SEE ALSO" .BR ibv_alloc_pd (3), .BR ibv_create_qp (3), .BR ibv_create_qp_ex (3), .BR ibv_modify_qp (3), .BR ibv_query_qp (3) .SH "AUTHORS" .TP Sean Hefty