char* mmap_private(const char* filename,size_t* filesize);
mmap_private opens filename for reading and writing, 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.
The file is mapped copy-on-write. Changes done to the mapped region will not be written to disk.
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.