1    | /*
2    |  * Copyright (c) 2007-2014, Lloyd Hilaiel <me@lloyd.io>
3    |  *
4    |  * Permission to use, copy, modify, and/or distribute this software for any
5    |  * purpose with or without fee is hereby granted, provided that the above
6    |  * copyright notice and this permission notice appear in all copies.
7    |  *
8    |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9    |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10   |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11   |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12   |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13   |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14   |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15   |  */
16   | 
17   | /**
18   |  * This is the common header used to declare a yajl_alloc_funcs object and to
19   |  * provide helper macros for calling the memory allocation routines set within
20   |  * such an object, as well as the prototype for the helper function which can be
21   |  * used to assign the default allocator functions to such an object.
22   |  **/
23   | 
24   | #ifndef __YAJL_ALLOC_H__
25   | #define __YAJL_ALLOC_H__
26   | 
27   | #include "yajl/yajl_common.h"
28   | 
29   | #define YA_MALLOC(afs, sz) (afs)->malloc((afs)->ctx, (sz))
30   | #define YA_FREE(afs, ptr) (afs)->free((afs)->ctx, (ptr))
31   | #define YA_REALLOC(afs, ptr, sz) (afs)->realloc((afs)->ctx, (ptr), (sz))
32   | 
33   | void yajl_set_default_alloc_funcs(yajl_alloc_funcs * yaf);
34   | 
35   | #endif