---
name: "pmem2_config_set_offset"
section: "3"
platform: "linux"
package: "libpmem2-dev"
version: "1.13.1-1.1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pmem2_config_set_offset"
---

# pmem2\_config\_set\_offset(3)

set offset in the pmem2\_config structure

## NAME

**pmem2\_config\_set\_offset**() - set offset in the pmem2\_config structure

## SYNOPSIS

-

  ```
  #include <libpmem2.h>
  struct pmem2_config;
  int pmem2_config_set_offset(struct pmem2_config *config, size_t offset);
  ```

## DESCRIPTION

The **pmem2\_config\_set\_offset**() function configures the offset which will be used to map the contents from the specified location of the source. *\*config* should be already initialized, please see [**pmem2\_config\_new**(3)](/pmem2_config_new/3.md) for details. The *must be a multiple of the alignment required for the config.* *The alignment requirements are specific to a data source. To retrieve* *the alignment required for specific instance of* pmem2\_source\*\* use [**pmem2\_source\_alignment**(3)](/pmem2_source_alignment/3.md). By default, the offset is 0.

## RETURN VALUE

The **pmem2\_config\_set\_offset**() function returns 0 on success or a negative error code on failure.

## ERRORS

The **pmem2\_config\_set\_offset**() can fail with the following errors:

- •

  **PMEM2\_E\_OFFSET\_OUT\_OF\_RANGE** - argument out of range, offset is greater than **INT64\_MAX**

## SEE ALSO

[**libpmem2**(7)](/libpmem2/7.md), [**pmem2\_source\_alignment**(3)](/pmem2_source_alignment/3.md), [**pmem2\_config\_new**(3)](/pmem2_config_new/3.md), [**pmem2\_map\_new**(3)](/pmem2_map_new/3.md), [**sysconf**(3)](/sysconf/3.md) and **\<https://pmem.io\>**
