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