-/*-------------------------------------------*/\r
-/* Integer type definitions for FatFs module */\r
-/*-------------------------------------------*/\r
-\r
-#ifndef _INTEGER\r
-\r
-#if 0\r
-#include <windows.h>\r
-#else\r
-\r
-/* These types must be 16-bit, 32-bit or larger integer */\r
-typedef int INT;\r
-typedef unsigned int UINT;\r
-\r
-/* These types must be 8-bit integer */\r
-typedef signed char CHAR;\r
-typedef unsigned char UCHAR;\r
-typedef unsigned char BYTE;\r
-\r
-/* These types must be 16-bit integer */\r
-typedef short SHORT;\r
-typedef unsigned short USHORT;\r
-typedef unsigned short WORD;\r
-typedef unsigned short WCHAR;\r
-\r
-/* These types must be 32-bit integer */\r
-typedef long LONG;\r
-typedef unsigned long ULONG;\r
-typedef unsigned long DWORD;\r
-\r
-/* Boolean type */\r
-typedef enum { FALSE = 0, TRUE } BOOL;\r
-\r
-#endif\r
-\r
-#define _INTEGER\r
-#endif\r
+/*-------------------------------------------*/
+/* Integer type definitions for FatFs module */
+/*-------------------------------------------*/
+
+#ifndef _INTEGER
+#define _INTEGER
+
+#ifdef _WIN32 /* FatFs development platform */
+
+#include <windows.h>
+#include <tchar.h>
+
+#else /* Embedded platform */
+
+/* These types must be 16-bit, 32-bit or larger integer */
+typedef int INT;
+typedef unsigned int UINT;
+
+/* These types must be 8-bit integer */
+typedef char CHAR;
+typedef unsigned char UCHAR;
+typedef unsigned char BYTE;
+
+/* These types must be 16-bit integer */
+typedef short SHORT;
+typedef unsigned short USHORT;
+typedef unsigned short WORD;
+typedef unsigned short WCHAR;
+
+/* These types must be 32-bit integer */
+typedef long LONG;
+typedef unsigned long ULONG;
+typedef unsigned long DWORD;
+
+typedef unsigned char BOOL;
+
+#endif
+
+#endif