/* Resource tracking routines, by Karl Lehenbauer Lattice version by David Gay. This code is in the public domain */ #ifdef DEBUG /* tracking macros to use tracker routines */ #define AllocMem(x,y) TrackingAllocMem((x),(y),__FILE__,__LINE__) #define FreeMem(x,y) TrackingFreeMem((x),(y),__FILE__,__LINE__) #define AllocSignal(x) TrackingAllocSignal((x),__FILE__,__LINE__) #define FreeSignal(x) TrackingFreeSignal((x),__FILE__,__LINE__); #define Lock(x,y) TheTrackingLock((x),(y),__FILE__,__LINE__); #define UnLock(x) TheTrackingUnLock((x),__FILE__,__LINE__); #define DupLock(x) TheTrackingDupLock((x),__FILE__,__LINE__); #define ParentDir(x) TheTrackingParentDir((x),__FILE__,__LINE__); void *TrackingAllocMem(long amount, long flags, char *file, int line); void TrackingFreeMem(void *where, long amount, char *file, int line); long TrackingAllocSignal(long signal_num, char *file, int line); void TrackingFreeSignal(long signal_num, char *file, int line); void *TrackingAllocRaster(); void TrackingFreeRaster(); BPTR TheTrackingLock(char *name, long accessMode, char *file, int line); BPTR TheTrackingDupLock(BPTR lock, char *file, int line); void TheTrackingUnLock(BPTR lock, char *file, int line); BPTR TheTrackingParentDir(BPTR lock, char *file, int line); void TrackerExitReport(void); #endif