TYPEDEF unsigned size_t;
TYPEDEF int ssize_t;
-TYPEDEF long ptrdiff_t;
+TYPEDEF int ptrdiff_t;
+
+#if __GNUC__ >= 3
+TYPEDEF __builtin_va_list va_list;
+#else
TYPEDEF struct __va_list * va_list;
+#endif
+#ifndef __cplusplus
+#ifdef __WCHAR_TYPE__
+TYPEDEF __WCHAR_TYPE__ wchar_t;
+#else
TYPEDEF long wchar_t;
+#endif
+#endif
TYPEDEF long 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 unsigned int uint32_t;
TYPEDEF unsigned long long uint64_t;
-TYPEDEF unsigned char __uint8_t;
TYPEDEF unsigned short __uint16_t;
TYPEDEF unsigned int __uint32_t;
TYPEDEF unsigned long long __uint64_t;
-TYPEDEF int8_t int_least8_t;
-TYPEDEF int16_t int_least16_t;
-TYPEDEF int32_t int_least32_t;
-TYPEDEF int64_t int_least64_t;
-
-TYPEDEF uint8_t uint_least8_t;
-TYPEDEF uint16_t uint_least16_t;
-TYPEDEF uint32_t uint_least32_t;
-TYPEDEF uint64_t uint_least64_t;
-
TYPEDEF int8_t int_fast8_t;
TYPEDEF int int_fast16_t;
TYPEDEF int int_fast32_t;
TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t;
-TYPEDEF long long intmax_t;
-TYPEDEF unsigned long long uintmax_t;
+#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
+TYPEDEF float float_t;
+TYPEDEF double double_t;
+#else
+TYPEDEF long double float_t;
+TYPEDEF long double double_t;
+#endif
TYPEDEF long time_t;
-TYPEDEF unsigned useconds_t;
TYPEDEF int suseconds_t;
STRUCT timeval { time_t tv_sec; int tv_usec; };
STRUCT timespec { time_t tv_sec; long tv_nsec; };