| .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md |
| .TH "RDMA_REG_WRITE" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm |
| .SH NAME |
| rdma_reg_write \- register data buffer(s) for remote RDMA write access. |
| .SH SYNOPSIS |
| .B "#include <rdma/rdma_verbs.h>" |
| .P |
| .B "struct ibv_mr *" rdma_reg_write |
| .BI "(struct rdma_cm_id *" id "," |
| .BI "void *" addr "," |
| .BI "size_t " length ");" |
| .SH ARGUMENTS |
| .IP "id" 12 |
| A reference to a communication identifier where the message buffer(s) |
| will be used. |
| .IP "addr" 12 |
| The address of the memory buffer(s) to register. |
| .IP "length" 12 |
| The total length of the memory to register. |
| .SH "DESCRIPTION" |
| Registers a memory buffer that will be accessed by a remote RDMA write |
| operation. Memory buffers registered using rdma_reg_write may be |
| targeted in an RDMA write request, allowing the buffer to be |
| specified on the remote side of an RDMA connection as the remote_addr |
| of rdma_post_write, or similar call. |
| .SH "RETURN VALUE" |
| Returns a reference to the registered memory region on success, or NULL on |
| error. If an error occurs, errno will be set to indicate the failure reason. |
| .SH "NOTES" |
| rdma_reg_write is used to register a data buffer that will be the |
| target of an RDMA write operation on a queue pair associated with |
| an rdma_cm_id. The memory buffer is registered with the proteection |
| domain associated with the idenfier. The start of the data buffer |
| is specified through the addr parameter, and the total size of the buffer |
| is given by length. |
| .P |
| All data buffers should be registered before being posted as a work request. |
| Users must deregister all registered memory by calling rdma_dereg_mr. |
| .SH "SEE ALSO" |
| rdma_cm(7), rdma_create_id(3), rdma_create_ep(3), |
| rdma_reg_msgs(3), rdma_reg_read(3), |
| ibv_reg_mr(3), ibv_dereg_mr(3), rdma_post_write(3) |