/*
 * Scan 'C' Header File
 * Written by Thomas Krehbiel
 *
 * Memory tracking
 *
 */

#ifndef SCAN_MEM_H


#include <exec/types.h>
#include <exec/memory.h>

/* Mem debug prototypes: */
void                       DInitMem (void);
void                       DCleanupMem (void);

#ifdef MEMDEBUG

#define AllocMem(s,t)      DAlloc((s),(t),__FILE__,NULL,__LINE__)
#define FreeMem(p,s)       DFree((p),(s),__FILE__,NULL,__LINE__)

#define AllocRaster(w,h)   DAlloc(RASSIZE((w),(h)),MEMF_CHIP|MEMF_PUBLIC,__FILE__,NULL,__LINE__)
#define FreeRaster(p,w,h)  DFree((p),RASSIZE((w),(h)),__FILE__,NULL,__LINE__)

#define InitMem()          DInitMem()
#define Alloc(s,t)         DAlloc((s),(t),__FILE__,NULL,__LINE__)
#define Free(p,s)          DFree((p),(s),__FILE__,NULL,__LINE__)
#define FreeAll()          DFreeAll()
#define CleanupMem()       DCleanupMem()

#else

#define Alloc(s,t)         AllocMem((s),(t))
#define Free(p,s)          FreeMem((p),(s))
#define InitMem()          { }
#define CleanupMem()       { }

#endif


#define SCAN_MEM_H
#endif
