#ifndef TYPES_H_ #define TYPES_H_ typedef signed char s8; typedef signed short s16; typedef signed long s32; typedef signed long long s64; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned long u32; typedef unsigned long long u64; typedef volatile u8 vu8; typedef volatile u16 vu16; typedef volatile u32 vu32; typedef volatile u64 vu64; typedef volatile s8 vs8; typedef volatile s16 vs16; typedef volatile s32 vs32; typedef volatile s64 vs64; typedef float f32; typedef double f64; typedef volatile f32 vf32; typedef volatile f64 vf64; typedef int BOOL; typedef unsigned int uint; #define TRUE 1 #define FALSE 0 #define READU32_BE(ptr, offset) \ (((u32)ptr[offset] << 24) | ((u32)ptr[offset + 1] << 16) | ((u32)ptr[offset + 2] << 8) | \ (u32)ptr[offset + 3]); #if defined(__MWERKS__) #define AT_ADDRESS(addr) : (addr) #elif defined(__GNUC__) //#define AT_ADDRESS(addr) __attribute__((address((addr)))) #define AT_ADDRESS(addr) // was removed in GCC. define in linker script instead. #else #define AT_ADDRESS(addr) #endif #ifndef ATTRIBUTE_ALIGN #if defined(__MWERKS__) || defined(__GNUC__) #define ATTRIBUTE_ALIGN(num) __attribute__((aligned(num))) #elif defined(_MSC_VER) #define ATTRIBUTE_ALIGN(num) #else #error unknown compiler #endif #endif #ifndef DECL_WEAK #if defined(__MWERKS__) #define DECL_WEAK __declspec(weak) #elif defined(__GNUC__) #define DECL_WEAK __attribute__((weak)) #elif defined(_MSC_VER) #define DECL_WEAK #else #error unknown compiler #endif #endif #ifndef NULL #ifdef __cplusplus #if __cplusplus >= 201103L #define NULL nullptr #else #define NULL 0 #endif #else #define NULL ((void*)0) #endif #endif #ifdef __MWERKS__ #define __REGISTER register #else #define __REGISTER #endif #include "stddef.h" // IWYU pragma: export #define INT32_MAX (0x7fffffff) #define UINT32_MAX (0xffffffff) #define FLOAT_MIN (1.175494351e-38f) #define FLOAT_MAX (3.40282346638528860e+38f) #endif