summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-01-08 19:51:11 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-01-08 19:51:11 +0000
commitab49b5e77bb42696db8d684a2782158352a86644 (patch)
treeafd0d566a3884a64d1e118c2feb8af5c5046e2dd
parente9b257f3403c205e634beaa40bb8d30dd0796f66 (diff)
downloadrockbox-ab49b5e77bb42696db8d684a2782158352a86644.tar.gz
rockbox-ab49b5e77bb42696db8d684a2782158352a86644.tar.bz2
rockbox-ab49b5e77bb42696db8d684a2782158352a86644.zip
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
-rw-r--r--rbutil/ipodpatcher/ipodpatcher.h10
-rw-r--r--rbutil/sansapatcher/sansapatcher.h8
2 files changed, 18 insertions, 0 deletions
diff --git a/rbutil/ipodpatcher/ipodpatcher.h b/rbutil/ipodpatcher/ipodpatcher.h
index 5d2507ccd4..30a1b1e9fd 100644
--- a/rbutil/ipodpatcher/ipodpatcher.h
+++ b/rbutil/ipodpatcher/ipodpatcher.h
@@ -31,7 +31,17 @@ extern "C" {
/* 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 4f08eea432..80cef4d417 100644
--- a/rbutil/sansapatcher/sansapatcher.h
+++ b/rbutil/sansapatcher/sansapatcher.h
@@ -32,7 +32,15 @@ extern int sansa_verbose;
/* 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);