TYPEDEF __builtin_va_list va_list;
-#ifdef __WCHAR_TYPE__
-TYPEDEF __WCHAR_TYPE__ wchar_t;
-#else
-TYPEDEF long wchar_t;
+#ifndef __cplusplus
+TYPEDEF unsigned wchar_t;
#endif
-TYPEDEF long wint_t;
+TYPEDEF int wint_t;
TYPEDEF long wctrans_t;
TYPEDEF long wctype_t;
-TYPEDEF char int8_t;
-TYPEDEF short int16_t;
-TYPEDEF int int32_t;
-TYPEDEF long long int64_t;
+TYPEDEF signed char int8_t;
+TYPEDEF short int16_t;
+TYPEDEF int int32_t;
+TYPEDEF long long int64_t;
TYPEDEF unsigned char uint8_t;
TYPEDEF unsigned short uint16_t;
TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t;
+TYPEDEF float float_t;
+TYPEDEF double double_t;
+
TYPEDEF long time_t;
TYPEDEF int suseconds_t;
STRUCT timeval { time_t tv_sec; int tv_usec; };