12#ifndef __DEBUG_MEMORY_ALLOC__
13#define __DEBUG_MEMORY_ALLOC__
51typedef void *(*xmlReallocFunc)(
void *
mem,
size_t size);
61typedef char *(*xmlStrdupFunc)(
const char *
str);
73#ifdef LIBXML_THREAD_ALLOC_ENABLED
74 #define XML_GLOBALS_ALLOC \
75 XML_OP(xmlMalloc, xmlMallocFunc, XML_NO_ATTR) \
76 XML_OP(xmlMallocAtomic, xmlMallocFunc, XML_NO_ATTR) \
77 XML_OP(xmlRealloc, xmlReallocFunc, XML_NO_ATTR) \
78 XML_OP(xmlFree, xmlFreeFunc, XML_NO_ATTR) \
79 XML_OP(xmlMemStrdup, xmlStrdupFunc, XML_NO_ATTR)
80 #define XML_OP XML_DECLARE_GLOBAL
83 #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
84 #define xmlMalloc XML_GLOBAL_MACRO(xmlMalloc)
85 #define xmlMallocAtomic XML_GLOBAL_MACRO(xmlMallocAtomic)
86 #define xmlRealloc XML_GLOBAL_MACRO(xmlRealloc)
87 #define xmlFree XML_GLOBAL_MACRO(xmlFree)
88 #define xmlMemStrdup XML_GLOBAL_MACRO(xmlMemStrdup)
91 #define XML_GLOBALS_ALLOC
107 xmlMallocFunc mallocFunc,
112 xmlMallocFunc *mallocFunc,
117 xmlMallocFunc mallocFunc,
118 xmlMallocFunc mallocAtomicFunc,
123 xmlMallocFunc *mallocFunc,
124 xmlMallocFunc *mallocAtomicFunc,
177#ifdef DEBUG_MEMORY_LOCATION
186#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
196#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
206#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
215#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)
XMLPUBFUN char * xmlMemoryStrdup(const char *str)
void *(* xmlReallocFunc)(void *mem, size_t size)
XMLPUBFUN int xmlGcMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc, xmlMallocFunc mallocAtomicFunc, xmlReallocFunc reallocFunc, xmlStrdupFunc strdupFunc)
XMLPUBFUN int xmlGcMemGet(xmlFreeFunc *freeFunc, xmlMallocFunc *mallocFunc, xmlMallocFunc *mallocAtomicFunc, xmlReallocFunc *reallocFunc, xmlStrdupFunc *strdupFunc)
XMLPUBFUN void * xmlMallocAtomicLoc(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1)
XMLPUBFUN void xmlMemFree(void *ptr)
XMLPUBVAR xmlMallocFunc xmlMallocAtomic
XMLPUBVAR xmlStrdupFunc xmlMemStrdup
XMLPUBFUN char * xmlMemStrdupLoc(const char *str, const char *file, int line)
XMLPUBFUN void * xmlMemRealloc(void *ptr, size_t size)
XMLPUBFUN void xmlMemoryDump(void)
#define XML_GLOBALS_ALLOC
char *(* xmlStrdupFunc)(const char *str)
XMLPUBFUN int xmlMemGet(xmlFreeFunc *freeFunc, xmlMallocFunc *mallocFunc, xmlReallocFunc *reallocFunc, xmlStrdupFunc *strdupFunc)
XMLPUBFUN size_t xmlMemSize(void *ptr)
XMLPUBFUN void * xmlReallocLoc(void *ptr, size_t size, const char *file, int line)
XMLPUBVAR xmlMallocFunc xmlMalloc
XMLPUBFUN int xmlMemBlocks(void)
XMLPUBFUN void * xmlMemMalloc(size_t size) LIBXML_ATTR_ALLOC_SIZE(1)
XMLPUBFUN int xmlMemUsed(void)
XML_DEPRECATED XMLPUBFUN int xmlInitMemory(void)
void(* xmlFreeFunc)(void *mem)
XMLPUBFUN void xmlMemShow(FILE *fp, int nr)
XMLPUBFUN void * xmlMallocLoc(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1)
XMLPUBFUN int xmlMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc, xmlReallocFunc reallocFunc, xmlStrdupFunc strdupFunc)
void * LIBXML_ATTR_ALLOC_SIZE(1) *xmlMallocFunc)(size_t size)
XMLPUBVAR xmlFreeFunc xmlFree
XMLPUBFUN void xmlMemDisplayLast(FILE *fp, long nbBytes)
XMLPUBFUN void xmlMemDisplay(FILE *fp)
XMLPUBVAR xmlReallocFunc xmlRealloc
XML_DEPRECATED XMLPUBFUN void xmlCleanupMemory(void)