1 | /*************************************** 2 | $Revision: 1.10 $ 3 | 4 | Utilities (ut). memwrap.h - header file for memory allocation wrappers. 5 | 6 | Status: NOT REVUED, TESTED, 7 | 8 | Design and implementation by: Marek Bukowy 9 | 10 | ******************/ /****************** 11 | Copyright (c) 1999 RIPE NCC 12 | 13 | All Rights Reserved 14 | 15 | Permission to use, copy, modify, and distribute this software and its 16 | documentation for any purpose and without fee is hereby granted, 17 | provided that the above copyright notice appear in all copies and that 18 | both that copyright notice and this permission notice appear in 19 | supporting documentation, and that the name of the author not be 20 | used in advertising or publicity pertaining to distribution of the 21 | software without specific, written prior permission. 22 | 23 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 24 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL 25 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 26 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 27 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 28 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 29 | ***************************************/ 30 | 31 | #ifndef _MEMWRAP_H 32 | #define _MEMWRAP_H 33 | 34 | #include <erroutines.h> 35 | #include <glib.h> 36 | 37 | void UT_memory_log(int active); 38 | 39 | void *UT_malloc_real(size_t size, const char *file, int line); 40 | void *UT_calloc_real(size_t num, size_t size, const char *file, int line); 41 | void *UT_realloc_real(void *ptr, size_t size, const char *file, int line); 42 | void UT_free_real(void *ptr, const char *file, int line); 43 | char *UT_strdup_real(const char *str, const char *file, int line); 44 | 45 | #define UT_malloc(size) UT_malloc_real((size), __FILE__, __LINE__) 46 | #define UT_calloc(num,size) UT_calloc_real((num),(size), __FILE__, __LINE__) 47 | #define UT_realloc(ptr,size) UT_realloc_real((ptr),(size), __FILE__, __LINE__) 48 | #define UT_free(ptr) UT_free_real((ptr), __FILE__, __LINE__) 49 | #define UT_strdup(str) UT_strdup_real((str), __FILE__, __LINE__) 50 | 51 | void wr_log_set(int value); 52 | 53 | er_ret_t wr_real_malloc(void **ptr, size_t size, const char *file, int line); 54 | er_ret_t wr_real_calloc(void **ptr, size_t num, size_t size, const char *file, 55 | int line); 56 | er_ret_t wr_real_realloc(void **ptr, size_t size, const char *file, int line); 57 | er_ret_t wr_real_free(void *ptr, const char *file, int line) ; 58 | char *wr_real_string(const char *text, const char *file, int line); 59 | 60 | #define wr_malloc(a,b) wr_real_malloc((a),(b), __FILE__ ,__LINE__) 61 | #define wr_calloc(a,b,c) wr_real_calloc((a),(b),(c), __FILE__ ,__LINE__) 62 | #define wr_realloc(a,b) wr_real_realloc((a),(b), __FILE__ ,__LINE__) 63 | #define wr_free(a) wr_real_free((a), __FILE__ ,__LINE__) 64 | #define wr_string(s) wr_real_string((s), __FILE__, __LINE__) 65 | 66 | void wr_real_clear_list(GList **list, const char *file, int line); 67 | 68 | #define wr_clear_list(a) wr_real_clear_list(a, __FILE__ ,__LINE__) 69 | 70 | #endif /* _MEMWRAP_H */