new types
diff --git a/include/u.h b/include/u.h
index 68a08a6..e5aeae5 100644
--- a/include/u.h
+++ b/include/u.h
@@ -17,6 +17,8 @@
#define _LARGEFILE64_SOURCE 1
#define _FILE_OFFSET_BITS 64
+#include <stdint.h>
+
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
@@ -107,8 +109,6 @@
#endif
typedef signed char schar;
-typedef unsigned int u32int;
-typedef int s32int;
#ifdef _NEEDUCHAR
typedef unsigned char uchar;
@@ -124,12 +124,16 @@
#endif
typedef unsigned long long uvlong;
typedef long long vlong;
-typedef uvlong u64int;
-typedef vlong s64int;
-typedef uchar u8int;
-typedef schar s8int;
-typedef ushort u16int;
-typedef short s16int;
+
+typedef uint64_t u64int;
+typedef int64_t s64int;
+typedef uint8_t u8int;
+typedef int8_t s8int;
+typedef uint16_t u16int;
+typedef int16_t s16int;
+typedef uintptr_t uintptr;
+typedef uint32_t u32int;
+typedef int32_t s32int;
#undef _NEEDUCHAR
#undef _NEEDUSHORT