/*
**  $VER: dpkernel.e V0.9B
**
**  General include file for programs using the DPKernel.
**
**  (C) Copyright 1996-1997 DreamWorld Productions.
**      All Rights Reserved
*/

OPT MODULE
OPT EXPORT
OPT PREPROCESS

MODULE 'system/register'

CONST DPKVersion  = 0,
      DPKRevision = 9

CONST SKIPENTRY  = 0,
      ENDLIST    = -1,
      LISTEND    = -1,
      TAGEND     = 0

CONST TAGS       = $54410001,
      STARTLIST  = $4C490001,
      LISTSTART  = $4C490001,
      OBJECTLIST = $4F4C0001

CONST TAG_IGNORE = 1,
      TAG_MORE   = 2,
      TAG_SKIP   = 3

CONST TLONG    = $80000000,
      TWORD    = $40000000,
      TAPTR    = $C0000000,
      TSTEPIN  = $10000000,
      TSTEPOUT = $08000000,
      TTRIGGER = $04000000

CONST JMP_DEFAULT = 0,
      JMP_LVO     = 1,
      JMP_AMIGAE  = 2

CONST GET_NOTRACK = $00010000

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

OBJECT head
  id      :INT
  version :INT
  class   :LONG
  stats   :LONG
ENDOBJECT

/***************************************************************************
** Universal errorcodes returned by certain functions.
*/

ENUM  ERR_OK,          -> Function went OK.
      ERR_NOMEM,       -> Not enough memory available 
      ERR_NOPTR,       -> Required pointer not present 
      ERR_INUSE,       -> Previous allocations have not been freed 
      ERR_STRUCT,      -> Structure version not supported or not found. 
      ERR_FAILED,      -> General failure 
      ERR_FILE,        -> File error, eg file not found.
      ERR_DATA,        -> There is an error in the given data.
      ERR_SEARCH,      -> A search routine failed to make a match.
      ERR_SCRTYPE,     -> Screen Type not recognised.
      ERR_MODULE,      -> Trouble with initialising/using a module.
      ERR_RASTCOMMAND, -> Invalid raster command detected.
      ERR_RASTERLIST,  -> Complete rasterlist failure.
      ERR_NORASTER,    -> Rasterlist missing from Screen->RasterList.
      ERR_DISKFULL,    -> Disk full error.
      ERR_FILEMISSING, -> File not found.
      ERR_WRONGVER,    -> Wrong version or version not supported.
      ERR_MONITOR,     -> Monitor driver not found or cannot be used.
      ERR_UNPACK,      -> Problem with unpacking of data.
      ERR_ARGS,        -> Invalid arguments passed to function.
      ERR_NODATA,      -> No data is available for use.
      ERR_READ,        -> Error reading data from file.
      ERR_WRITE,       -> Error writing data to file.
      ERR_LOCK,        -> Could not obtain lock on object.
      ERR_EXAMINE,     /* Could not examine directory or file */
      ERR_LOSTCLASS,   /* This object has lost its class reference */
      ERR_NOACTION,    /* This object does not support the required action */
      ERR_NOSUPPORT,   /* Object does not support the given data */
      ERR_MEMORY       /* General memory error */

CONST ERR_SUCCESS = 0  -> Synonym for ERR_OK.

/***************************************************************************
** Memory types used by AllocMemBlock().  This is generally identical to the
** exec definitions but CHIP is renamed to VIDEO (displayable memory) and
** there is an addition of BLIT and SOUND specific memory.
*/

CONST MEM_DATA      = $00000000,
      MEM_PRIVATE   = $00000001,
      MEM_VIDEO     = $00000002,
      MEM_BLIT      = $00000004,
      MEM_SOUND     = $00000008,
      MEM_CODE      = $00000010,
      MEM_UNTRACKED = $80000000

