@@ -5,6 +5,8 @@
#ifndef _FF_INTEGER
#define _FF_INTEGER
+#include <linux/types.h>
+
#ifdef _WIN32 /* FatFs development platform */
#include <windows.h>
@@ -13,20 +15,20 @@
#else /* Embedded platform */
/* This type MUST be 8 bit */
-typedef unsigned char BYTE;
+typedef uint8_t BYTE;
/* These types MUST be 16 bit */
-typedef short SHORT;
-typedef unsigned short WORD;
-typedef unsigned short WCHAR;
+typedef int16_t SHORT;
+typedef uint16_t WORD;
+typedef uint16_t WCHAR;
/* These types MUST be 16 bit or 32 bit */
-typedef int INT;
-typedef unsigned int UINT;
+typedef int32_t INT;
+typedef uint32_t UINT;
/* These types MUST be 32 bit */
-typedef long LONG;
-typedef unsigned long DWORD;
+typedef int32_t LONG;
+typedef uint32_t DWORD;
#endif
ff.c uses a bunch of custom typedefs. Define these in terms of standard types from <linux/types.h>, so they'll automatically be the correct size for any build of U-Boot. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> --- v2: Make INT and UINT 32-bit types e.g. so that f_read() can read (or at the least, report reading) more than 64KiB-1 bytes. Now, ./test/fs/fs-test.sh passes. --- fs/fat/integer.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)