umem  1.0.1
Macros | Typedefs | Functions
vmem.h File Reference
#include <sys/types.h>

Go to the source code of this file.

Macros

#define VM_SLEEP   0x00000000 /* same as KM_SLEEP */
 
#define VM_NOSLEEP   0x00000001 /* same as KM_NOSLEEP */
 
#define VM_PANIC   0x00000002 /* same as KM_PANIC */
 
#define VM_PUSHPAGE   0x00000004 /* same as KM_PUSHPAGE */
 
#define VM_KMFLAGS   0x000000ff /* flags that must match KM_* flags */
 
#define VM_BESTFIT   0x00000100
 
#define VM_FIRSTFIT   0x00000200
 
#define VM_NEXTFIT   0x00000400
 
#define VM_MEMLOAD   0x00000800
 
#define VM_NORELOC   0x00001000
 
#define VM_ABORT   0x00002000
 
#define VM_FLAGS   0x0000FFFF
 
#define VMC_POPULATOR   0x00010000
 
#define VMC_NO_QCACHE   0x00020000 /* cannot use quantum caches */
 
#define VMC_IDENTIFIER   0x00040000 /* not backed by memory */
 
#define VMC_XALLOC   0x00080000
 
#define VMC_FLAGS   0xFFFF0000
 
#define VMEM_ALLOC   0x01
 
#define VMEM_FREE   0x02
 
#define VMEM_SPAN   0x10
 
#define VMEM_ROTOR   0x20
 
#define VMEM_WALKER   0x40
 
#define VMEM_REENTRANT   0x80000000
 

Typedefs

typedef struct vmem vmem_t
 
typedef void *( vmem_alloc_t) (vmem_t *, size_t, int)
 
typedef void( vmem_free_t) (vmem_t *, void *, size_t)
 
typedef void *( vmem_ximport_t) (vmem_t *, size_t *, int)
 

Functions

vmem_tvmem_create (const char *, void *, size_t, size_t, vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int)
 
vmem_tvmem_xcreate (const char *, void *, size_t, size_t, vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int)
 
void vmem_destroy (vmem_t *)
 
void * vmem_alloc (vmem_t *, size_t, int)
 
void * vmem_xalloc (vmem_t *, size_t, size_t, size_t, size_t, void *, void *, int)
 
void vmem_free (vmem_t *, void *, size_t)
 
void vmem_xfree (vmem_t *, void *, size_t)
 
void * vmem_add (vmem_t *, void *, size_t, int)
 
int vmem_contains (vmem_t *, void *, size_t)
 
void vmem_walk (vmem_t *, int, void(*)(void *, void *, size_t), void *)
 
size_t vmem_size (vmem_t *, int)
 

Macro Definition Documentation

#define VM_ABORT   0x00002000
#define VM_BESTFIT   0x00000100

Referenced by vmem_alloc(), vmem_init(), and vmem_xalloc().

#define VM_FIRSTFIT   0x00000200

Referenced by vmem_alloc(), and vmem_xalloc().

#define VM_FLAGS   0x0000FFFF
#define VM_KMFLAGS   0x000000ff /* flags that must match KM_* flags */
#define VM_MEMLOAD   0x00000800
#define VM_NEXTFIT   0x00000400

Referenced by vmem_alloc().

#define VM_NORELOC   0x00001000
#define VM_NOSLEEP   0x00000001 /* same as KM_NOSLEEP */
#define VM_PANIC   0x00000002 /* same as KM_PANIC */
#define VM_PUSHPAGE   0x00000004 /* same as KM_PUSHPAGE */
#define VM_SLEEP   0x00000000 /* same as KM_SLEEP */

Referenced by vmem_init().

#define VMC_FLAGS   0xFFFF0000
#define VMC_IDENTIFIER   0x00040000 /* not backed by memory */
#define VMC_NO_QCACHE   0x00020000 /* cannot use quantum caches */
#define VMC_POPULATOR   0x00010000

Referenced by vmem_create(), and vmem_init().

#define VMC_XALLOC   0x00080000
#define VMEM_ALLOC   0x01

Referenced by vmem_destroy(), and vmem_size().

#define VMEM_FREE   0x02

Referenced by vmem_size(), vmem_xalloc(), and vmem_xfree().

#define VMEM_REENTRANT   0x80000000

Referenced by vmem_walk().

#define VMEM_ROTOR   0x20

Referenced by vmem_create().

#define VMEM_SPAN   0x10
#define VMEM_WALKER   0x40

Referenced by vmem_walk().

Typedef Documentation

typedef void*( vmem_alloc_t) (vmem_t *, size_t, int)
typedef void( vmem_free_t) (vmem_t *, void *, size_t)
typedef struct vmem vmem_t
typedef void*( vmem_ximport_t) (vmem_t *, size_t *, int)

Function Documentation

void* vmem_add ( vmem_t ,
void *  ,
size_t  ,
int   
)
void* vmem_alloc ( vmem_t ,
size_t  ,
int   
)
int vmem_contains ( vmem_t ,
void *  ,
size_t   
)
vmem_t* vmem_create ( const char *  ,
void *  ,
size_t  ,
size_t  ,
vmem_alloc_t ,
vmem_free_t ,
vmem_t ,
size_t  ,
int   
)
void vmem_destroy ( vmem_t )
void vmem_free ( vmem_t ,
void *  ,
size_t   
)
size_t vmem_size ( vmem_t ,
int   
)
void vmem_walk ( vmem_t ,
int  ,
void(*)(void *, void *, size_t)  ,
void *   
)
void* vmem_xalloc ( vmem_t ,
size_t  ,
size_t  ,
size_t  ,
size_t  ,
void *  ,
void *  ,
int   
)
vmem_t* vmem_xcreate ( const char *  ,
void *  ,
size_t  ,
size_t  ,
vmem_ximport_t ,
vmem_free_t ,
vmem_t ,
size_t  ,
int   
)
void vmem_xfree ( vmem_t ,
void *  ,
size_t   
)