mprotect (2)
Leading comments
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...
NAME
mprotect - control the protection of pagesLIBRARY
Lb libcSYNOPSIS
In sys/mman.h Ft int Fn mprotect const void *addr size_t len int protDESCRIPTION
The 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:
- PROT_NONE
- No permissions at all.
- PROT_READ
- The pages can be read.
- PROT_WRITE
- The pages can be written.
- PROT_EXEC
- The pages can be executed.
RETURN VALUES
Rv -std mprotectERRORS
The 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.