#ifndef __INC_POS_PIFFPARSE_IFFPARSE_H
#define __INC_POS_PIFFPARSE_IFFPARSE_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Papajewski
 $DAT >>IFFParse.h<<   03 Feb 1997    10:54:35 - (C) ProDAD
*******************************************************************/


#ifndef __INC_POS_PEXEC_LIST_H
#include <pExec/List.h>
#endif
#ifndef __INC_POS_PDOS_FILES_H
#include <pDOS/Files.h>
#endif



/*----------------------------------
-----------------------------------*/
struct pOS_IFFHandle
{
  struct pOS_IOStruct    *iffh_IOStruct;
  SLONG                   iffh_Depth;

  /***** SYSTEM-DATA *****/

};



/*----------------------------------
-----------------------------------*/
struct pOS_IFFLocContext
{
  ULONG      ifflc_Type;
  ULONG      ifflc_ID;
  ULONG      ifflc_Size;
};


/*----------------------------------
-----------------------------------*/
struct pOS_IFFStoredProp
{
  ULONG     sp_Size;
  UBYTE    *sp_Data;
};



#define IFF_SizeUnkown -1


enum pOS_IFFAccessMode
{
  IFFACCMD_Read  = FILEHDMOD_Read,
  IFFACCMD_Write = FILEHDMOD_Write
};



enum pOS_IFFFlags
{
  IFFF_StopOnExit = 0x01,
  IFFF_CloseFH    = 0x02
};



enum pOS_IFFContentsFlags
{
  IFFCONF_SizeUnkown = 0x0100 /* zu schreibene Größe unbekannt */
};


enum pOS_IFFParseControlMode
{
  IFFPARSE_Scan = 0
};


#ifndef MAKE_ID
 #define MAKE_ID(a,b,c,d) \
  ((ULONG)(a)<<24|(ULONG)(b)<<16|(ULONG)(c)<<8|(ULONG)(d))
#endif



#define ID_FORM         MAKE_ID('F','O','R','M')
#define ID_LIST         MAKE_ID('L','I','S','T')
#define ID_CAT          MAKE_ID('C','A','T',' ')
#define ID_PROP         MAKE_ID('P','R','O','P')
#define ID_NULL         MAKE_ID(' ',' ',' ',' ')


enum pOS_IFFErrorCodes
{
  IFFERR_EOF                    = -1,
  IFFERR_EOC                    = -2,
  IFFERR_NoMem                  = -3,
  IFFERR_Read                   = -4,
  IFFERR_Write                  = -5,
  IFFERR_UnkownParseMode        = -6,
  IFFERR_NoIFF                  = -7
};

#endif
