#ifndef _INTEGER
+#include <cfg/compiler.h>
+
#if 0
#include <windows.h>
#else
/* These types must be 16-bit, 32-bit or larger integer */
-typedef int INT;
-typedef unsigned int UINT;
+typedef int16_t INT;
+typedef uint16_t UINT;
/* These types must be 8-bit integer */
-typedef signed char CHAR;
-typedef unsigned char UCHAR;
-typedef unsigned char BYTE;
+typedef int8_t CHAR;
+typedef uint8_t UCHAR;
+typedef uint8_t BYTE;
/* These types must be 16-bit integer */
-typedef short SHORT;
-typedef unsigned short USHORT;
-typedef unsigned short WORD;
-typedef unsigned short WCHAR;
+typedef int16_t SHORT;
+typedef uint16_t USHORT;
+typedef uint16_t WORD;
+typedef uint16_t WCHAR;
/* These types must be 32-bit integer */
-typedef long LONG;
-typedef unsigned long ULONG;
-typedef unsigned long DWORD;
+typedef int32_t LONG;
+typedef uint32_t ULONG;
+typedef uint32_t DWORD;
/* Boolean type */
typedef enum { FALSE = 0, TRUE } BOOL;