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