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)) 8#define _EXT2_TYPES_H 9 10@ASM_TYPES_HEADER@ 11 12#ifdef __U8_TYPEDEF 13typedef __U8_TYPEDEF __u8; 14#else 15typedef unsigned char __u8; 16#endif 17 18#ifdef __S8_TYPEDEF 19typedef __S8_TYPEDEF __s8; 20#else 21typedef signed char __s8; 22#endif 23 24#ifdef __U16_TYPEDEF 25typedef __U16_TYPEDEF __u16; 26#else 27#if (@SIZEOF_INT@ == 2) 28typedef unsigned int __u16; 29#else 30#if (@SIZEOF_SHORT@ == 2) 31typedef unsigned short __u16; 32#else 33 ?==error: undefined 16 bit type 34#endif /* SIZEOF_SHORT == 2 */ 35#endif /* SIZEOF_INT == 2 */ 36#endif /* __U16_TYPEDEF */ 37 38#ifdef __S16_TYPEDEF 39typedef __S16_TYPEDEF __s16; 40#else 41#if (@SIZEOF_INT@ == 2) 42typedef int __s16; 43#else 44#if (@SIZEOF_SHORT@ == 2) 45typedef short __s16; 46#else 47 ?==error: undefined 16 bit type 48#endif /* SIZEOF_SHORT == 2 */ 49#endif /* SIZEOF_INT == 2 */ 50#endif /* __S16_TYPEDEF */ 51 52 53#ifdef __U32_TYPEDEF 54typedef __U32_TYPEDEF __u32; 55#else 56#if (@SIZEOF_INT@ == 4) 57typedef unsigned int __u32; 58#else 59#if (@SIZEOF_LONG@ == 4) 60typedef unsigned long __u32; 61#else 62#if (@SIZEOF_SHORT@ == 4) 63typedef unsigned short __u32; 64#else 65 ?== error: undefined 32 bit type 66#endif /* SIZEOF_SHORT == 4 */ 67#endif /* SIZEOF_LONG == 4 */ 68#endif /* SIZEOF_INT == 4 */ 69#endif /* __U32_TYPEDEF */ 70 71#ifdef __S32_TYPEDEF 72typedef __S32_TYPEDEF __s32; 73#else 74#if (@SIZEOF_INT@ == 4) 75typedef int __s32; 76#else 77#if (@SIZEOF_LONG@ == 4) 78typedef long __s32; 79#else 80#if (@SIZEOF_SHORT@ == 4) 81typedef short __s32; 82#else 83 ?== error: undefined 32 bit type 84#endif /* SIZEOF_SHORT == 4 */ 85#endif /* SIZEOF_LONG == 4 */ 86#endif /* SIZEOF_INT == 4 */ 87#endif /* __S32_TYPEDEF */ 88 89#ifdef __U64_TYPEDEF 90typedef __U64_TYPEDEF __u64; 91#else 92#if (@SIZEOF_INT@ == 8) 93typedef unsigned int __u64; 94#else 95#if (@SIZEOF_LONG@ == 8) 96typedef unsigned long __u64; 97#else 98#if (@SIZEOF_LONG_LONG@ == 8) 99typedef unsigned long long __u64; 100#endif /* SIZEOF_LONG_LONG == 8 */ 101#endif /* SIZEOF_LONG == 8 */ 102#endif /* SIZEOF_INT == 8 */ 103#endif /* __U64_TYPEDEF */ 104 105#ifdef __S64_TYPEDEF 106typedef __S64_TYPEDEF __s64; 107#else 108#if (@SIZEOF_INT@ == 8) 109typedef int __s64; 110#else 111#if (@SIZEOF_LONG@ == 8) 112typedef long __s64; 113#else 114#if (@SIZEOF_LONG_LONG@ == 8) 115#if defined(__GNUC__) 116typedef __signed__ long long __s64; 117#else 118typedef signed long long __s64; 119#endif /* __GNUC__ */ 120#endif /* SIZEOF_LONG_LONG == 8 */ 121#endif /* SIZEOF_LONG == 8 */ 122#endif /* SIZEOF_INT == 8 */ 123#endif /* __S64_TYPEDEF */ 124 125#undef __S8_TYPEDEF 126#undef __U8_TYPEDEF 127#undef __S16_TYPEDEF 128#undef __U16_TYPEDEF 129#undef __S32_TYPEDEF 130#undef __U32_TYPEDEF 131#undef __S64_TYPEDEF 132#undef __U64_TYPEDEF 133 134#endif /* _*_TYPES_H */ 135