0 Indicates success.
-1 Indicates an error; errno is set to one of the
following values:
o EIO - An I/O error occurred while reading
from or writing to the file system.
o ENOMEM - The range specified by
[addr, addr + len] is invalid for a
process's address space, or the range
specifies one or more unmapped pages.
o EINVAL - The addr argument is not a
multiple of the page size as returned by
sysconf(_SC_PAGE_SIZE).
o EFAULT - The range [addr, addr + len]
includes an invalid address.