---
name: "rdma_reg_msgs"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/rdma_reg_msgs"
---

# rdma\_reg\_msgs(3)

register data buffer(s) for sending or receiving messages.

## NAME

rdma\_reg\_msgs - register data buffer(s) for sending or receiving messages.

## SYNOPSIS

**#include \<rdma/rdma\_verbs.h\>**

**struct ibv\_mr \* rdma\_reg\_msgs** **(struct rdma\_cm\_id \****id***,** **void \****addr***,** **size\_t** *length***);**

## ARGUMENTS

- id

  A reference to a communication identifier where the message buffer(s) will be used.

- addr

  The address of the memory buffer(s) to register.

- length

  The total length of the memory to register.

## DESCRIPTION

Registers an array of memory buffers used for sending and receiving messages or for RDMA operations.  Memory buffers registered using rdma\_reg\_msgs may be posted to an rdma\_cm\_id using rdma\_post\_send or rdma\_post\_recv, or specified as the target of an RDMA read operation or the source of an RDMA write request.

## 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.

## NOTES

rdma\_reg\_msgs is used to register an array of data buffers that will be used send and/or receive messages 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 array is specified through the addr parameter, and the total size of the array is given by length.

All data buffers should be registered before being posted as a work request. Users must deregister all registered memory by calling rdma\_dereg\_mr.

## SEE ALSO

[rdma\_cm(7)](/rdma_cm/7.md), [rdma\_create\_id(3)](/rdma_create_id/3.md), [rdma\_create\_ep(3)](/rdma_create_ep/3.md), [rdma\_reg\_read(3)](/rdma_reg_read/3.md), [rdma\_reg\_write(3)](/rdma_reg_write/3.md), [ibv\_reg\_mr(3)](/ibv_reg_mr/3.md), [ibv\_dereg\_mr(3)](/ibv_dereg_mr/3.md), [rdma\_post\_send(3)](/rdma_post_send/3.md), [rdma\_post\_recv(3)](/rdma_post_recv/3.md), [rdma\_post\_read(3)](/rdma_post_read/3.md), [rdma\_post\_readv(3)](/rdma_post_readv/3.md), [rdma\_post\_write(3)](/rdma_post_write/3.md), [rdma\_post\_writev(3)](/rdma_post_writev/3.md)
