Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MPROTECT(2)		  FreeBSD System Calls Manual		   MPROTECT(2)

NAME
     mprotect -- control the protection	of pages

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/mman.h>

     int
     mprotect(void *addr, size_t len, int prot);

DESCRIPTION
     The 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	re-
     gion.  A region is	the virtual address space defined by the start and end
     addresses of a 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
     The mprotect() function returns the value 0 if successful;	otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     The mprotect() system call	will fail if:

     [EINVAL]		The virtual address range specified by the addr	and
			len arguments is not valid.

     [EACCES]		The calling process was	not allowed to change the pro-
			tection	to the value specified by the prot argument.

SEE ALSO
     madvise(2), mincore(2), msync(2), munmap(2)

HISTORY
     The mprotect() system call	first appeared in 4.4BSD.

FreeBSD	13.0			August 3, 2016			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mprotect&sektion=2&manpath=FreeBSD+12.0-RELEASE>

home | help