2 * Copyright 2005 Timo Hirvonen
8 /* flags for id3_read_tags */
9 #define ID3_V1 (1 << 0)
10 #define ID3_V2 (1 << 1)
21 #define NUM_ID3_KEYS (ID3_TRACK + 1)
23 #define UTF16_IS_LSURROGATE(uch) (0xdc00 <= uch && 0xdfff >= uch)
24 #define UTF16_IS_HSURROGATE(uch) (0xd800 <= uch && 0xdbff >= uch)
25 #define UTF16_IS_BOM(uch) (uch == 0xfeff)
27 typedef struct ID3 ID3
;
29 extern int id3_tag_size(const char *buf
, int buf_size
);
31 extern ID3
*id3_new(void);
32 extern void id3_free(ID3
*id3
);
33 extern int id3_read_tags(ID3
*id3
, int fd
, unsigned int flags
);
34 extern char *id3_get_comment(ID3
*id3
, enum id3_key key
);