118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer/* 218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * If linux/types.h is already been included, assume it has defined 318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * everything we need. (cross fingers) Other header files may have 418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * also defined the types that we need. 518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer */ 618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \ 718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer !defined(_EXT2_TYPES_H)) 818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#define _EXT2_TYPES_H 918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 1018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 1118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __U8_TYPEDEF 1218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __U8_TYPEDEF __u8; 1318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 1418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned char __u8; 1518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif 1618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 1718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __S8_TYPEDEF 1818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __S8_TYPEDEF __s8; 1918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 2018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef signed char __s8; 2118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif 2218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 2318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __U16_TYPEDEF 2418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __U16_TYPEDEF __u16; 2518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 2618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 2) 2718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned int __u16; 2818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 2918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (2 == 2) 3018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned short __u16; 3118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 3218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer ?==error: undefined 16 bit type 3318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_SHORT == 2 */ 3418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 2 */ 3518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __U16_TYPEDEF */ 3618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 3718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __S16_TYPEDEF 3818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __S16_TYPEDEF __s16; 3918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 4018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 2) 4118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef int __s16; 4218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 4318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (2 == 2) 4418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef short __s16; 4518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 4618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer ?==error: undefined 16 bit type 4718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_SHORT == 2 */ 4818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 2 */ 4918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __S16_TYPEDEF */ 5018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 5118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 5218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __U32_TYPEDEF 5318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __U32_TYPEDEF __u32; 5418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 5518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 4) 5618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned int __u32; 5718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 5818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 4) 5918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned long __u32; 6018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 6118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (2 == 4) 6218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned short __u32; 6318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 6418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer ?== error: undefined 32 bit type 6518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_SHORT == 4 */ 6618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG == 4 */ 6718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 4 */ 6818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __U32_TYPEDEF */ 6918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 7018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __S32_TYPEDEF 7118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __S32_TYPEDEF __s32; 7218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 7318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 4) 7418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef int __s32; 7518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 7618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 4) 7718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef long __s32; 7818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 7918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (2 == 4) 8018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef short __s32; 8118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 8218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer ?== error: undefined 32 bit type 8318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_SHORT == 4 */ 8418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG == 4 */ 8518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 4 */ 8618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __S32_TYPEDEF */ 8718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 8818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __U64_TYPEDEF 8918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __U64_TYPEDEF __u64; 9018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 9118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 8) 9218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned int __u64; 9318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 9465f0aab98b20b5994a726ab90d355248bcddfffdJP Abgrall#if (8 == 8) 9565f0aab98b20b5994a726ab90d355248bcddfffdJP Abgralltypedef unsigned long long __u64; 96e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#else 97e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#if (4 == 8) 98e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef unsigned long __u64; 9918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG_LONG == 8 */ 10018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG == 8 */ 10118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 8 */ 10218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __U64_TYPEDEF */ 10318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 10418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#ifdef __S64_TYPEDEF 10518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __S64_TYPEDEF __s64; 10618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 10718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 8) 10818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef int __s64; 10918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 11018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (8 == 8) 11118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if defined(__GNUC__) 112e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef __signed__ long long __s64; 11318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else 114e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef signed long long __s64; 11518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __GNUC__ */ 116e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#else 117e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#if (4 == 8) 118e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef long __s64; 11918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG_LONG == 8 */ 12018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_LONG == 8 */ 12118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* SIZEOF_INT == 8 */ 12218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* __S64_TYPEDEF */ 12318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 12418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __S8_TYPEDEF 12518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __U8_TYPEDEF 12618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __S16_TYPEDEF 12718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __U16_TYPEDEF 12818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __S32_TYPEDEF 12918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __U32_TYPEDEF 13018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __S64_TYPEDEF 13118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef __U64_TYPEDEF 13218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 13318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif /* _*_TYPES_H */ 13418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer 13518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer/* These defines are needed for the public ext2fs.h header file */ 13618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#define HAVE_SYS_TYPES_H 1 13718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#undef WORDS_BIGENDIAN 138