12 #ifndef __DEBUG_MEMORY_ALLOC__
13 #define __DEBUG_MEMORY_ALLOC__
16 #include <libxml/xmlversion.h>
41 #ifdef DEBUG_MEMORY_LOCATION
57 typedef void (XMLCALL *xmlFreeFunc)(
void *mem);
66 typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(
size_t size);
77 typedef
void *(XMLCALL *xmlReallocFunc)(
void *mem,
size_t size);
87 typedef
char *(XMLCALL *xmlStrdupFunc)(const
char *str);
103 XMLPUBFUN
int XMLCALL
104 xmlMemSetup (xmlFreeFunc freeFunc,
105 xmlMallocFunc mallocFunc,
106 xmlReallocFunc reallocFunc,
107 xmlStrdupFunc strdupFunc);
108 XMLPUBFUN
int XMLCALL
109 xmlMemGet (xmlFreeFunc *freeFunc,
110 xmlMallocFunc *mallocFunc,
111 xmlReallocFunc *reallocFunc,
112 xmlStrdupFunc *strdupFunc);
113 XMLPUBFUN
int XMLCALL
114 xmlGcMemSetup (xmlFreeFunc freeFunc,
115 xmlMallocFunc mallocFunc,
116 xmlMallocFunc mallocAtomicFunc,
117 xmlReallocFunc reallocFunc,
118 xmlStrdupFunc strdupFunc);
119 XMLPUBFUN
int XMLCALL
120 xmlGcMemGet (xmlFreeFunc *freeFunc,
121 xmlMallocFunc *mallocFunc,
122 xmlMallocFunc *mallocAtomicFunc,
123 xmlReallocFunc *reallocFunc,
124 xmlStrdupFunc *strdupFunc);
129 XMLPUBFUN
int XMLCALL
130 xmlInitMemory (
void);
135 XMLPUBFUN
void XMLCALL
136 xmlCleanupMemory (
void);
140 XMLPUBFUN
int XMLCALL
142 XMLPUBFUN
int XMLCALL
144 XMLPUBFUN
void XMLCALL
145 xmlMemDisplay (FILE *fp);
146 XMLPUBFUN
void XMLCALL
147 xmlMemDisplayLast(FILE *fp,
long nbBytes);
148 XMLPUBFUN
void XMLCALL
149 xmlMemShow (FILE *fp,
int nr);
150 XMLPUBFUN
void XMLCALL
151 xmlMemoryDump (
void);
152 XMLPUBFUN
void * XMLCALL
153 xmlMemMalloc (
size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
154 XMLPUBFUN
void * XMLCALL
155 xmlMemRealloc (
void *ptr,
size_t size);
156 XMLPUBFUN
void XMLCALL
157 xmlMemFree (
void *ptr);
158 XMLPUBFUN
char * XMLCALL
159 xmlMemoryStrdup (const
char *str);
160 XMLPUBFUN
void * XMLCALL
161 xmlMallocLoc (
size_t size, const
char *file,
int line) LIBXML_ATTR_ALLOC_SIZE(1);
162 XMLPUBFUN
void * XMLCALL
163 xmlReallocLoc (
void *ptr,
size_t size, const
char *file,
int line);
164 XMLPUBFUN
void * XMLCALL
165 xmlMallocAtomicLoc (
size_t size, const
char *file,
int line) LIBXML_ATTR_ALLOC_SIZE(1);
166 XMLPUBFUN
char * XMLCALL
167 xmlMemStrdupLoc (const
char *str, const
char *file,
int line);
170 #ifdef DEBUG_MEMORY_LOCATION
179 #define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
189 #define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
199 #define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
208 #define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)
216 #ifndef __XML_GLOBALS_H
217 #ifndef __XML_THREADS_H__
218 #include <libxml/threads.h>
219 #include <libxml/globals.h>