mmap ==== :title: Shellcode Compiler Runtime --------------------------------------------- void* mmap(void* addr, size_t len, int prot, int flags, int fd, uint64_t offset); --------------------------------------------- Maps a block of memory of `len` bytes with page protection `prot`. If `addr` is `NULL`, the system automatically picks a free virtual address. If `addr` is not `NULL`, the provided address is mapped (existing mappings will be overridden). The protection flags in `prot` can include one or more of `PROT_READ`, `PROT_WRITE`, and `PROT_EXEC`. The `flags` parameter must contain one of `MAP_SHARED` or `MAP_PRIVATE`. Additional flags include `MAP_ANONYMOUS`, which maps a region backed by RAM instead of a file. The `fd` parameter should be `-1` when mapping anonymous pages. If the region is to be backed by a file, the `fd` and `offset` parameters specify the file handle and offset within the file of the beginning of the mapping. Returns a pointer to the mapped region. See also -------- link:munmap.html[munmap]