#ifndef SYSTEM_TRACKING_H
#define SYSTEM_TRACKING_H 1

/*
**      $VER: tracking.h V0.8B
**
**      (C) Copyright 1996-1997 DreamWorld Productions.
**          All Rights Reserved
*/

#ifndef DPKERNEL_H
#include <games/dpkernel.h>
#endif

/*****************************************************************************
** Resource numbers.
*/

#define RES_EMPTY    0
#define RES_MEMORY   1   /* Memory allocation, lowest level resource type */
#define RES_COMPLEX  2   /* Complex allocation - (hardware and software) */
#define RES_CUSTOM   3   /* Software allocation of a customised type */
#define RES_HARDWARE 4   /* Hardware allocation */

/*****************************************************************************
** This structure is used only within the kernel.
*/

struct track {
  APTR Next;       /* Next in the chain */
  WORD ID;         /* ID number of this resource (see above) */
  LONG Key;        /* Unique key for the resource */
  LONG Address;    /* Address of object to free */
  APTR Routine;    /* Routine that frees the object */
};

#endif /* SYSTEM_TRACKING_H */
