.\" Extracted by src2man from /build/rpma-11eW7Q/rpma-1.3.0/src/include/librpma.h .\" Text automatically generated by txt2man .TH rpma_cq_get_wc 3 "29 May 2023" "RPMA" "RPMA Programmer's Manual" .SH NAME \fBrpma_cq_get_wc \fP- receive one or more completions .SH SYNOPSIS .nf .fam C #include struct rpma_cq; struct ibv_wc; int \fBrpma_cq_get_wc\fP(struct rpma_cq *cq, int num_entries, struct ibv_wc *wc, int *num_entries_got); .fam T .fi .fam T .fi .SH DESCRIPTION \fBrpma_cq_get_wc\fP() polls the CQ for completions and returns the first num_entries (or all available completions if the CQ contains fewer than this number) in the wc array exactly like \fBibv_poll_cq\fP(3) does. The argument wc is a pointer to an array of ibv_wc structs, as defined in . The number of got completions is returned in the num_entries_got argument if it is not NULL. It can be NULL only if num_entries equals 1. All operations generate completions on error. The operations posted with the RPMA_F_COMPLETION_ALWAYS flag also generate completions on success. .PP Note that if the provided cq is the main CQ and the receive CQ is present on the same connection this function won't return IBV_WC_RECV and IBV_WC_RECV_RDMA_WITH_IMM at any time. The receive CQ has to be used instead to collect these completions. Please see the \fBrpma_conn_get_rcq\fP(3) for details about the receive CQ. .SH RETURN VALUE The \fBrpma_cq_get_wc\fP() function returns 0 on success or a negative error code on failure. On success, it saves all got completions and their number into the wc and num_entries_got respectively. If the status of a completion is not equal to IBV_WC_SUCCESS then only the following attributes are valid: wr_id, status, qp_num, and vendor_err. .SH ERRORS \fBrpma_cq_get_wc\fP() can fail with the following errors: .IP \(bu 3 RPMA_E_INVAL - num_entries < 1, cq or wc is NULL, num_entries > 1 and num_entries_got is NULL .IP \(bu 3 RPMA_E_NO_COMPLETION - no completions available .IP \(bu 3 RPMA_E_PROVIDER - \fBibv_poll_cq\fP(3) failed with a provider error .IP \(bu 3 RPMA_E_UNKNOWN - \fBibv_poll_cq\fP(3) failed but no provider error is available .SH SEE ALSO \fBrpma_conn_get_cq\fP(3), \fBrpma_conn_get_rcq\fP(3), \fBrpma_conn_req_recv\fP(3), \fBrpma_cq_wait\fP(3), \fBrpma_cq_get_fd\fP(3), \fBrpma_flush\fP(3), \fBrpma_read\fP(3), \fBrpma_recv\fP(3), \fBrpma_send\fP(3), \fBrpma_send_with_imm\fP(3), \fBrpma_write\fP(3), \fBrpma_atomic_write\fP(3), \fBrpma_write_with_imm\fP(3), \fBlibrpma\fP(7) and https://pmem.io/rpma/