#ifndef _UTIL_CHUNKS_H #define _UTIL_CHUNKS_H #include "../streamfile.h" typedef struct { uint32_t type; /* chunk id/fourcc */ uint32_t size; /* chunk size */ uint32_t offset; /* chunk offset (after type/size) */ off_t current; /* start position, or next chunk after size (set to -1 to break) */ off_t max; /* max offset, or filesize if not set */ int le_type; /* read type as LE instead of more common BE */ int be_size; /* read type as BE instead of more common LE */ int full_size; /* chunk size includes type+size */ } chunk_t; int next_chunk(chunk_t* chunk, STREAMFILE* sf); #if 0 enum { CHUNK_RIFF = 0x52494646, /* "RIFF" */ CHUNK_LIST = 0x4C495354, /* "LIST" */ }; #endif #endif