diff -r a54115d554f7 -r 86b19c98b5fd ucx/allocator.h --- a/ucx/allocator.h Fri Jun 21 11:18:24 2013 +0200 +++ b/ucx/allocator.h Thu Jul 11 17:32:48 2013 +0200 @@ -38,20 +38,26 @@ typedef void*(*ucx_allocator_malloc)(void *pool, size_t n); typedef void*(*ucx_allocator_calloc)(void *pool, size_t n, size_t size); typedef void*(*ucx_allocator_realloc)(void *pool, void *data, size_t n); +typedef void(*ucx_allocator_free)(void *pool, void *data); typedef struct { void *pool; - ucx_allocator_malloc malloc; - ucx_allocator_calloc calloc; + ucx_allocator_malloc malloc; + ucx_allocator_calloc calloc; ucx_allocator_realloc realloc; + ucx_allocator_free free; } UcxAllocator; +UcxAllocator *ucx_default_allocator(); + void *ucx_default_malloc(void *ignore, size_t n); void *ucx_default_calloc(void *ignore, size_t n, size_t size); void *ucx_default_realloc(void *ignore, void *data, size_t n); +void ucx_default_free(void *ignore, void *data); #define UCX_ALLOCATOR_DEFAULT {NULL, \ - ucx_default_malloc, ucx_default_calloc, ucx_default_realloc} + ucx_default_malloc, ucx_default_calloc, ucx_default_realloc, \ + ucx_default_free } #ifdef __cplusplus }