1#ifndef DMMEMORY_H 2#define DMMEMORY_H 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7/************** HEADER FILE INCLUDES *****************************************/ 8 9#include "xpl_Types.h" 10#include "dmStringUtil.h" 11 12 13#define DmAllocMem(bufsize) DmAllocMemEx(bufsize,__FILE__,__LINE__) 14#define DmFreeMem(buf) { DmFreeMemEx(buf,__FILE__,__LINE__); (buf) = NULL; } 15 16void * DmAllocMemEx(UINT32 bufsize, CPCHAR szFile, int nLine ); 17void DmFreeMemEx(void *ptr, CPCHAR szFile, int nLine); 18void* DmReallocMem( void* ptr, int nSize ); 19 20/* Low memory helpers */ 21int DmGetMemFailedFlag( void ); 22void DmResetMemFailedFlag( void ); 23 24#ifdef DM_MEMORY_STATISTICS_ENABLED 25 26#define DM_MEMORY_STATISTICS_WRITE(header) DmMemoryStatisticsWrite(header) 27void DmMemoryStatisticsWrite(const char* header); 28 29#define DM_MEMORY_STATISTICS_REPORT_LEAKS DmMemoryStatisticsReportLeaks(); 30void DmMemoryStatisticsReportLeaks( void ); 31 32#else /*DM_MEMORY_STATISTICS_ENABLED*/ 33 34#define DM_MEMORY_STATISTICS_WRITE(header) 35#define DM_MEMORY_STATISTICS_REPORT_LEAKS 36 37#endif /*DM_MEMORY_STATISTICS_ENABLED*/ 38 39#ifdef __cplusplus 40} 41#endif 42#endif /* DMMEMORY_H */ 43 44