2 * Copyright (c) 2004-2010 Alex Pankratov. All rights reserved.
4 * Hierarchical memory allocator, 1.2.1
5 * http://swapped.cc/halloc
9 * The program is distributed under terms of BSD license.
10 * You can obtain the copy of the license by visiting:
12 * http://www.opensource.org/licenses/bsd-license.php
15 #ifndef _LIBP_HALLOC_H_
16 #define _LIBP_HALLOC_H_
18 #include <stddef.h> /* size_t */
23 void * halloc (void * block
, size_t len
);
24 void hattach(void * block
, void * parent
);
27 * standard malloc/free api
29 void * h_malloc (size_t len
);
30 void * h_calloc (size_t n
, size_t len
);
31 void * h_realloc(void * p
, size_t len
);
32 void h_free (void * p
);
33 char * h_strdup (const char * str
);
36 * the underlying allocator
38 typedef void * (* realloc_t
)(void * ptr
, size_t len
);
40 extern realloc_t halloc_allocator
;