#ifndef FILES_OBJECTS_H
#define FILES_OBJECTS_H TRUE

/*
**  $VER: objects.h V1.0
**
**  Object definitions.
**
**  (C) Copyright 1996-1998 DreamWorld Productions.
**      All Rights Reserved.
*/

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

/****************************************************************************
** Object entries.
*/

struct ObjectEntry { /* Entry stucture for GetObjectList() */
  char  *Name;       /* Pointer to the name, may be NULL */
  APTR  Object;      /* Object is returned here */
};

struct DataHeader {  /* Private structure for object headers */
  LONG Type;         /* Type of object, eg STRC, CODE, DATA */
  LONG Next;         /* Offset towards next object */
};

/*****************************************************************************
** Object-File.
*/

#define VER_OBJECTFILE  1
#define TAGS_OBJECTFILE ((ID_SPCTAGS<<16)|ID_OBJECTFILE)

struct ObjectFile {
  struct Head   Head;
  struct Source *Source;

  /* Private fields start now */

  struct Segment *prvSegments;
  APTR   prvData;
};

#define OBJA_Source (12|TAPTR)

#endif /* FILES_OBJECTS_H */

