---
name: "rpma_mr_advise"
section: "3"
platform: "linux"
package: "librpma-dev"
version: "1.3.0-2+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rpma_mr_advise"
---

# rpma\_mr\_advise(3)

give advice about an address range in a memory registration

## NAME

**rpma\_mr\_advise** - give advice about an address range in a memory registration

## SYNOPSIS

```
      #include <librpma.h>
      struct rpma_mr_local *mr;
      int rpma_mr_advise(struct rpma_mr_local *mr, size_t offset, size_t len, int advice,
              uint32_t flags);
```

## DESCRIPTION

**rpma\_mr\_advise**() gives advice about an address range in a memory registration. The usage parameter specifies the operations that can be performed on the given memory address range. For available advice and flags values please see [**ibv\_advise\_mr**(3)](/ibv_advise_mr/3.md).

## RETURN VALUE

The **rpma\_mr\_advise**() function returns 0 on success or a negative error code on failure.

## ERRORS

**rpma\_mr\_advise**() can fail with the following errors:

- •

  RPMA\_E\_INVAL - in one of the following:

  - •

    the requested range is out of the memory registration bounds

  - •

    the memory registration usage does not allow the specific advice

  - •

    the flags are invalid

- •

  RPMA\_E\_NOSUPP - the operation is not supported by the system

- •

  RPMA\_E\_PROVIDER - **ibv\_mr\_advise**(3) failed for other errors

## SEE ALSO

[**rpma\_mr\_reg**(3)](/rpma_mr_reg/3.md), **ibv\_mr\_advise**(3), [**librpma**(7)](/librpma/7.md) and https://pmem.io/rpma/
