1 | /***************************************
2 | $Revision: 1.12 $
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,2000,2001,2002 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 | #ifdef __cplusplus
38 | extern "C" {
39 | #endif
40 |
41 | void UT_memory_log(int active);
42 |
43 | void *UT_malloc_real(size_t size, const char *file, int line);
44 | void *UT_calloc_real(size_t num, size_t size, const char *file, int line);
45 | void *UT_realloc_real(void *ptr, size_t size, const char *file, int line);
46 | void UT_free_real(void *ptr, const char *file, int line);
47 | char *UT_strdup_real(const char *str, const char *file, int line);
48 |
49 | #define UT_malloc(size) UT_malloc_real((size), __FILE__, __LINE__)
50 | #define UT_calloc(num,size) UT_calloc_real((num),(size), __FILE__, __LINE__)
51 | #define UT_realloc(ptr,size) UT_realloc_real((ptr),(size), __FILE__, __LINE__)
52 | #define UT_free(ptr) UT_free_real((ptr), __FILE__, __LINE__)
53 | #define UT_strdup(str) UT_strdup_real((str), __FILE__, __LINE__)
54 |
55 | void wr_log_set(int value);
56 |
57 | er_ret_t wr_real_malloc(void **ptr, size_t size, const char *file, int line);
58 | er_ret_t wr_real_calloc(void **ptr, size_t num, size_t size, const char *file,
59 | int line);
60 | er_ret_t wr_real_realloc(void **ptr, size_t size, const char *file, int line);
61 | er_ret_t wr_real_free(void *ptr, const char *file, int line) ;
62 | char *wr_real_string(const char *text, const char *file, int line);
63 |
64 | #define wr_malloc(a,b) wr_real_malloc((a),(b), __FILE__ ,__LINE__)
65 | #define wr_calloc(a,b,c) wr_real_calloc((a),(b),(c), __FILE__ ,__LINE__)
66 | #define wr_realloc(a,b) wr_real_realloc((a),(b), __FILE__ ,__LINE__)
67 | #define wr_free(a) wr_real_free((a), __FILE__ ,__LINE__)
68 | #define wr_string(s) wr_real_string((s), __FILE__, __LINE__)
69 |
70 | void wr_real_clear_list(GList **list, const char *file, int line);
71 |
72 | #define wr_clear_list(a) wr_real_clear_list(a, __FILE__ ,__LINE__)
73 |
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 |
78 | #endif /* _MEMWRAP_H */