#ifndef CLIB_IFFPARSE_PROTOS_H #define CLIB_IFFPARSE_PROTOS_H /* ** $VER: iffparse_protos.h 39.1 (1.6.92) ** Includes Release 40.15 ** ** C prototypes. For use with 32 bit integers only. ** ** (C) Copyright 1990-1993 Commodore-Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_TYPES_H #include #endif #ifndef LIBRARIES_IFFPARSE_H #include #endif #ifdef __cplusplus extern "C" { #endif /*--- functions in V36 or higher (Release 2.0) ---*/ /* Basic functions */ struct IFFHandle *AllocIFF( void ); LONG OpenIFF( struct IFFHandle *iff, long rwMode ); LONG ParseIFF( struct IFFHandle *iff, long control ); void CloseIFF( struct IFFHandle *iff ); void FreeIFF( struct IFFHandle *iff ); /* Read/Write functions */ LONG ReadChunkBytes( struct IFFHandle *iff, APTR buf, long numBytes ); LONG WriteChunkBytes( struct IFFHandle *iff, APTR buf, long numBytes ); LONG ReadChunkRecords( struct IFFHandle *iff, APTR buf, long bytesPerRecord, long numRecords ); LONG WriteChunkRecords( struct IFFHandle *iff, APTR buf, long bytesPerRecord, long numRecords ); /* Context entry/exit */ LONG PushChunk( struct IFFHandle *iff, long type, long id, long size ); LONG PopChunk( struct IFFHandle *iff ); /* Low-level handler installation */ LONG EntryHandler( struct IFFHandle *iff, long type, long id, long position, struct Hook *handler, APTR object ); LONG ExitHandler( struct IFFHandle *iff, long type, long id, long position, struct Hook *handler, APTR object ); /* Built-in chunk/property handlers */ LONG PropChunk( struct IFFHandle *iff, long type, long id ); LONG PropChunks( struct IFFHandle *iff, LONG *propArray, long numPairs ); LONG StopChunk( struct IFFHandle *iff, long type, long id ); LONG StopChunks( struct IFFHandle *iff, LONG *propArray, long numPairs ); LONG CollectionChunk( struct IFFHandle *iff, long type, long id ); LONG CollectionChunks( struct IFFHandle *iff, LONG *propArray, long numPairs ); LONG StopOnExit( struct IFFHandle *iff, long type, long id ); /* Context utilities */ struct StoredProperty *FindProp( struct IFFHandle *iff, long type, long id ); struct CollectionItem *FindCollection( struct IFFHandle *iff, long type, long id ); struct ContextNode *FindPropContext( struct IFFHandle *iff ); struct ContextNode *CurrentChunk( struct IFFHandle *iff ); struct ContextNode *ParentChunk( struct ContextNode *contextNode ); /* LocalContextItem support functions */ struct LocalContextItem *AllocLocalItem( long type, long id, long ident, long dataSize ); APTR LocalItemData( struct LocalContextItem *localItem ); void SetLocalItemPurge( struct LocalContextItem *localItem, struct Hook *purgeHook ); void FreeLocalItem( struct LocalContextItem *localItem ); struct LocalContextItem *FindLocalItem( struct IFFHandle *iff, long type, long id, long ident ); LONG StoreLocalItem( struct IFFHandle *iff, struct LocalContextItem *localItem, long position ); void StoreItemInContext( struct IFFHandle *iff, struct LocalContextItem *localItem, struct ContextNode *contextNode ); /* IFFHandle initialization */ void InitIFF( struct IFFHandle *iff, long flags, struct Hook *streamHook ); void InitIFFasDOS( struct IFFHandle *iff ); void InitIFFasClip( struct IFFHandle *iff ); /* Internal clipboard support */ struct ClipboardHandle *OpenClipboard( long unitNumber ); void CloseClipboard( struct ClipboardHandle *clipHandle ); /* Miscellaneous */ LONG GoodID( long id ); LONG GoodType( long type ); STRPTR IDtoStr( long id, STRPTR buf ); #ifdef __cplusplus } #endif #ifdef STORMPRAGMAS #ifndef _INCLUDE_PRAGMA_IFFPARSE_LIB_H #include #endif #endif #endif /* CLIB_IFFPARSE_PROTOS_H */