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);