MPROTECT(2) | System Calls Manual | MPROTECT(2) |
mprotect
— control
the protection of pages
#include
<sys/mman.h>
int
mprotect
(void *addr,
size_t len, int prot);
The
mprotect
()
system call changes the specified pages to have protection
prot. Not all implementations will guarantee
protection on a page basis but Mac OS X's current implementation does.
When a program violates the protections of a page, it gets a SIGBUS or SIGSEGV signal.
Currently prot can be one or more of the following:
PROT_NONE
PROT_READ
PROT_WRITE
PROT_EXEC
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.
mprotect
() will fail if:
EACCES
]EINVAL
]ENOMEM
]ENOTSUP
]#include
<sys/types.h>
#include
<sys/mman.h>
The include file
<sys/types.h>
is
necessary.
int
mprotect
(caddr_t
addr, size_t len, int
prot);;
The type of addr has changed.
The mprotect
() function first appeared in
4.4BSD.
October 16, 2008 | macOS 14.6 |