System Calls mprotect(2)
NAME
mprotect - set protection of memory mapping
SYNOPSIS
#include
int mprotect(void *addr, size_t len, int prot);
DESCRIPTION
The mprotect() function changes the access protections on
the mappings specified by the range [addr, addr + len), rounding len up to the next multiple of the page size asreturned by sysconf(3C), to be that specified by prot. Legi-
timate values for prot are the same as those permitted for mmap(2) and are defined inas: PROT_READ /* page can be read */
PROT_WRITE /* page can be written */
PROT_EXEC /* page can be executed */
PROT_NONE /* page can not be accessed */
When mprotect() fails for reasons other than EINVAL, the
protections on some of the pages in the range [addr, addr + len) may have been changed. If the error occurs on some page at addr2, then the protections of all whole pages in the range [addr, addr2] will have been modified.RETURN VALUES
Upon successful completion, mprotect() returns 0. Otherwise,
it returns -1 and sets errno to indicate the error.
ERRORS
The mprotect() function will fail if:
EACCES The prot argument specifies a protection that violates the access permission the process has to the underlying memory object. EINVAL The len argument has a value equal to 0, or addr is not a multiple of the page size as returned by sysconf(3C).SunOS 5.11 Last change: 12 Jan 1998 1
System Calls mprotect(2)
ENOMEM Addresses in the range [addr, addr + len) are invalid for the address space of a process, or specify one or more pages which are not mapped.The mprotect() function may fail if:
EAGAIN The address range [addr, addr + len) includes one or more pages that have been locked in memory andthat were mapped MAP_PRIVATE; prot includes
PROT_WRITE; and the system has insufficient
resources to reserve memory for the private pages that may be created. These private pages may becreated by store operations in the now-writable
address range.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Standard ||_____________________________|_____________________________|
SEE ALSO
mmap(2), plock(3C), mlock(3C), mlockall(3C), sysconf(3C), attributes(5), standards(5)SunOS 5.11 Last change: 12 Jan 1998 2