17#ifdef SP_SUPPORT_64BIT_INT 
   18#define spChunkSize spLong64 
   20#define spChunkSize spFileOffset 
   23#define SP_CHUNK_INFO_OPTION_FULLBOX_MASK (1) 
   24#define SP_CHUNK_INFO_OPTION_REWRITE_MASK (1<<1) 
   25#define SP_CHUNK_INFO_OPTION_PAUSE_BEFORE_WRITE_MASK (1<<2) 
   26#define SP_CHUNK_INFO_OPTION_PAUSE_AFTER_WRITE_MASK (1<<3) 
   27#define SP_CHUNK_INFO_OPTION_WRITE_ZEROS_MASK (1<<4) 
   28#define SP_CHUNK_INFO_OPTION_PAUSE_BEFORE_READ_MASK (1<<5) 
   29#define SP_CHUNK_INFO_OPTION_PAUSE_AFTER_READ_MASK (1<<6) 
   30#define SP_CHUNK_INFO_OPTION_MARGIN_CHUNK_MASK (1<<7) 
   31#define SP_CHUNK_INFO_OPTION_ACCEPT_ZERO_TYPE_MASK (1<<8) 
   33#define SP_CHUNK_INFO_OPTION_USER_MASK_OFFSET 16 
   35typedef struct _spChunk spChunk;
 
   37typedef spChunkSize (*spChunkUpdateFunc)(spChunk *chunk, 
void *data);
 
   39typedef struct _spChunkHeader {
 
   46    struct _spChunk *parent;
 
   47    struct _spChunk *child;
 
   49    struct _spChunk *prev;
 
   50    struct _spChunk *next;
 
   57extern spChunk *spFindChunk(spChunk *chunk, 
const char *type, 
const char *parent_type);
 
   58extern spChunk *spFindChildChunk(spChunk *top, 
const char *type, 
const char *parent_type);