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