VM_MAP_FINDSPACE(9)

NAME
vm_map_findspace - find a free region within a map

SYNOPSIS
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
vm_map_findspace(vm_map_t map, vm_offset_t start, vm_size_t length, vm_size_t align, int flags, vm_offset_t *addr);

DESCRIPTION
The vm_map_findspace() function attempts to find a region with sufficient space in the map for an object of size length at the address addr with the alignment align. The flags parameter can be:

MAP_STACK
    The space returned is for stack regions and can intersect the stack address space.

IMPLEMENTATION NOTES
It is the caller's responsibility to obtain a lock on the map before calling this function.

This routine may call pmap_growkernel() to grow the kernel's address space, if and only if the mapping is being made within the kernel address space, and if insufficient space remains in the kernel_map.

RETURN VALUES
The vm_map_findspace() function returns the value 0 if successful, and *addr will contain the first virtual address in the found region; otherwise, the value 1 is returned.

AUTHORS
This manual page was written by Bruce M Simpson <bms@spc.org>.