MPROTECT(2) OpenBSD Programmer's Manual MPROTECT(2)NAMEmprotect - control the protection of pages
SYNOPSIS
#include <sys/types.h>
#include <sys/mman.h>
int
mprotect(void *addr, size_t len, int prot);
DESCRIPTION
The mprotect() system call sets the access protections for the pages that
contain the address range addr through addr + len - 1 (inclusive). If
len is 0, no action is taken on the page that contains addr.
Not all implementations will guarantee protection on a page basis; the
granularity of protection changes may be as large as an entire region.
Nor will all implementations guarantee to give exactly the requested
permissions; more permissions may be granted than requested by prot.
The protections (region accessibility) are specified in the prot argument
by OR'ing the following values:
PROT_EXEC Pages may be executed.
PROT_READ Pages may be read.
PROT_WRITE Pages may be written.
PROT_NONE No permissions.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
SEE ALSOmadvise(2), mincore(2), msync(2), munmap(2)HISTORY
The mprotect() function first appeared in 4.4BSD.
CAVEATS
The OpenBSD implementation of mprotect() does not require addr to be
page-aligned, although other implementations may.
OpenBSD 4.9 February 12, 2010 OpenBSD 4.9