ucx/allocator.h

Fri, 30 Nov 2012 21:18:13 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Fri, 30 Nov 2012 21:18:13 +0100
changeset 1
1bcaac272cdf
child 5
88625853ae74
permissions
-rw-r--r--

added existing source code

#ifndef ALLOCATOR_H
#define	ALLOCATOR_H

#include "ucx.h"

#ifdef	__cplusplus
extern "C" {
#endif

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 struct {
    void *pool;
    ucx_allocator_malloc malloc;
    ucx_allocator_calloc calloc;
    ucx_allocator_realloc realloc;
} UcxAllocator;

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);

#define UCX_ALLOCATOR_DEFAULT {NULL, \
        ucx_default_malloc, ucx_default_calloc, ucx_default_realloc}

#ifdef	__cplusplus
}
#endif

#endif	/* ALLOCATOR_H */

mercurial