diff options
author | Benjamin Dobell <benjamin.dobell+git@glassechidna.com.au> | 2014-06-01 14:09:56 +1000 |
---|---|---|
committer | Benjamin Dobell <benjamin.dobell+git@glassechidna.com.au> | 2014-06-01 14:09:56 +1000 |
commit | 082fb091f1a0cab9d00e82de54fee32b6a1c0c7b (patch) | |
tree | a3e73e4d8b2279c3221a297ac770c96ef92175e2 /heimdall/source/Heimdall.h | |
parent | 46d9a51e18d260e416479432fec50c6e601eb3ce (diff) | |
download | external_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.h | 13 |
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
|