NAME
vm_region - returns information about regions of a
task’s address space
SYNOPSIS
#include <mach.h>
kern_return_t
vm_region(target_task, address, size, protection,
max_protection,
inheritance, shared, object_name, offset)
vm_task_t target_task;
vm_address_t *address; /* in/out */
vm_size_t *size; /* out */
vm_prot_t *protection; /* out */
vm_prot_t *max_protection; /* out */
vm_inherit_t *inheritance; /* out */
boolean_t *shared; /* out */
port_t *object_name; /* out */
vm_offset_t *offset; /* out */
ARGUMENTS
target_task The task for which an address space description
is
requested.
address The address at which to start looking for a region.
size The size (in bytes) of the located region.
protection The current protection of the region.
max_protection The maximum allowable protection for this region.
inheritance The inheritance attribute for this region.
shared Is this region shared or not.
object_name The port identifying
the memory object associated
with this region. (See pager_init.)
offset The offset into the pager
object that this region
begins at.
DESCRIPTION
vm_region returns a description of the specified region of
the
target task’s virtual address space. vm_region begins
at address
and looks forward thru memory until it comes to an allocated
region. (If address is within a region, then that region is
used.)
Various bits of information about the region are returned.
If
address was not within a region, then address is set to the
start
of the first region which follows the incoming value. In
this way
an entire address space can be scanned.
DIAGNOSTICS
KERN_SUCCESS Region located and information returned.
KERN_NO_SPACE There is no region
at or above address in the
specified task.
SEE ALSO
vm_allocate(2), vm_deallocate(2), vm_protect(2),
vm_inherit(2)