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