-typedef unsigned char byte;
-typedef unsigned char uint8;
-typedef unsigned short uint16;
-typedef unsigned long uint32;
-typedef char int8;
-typedef short int16;
-typedef long int32;
+/*
+#ifdef linux
+#include <sys/types.h>
+ typedef __u8 byte;
+ typedef __u8 uint8;
+ typedef __u16 uint16;
+ typedef __u32 uint32;
+ typedef __s8 int8;
+ typedef __s16 int16;
+ typedef __s32 int32;
+#else
+ typedef unsigned char byte;
+ typedef unsigned char uint8;
+ typedef unsigned ushort uint16;
+ typedef unsigned uint uint32;
+ typedef char int8;
+ typedef short int16;
+ typedef int int32;
+#endif
+*/
+
+#include <stdint.h>
+typedef uint8_t byte;
+typedef uint8_t uint8;
+typedef uint16_t uint16;
+typedef uint32_t uint32;
+typedef int8_t int8;
+typedef int16_t int16;
+typedef int32_t int32;