port_vmem.h File Reference


Detailed Description

Virtual memory support.

Functions to manipulate memory pages in virtual address space: reserve, de/commit, free, control size and access protection of pages.


Defines

#define PORT_VMEM_MODE_READ   0x1
 Enabling read access to the committed memory region.
#define PORT_VMEM_MODE_WRITE   0x2
 Enabling write access to the committed memory region.
#define PORT_VMEM_MODE_EXECUTE   0x4
 Enabling read access to the committed memory region.
#define PORT_VMEM_PAGESIZE_DEFAULT   0
 System default page size.
#define PORT_VMEM_PAGESIZE_LARGE   1
 Large page (if supported by system).

Typedefs

typedef port_vmem_t port_vmem_t
 Virtual memory block descriptor.

Functions

apr_status_t port_vmem_reserve (port_vmem_t **block, void **address, size_t amount, unsigned int protectionMode, size_t pageSize, apr_pool_t *pool)
 Reserves a continuous memory region in the virtual address space of the calling process.
apr_status_t port_vmem_commit (void **address, size_t amount, port_vmem_t *block)
 Commits (a part of) the previously reserved memory region.
apr_status_t port_vmem_decommit (void *address, size_t amount, port_vmem_t *block)
 Decommits the specified region of committed memory.
apr_status_t port_vmem_release (port_vmem_t *block)
 Releases previously reserved virtual memory region as a whole.
size_t * port_vmem_page_sizes ()
 Returns a zero-terminated array of supported memory page sizes.
size_t port_vmem_used_size ()
 Returns the amount of currently used memory in bytes or 0 if this value could not be calculated.
size_t port_vmem_committed_size ()
 Returns the amount of committed memory in bytes or 0 if this value could not be calculated.
size_t port_vmem_reserved_size ()
 Returns the amount of reserved memory in bytes or 0 if this value could not be calculated.
size_t port_vmem_max_size ()
 Returns the maximum amount of memory which could be reserved in bytes or 0 if this value could not be calculated.
apr_status_t port_vmem_allocate (void **addr, size_t size, unsigned int mode)
 Allocate memory with default page size.
apr_status_t port_vmem_free (void *addr, size_t size)
 Releases previously reserved virtual memory region as a whole.


Genereated on Tue Mar 11 19:25:42 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.