/* * $Id: pools.h 1.8 1998/04/16 09:42:14 olsen Exp olsen $ * * :ts=4 * * Wipeout -- Traces and munges memory and detects memory trashing * * Written by Olaf `Olsen' Barthel * Public Domain */ #ifndef _POOLS_H #define _POOLS_H 1 /****************************************************************************/ struct PoolHeader { struct MinNode ph_MinNode; /* for tracking pools */ APTR ph_PoolHeader; /* regular memory pool header */ ULONG ph_Attributes; /* memory allocation attributes */ struct timeval ph_Time; /* when this pool was created */ ULONG ph_PC; /* return address of the creator */ struct MinList ph_Puddles; /* list of all puddles in this pool */ struct Task * ph_Owner; /* address of the creator */ LONG ph_OwnerType; /* type of the creator (task,process, CLI program) */ LONG ph_NameTagLen; /* length of the name tag header */ struct SignalSemaphore ph_SignalSemaphore; /* to track whether there are different tasks accessing the pool without locking */ UWORD ph_Pad; struct Task * ph_PoolOwner; /* whoever is holding the semaphore at the moment */ ULONG ph_PoolOwnerPC; /* caller return address of the pool owner */ BOOL ph_Consistent; /* TRUE if puddle list is consistent */ }; /****************************************************************************/ #endif /* _POOLS_H */