1321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o/*
2321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o * If linux/types.h is already been included, assume it has defined
3321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o * everything we need.  (cross fingers)  Other header files may have
4321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o * also defined the types that we need.
5321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o */
6321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
7321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o	!defined(_EXT2_TYPES_H))
8321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define _EXT2_TYPES_H
9321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o
10321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef unsigned char __u8;
11321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __signed__ char __s8;
12321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef unsigned short __u16;
13321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __signed__ short __s16;
14321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef unsigned int __u32;
15321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __signed__ int __s32;
16321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef unsigned long long __u64;
17321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __signed__ long long __s64;
18321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#endif
19321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o
20d4e5abfb1bb990a029005c1a801961fc1a0ba866Adrien Schildknecht#include <stdint.h> //uintptr_t
21d4e5abfb1bb990a029005c1a801961fc1a0ba866Adrien Schildknecht
22321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o/* endian checking stuff */
23321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#ifndef EXT2_ENDIAN_H_
24321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define EXT2_ENDIAN_H_
25321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o
26321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#ifdef __CHECKER__
27321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define __bitwise		__attribute__((bitwise))
28321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define __force			__attribute__((force))
29321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#else
30321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define __bitwise
31321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#define __force
32321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#endif
33321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o
34321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u16	__bitwise	__le16;
35321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u32	__bitwise	__le32;
36321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u64	__bitwise	__le64;
37321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u16	__bitwise	__be16;
38321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u32	__bitwise	__be32;
39321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'otypedef __u64	__bitwise	__be64;
40321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o
41321f3446f38d429bbfafec2885e7e6a6353cce1fTheodore Ts'o#endif /* EXT2_ENDIAN_H_ */
42