X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..4bd07ac2140668789aa3ee8ec4dde4a3e0a3bba5:/bsd/man/man2/mprotect.2?ds=inline diff --git a/bsd/man/man2/mprotect.2 b/bsd/man/man2/mprotect.2 index e92b2a69b..5c2df2a29 100644 --- a/bsd/man/man2/mprotect.2 +++ b/bsd/man/man2/mprotect.2 @@ -1,3 +1,26 @@ +.\" +.\" Copyright (c) 2008 Apple Inc. All rights reserved. +.\" +.\" @APPLE_LICENSE_HEADER_START@ +.\" +.\" This file contains Original Code and/or Modifications of Original Code +.\" as defined in and that are subject to the Apple Public Source License +.\" Version 2.0 (the 'License'). You may not use this file except in +.\" compliance with the License. Please obtain a copy of the License at +.\" http://www.opensource.apple.com/apsl/ and read it before using this +.\" file. +.\" +.\" The Original Code and all software distributed under the License are +.\" distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +.\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +.\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. +.\" Please see the License for the specific language governing rights and +.\" limitations under the License. +.\" +.\" @APPLE_LICENSE_HEADER_END@ +.\" +.\" .\" $NetBSD: mprotect.2,v 1.6 1995/10/12 15:41:08 jtc Exp $ .\" .\" Copyright (c) 1991, 1993 @@ -32,8 +55,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mprotect.2 8.1 (Berkeley) 6/9/93 +.\" $FreeBSD: src/lib/libc/sys/mprotect.2,v 1.18 2007/01/09 00:28:15 imp Exp $ .\" -.Dd June 9, 1993 +.Dd October 16, 2008 .Dt MPROTECT 2 .Os .Sh NAME @@ -53,8 +77,25 @@ The 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. +Not all implementations will guarantee protection on a page basis but Mac OS X's +current implementation does. +.Pp +When a program violates the protections of a page, it gets a SIGBUS or SIGSEGV signal. +.Pp +Currently +.Fa prot +can be one or more of the following: +.Pp +.Bl -tag -width ".Dv PROT_WRITE" -compact +.It Dv PROT_NONE +No permissions at all. +.It Dv PROT_READ +The pages can be read. +.It Dv PROT_WRITE +The pages can be written. +.It Dv PROT_EXEC +The pages can be executed. +.El .Sh RETURN VALUES Upon successful completion, a value of 0 is returned. @@ -77,7 +118,9 @@ on the specified address range. .\" =========== .It Bq Er EINVAL .Fa addr -is not a multiple of the page size. +is not a multiple of the page size (i.e. +.Fa addr +is not page-aligned). .\" =========== .\" .It Bq Er ENOMEM .\" The specified address range is outside of the address range