1 /* 2 3 ID3v1.1 structures, genres 4 5 copyright (c) 2003 squell <squell@alumina.nl> 6 7 use, modification, copying and distribution of this software is permitted 8 under the conditions described in the file 'COPYING'. 9 10 Made this into a header + extern const object, lest certain linkers emit 11 multiple copies in executables. And if i'm going to use a header for the 12 genres, why not put the ID3v1 tag structure in here as well, eh? 13 14 */ 15 16 #ifndef __ZF_ID3V1_H 17 #define __ZF_ID3V1_H 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 extern const char *const ID3v1_genre[]; 24 extern unsigned char const ID3v1_numgenres; 25 26 struct ID3v1 { /* ID3 v1.1 tag structure */ 27 char TAG [3]; 28 char title [30]; 29 char artist[30]; 30 char album [30]; 31 char year [4]; 32 char cmnt [28]; 33 char zero; 34 unsigned char track; 35 unsigned char genre; 36 }; 37 38 typedef int ID3v1_is_128bytes_check [sizeof(struct ID3v1)==128 ? 1 : -1]; 39 40 #ifdef __cplusplus 41 } 42 #endif 43 #endif 44