Windows fixes from Kohei Yoshida:
- remove ZIP_EXTERN from functions not (yet?) part of public API
- provide fallback definition of ssize_t

Left to do:
- provide fallback definition of PRId64, PRIu64
- add getopt.c to regress programs when needed
diff --git a/lib/zip_source_close.c b/lib/zip_source_close.c
index 882a199..7b89d5f 100644
--- a/lib/zip_source_close.c
+++ b/lib/zip_source_close.c
@@ -37,7 +37,7 @@
 
 
 
-ZIP_EXTERN void
+void
 zip_source_close(struct zip_source *src)
 {
     if (!src->is_open)
diff --git a/lib/zip_source_crc.c b/lib/zip_source_crc.c
index c9e6623..2a07542 100644
--- a/lib/zip_source_crc.c
+++ b/lib/zip_source_crc.c
@@ -51,7 +51,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_crc(struct zip *za, struct zip_source *src, int validate)
 {
     struct crc *ctx;
diff --git a/lib/zip_source_deflate.c b/lib/zip_source_deflate.c
index d00b406..8799531 100644
--- a/lib/zip_source_deflate.c
+++ b/lib/zip_source_deflate.c
@@ -60,7 +60,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_deflate(struct zip *za, struct zip_source *src,
 		   zip_int32_t cm, int flags)
 {
diff --git a/lib/zip_source_error.c b/lib/zip_source_error.c
index c4885f7..da55491 100644
--- a/lib/zip_source_error.c
+++ b/lib/zip_source_error.c
@@ -37,7 +37,7 @@
 
 
 
-ZIP_EXTERN void
+void
 zip_source_error(struct zip_source *src, int *ze, int *se)
 {
     int e[2];
diff --git a/lib/zip_source_layered.c b/lib/zip_source_layered.c
index 9bdf3c5..ad28703 100644
--- a/lib/zip_source_layered.c
+++ b/lib/zip_source_layered.c
@@ -39,7 +39,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_layered(struct zip *za, struct zip_source *src,
 		   zip_source_layered_callback cb, void *ud)
 {
diff --git a/lib/zip_source_open.c b/lib/zip_source_open.c
index a279e20..73c6c94 100644
--- a/lib/zip_source_open.c
+++ b/lib/zip_source_open.c
@@ -37,7 +37,7 @@
 
 
 
-ZIP_EXTERN int
+int
 zip_source_open(struct zip_source *src)
 {
     zip_int64_t ret;
diff --git a/lib/zip_source_pkware.c b/lib/zip_source_pkware.c
index 2fca554..f24e1d1 100644
--- a/lib/zip_source_pkware.c
+++ b/lib/zip_source_pkware.c
@@ -60,7 +60,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_pkware(struct zip *za, struct zip_source *src,
 		  zip_uint16_t em, int flags, const char *password)
 {
diff --git a/lib/zip_source_pop.c b/lib/zip_source_pop.c
index 88d37da..cd9cb52 100644
--- a/lib/zip_source_pop.c
+++ b/lib/zip_source_pop.c
@@ -39,7 +39,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_pop(struct zip_source *src)
 {
     struct zip_source *lower;
diff --git a/lib/zip_source_read.c b/lib/zip_source_read.c
index 432243b..81b90ba 100644
--- a/lib/zip_source_read.c
+++ b/lib/zip_source_read.c
@@ -37,7 +37,7 @@
 
 
 
-ZIP_EXTERN zip_int64_t
+zip_int64_t
 zip_source_read(struct zip_source *src, void *data, zip_uint64_t len)
 {
     zip_int64_t ret;
diff --git a/lib/zip_source_stat.c b/lib/zip_source_stat.c
index 2166074..85ae6a2 100644
--- a/lib/zip_source_stat.c
+++ b/lib/zip_source_stat.c
@@ -37,7 +37,7 @@
 
 
 
-ZIP_EXTERN int
+int
 zip_source_stat(struct zip_source *src, struct zip_stat *st)
 {
     zip_int64_t ret;
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c
index 0ed1cea..c5352fe 100644
--- a/lib/zip_source_window.c
+++ b/lib/zip_source_window.c
@@ -50,7 +50,7 @@
 
 
 
-ZIP_EXTERN struct zip_source *
+struct zip_source *
 zip_source_window(struct zip *za, struct zip_source *src, zip_uint64_t start, zip_uint64_t len)
 {
     struct window *ctx;
diff --git a/lib/zip_utf-8.c b/lib/zip_utf-8.c
index c0ad7fe..c36fad1 100644
--- a/lib/zip_utf-8.c
+++ b/lib/zip_utf-8.c
@@ -33,7 +33,6 @@
 
 
 
-#include "zip.h"
 #include "zipint.h"
 
 #include <stdlib.h>