#ifndef  CLIB_ICON_PROTOS_H
#define  CLIB_ICON_PROTOS_H

/*******************************************************************
 pOS / Amiga adapt
*******************************************************************/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif


#ifdef __cplusplus
extern "C" {
#endif

#ifdef __IGNORE_NOT_SUPPORTED__

  void FreeFreeList( struct FreeList *freelist );
  BOOL AddFreeList( struct FreeList *freelist, APTR mem, unsigned long size );
  struct DiskObject *GetDiskObject( UBYTE *name );
  BOOL PutDiskObject( UBYTE *name, struct DiskObject *diskobj );
  void FreeDiskObject( struct DiskObject *diskobj );
  UBYTE *FindToolType( UBYTE **toolTypeArray, UBYTE *typeName );
  BOOL MatchToolValue( UBYTE *typeString, UBYTE *value );
  UBYTE *BumpRevision( UBYTE *newname, UBYTE *oldname );
  struct DiskObject *GetDefDiskObject( long type );
  BOOL PutDefDiskObject( struct DiskObject *diskObject );
  struct DiskObject *GetDiskObjectNew( UBYTE *name );
  BOOL DeleteDiskObject( UBYTE *name );

#else  /** __IGNORE_NOT_SUPPORTED__ **/

#define FreeFreeList FreeFreeList_NOT_SUPPORTED
  void FreeFreeList(struct NOT_SUPPORTED*, struct FreeList *freelist );
#define AddFreeList AddFreeList_NOT_SUPPORTED
  BOOL AddFreeList(struct NOT_SUPPORTED*, struct FreeList *freelist, APTR mem, unsigned long size );
#define GetDiskObject GetDiskObject_NOT_SUPPORTED
  struct DiskObject *GetDiskObject(struct NOT_SUPPORTED*, UBYTE *name );
#define PutDiskObject PutDiskObject_NOT_SUPPORTED
  BOOL PutDiskObject(struct NOT_SUPPORTED*, UBYTE *name, struct DiskObject *diskobj );
#define FreeDiskObject FreeDiskObject_NOT_SUPPORTED
  void FreeDiskObject(struct NOT_SUPPORTED*, struct DiskObject *diskobj );
#define FindToolType FindToolType_NOT_SUPPORTED
  UBYTE *FindToolType(struct NOT_SUPPORTED*, UBYTE **toolTypeArray, UBYTE *typeName );
#define MatchToolValue MatchToolValue_NOT_SUPPORTED
  BOOL MatchToolValue(struct NOT_SUPPORTED*, UBYTE *typeString, UBYTE *value );
#define BumpRevision BumpRevision_NOT_SUPPORTED
  UBYTE *BumpRevision(struct NOT_SUPPORTED*, UBYTE *newname, UBYTE *oldname );
#define GetDefDiskObject GetDefDiskObject_NOT_SUPPORTED
  struct DiskObject *GetDefDiskObject(struct NOT_SUPPORTED*, long type );
#define PutDefDiskObject PutDefDiskObject_NOT_SUPPORTED
  BOOL PutDefDiskObject(struct NOT_SUPPORTED*, struct DiskObject *diskObject );
#define GetDiskObjectNew GetDiskObjectNew_NOT_SUPPORTED
  struct DiskObject *GetDiskObjectNew(struct NOT_SUPPORTED*, UBYTE *name );
#define DeleteDiskObject DeleteDiskObject_NOT_SUPPORTED
  BOOL DeleteDiskObject(struct NOT_SUPPORTED*, UBYTE *name );

#endif /** __IGNORE_NOT_SUPPORTED__ **/


#ifdef __cplusplus
}
#endif

#endif   /* CLIB_ASL_PROTOS_H */
