Keep only the typedef in the header file.
 
 #include "compress_io.h"
 
+
+/* typedef appears in compress_io.h */
+struct CompressorState
+{
+   CompressionAlgorithm comprAlg;
+   WriteFunc           writeF;
+
+#ifdef HAVE_LIBZ
+   z_streamp           zp;
+   char               *zlibOut;
+   size_t              zlibOutSize;
+#endif
+};
+
 static const char *modulename = gettext_noop("compress_io");
 
 static void ParseCompressionOption(int compression, CompressionAlgorithm *alg,
 
  */
 typedef size_t (*ReadFunc)(ArchiveHandle *AH, char **buf, size_t *buflen);
 
-typedef struct _CompressorState
-{
-   CompressionAlgorithm comprAlg;
-   WriteFunc           writeF;
-
-#ifdef HAVE_LIBZ
-   z_streamp           zp;
-   char               *zlibOut;
-   size_t              zlibOutSize;
-#endif
-} CompressorState;
+/* struct definition appears in compress_io.c */
+typedef struct CompressorState CompressorState;
 
 extern CompressorState *AllocateCompressor(int compression, WriteFunc writeF);
 extern void ReadDataFromArchive(ArchiveHandle *AH, int compression,