1*19c3b8c2SApple OSS Distributions // vim:noexpandtab 2*19c3b8c2SApple OSS Distributions #ifndef __TYPES_H__ 3*19c3b8c2SApple OSS Distributions #define __TYPES_H__ 4*19c3b8c2SApple OSS Distributions 5*19c3b8c2SApple OSS Distributions #include <stdint.h> 6*19c3b8c2SApple OSS Distributions #include <stdbool.h> 7*19c3b8c2SApple OSS Distributions 8*19c3b8c2SApple OSS Distributions typedef signed char s8; 9*19c3b8c2SApple OSS Distributions typedef unsigned char u8; 10*19c3b8c2SApple OSS Distributions typedef uint16_t u16; 11*19c3b8c2SApple OSS Distributions typedef int16_t s16; 12*19c3b8c2SApple OSS Distributions typedef uint32_t u32; 13*19c3b8c2SApple OSS Distributions typedef uint64_t u64; 14*19c3b8c2SApple OSS Distributions typedef int32_t s32; 15*19c3b8c2SApple OSS Distributions typedef int64_t s64; 16*19c3b8c2SApple OSS Distributions 17*19c3b8c2SApple OSS Distributions #if defined(__arm64__) || defined(__x86_64__) 18*19c3b8c2SApple OSS Distributions typedef u64 un; 19*19c3b8c2SApple OSS Distributions typedef s64 sn; 20*19c3b8c2SApple OSS Distributions #else 21*19c3b8c2SApple OSS Distributions typedef u32 un; 22*19c3b8c2SApple OSS Distributions typedef s32 sn; 23*19c3b8c2SApple OSS Distributions #endif 24*19c3b8c2SApple OSS Distributions 25*19c3b8c2SApple OSS Distributions #ifndef __DRT_H__ 26*19c3b8c2SApple OSS Distributions typedef u32 uint; 27*19c3b8c2SApple OSS Distributions #endif 28*19c3b8c2SApple OSS Distributions 29*19c3b8c2SApple OSS Distributions #define volatile_read(atom) (*((volatile typeof(*(atom)) *)(atom))) 30*19c3b8c2SApple OSS Distributions #define volatile_write(atom, value) (*((volatile typeof(*(atom)) *)(atom)) = value) 31*19c3b8c2SApple OSS Distributions 32*19c3b8c2SApple OSS Distributions #endif 33