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 */