1 /* 2 * If linux/types.h is already been included, assume it has defined 3 * everything we need. (cross fingers) Other header files may have 4 * also defined the types that we need. 5 */ 6 #if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \ 7 !defined(_EXT2_TYPES_H) && !defined(_UUID_TYPES_H)) 8 #define _LINUX_TYPES_H 9 10 typedef unsigned char __u8; 11 typedef __signed__ char __s8; 12 typedef unsigned short __u16; 13 typedef __signed__ short __s16; 14 typedef unsigned int __u32; 15 typedef __signed__ int __s32; 16 typedef unsigned long long __u64; 17 typedef __signed__ long long __s64; 18 #endif 19 20 #include <stdint.h> //uintptr_t 21 22 /* endian checking stuff */ 23 #ifndef EXT2_ENDIAN_H_ 24 #define EXT2_ENDIAN_H_ 25 26 #ifdef __CHECKER__ 27 #ifndef __bitwise 28 #define __bitwise __attribute__((bitwise)) 29 #endif 30 #define __force __attribute__((force)) 31 #else 32 #ifndef __bitwise 33 #define __bitwise 34 #endif 35 #define __force 36 #endif 37 38 typedef __u16 __bitwise __le16; 39 typedef __u32 __bitwise __le32; 40 typedef __u64 __bitwise __le64; 41 typedef __u16 __bitwise __be16; 42 typedef __u32 __bitwise __be32; 43 typedef __u64 __bitwise __be64; 44 45 #endif /* EXT2_ENDIAN_H_ */ 46