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