Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / libvpx / source / libvpx / third_party / nestegg / halloc / halloc.h
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