119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/*
219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * If linux/types.h is already been included, assume it has defined
319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * everything we need.  (cross fingers)  Other header files may have
419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * also defined the types that we need.
519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */
619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	!defined(_EXT2_TYPES_H))
819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define _BLKID_TYPES_H
919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __S8_TYPEDEF __signed__ char
1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __U8_TYPEDEF unsigned char
1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __S16_TYPEDEF __signed__ short
1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __U16_TYPEDEF unsigned short
1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __S32_TYPEDEF __signed__ int
1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __U32_TYPEDEF unsigned int
1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __S64_TYPEDEF __signed__ long long
1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define __U64_TYPEDEF unsigned long long
1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __U8_TYPEDEF
2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __U8_TYPEDEF __u8;
2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef unsigned char __u8;
2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif
2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __S8_TYPEDEF
2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __S8_TYPEDEF __s8;
2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef signed char __s8;
2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif
3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __U16_TYPEDEF
3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __U16_TYPEDEF __u16;
3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 2)
3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	unsigned int	__u16;
3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
3719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (2 == 2)
3819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	unsigned short	__u16;
3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project  ?==error: undefined 16 bit type
4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_SHORT == 2 */
4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 2 */
4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __U16_TYPEDEF */
4419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
4519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __S16_TYPEDEF
4619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __S16_TYPEDEF __s16;
4719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
4819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 2)
4919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	int		__s16;
5019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
5119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (2 == 2)
5219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	short		__s16;
5319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
5419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project  ?==error: undefined 16 bit type
5519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_SHORT == 2 */
5619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 2 */
5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __S16_TYPEDEF */
5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __U32_TYPEDEF
6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __U32_TYPEDEF __u32;
6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 4)
6419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	unsigned int	__u32;
6519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
668558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall#if (4 == 4)
6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	unsigned long	__u32;
6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
6919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (2 == 4)
7019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	unsigned short	__u32;
7119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
7219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project ?== error: undefined 32 bit type
7319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_SHORT == 4 */
7419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG == 4 */
7519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 4 */
7619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __U32_TYPEDEF */
7719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
7819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __S32_TYPEDEF
7919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __S32_TYPEDEF __s32;
8019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
8119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 4)
8219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	int		__s32;
8319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
848558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall#if (4 == 4)
8519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	long		__s32;
8619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
8719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (2 == 4)
8819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef	short		__s32;
8919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
9019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project ?== error: undefined 32 bit type
9119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_SHORT == 4 */
9219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG == 4 */
9319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 4 */
9419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __S32_TYPEDEF */
9519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
9619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __U64_TYPEDEF
9719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __U64_TYPEDEF __u64;
9819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
9919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 8)
10019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef unsigned int	__u64;
10119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
1028558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall#if (4 == 8)
10319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef unsigned long	__u64;
10419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
10519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (8 == 8)
10619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef unsigned long long	__u64;
10719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG_LONG == 8 */
10819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG == 8 */
10919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 8 */
11019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __U64_TYPEDEF */
11119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
11219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __S64_TYPEDEF
11319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __S64_TYPEDEF __s64;
11419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
11519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (4 == 8)
11619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef int		__s64;
11719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
1188558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall#if (4 == 8)
11919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef long		__s64;
12019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
12119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if (8 == 8)
12219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#if defined(__GNUC__)
12319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef __signed__ long long 	__s64;
12419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else
12519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef signed long long 	__s64;
12619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __GNUC__ */
12719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG_LONG == 8 */
12819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_LONG == 8 */
12919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* SIZEOF_INT == 8 */
13019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* __S64_TYPEDEF */
13119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
13219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __S8_TYPEDEF
13319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __U8_TYPEDEF
13419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __S16_TYPEDEF
13519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __U16_TYPEDEF
13619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __S32_TYPEDEF
13719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __U32_TYPEDEF
13819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __S64_TYPEDEF
13919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#undef __U64_TYPEDEF
14019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
14119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* _*_TYPES_H */
142