posix: Fix undeclared prototype
diff --git a/src/posix.h b/src/posix.h
index 622bf83..f1424f8 100644
--- a/src/posix.h
+++ b/src/posix.h
@@ -8,12 +8,6 @@
 #include <fcntl.h>
 #include <time.h>
 
-#ifdef GIT_WIN32
-#	include "win32/posix.h"
-#else
-#	include "unix/posix.h"
-#endif
-
 #define S_IFGITLINK 0160000
 #define S_ISGITLINK(m) (((m) & S_IFMT) == S_IFGITLINK)
 
@@ -23,7 +17,6 @@
 
 typedef int git_file;
 
-
 /**
  * Standard POSIX Methods
  *
@@ -51,4 +44,13 @@
 #define p_chmod(p,m) chmod(p, m)
 #define p_close(fd) close(fd)
 
+/**
+ * Platform-dependent methods
+ */
+#ifdef GIT_WIN32
+#	include "win32/posix.h"
+#else
+#	include "unix/posix.h"
+#endif
+
 #endif
diff --git a/src/win32/posix.c b/src/win32/posix.c
index aac56ce..2d7b839 100644
--- a/src/win32/posix.c
+++ b/src/win32/posix.c
@@ -232,6 +232,8 @@
 	return r;
 }
 
+extern int p_creat(const char *path, int mode);
+
 int p_mkstemp(char *tmp_path)
 {
 	int r;