+/* Integer types used for FatFs API */\r
+\r
+#if defined(_WIN32) /* Windows VC++ (for development only) */\r
+#define FF_INTDEF 2\r
+#include <windows.h>\r
+typedef unsigned __int64 QWORD;\r
+#include <float.h>\r
+#define isnan(v) _isnan(v)\r
+#define isinf(v) (!_finite(v))\r
+\r
+#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) /* C99 or later */\r
+#define FF_INTDEF 2\r
+#include <stdint.h>\r
+typedef unsigned int UINT; /* int must be 16-bit or 32-bit */\r
+typedef unsigned char BYTE; /* char must be 8-bit */\r
+typedef uint16_t WORD; /* 16-bit unsigned integer */\r
+typedef uint32_t DWORD; /* 32-bit unsigned integer */\r
+typedef uint64_t QWORD; /* 64-bit unsigned integer */\r
+typedef WORD WCHAR; /* UTF-16 character type */\r
+\r
+#else /* Earlier than C99 */\r
+#define FF_INTDEF 1\r
+typedef unsigned int UINT; /* int must be 16-bit or 32-bit */\r
+typedef unsigned char BYTE; /* char must be 8-bit */\r
+typedef unsigned short WORD; /* 16-bit unsigned integer */\r
+typedef unsigned long DWORD; /* 32-bit unsigned integer */\r
+typedef WORD WCHAR; /* UTF-16 character type */\r
+#endif\r