MSVC compatibility adjustments.
When using a global variable from a DLL with MSVC special handling is necessary
to avoid going through additional redirection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31640 a1c6a512-1295-4272-9138-f99709370657
diff --git a/rbutil/ipodpatcher/ipodpatcher.h b/rbutil/ipodpatcher/ipodpatcher.h
index 5d2507c..30a1b1e 100644
--- a/rbutil/ipodpatcher/ipodpatcher.h
+++ b/rbutil/ipodpatcher/ipodpatcher.h
@@ -31,7 +31,17 @@
/* Size of buffer for disk I/O - 8MB is large enough for any version
of the Apple firmware, but not the Nano's RSRC image. */
#define BUFFER_SIZE 8*1024*1024
+
+#ifndef _MSC_VER
extern unsigned char* ipod_sectorbuf;
+#else
+/* MSVC needs to use dllimport to allow using it directly from a DLL.
+ * See http://support.microsoft.com/kb/90530
+ * Building with MSVC is only when using as DLL.
+ */
+_declspec(dllimport) unsigned char* ipod_sectorbuf;
+#endif
+
extern int ipod_verbose;
#define FILETYPE_DOT_IPOD 0
diff --git a/rbutil/sansapatcher/sansapatcher.h b/rbutil/sansapatcher/sansapatcher.h
index 4f08eea..80cef4d 100644
--- a/rbutil/sansapatcher/sansapatcher.h
+++ b/rbutil/sansapatcher/sansapatcher.h
@@ -32,7 +32,15 @@
/* Size of buffer for disk I/O - 8MB is large enough for any version
of the Apple firmware, but not the Nano's RSRC image. */
#define BUFFER_SIZE 8*1024*1024
+#ifndef _MSC_VER
extern unsigned char* sansa_sectorbuf;
+#else
+/* MSVC needs to use dllimport to allow using it directly from a DLL.
+ * See http://support.microsoft.com/kb/90530
+ * Building with MSVC is only when using as DLL.
+ */
+_declspec(dllimport) unsigned char* sansa_sectorbuf;
+#endif
int sansa_read_partinfo(struct sansa_t* sansa, int silent);
int is_sansa(struct sansa_t* sansa);