]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ofed/libibverbs/man/ibv_reg_xrc_rcv_qp.3
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ofed / libibverbs / man / ibv_reg_xrc_rcv_qp.3
1 .\" -*- nroff -*-
2 .\"
3 .TH IBV_REG_XRC_RCV_QP 3 2008-10-02 libibverbs "Libibverbs Programmer's Manual"
4 .SH "NAME"
5 ibv_reg_xrc_rcv_qp, ibv_unreg_xrc_rcv_qp \- register and unregister a user process with an XRC receive queue pair (QP)
6 .SH "SYNOPSIS"
7 .nf
8 .B #include <infiniband/verbs.h>
9 .sp
10 .BI "int ibv_reg_xrc_rcv_qp(struct ibv_xrc_domain " "*xrc_domain" ", uint32_t " "xrc_qp_num" ");
11 .nl
12 .BI "int ibv_unreg_xrc_rcv_qp(struct ibv_xrc_domain " "*xrc_domain" ", uint32_t " "xrc_qp_num" ");
13 .fi
14 .SH "DESCRIPTION"
15 .B ibv_reg_xrc_rcv_qp()
16 registers a user process with the XRC receive QP (created via
17 .B ibv_create_xrc_rcv_qp()
18 ) whose number is
19 .I xrc_qp_num\fR,
20 and which is associated with the XRC domain
21 .I xrc_domain\fR.
22 .PP
23 .B ibv_unreg_xrc_rcv_qp()
24 unregisters a user process from the XRC receive QP number
25 .I xrc_qp_num\fR,
26 which is associated with the XRC domain
27 .I xrc_domain\fR.
28 When the number of user processes registered with this XRC receive QP drops to zero, the QP is destroyed.
29 .SH "RETURN VALUE"
30 .B ibv_reg_xrc_rcv_qp()
31 and
32 .B ibv_unreg_xrc_rcv_qp()
33 returns 0 on success, or the value of errno on failure (which indicates the failure reason).
34 .SH "NOTES"
35 .B ibv_reg_xrc_rcv_qp()
36 and
37 .B ibv_unreg_xrc_rcv_qp()
38 may fail if the number
39 .I xrc_qp_num
40 is not a number of a valid XRC receive QP (the QP is not allocated or it is the number of a non-XRC QP), or
41 the XRC receive QP was created with an XRC domain other than
42 .I xrc_domain\fR.
43
44 If a process is still registered with any XRC RCV QPs belonging to some domain, 
45 .B ibv_close_xrc_domain()
46 will return failure if called for that domain in that process.
47
48 .B ibv_create_xrc_rcv_qp()
49 performs an implicit registration for the creating process;  when that process is finished with the XRC RCV QP, it should call
50 .B ibv_unreg_xrc_rcv_qp()
51 for that QP. Note that if no other processes are registered with the QP at this time, its registration count will drop to zero and it will be destroyed.
52 .SH "SEE ALSO"
53 .BR ibv_open_xrc_domain (3),
54 .BR ibv_create_xrc_rcv_qp (3)
55 .SH "AUTHORS"
56 .TP
57 Dotan Barak <dotanb@mellanox.co.il>