mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-12-29 23:03:04 +01:00
29 lines
872 B
C
29 lines
872 B
C
#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) */
|
|
uint32_t current; /* start position, or next chunk after size (set to -1 to break) */
|
|
uint32_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 */
|
|
int alignment; /* chunks with odd size need to be aligned to even, per RIFF spec */
|
|
} chunk_t;
|
|
|
|
int next_chunk(chunk_t* chunk, STREAMFILE* sf);
|
|
|
|
#if 0
|
|
enum {
|
|
CHUNK_RIFF = 0x52494646, /* "RIFF" */
|
|
CHUNK_LIST = 0x4C495354, /* "LIST" */
|
|
};
|
|
#endif
|
|
|
|
#endif
|