=== file.c
==================================================================
--- file.c	(revision 59801)
+++ file.c	(local)
@@ -46,25 +46,6 @@
 # include "tag.h"
 # include "field.h"
 
-struct filetag {
-  struct id3_tag *tag;
-  unsigned long location;
-  id3_length_t length;
-};
-
-struct id3_file {
-  FILE *iofile;
-  enum id3_file_mode mode;
-  char *path;
-
-  int flags;
-
-  struct id3_tag *primary;
-
-  unsigned int ntags;
-  struct filetag *tags;
-};
-
 enum {
   ID3_FILE_FLAG_ID3V1 = 0x0001
 };
=== id3tag.h
==================================================================
--- id3tag.h	(revision 59801)
+++ id3tag.h	(local)
@@ -25,6 +25,8 @@
 # ifndef LIBID3TAG_ID3TAG_H
 # define LIBID3TAG_ID3TAG_H
 
+#include <stdio.h>
+
 #ifdef _MSC_VER
 #include "../include/pstdint.h"
 #else
@@ -251,6 +253,25 @@
   ID3_FILE_MODE_READONLY_NOSEEK
 };
 
+struct filetag {
+  struct id3_tag *tag;
+  unsigned long location;
+  id3_length_t length;
+};
+
+struct id3_file {
+  FILE *iofile;
+  enum id3_file_mode mode;
+  char *path;
+
+  int flags;
+
+  struct id3_tag *primary;
+
+  unsigned int ntags;
+  struct filetag *tags;
+};
+
 struct id3_file *id3_file_open(char const *, enum id3_file_mode);
 struct id3_file *id3_file_fdopen(int, enum id3_file_mode, uint32_t seek);
 int id3_file_close(struct id3_file *);