| MPROTECT(2) | System Calls Manual | MPROTECT(2) | 
mprotect —
#include <sys/mman.h>
int
  
  mprotect(void
    *addr, size_t len,
    int prot);
mprotect system call changes the specified pages to
  have protection prot. Not all implementations will
  guarantee protection on a page basis; the granularity of protection changes
  may be as large as an entire region.
The protections (region accessibility) are specified in the prot argument by OR'ing the following values:
PROT_EXECPROT_READPROT_WRITEPROT_NONEEACCES]The PROT_EXEC flag was attempted on
        pages which belong to a file system mounted with the
        NOEXEC flag.
The new protection is less restrictive than the protection originally set with mmap(2).
PaX mprotect restrictions prohibit the requested protection.
EINVAL]ENOMEM]mprotect function first appeared in SunOS 4.0 and
  subsequently 4.4BSD.
| September 8, 2019 | NetBSD 10.0 |