• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *	Copyright (c) 2004-2010 Alex Pankratov. All rights reserved.
3  *
4  *	Hierarchical memory allocator, 1.2.1
5  *	http://swapped.cc/halloc
6  */
7 
8 /*
9  *	The program is distributed under terms of BSD license.
10  *	You can obtain the copy of the license by visiting:
11  *
12  *	http://www.opensource.org/licenses/bsd-license.php
13  */
14 
15 #ifndef _LIBP_HALLOC_H_
16 #define _LIBP_HALLOC_H_
17 
18 #include <stddef.h>  /* size_t */
19 
20 /*
21  *	Core API
22  */
23 void * halloc (void * block, size_t len);
24 void   hattach(void * block, void * parent);
25 
26 /*
27  *	standard malloc/free api
28  */
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);
34 
35 /*
36  *	the underlying allocator
37  */
38 typedef void * (* realloc_t)(void * ptr, size_t len);
39 
40 extern realloc_t halloc_allocator;
41 
42 #endif
43 
44