Copyright (c) 1991, 1993 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following...
NAMEmprotect - control the protection of pages
SYNOPSISIn sys/mman.h Ft int Fn mprotect const void *addr size_t len int prot
DESCRIPTIONThe Fn mprotect system call changes the specified pages to have protection Fa prot . Not all implementations will guarantee protection on a page basis; the granularity of protection changes may be as large as an entire region. A region is the virtual address space defined by the start and end addresses of a Vt struct vm_map_entry .
Currently these protection bits are known, which can be combined, OR'd together:
- No permissions at all.
- The pages can be read.
- The pages can be written.
- The pages can be executed.
RETURN VALUESRv -std mprotect
ERRORSThe Fn mprotect system call will fail if:
- Bq Er EINVAL
- The virtual address range specified by the Fa addr and Fa len arguments is not valid.
- Bq Er EACCES
- The calling process was not allowed to change the protection to the value specified by the Fa prot argument.