rstd_types.h (1412B)
1 //////////////////////// 2 // NOTE: Standard Types 3 4 #ifndef RSTD_TYPES_H 5 #define RSTD_TYPES_H 6 7 #if COMPILER_MSVC 8 typedef unsigned __int64 u64; 9 typedef signed __int64 s64; 10 typedef unsigned __int32 u32; 11 typedef signed __int32 s32; 12 typedef unsigned __int16 u16; 13 typedef signed __int16 s16; 14 typedef unsigned __int8 u8; 15 typedef signed __int8 s8; 16 #else 17 typedef __UINT64_TYPE__ u64; 18 typedef __INT64_TYPE__ s64; 19 typedef __UINT32_TYPE__ u32; 20 typedef __INT32_TYPE__ s32; 21 typedef __UINT16_TYPE__ u16; 22 typedef __INT16_TYPE__ s16; 23 typedef __UINT8_TYPE__ u8; 24 typedef __INT8_TYPE__ s8; 25 #endif 26 27 typedef u8 b8; 28 typedef u16 b16; 29 typedef u32 b32; 30 typedef u64 b64; 31 typedef float f32; 32 typedef double f64; 33 typedef s64 sptr; 34 typedef u64 uptr; 35 36 #define U64_MAX (0xFFFFFFFFFFFFFFFFull) 37 #define U32_MAX (0xFFFFFFFFul) 38 #define U16_MAX (0xFFFFu) 39 #define U8_MAX (0xFFu) 40 #define S64_MAX (0x7FFFFFFFFFFFFFFFll) 41 #define S32_MAX (0x7FFFFFFFl) 42 #define S16_MAX (0x7FFF) 43 #define S8_MAX (0x7F) 44 45 #define GB(a) ((u64)(a) << 30ULL) 46 #define MB(a) ((u64)(a) << 20ULL) 47 #define KB(a) ((u64)(a) << 10ULL) 48 49 typedef struct {s64 length; u16 *str;} str16; 50 typedef struct {s64 length; union {u8 *str; s8 *c_str;}; } str8; 51 #define str8(s) (str8){.length = (s64)sizeof(s) - 1, .str = (u8 *)s} 52 #define str8_comp(s) {sizeof(s) - 1, (u8 *)s} 53 54 #endif /* RSTD_TYPES_H */