/* 
 * If linux/types.h is already been included, assume it has defined
 * everything we need.  (cross fingers)  Other header files may have 
 * also defined the types that we need.
 */
#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
	!defined(_EXT2_TYPES_H))
#define _EXT2_TYPES_H

@ASM_TYPES_HEADER@

#ifdef __U8_TYPEDEF
typedef __U8_TYPEDEF __u8;
#else
typedef unsigned char __u8;
#endif

#ifdef __S8_TYPEDEF
typedef __S8_TYPEDEF __s8;
#else
typedef signed char __s8;
#endif

#ifdef __U16_TYPEDEF
typedef __U16_TYPEDEF __u16;
#else
#if (@SIZEOF_INT@ == 2)
typedef	unsigned int	__u16;
#else
#if (@SIZEOF_SHORT@ == 2)
typedef	unsigned short	__u16;
#else
  ?==error: undefined 16 bit type
#endif /* SIZEOF_SHORT == 2 */
#endif /* SIZEOF_INT == 2 */
#endif /* __U16_TYPEDEF */

#ifdef __S16_TYPEDEF
typedef __S16_TYPEDEF __s16;
#else
#if (@SIZEOF_INT@ == 2)
typedef	int		__s16;
#else
#if (@SIZEOF_SHORT@ == 2)
typedef	short		__s16;
#else
  ?==error: undefined 16 bit type
#endif /* SIZEOF_SHORT == 2 */
#endif /* SIZEOF_INT == 2 */
#endif /* __S16_TYPEDEF */


#ifdef __U32_TYPEDEF
typedef __U32_TYPEDEF __u32;
#else
#if (@SIZEOF_INT@ == 4)
typedef	unsigned int	__u32;
#else
#if (@SIZEOF_LONG@ == 4)
typedef	unsigned long	__u32;
#else
#if (@SIZEOF_SHORT@ == 4)
typedef	unsigned short	__u32;
#else
 ?== error: undefined 32 bit type
#endif /* SIZEOF_SHORT == 4 */
#endif /* SIZEOF_LONG == 4 */
#endif /* SIZEOF_INT == 4 */
#endif /* __U32_TYPEDEF */

#ifdef __S32_TYPEDEF
typedef __S32_TYPEDEF __s32;
#else
#if (@SIZEOF_INT@ == 4)
typedef	int		__s32;
#else
#if (@SIZEOF_LONG@ == 4)
typedef	long		__s32;
#else
#if (@SIZEOF_SHORT@ == 4)
typedef	short		__s32;
#else
 ?== error: undefined 32 bit type
#endif /* SIZEOF_SHORT == 4 */
#endif /* SIZEOF_LONG == 4 */
#endif /* SIZEOF_INT == 4 */
#endif /* __S32_TYPEDEF */

#ifdef __U64_TYPEDEF
typedef __U64_TYPEDEF __u64;
#else
#if (@SIZEOF_INT@ == 8)
typedef unsigned int	__u64;
#else
#if (@SIZEOF_LONG_LONG@ == 8)
typedef unsigned long long	__u64;
#else
#if (@SIZEOF_LONG@ == 8)
typedef unsigned long	__u64;
#endif /* SIZEOF_LONG_LONG == 8 */
#endif /* SIZEOF_LONG == 8 */
#endif /* SIZEOF_INT == 8 */
#endif /* __U64_TYPEDEF */

#ifdef __S64_TYPEDEF
typedef __S64_TYPEDEF __s64;
#else
#if (@SIZEOF_INT@ == 8)
typedef int		__s64;
#else
#if (@SIZEOF_LONG_LONG@ == 8)
#if defined(__GNUC__)
typedef __signed__ long long	__s64;
#else
typedef signed long long	__s64;
#endif /* __GNUC__ */
#else
#if (@SIZEOF_LONG@ == 8)
typedef long		__s64;
#endif /* SIZEOF_LONG_LONG == 8 */
#endif /* SIZEOF_LONG == 8 */
#endif /* SIZEOF_INT == 8 */
#endif /* __S64_TYPEDEF */

#undef __S8_TYPEDEF
#undef __U8_TYPEDEF
#undef __S16_TYPEDEF
#undef __U16_TYPEDEF
#undef __S32_TYPEDEF
#undef __U32_TYPEDEF
#undef __S64_TYPEDEF
#undef __U64_TYPEDEF

#endif /* _*_TYPES_H */

@PUBLIC_CONFIG_HEADER@
