home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 239.lha / include / local / iffscan.h < prev    next >
C/C++ Source or Header  |  1989-05-02  |  1KB  |  51 lines

  1.  
  2. /*
  3.  *  IFFSCAN.H
  4.  *
  5.  *  (*func)(cmd, ic)
  6.  *  IFFCHUNK *ic;    current chunk being scanned.  - ref parents until 0 Type
  7.  */
  8.  
  9. #ifndef LOCAL_TYPEDEFS_H
  10. #include <local/typedefs.h>
  11. #endif
  12.  
  13. #define IFFSCAN struct _IFFSCAN
  14.  
  15. #define IF_NAMED    0x0001
  16. #define IF_SUBS     0x0002
  17.  
  18. IFFCHUNK {
  19.     MNODE ic_Node;
  20.     ulong ic_Type;        /*  type of chunk        */
  21.     ulong ic_Len;        /*  length of chunk        */
  22.     ulong ic_SubType;        /*  sub-type or 0        */
  23.     ubyte *ic_Data;
  24.     ulong ic_Actual;        /*  # bytes read so far     */
  25.     ulong ic_Offset;        /*  seek position        */
  26.     MLIST ic_List;        /*  associated props        */
  27. };
  28.  
  29. /*
  30.  *  If if_Form is non-zero, then if_Type is a form-specific local chunk
  31.  *  type for if_Form and overides any non-specific types (where if_Form = 0)
  32.  *
  33.  *  if_Flags:
  34.  *    IF_NAMED    - indicates that the chunk has a 4 byte name before the
  35.  *              data
  36.  *    IF_SUBS     - indicates that the chunk's data is made up of chunks
  37.  *
  38.  *  if_MemFlags specifies the type of memory the chunk should be stuck into,
  39.  *  or -1 to indicate no memory be allocated (ic_Data will be NULL)
  40.  */
  41.  
  42. IFFSCAN {
  43.     ulong if_Form;
  44.     ulong if_Type;
  45.     uword if_Flags;
  46.     uword if_Reserved;
  47.     ulong if_MemFlags;
  48.     int (*if_Func)();
  49. };
  50.  
  51.