+/* Tell libc we're going to use all extensions available */
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+/* Types (based on standard C99 integers) */
+
+#include <stddef.h>
+#include <stdint.h>
+
+typedef uint8_t byte; /* exactly 8 bits, unsigned */
+typedef uint8_t u8; /* exactly 8 bits, unsigned */
+typedef int8_t s8; /* exactly 8 bits, signed */
+typedef uint16_t u16; /* exactly 16 bits, unsigned */
+typedef int16_t s16; /* exactly 16 bits, signed */
+typedef uint32_t u32; /* exactly 32 bits, unsigned */
+typedef int32_t s32; /* exactly 32 bits, signed */
+typedef uint64_t u64; /* exactly 64 bits, unsigned */
+typedef int64_t s64; /* exactly 64 bits, signed */