+/* 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 */
+
+typedef unsigned int uns; /* at least 32 bits */
+typedef u32 sh_time_t; /* seconds since UNIX epoch */
+typedef s64 timestamp_t; /* milliseconds since UNIX epoch */
+
+#ifdef CONFIG_LARGE_FILES /* File positions */