Include errno.h in zipint.h.

Define missing error codes centrally in zipint.h.
Remove errno.h inclusion everywhere else.
diff --git a/lib/zip_close.c b/lib/zip_close.c
index a13e446..b5eca67 100644
--- a/lib/zip_close.c
+++ b/lib/zip_close.c
@@ -40,7 +40,6 @@
 #ifdef HAVE_STRINGS_H
 #include <strings.h>
 #endif
-#include <errno.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c
index aa55a68..cac1565 100644
--- a/lib/zip_dirent.c
+++ b/lib/zip_dirent.c
@@ -35,7 +35,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 
diff --git a/lib/zip_error.c b/lib/zip_error.c
index a21a00b..802d93f 100644
--- a/lib/zip_error.c
+++ b/lib/zip_error.c
@@ -31,7 +31,6 @@
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include <errno.h>
 #include <stdlib.h>
 
 #include "zipint.h"
diff --git a/lib/zip_error_strerror.c b/lib/zip_error_strerror.c
index 2f124cc..060ff29 100644
--- a/lib/zip_error_strerror.c
+++ b/lib/zip_error_strerror.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/zip_error_to_str.c b/lib/zip_error_to_str.c
index d411925..d5998e6 100644
--- a/lib/zip_error_to_str.c
+++ b/lib/zip_error_to_str.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c
index b2566c6..eb69356 100644
--- a/lib/zip_extra_field.c
+++ b/lib/zip_extra_field.c
@@ -31,13 +31,11 @@
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-
-#include "zipint.h"
-
-#include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include "zipint.h"
+
 
 zip_extra_field_t *
 _zip_ef_clone(const zip_extra_field_t *ef, zip_error_t *error)
diff --git a/lib/zip_file_get_offset.c b/lib/zip_file_get_offset.c
index 1aaca71..0b09e0d 100644
--- a/lib/zip_file_get_offset.c
+++ b/lib/zip_file_get_offset.c
@@ -35,7 +35,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 
diff --git a/lib/zip_filerange_crc.c b/lib/zip_filerange_crc.c
index 8e06e8f..4530020 100644
--- a/lib/zip_filerange_crc.c
+++ b/lib/zip_filerange_crc.c
@@ -33,7 +33,6 @@
 
 
 #include <stdio.h>
-#include <errno.h>
 
 #include "zipint.h"
 
diff --git a/lib/zip_fopen_index.c b/lib/zip_fopen_index.c
index e9a169a..d626ce7 100644
--- a/lib/zip_fopen_index.c
+++ b/lib/zip_fopen_index.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 
diff --git a/lib/zip_fopen_index_encrypted.c b/lib/zip_fopen_index_encrypted.c
index 21cc433..9c1e901 100644
--- a/lib/zip_fopen_index_encrypted.c
+++ b/lib/zip_fopen_index_encrypted.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 
diff --git a/lib/zip_io_util.c b/lib/zip_io_util.c
index 4a6bc1d..48e5668 100644
--- a/lib/zip_io_util.c
+++ b/lib/zip_io_util.c
@@ -31,7 +31,6 @@
  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/lib/zip_open.c b/lib/zip_open.c
index f683bd2..1f5e4d8 100644
--- a/lib/zip_open.c
+++ b/lib/zip_open.c
@@ -33,19 +33,11 @@
 
 
 #include <sys/stat.h>
-#include <errno.h>
 #include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-/* at least MinGW does not provide this error code, see
- * http://sourceforge.net/p/mingw/bugs/263/
- */
-#ifndef EOPNOTSUPP
-#define EOPNOTSUPP EINVAL
-#endif
-
 #include "zipint.h"
 
 typedef enum {
diff --git a/lib/zip_source_buffer.c b/lib/zip_source_buffer.c
index 091abe1..e2c5b5a 100644
--- a/lib/zip_source_buffer.c
+++ b/lib/zip_source_buffer.c
@@ -31,19 +31,11 @@
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 
 #include "zipint.h"
 
-/* at least MinGW does not provide this error code, see
- * http://sourceforge.net/p/mingw/bugs/242/
- */
-#ifndef EOVERFLOW
-#define EOVERFLOW EFBIG
-#endif
-
 #ifndef WRITE_FRAGMENT_SIZE
 #define WRITE_FRAGMENT_SIZE 64*1024
 #endif
diff --git a/lib/zip_source_file.c b/lib/zip_source_file.c
index 1465e17..b3cd7ab 100644
--- a/lib/zip_source_file.c
+++ b/lib/zip_source_file.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 
 #include "zipint.h"
diff --git a/lib/zip_source_filep.c b/lib/zip_source_filep.c
index 5ad4285..191a81c 100644
--- a/lib/zip_source_filep.c
+++ b/lib/zip_source_filep.c
@@ -31,15 +31,13 @@
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-
-#include "zipint.h"
-
 #include <sys/stat.h>
-#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include "zipint.h"
+
 #ifdef _WIN32
 /* WIN32 needs <fcntl.h> for _O_BINARY */
 #include <fcntl.h>
@@ -62,13 +60,6 @@
 typedef int mode_t;
 #endif
 
-/* at least MinGW does not provide this error code, see
- * http://sourceforge.net/p/mingw/bugs/242/
- */
-#ifndef EOVERFLOW
-#define EOVERFLOW EFBIG
-#endif
-
 struct read_file {
     zip_error_t error;      /* last error information */
     zip_int64_t supports;
diff --git a/lib/zip_source_win32a.c b/lib/zip_source_win32a.c
index c20e891..ac1f256 100644
--- a/lib/zip_source_win32a.c
+++ b/lib/zip_source_win32a.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 
 #include "zipint.h"
diff --git a/lib/zip_source_win32handle.c b/lib/zip_source_win32handle.c
index cfa02aa..7e30dfc 100644
--- a/lib/zip_source_win32handle.c
+++ b/lib/zip_source_win32handle.c
@@ -33,20 +33,12 @@
 
 
 #include <wchar.h>
-#include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 
 #include "zipint.h"
 #include "zipwin32.h"
 
-/* at least MinGW does not provide this error code, see
- * http://sourceforge.net/p/mingw/bugs/242/
- */
-#ifndef EOVERFLOW
-#define EOVERFLOW EFBIG
-#endif
-
 static zip_int64_t _win32_read_file(void *state, void *data, zip_uint64_t len, zip_source_cmd_t cmd);
 static int _win32_create_temp_file(_zip_source_win32_read_file_t *ctx);
 static int _zip_filetime_to_time_t(FILETIME ft, time_t *t);
diff --git a/lib/zip_source_win32utf8.c b/lib/zip_source_win32utf8.c
index e11214b..004c66a 100644
--- a/lib/zip_source_win32utf8.c
+++ b/lib/zip_source_win32utf8.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 
 #include "zipint.h"
diff --git a/lib/zip_source_win32w.c b/lib/zip_source_win32w.c
index 27cdf91..14e5999 100644
--- a/lib/zip_source_win32w.c
+++ b/lib/zip_source_win32w.c
@@ -32,7 +32,6 @@
 */
 
 
-#include <errno.h>
 #include <stdio.h>
 
 #include "zipint.h"
diff --git a/lib/zipint.h b/lib/zipint.h
index c7c2e3a..a53d62c 100644
--- a/lib/zipint.h
+++ b/lib/zipint.h
@@ -63,6 +63,22 @@
 #define false   0
 #endif
 
+#include <errno.h>
+
+/* at least MinGW does not provide EOPNOTSUPP, see
+ * http://sourceforge.net/p/mingw/bugs/263/
+ */
+#ifndef EOPNOTSUPP
+#define EOPNOTSUPP EINVAL
+#endif
+
+/* at least MinGW does not provide EOVERFLOW, see
+ * http://sourceforge.net/p/mingw/bugs/242/
+ */
+#ifndef EOVERFLOW
+#define EOVERFLOW EFBIG
+#endif
+
 #ifdef _WIN32
 #if defined(HAVE__CLOSE)
 #define close		_close