1()                         PMDK Programmer's Manual                         ()
2
3
4

NAME

6       pmem2_map_from_existing() - creates a pmem2_map object from an existing
7       mapping
8

SYNOPSIS

10              #include <libpmem2.h>
11
12              int pmem2_map_from_existing(struct pmem2_map **map, const struct pmem2_source *src,
13                  void *addr, size_t len, enum pmem2_granularity gran);
14

DESCRIPTION

16       The pmem2_map_from_existing() returns a new *struct pmem2_map for  map‐
17       ping  provided  by the user.  This function allows usage of libpmem2(7)
18       API without pmem2_map_new(3) for mapping file.  Mapping is  defined  by
19       addr and len.  You have to specify underlying file as a src, and define
20       granularity of this mapping.  See pmem2_config_set_required_store_gran‐
21       ularity(3) and libpmem2**(7) for more details.
22
23       For  the  pmem2_map  object  created  by the pmem2_map_from_existing(3)
24       function, the pmem2_map_delete(3) will only destroy the object, but  it
25       won’t unmap the mapping this object describes.
26

RETURN VALUE

28       The  pmem2_map_from_existing() function returns 0 when it succeeds or a
29       negative error code on failure.
30

ERRORS

32       The pmem2_map_from_existing() can fail with the following errors:
33
34       PMEM2_E_MAPPING_EXISTS - when contiguous region (addr, addr +  len)  is
35       already registered by libpmem2
36
37       It can also return -ENOMEM from the underlying malloc(2) function.
38

SEE ALSO

40       malloc(2),            pmem2_map_delete(3),            pmem2_map_new(3),
41       pmem2_source_from_fd(3), libpmem2(7) and <https://pmem.io>
42
43
44
45PMDK -                            2023-06-05                                ()
Impressum