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

Go to the source code of this file.

Macros

#define UMEM_DEFAULT   0x0000 /* normal -- may fail */
 
#define UMEM_NOFAIL   0x0100 /* Never fails -- may call exit(2) */
 
#define UMEM_FLAGS   0xffff /* all settable umem flags */
 
#define UMC_NOTOUCH   0x00010000
 
#define UMC_NODEBUG   0x00020000
 
#define UMC_NOMAGAZINE   0x00040000
 
#define UMC_NOHASH   0x00080000
 
#define UMEM_CALLBACK_RETRY   0
 
#define UMEM_CALLBACK_EXIT(status)   (0x100 | ((status) & 0xFF))
 

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)
 

Macro Definition Documentation

◆ UMC_NODEBUG

#define UMC_NODEBUG   0x00020000

Referenced by umem_cache_create().

◆ UMC_NOHASH

#define UMC_NOHASH   0x00080000

Referenced by umem_cache_create().

◆ UMC_NOMAGAZINE

#define UMC_NOMAGAZINE   0x00040000

Referenced by umem_cache_create().

◆ UMC_NOTOUCH

#define UMC_NOTOUCH   0x00010000

Flags for umem_cache_create()

Referenced by umem_cache_create(), and vmem_create().

◆ UMEM_CALLBACK_EXIT

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

◆ UMEM_CALLBACK_RETRY

#define UMEM_CALLBACK_RETRY   0

◆ UMEM_DEFAULT

#define UMEM_DEFAULT   0x0000 /* normal -- may fail */

◆ UMEM_FLAGS

#define UMEM_FLAGS   0xffff /* all settable umem flags */

◆ UMEM_NOFAIL

#define UMEM_NOFAIL   0x0100 /* Never fails -- may call exit(2) */

Typedef Documentation

◆ umem_cache_t

typedef struct umem_cache umem_cache_t

◆ umem_constructor_t

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

◆ umem_destructor_t

typedef void umem_destructor_t(void *, void *)

◆ umem_nofail_callback_t

typedef int umem_nofail_callback_t(void)

◆ umem_reclaim_t

typedef void umem_reclaim_t(void *)

Function Documentation

◆ umem_alloc()

void * umem_alloc ( size_t ,
int  )
extern

Referenced by main().

◆ umem_alloc_align()

void * umem_alloc_align ( size_t ,
size_t ,
int  )
extern

◆ umem_cache_alloc()

void * umem_cache_alloc ( umem_cache_t * ,
int  )
extern

◆ umem_cache_create()

umem_cache_t * umem_cache_create ( char * name,
size_t bufsize,
size_t align,
umem_constructor_t * constructor,
umem_destructor_t * destructor,
umem_reclaim_t * reclaim,
void * private,
vmem_t * vmp,
int cflags )
extern

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_max_ncpus, umem_maxverify, umem_minfirewall, umem_null_cache, umem_ready, UMEM_READY, UMEM_SECOND_ALIGN, UMEM_VOID_FRACTION, UMF_AUDIT, UMF_BUFTAG, UMF_DEADBEEF, UMF_DEBUG, UMF_FIREWALL, UMF_HASH, UMF_LITE, UMF_NOMAGAZINE, UMF_RANDOM, UMF_RANDOMIZE, UMF_REDZONE, VM_NOSLEEP, vmem::vm_qcache_max, vmem::vm_quantum, vmem_alloc(), vmem_xalloc(), and vmem_xfree().

Referenced by vmem_create().

◆ umem_cache_destroy()

void umem_cache_destroy ( umem_cache_t * cp)
extern

◆ umem_cache_free()

void umem_cache_free ( umem_cache_t * ,
void *  )
extern

◆ umem_free()

void umem_free ( void * ,
size_t  )
extern

Referenced by main().

◆ umem_free_align()

void umem_free_align ( void * ,
size_t  )
extern

◆ umem_nofail_callback()

void umem_nofail_callback ( umem_nofail_callback_t * cb)
extern

◆ umem_reap()

void umem_reap ( void )
extern

◆ umem_zalloc()

void * umem_zalloc ( size_t ,
int  )
extern