/*
 * $Id: pools.h 1.6 1998/04/12 17:58:12 olsen Exp olsen $
 *
 * :ts=4
 *
 * Wipeout -- Traces and munges memory and detects memory trashing
 *
 * Written by Olaf `Olsen' Barthel <olsen@sourcery.han.de>
 * 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) */
	UBYTE					ph_NameLen;			/* length of the creator's name */
	struct SignalSemaphore	ph_SignalSemaphore;	/* to track whether there are different tasks accessing the pool without locking */
	struct Task *			ph_PoolOwner;		/* whoever is holding the semaphore at the moment */
	ULONG					ph_PoolOwnerPC;		/* caller return address of the pool owner */
};

/****************************************************************************/

#endif /* _POOLS_H */
