plucky (3) rpma_mr_reg.3.gz

Provided by: librpma-dev_1.3.0-2build2_amd64 bug

NAME

       rpma_mr_reg - create a local memory registration object

SYNOPSIS

             #include <librpma.h>

             struct rpma_peer;
             struct rpma_mr_local;

             int rpma_mr_reg(struct rpma_peer *peer, void *ptr, size_t size, int usage,
                     struct rpma_mr_local **mr_ptr);

DESCRIPTION

       rpma_mr_reg()  registers  a  memory  region  and  creates  a  local memory registration object. The usage
       parameter specifies the operations that can be performed on the  given  memory  region  which  should  be
       expressed as bitwise-inclusive OR of the following:

       •  RPMA_MR_USAGE_READ_SRC - memory used as a source of the read operation

       •  RPMA_MR_USAGE_READ_DST - memory used as a destination of the read operation

       •  RPMA_MR_USAGE_WRITE_SRC - memory used as a source of the write operation

       •  RPMA_MR_USAGE_WRITE_DST - memory used as a destination of the write operation

       •  RPMA_MR_USAGE_FLUSH_TYPE_VISIBILITY - memory with available flush operation

       •  RPMA_MR_USAGE_FLUSH_TYPE_PERSISTENT - memory with available persistent flush operation

       •  RPMA_MR_USAGE_SEND - memory used for send operation

       •  RPMA_MR_USAGE_RECV - memory used for receive operation

RETURN VALUE

       The  rpma_mr_reg() function returns 0 on success or a negative error code on failure.  rpma_mr_reg() does
       not set *mr_ptr value on failure.

ERRORS

       rpma_mr_reg() can fail with the following errors:

       •  RPMA_E_INVAL - peer or ptr or mr_ptr is NULL

       •  RPMA_E_INVAL - size equals 0

       •  RPMA_E_NOMEM - out of memory

       •  RPMA_E_PROVIDER - memory registration failed

SEE ALSO

       rpma_conn_req_recv(3),   rpma_mr_dereg(3),   rpma_mr_get_descriptor(3),   rpma_mr_get_descriptor_size(3),
       rpma_peer_new(3),   rpma_read(3),   rpma_recv(3),   rpma_send(3),   rpma_write(3),  rpma_atomic_write(3),
       librpma(7) and https://pmem.io/rpma/