src/server/ucx/allocator.h

Tue, 19 Mar 2013 17:38:32 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 19 Mar 2013 17:38:32 +0100
changeset 58
66c22e54aa90
parent 36
450d2d5f4735
child 71
069c152f6272
permissions
-rw-r--r--

webdav uses the vfs api

#ifndef ALLOCATOR_H
#define	ALLOCATOR_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