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