---
name: "mmap_readat"
section: "3"
platform: "linux"
package: "libowfat-dev"
version: "0.32-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mmap_readat"
---

# mmap\_readat(3)

memory map a file for reading

## NAME

mmap\_readat - memory map a file for reading

## SYNTAX

**#include \<libowfat/mmap.h\>**

const char\* **mmap\_readat**(const char\* *filename*,size\_t\* *filesize*,int *dirfd*);

## DESCRIPTION

mmap\_readat opens *filename* for reading, maps the whole file into memory, closes the file, writes the length of the file to *filesize* and returns a pointer to the mapped file.

If *filename* is a relative path and *dirfd* is not AT\_FDCWD (defined in fcntl.h), *filename* is interpreted relative to *dirfd*, which must be an open directory.

The file is unmapped by the operating system if the process terminates. It can also be manually unmapped by calling **munmap** from \<sys/mman.h\>.

If the file could not be opened or mapped, (void\*)0 is returned.

## SEE ALSO

[mmap\_unmap(3)](/mmap_unmap/3.md)
