// 7.18.1.1 Exact-width integer types
typedef __int8 int8_t;
typedef __int16 int16_t;
+#ifndef int32_t
typedef __int32 int32_t;
+#endif
+#ifndef int64_t
typedef __int64 int64_t;
+#endif
+#ifndef uint8_t
typedef unsigned __int8 uint8_t;
+#endif
+#ifndef u_char
typedef unsigned __int8 u_char;
+#endif
typedef unsigned __int16 uint16_t;
+#ifndef uint32_t
typedef unsigned __int32 uint32_t;
+#endif
typedef unsigned __int64 uint64_t;
// 7.18.1.2 Minimum-width integer types