home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / cbm / nduk-v37.lha / V37 / include / clib / iffparse_protos.h < prev    next >
C/C++ Source or Header  |  1991-11-27  |  4KB  |  80 lines

  1. #ifndef  CLIB_IFFPARSE_PROTOS_H
  2. #define  CLIB_IFFPARSE_PROTOS_H
  3. /*
  4. **    $Filename: clib/iffparse_protos.h $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 33.2 $
  7. **    $Date: 90/12/13 $
  8. **
  9. **    C prototypes. For use with 32 bit integers only.
  10. **
  11. **    (C) Copyright 1990-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. */
  14. #ifndef  EXEC_TYPES_H
  15. #include <exec/types.h>
  16. #endif
  17. /*--- functions in V33 or higher (distributed as Release 1.2) ---*/
  18. /*------ Basic functions ------*/
  19. struct IFFHandle *AllocIFF( void );
  20. LONG OpenIFF( struct IFFHandle *iff, long rwMode );
  21. LONG ParseIFF( struct IFFHandle *iff, long control );
  22. void CloseIFF( struct IFFHandle *iff );
  23. void FreeIFF( struct IFFHandle *iff );
  24. /*------ Read/Write functions ------*/
  25. LONG ReadChunkBytes( struct IFFHandle *iff, APTR buf, long size );
  26. LONG WriteChunkBytes( struct IFFHandle *iff, APTR buf, long size );
  27. LONG ReadChunkRecords( struct IFFHandle *iff, APTR buf, long bytesPerRecord,
  28.     long nRecords );
  29. LONG WriteChunkRecords( struct IFFHandle *iff, APTR buf, long bytesPerRecord,
  30.     long nRecords );
  31. /*------ Context entry/exit ------*/
  32. LONG PushChunk( struct IFFHandle *iff, long type, long id, long size );
  33. LONG PopChunk( struct IFFHandle *iff );
  34. /*------ Low-level handler installation ------*/
  35. LONG EntryHandler( struct IFFHandle *iff, long type, long id, long position,
  36.     struct Hook *handler, APTR object );
  37. LONG ExitHandler( struct IFFHandle *iff, long type, long id, long position,
  38.     struct Hook *handler, APTR object );
  39. /*------ Built-in chunk/property handlers ------*/
  40. LONG PropChunk( struct IFFHandle *iff, long type, long id );
  41. LONG PropChunks( struct IFFHandle *iff, LONG *propArray, long nProps );
  42. LONG StopChunk( struct IFFHandle *iff, long type, long id );
  43. LONG StopChunks( struct IFFHandle *iff, LONG *propArray, long nProps );
  44. LONG CollectionChunk( struct IFFHandle *iff, long type, long id );
  45. LONG CollectionChunks( struct IFFHandle *iff, LONG *propArray, long nProps );
  46. LONG StopOnExit( struct IFFHandle *iff, long type, long id );
  47. /*------ Context utilities ------*/
  48. struct StoredProperty *FindProp( struct IFFHandle *iff, long type, long id );
  49. struct CollectionItem *FindCollection( struct IFFHandle *iff, long type,
  50.     long id );
  51. struct ContextNode *FindPropContext( struct IFFHandle *iff );
  52. struct ContextNode *CurrentChunk( struct IFFHandle *iff );
  53. struct ContextNode *ParentChunk( struct ContextNode *contextNode );
  54. /*------ LocalContextItem support functions ------*/
  55. struct LocalContextItem *AllocLocalItem( long type, long id, long ident,
  56.     long dataSize );
  57. APTR LocalItemData( struct LocalContextItem *localItem );
  58. void SetLocalItemPurge( struct LocalContextItem *localItem,
  59.     struct Hook *purgeHook );
  60. void FreeLocalItem( struct LocalContextItem *localItem );
  61. struct LocalContextItem *FindLocalItem( struct IFFHandle *iff, long type,
  62.     long id, long ident );
  63. LONG StoreLocalItem( struct IFFHandle *iff, struct LocalContextItem *localItem,
  64.     long position );
  65. void StoreItemInContext( struct IFFHandle *iff,
  66.     struct LocalContextItem *localItem,
  67.     struct ContextNode *contextNode );
  68. /*------ IFFHandle initialization ------*/
  69. void InitIFF( struct IFFHandle *iff, long flags, struct Hook *streamHook );
  70. void InitIFFasDOS( struct IFFHandle *iff );
  71. void InitIFFasClip( struct IFFHandle *iff );
  72. /*------ Internal clipboard support ------*/
  73. struct ClipboardHandle *OpenClipboard( long unitNum );
  74. void CloseClipboard( struct ClipboardHandle *clipboard );
  75. /*------ Miscellaneous ------*/
  76. LONG GoodID( long id );
  77. LONG GoodType( long type );
  78. STRPTR IDtoStr( long id, STRPTR buf );
  79. #endif     /* CLIB_IFFPARSE_PROTOS_H */
  80.