aboutsummaryrefslogtreecommitdiffstats
path: root/heimdall/source/Heimdall.h
diff options
context:
space:
mode:
authorBenjamin Dobell <benjamin.dobell+git@glassechidna.com.au>2014-06-01 14:09:56 +1000
committerBenjamin Dobell <benjamin.dobell+git@glassechidna.com.au>2014-06-01 14:09:56 +1000
commit082fb091f1a0cab9d00e82de54fee32b6a1c0c7b (patch)
treea3e73e4d8b2279c3221a297ac770c96ef92175e2 /heimdall/source/Heimdall.h
parent46d9a51e18d260e416479432fec50c6e601eb3ce (diff)
downloadexternal_heimdall-082fb091f1a0cab9d00e82de54fee32b6a1c0c7b.zip
external_heimdall-082fb091f1a0cab9d00e82de54fee32b6a1c0c7b.tar.gz
external_heimdall-082fb091f1a0cab9d00e82de54fee32b6a1c0c7b.tar.bz2
Fixed support for large files (up to 2^32 - 1 bytes)
The Loke protocol supports 32-bit unsigned for the size of files being flashed. However, POSIX file commands only support 32-bit (signed). As such we now have platform specific support for larger files.
Diffstat (limited to 'heimdall/source/Heimdall.h')
-rw-r--r--heimdall/source/Heimdall.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/heimdall/source/Heimdall.h b/heimdall/source/Heimdall.h
index 5e348c4..3982dd4 100644
--- a/heimdall/source/Heimdall.h
+++ b/heimdall/source/Heimdall.h
@@ -30,6 +30,12 @@
#define va_copy(d, s) ((d) = (s))
#endif
+#define FileOpen(FILE, MODE) fopen(FILE, MODE)
+#define FileClose(FILE) fclose(FILE)
+#define FileSeek(FILE, OFFSET, ORIGIN) _fseeki64(FILE, OFFSET, ORIGIN)
+#define FileTell(FILE) _ftelli64(FILE)
+#define FileRewind(FILE) rewind(FILE)
+
#else
#include "../config.h"
@@ -37,6 +43,13 @@
#if defined(OS_DARWIN) || defined(OS_LINUX)
#include <unistd.h>
#define Sleep(t) usleep(1000*t)
+
+#define FileOpen(FILE, MODE) fopen(FILE, MODE)
+#define FileClose(FILE) fclose(FILE)
+#define FileSeek(FILE, OFFSET, ORIGIN) fseeko(FILE, OFFSET, ORIGIN)
+#define FileTell(FILE) ftello(FILE)
+#define FileRewind(FILE) rewind(FILE)
+
#else
#error operating system not supported
#endif