summaryrefslogtreecommitdiff
path: root/share/man/man9/vm_map_protect.9
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1996-03-11 13:04:54 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1996-03-11 13:04:54 +0000
commitf0c764329290ea18f307390b5dc1b03bddacb91c (patch)
tree7fa267aef5036fd666248db194426f80e76d8bd9 /share/man/man9/vm_map_protect.9
parent8bac3df8ddd2f4ae7dd7eb669a82db56e09d0968 (diff)
New pages for VM interface.
Introduction need to be expanded.
Diffstat (limited to 'share/man/man9/vm_map_protect.9')
-rw-r--r--share/man/man9/vm_map_protect.9103
1 files changed, 103 insertions, 0 deletions
diff --git a/share/man/man9/vm_map_protect.9 b/share/man/man9/vm_map_protect.9
new file mode 100644
index 00000000000..1dedcfc1ee9
--- /dev/null
+++ b/share/man/man9/vm_map_protect.9
@@ -0,0 +1,103 @@
+.\"
+.\" $OpenBSD: vm_map_protect.9,v 1.1 1996/03/11 13:04:53 mickey Exp $
+.\"
+.\" Mach Operating System
+.\" Copyright (c) 1991,1990 Carnegie Mellon University
+.\" All Rights Reserved.
+.\"
+.\" Permission to use, copy, modify and distribute this software and its
+.\" documentation is hereby granted, provided that both the copyright
+.\" notice and this permission notice appear in all copies of the
+.\" software, derivative works or modified versions, and any portions
+.\" thereof, and that both notices appear in supporting documentation.
+.\"
+.\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+.\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+.\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+.\"
+.\" Carnegie Mellon requests users of this software to return to
+.\"
+.\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+.\" School of Computer Science
+.\" Carnegie Mellon University
+.\" Pittsburgh PA 15213-3890
+.\"
+.\" any improvements or extensions that they make and grant Carnegie Mellon
+.\" the rights to redistribute these changes.
+.\"
+.TH vm_map_protect 9 9/19/93
+.CM 4
+.SH NAME
+.nf
+vm_map_protect \- change protection of memory
+.SH SYNOPSIS
+.nf
+.ft B
+#include <vm/vm_map.h>
+
+.nf
+.ft B
+int vm_map_protect(map, start, end, new_prot, set_max)
+ vm_map_t map;
+ vm_offset_t start, end;
+ vm_prot_t new_protection;
+ boolean_t set_maximum;
+
+
+.fi
+.ft P
+.SH ARGUMENTS
+.TP 15
+.B
+map
+Virtual memory map to be affected.
+.TP 15
+.B
+start
+Starting address (will be rounded down to a
+page boundary).
+.TP 15
+.B
+end
+Ending address (will be rounded down to a
+page boundary).
+.TP 15
+.B
+new_prot
+A new protection value for this region; a set of:
+\fBVM_PROT_READ\fR, \fBVM_PROT_WRITE\fR, \fBVM_PROT_EXECUTE\fR.
+.TP 15
+.B
+set_max
+If set, make the protection change apply to the
+maximum protection associated with this address range;
+otherwise, the current protection on this
+range is changed. If the maximum protection is reduced below the
+current protection, both will be changed to reflect the new maximum.
+
+.SH DESCRIPTION
+.B vm_map_protect
+sets the virtual memory access privileges for a
+range of allocated addresses in a task's virtual address space.
+The protection argument describes a combination of read, write,
+and execute accesses that should be \fBpermitted\fR.
+
+The enforcement of virtual memory protection is machine-dependent.
+Nominally read access requires VM_PROT_READ permission, write access
+requires VM_PROT_WRITE permission, and execute access requires
+VM_PROT_EXECUTE permission. However, some combinations of access
+rights may not be supported. In particular, the kernel interface
+allows write access to require VM_PROT_READ and VM_PROT_WRITE
+permission and execute access to require VM_PROT_READ permission.
+
+.SH DIAGNOSTICS
+.TP 25
+KERN_SUCCESS
+Memory protected.
+.TP 25
+KERN_PROTECTION_FAILURE
+An attempt was made to increase the current
+or maximum protection beyond the existing maximum protection value.
+.TP 25
+KERN_INVALID_ADDRESS
+Illegal or non-allocated address specified.