pmem2_source_from_fd - Man Page
creates or deletes an instance of persistent memory data source
Synopsis
#include <libpmem2.h> int pmem2_source_from_fd(struct pmem2_source *src, int fd); int pmem2_source_delete(struct pmem2_source **src);
Description
The pmem2_source_from_fd() function validates the file descriptor and instantiates a new *struct pmem2_source** object describing the data source.
fd must be opened with O_RDONLY or O_RDWR mode.
If fd is invalid, then the function fails.
The pmem2_source_delete() function frees *src returned by pmem2_source_from_fd() and sets *src to NULL. If *src is NULL, no operation is performed.
Return Value
The pmem2_source_from_fd() function return 0 on success or a negative error code on failure.
The pmem2_source_delete() function always returns 0.
Errors
The pmem2_source_from_fd() function can fail with the following errors:
- PMEM2_E_INVALID_FILE_HANDLE - fd is not an open and valid file descriptor.
- PMEM2_E_INVALID_FILE_HANDLE - fd is opened in O_WRONLY mode.
- PMEM2_E_INVALID_FILE_TYPE - fd points to a directory, block device, pipe, or socket.
- PMEM2_E_INVALID_FILE_TYPE - fd points to a character device other than Device DAX.
The pmem2_source_from_fd() function can also return -ENOMEM in case of insufficient memory to allocate an instance of struct pmem2_source.
See Also
errno(3), pmem2_map_new(3), libpmem2(7) and https://pmem.io\c
Referenced By
libpmem2(7), pmem2_map_from_existing(3), pmem2_map_new(3), pmem2_source_alignment(3), pmem2_source_numa_node(3), pmem2_source_pread_mcsafe(3).
The man page pmem2_source_delete(3) is an alias of pmem2_source_from_fd(3).