+.\"
+.\" 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
.\" 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
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.
.\" ===========
.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