Android build gets __u32 and friends from bionic/libc/kernel/arch-x86/asm/types.h and having the typedefs here causes redefinition errors.
@@ -84,11 +84,13 @@
#else
#include <sys/types.h>
#include <net/if.h>
+#ifndef ANDROID
typedef __uint32_t __u32;
typedef __int32_t __s32;
typedef __uint16_t __u16;
typedef __int16_t __s16;
typedef __uint8_t __u8;
+#endif /* ANDROID */
#ifndef __user
#define __user
#endif /* __user */