umem.h File Reference

#include <sys/types.h>
#include <sys/vmem.h>
#include <stdlib.h>

Go to the source code of this file.

Defines

#define UMEM_DEFAULT   0x0000
#define UMEM_NOFAIL   0x0100
#define UMEM_FLAGS   0xffff
#define UMEM_CALLBACK_RETRY   0
#define UMEM_CALLBACK_EXIT(status)   (0x100 | ((status) & 0xFF))
#define UMC_NOTOUCH   0x00010000
#define UMC_NODEBUG   0x00020000
#define UMC_NOMAGAZINE   0x00040000
#define UMC_NOHASH   0x00080000

Typedefs

typedef struct umem_cache umem_cache_t
typedef int umem_constructor_t (void *, void *, int)
typedef void umem_destructor_t (void *, void *)
typedef void umem_reclaim_t (void *)
typedef int umem_nofail_callback_t (void)

Functions

void * umem_alloc (size_t, int)
void * umem_alloc_align (size_t, size_t, int)
void * umem_zalloc (size_t, int)
void umem_free (void *, size_t)
void umem_free_align (void *, size_t)
void umem_nofail_callback (umem_nofail_callback_t *)
umem_cache_tumem_cache_create (char *, size_t, size_t, umem_constructor_t *, umem_destructor_t *, umem_reclaim_t *, void *, vmem_t *, int)
void umem_cache_destroy (umem_cache_t *)
void * umem_cache_alloc (umem_cache_t *, int)
void umem_cache_free (umem_cache_t *, void *)
void umem_reap (void)


Define Documentation

#define UMC_NODEBUG   0x00020000

Referenced by umem_cache_create().

#define UMC_NOHASH   0x00080000

Referenced by umem_cache_create().

#define UMC_NOMAGAZINE   0x00040000

Referenced by umem_cache_create().

#define UMC_NOTOUCH   0x00010000

Flags for umem_cache_create()

Referenced by umem_cache_create(), and vmem_create().

#define UMEM_CALLBACK_EXIT ( status   )     (0x100 | ((status) & 0xFF))

#define UMEM_CALLBACK_RETRY   0

#define UMEM_DEFAULT   0x0000

#define UMEM_FLAGS   0xffff

#define UMEM_NOFAIL   0x0100


Typedef Documentation

typedef struct umem_cache umem_cache_t

typedef int umem_constructor_t(void *, void *, int)

typedef void umem_destructor_t(void *, void *)

typedef int umem_nofail_callback_t(void)

typedef void umem_reclaim_t(void *)


Function Documentation

void* umem_alloc ( size_t  ,
int   
)

Referenced by main().

void* umem_alloc_align ( size_t  ,
size_t  ,
int   
)

void* umem_cache_alloc ( umem_cache_t ,
int   
)

umem_cache_t* umem_cache_create ( char *  ,
size_t  ,
size_t  ,
umem_constructor_t ,
umem_destructor_t ,
umem_reclaim_t ,
void *  ,
vmem_t ,
int   
)

References ASSERT, umem_cache::cache_align, umem_cache::cache_arena, umem_cache::cache_bufctl, umem_cache::cache_bufctl_cache, umem_cache::cache_bufsize, umem_cache::cache_buftag, umem_cache::cache_cflags, umem_cache::cache_chunksize, umem_cache::cache_color, umem_cache::cache_constructor, umem_cache::cache_contents, umem_cache::cache_cpu, umem_cache::cache_cpu_mask, umem_cache::cache_depot_lock, umem_cache::cache_destructor, umem_cache::cache_flags, umem_cache::cache_freelist, umem_cache::cache_hash_mask, umem_cache::cache_hash_shift, umem_cache::cache_hash_table, umem_cache::cache_lock, umem_cache::cache_magtype, umem_cache::cache_maxcolor, umem_cache::cache_mincolor, umem_cache::cache_name, umem_cache::cache_next, umem_cache::cache_nullslab, umem_cache::cache_prev, umem_cache::cache_private, umem_cache::cache_reclaim, umem_cache::cache_slabsize, umem_cache::cache_verify, umem_cpu_cache::cc_flags, umem_cpu_cache::cc_lock, umem_cpu_cache::cc_prounds, umem_cpu_cache::cc_rounds, highbit(), MAX, MIN, umem_magtype::mt_minbuf, mutex_destroy, mutex_init, mutex_lock, mutex_unlock, P2NPHASE, P2PHASE, P2ROUNDUP, umem_slab::slab_cache, umem_slab::slab_next, umem_slab::slab_prev, umem_slab::slab_refcnt, thr_self, UMC_INTERNAL, UMC_NODEBUG, UMC_NOHASH, UMC_NOMAGAZINE, UMC_NOTOUCH, UMC_QCACHE, UMEM_ALIGN, umem_cache_lock, UMEM_CACHE_SIZE, umem_content_maxsave, UMEM_CPU_CACHE_SIZE, umem_flags, umem_flags_lock, UMEM_HASH_INITIAL, umem_init(), umem_init_thr, umem_lite_maxalign, umem_lite_minsize, umem_maxverify, umem_minfirewall, UMEM_READY, umem_ready, UMEM_SECOND_ALIGN, UMEM_VOID_FRACTION, UMF_AUDIT, UMF_DEADBEEF, UMF_DEBUG, UMF_FIREWALL, UMF_LITE, UMF_NOMAGAZINE, UMF_RANDOM, UMF_RANDOMIZE, UMF_REDZONE, UMF_TOUCH, VM_NOSLEEP, vmem::vm_qcache_max, vmem::vm_quantum, vmem_alloc(), vmem_xalloc(), and vmem_xfree().

Referenced by vmem_create().

void umem_cache_destroy ( umem_cache_t  ) 

void umem_cache_free ( umem_cache_t ,
void *   
)

void umem_free ( void *  ,
size_t   
)

Referenced by main().

void umem_free_align ( void *  ,
size_t   
)

void umem_nofail_callback ( umem_nofail_callback_t  ) 

void umem_reap ( void   ) 

void* umem_zalloc ( size_t  ,
int   
)


Generated on Wed Jul 30 10:33:56 2008 for umem by  doxygen 1.5.6