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 @ASM_TYPES_HEADER@
     11 
     12 #ifndef HAVE___U8
     13 #define HAVE___U8
     14 #ifdef __U8_TYPEDEF
     15 typedef __U8_TYPEDEF __u8;
     16 #else
     17 typedef unsigned char __u8;
     18 #endif
     19 #endif /* HAVE___U8 */
     20 
     21 #ifndef HAVE___S8
     22 #define HAVE___S8
     23 #ifdef __S8_TYPEDEF
     24 typedef __S8_TYPEDEF __s8;
     25 #else
     26 typedef signed char __s8;
     27 #endif
     28 #endif /* HAVE___S8 */
     29 
     30 #ifndef HAVE___U16
     31 #define HAVE___U16
     32 #ifdef __U16_TYPEDEF
     33 typedef __U16_TYPEDEF __u16;
     34 #else
     35 #if (@SIZEOF_INT@ == 2)
     36 typedef	unsigned int	__u16;
     37 #else
     38 #if (@SIZEOF_SHORT@ == 2)
     39 typedef	unsigned short	__u16;
     40 #else
     41 #undef HAVE___U16
     42   ?==error: undefined 16 bit type
     43 #endif /* SIZEOF_SHORT == 2 */
     44 #endif /* SIZEOF_INT == 2 */
     45 #endif /* __U16_TYPEDEF */
     46 #endif /* HAVE___U16 */
     47 
     48 #ifndef HAVE___S16
     49 #define HAVE___S16
     50 #ifdef __S16_TYPEDEF
     51 typedef __S16_TYPEDEF __s16;
     52 #else
     53 #if (@SIZEOF_INT@ == 2)
     54 typedef	int		__s16;
     55 #else
     56 #if (@SIZEOF_SHORT@ == 2)
     57 typedef	short		__s16;
     58 #else
     59 #undef HAVE___S16
     60   ?==error: undefined 16 bit type
     61 #endif /* SIZEOF_SHORT == 2 */
     62 #endif /* SIZEOF_INT == 2 */
     63 #endif /* __S16_TYPEDEF */
     64 #endif /* HAVE___S16 */
     65 
     66 #ifndef HAVE___U32
     67 #define HAVE___U32
     68 #ifdef __U32_TYPEDEF
     69 typedef __U32_TYPEDEF __u32;
     70 #else
     71 #if (@SIZEOF_INT@ == 4)
     72 typedef	unsigned int	__u32;
     73 #else
     74 #if (@SIZEOF_LONG@ == 4)
     75 typedef	unsigned long	__u32;
     76 #else
     77 #if (@SIZEOF_SHORT@ == 4)
     78 typedef	unsigned short	__u32;
     79 #else
     80 #undef HAVE___U32
     81  ?== error: undefined 32 bit type
     82 #endif /* SIZEOF_SHORT == 4 */
     83 #endif /* SIZEOF_LONG == 4 */
     84 #endif /* SIZEOF_INT == 4 */
     85 #endif /* __U32_TYPEDEF */
     86 #endif /* HAVE___U32 */
     87 
     88 #ifndef HAVE___S32
     89 #define HAVE___S32
     90 #ifdef __S32_TYPEDEF
     91 typedef __S32_TYPEDEF __s32;
     92 #else
     93 #if (@SIZEOF_INT@ == 4)
     94 typedef	int		__s32;
     95 #else
     96 #if (@SIZEOF_LONG@ == 4)
     97 typedef	long		__s32;
     98 #else
     99 #if (@SIZEOF_SHORT@ == 4)
    100 typedef	short		__s32;
    101 #else
    102 #undef HAVE___S32
    103  ?== error: undefined 32 bit type
    104 #endif /* SIZEOF_SHORT == 4 */
    105 #endif /* SIZEOF_LONG == 4 */
    106 #endif /* SIZEOF_INT == 4 */
    107 #endif /* __S32_TYPEDEF */
    108 #endif /* HAVE___S32 */
    109 
    110 #ifndef HAVE___U64
    111 #define HAVE___U64
    112 #ifdef __U64_TYPEDEF
    113 typedef __U64_TYPEDEF __u64;
    114 #else
    115 #if (@SIZEOF_INT@ == 8)
    116 typedef unsigned int	__u64;
    117 #else
    118 #if (@SIZEOF_LONG_LONG@ == 8)
    119 typedef unsigned long long	__u64;
    120 #else
    121 #if (@SIZEOF_LONG@ == 8)
    122 typedef unsigned long	__u64;
    123 #else
    124 #undef HAVE___U64
    125  ?== error: undefined 64 bit type
    126 #endif /* SIZEOF_LONG_LONG == 8 */
    127 #endif /* SIZEOF_LONG == 8 */
    128 #endif /* SIZEOF_INT == 8 */
    129 #endif /* __U64_TYPEDEF */
    130 #endif /* HAVE___U64 */
    131 
    132 #ifndef HAVE___S64
    133 #define HAVE___S64
    134 #ifdef __S64_TYPEDEF
    135 typedef __S64_TYPEDEF __s64;
    136 #else
    137 #if (@SIZEOF_INT@ == 8)
    138 typedef int		__s64;
    139 #else
    140 #if (@SIZEOF_LONG_LONG@ == 8)
    141 #if defined(__GNUC__)
    142 typedef __signed__ long long	__s64;
    143 #else
    144 typedef signed long long	__s64;
    145 #endif /* __GNUC__ */
    146 #else
    147 #if (@SIZEOF_LONG@ == 8)
    148 typedef long		__s64;
    149 #else
    150 #undef HAVE___S64
    151  ?== error: undefined 64 bit type
    152 #endif /* SIZEOF_LONG_LONG == 8 */
    153 #endif /* SIZEOF_LONG == 8 */
    154 #endif /* SIZEOF_INT == 8 */
    155 #endif /* __S64_TYPEDEF */
    156 #endif /* HAVE___S64 */
    157 
    158 #undef __S8_TYPEDEF
    159 #undef __U8_TYPEDEF
    160 #undef __S16_TYPEDEF
    161 #undef __U16_TYPEDEF
    162 #undef __S32_TYPEDEF
    163 #undef __U32_TYPEDEF
    164 #undef __S64_TYPEDEF
    165 #undef __U64_TYPEDEF
    166 
    167 #endif /* _*_TYPES_H */
    168 
    169 #include <stdint.h>
    170 
    171 /* endian checking stuff */
    172 #ifndef EXT2_ENDIAN_H_
    173 #define EXT2_ENDIAN_H_
    174 
    175 #ifdef __CHECKER__
    176 #define __bitwise		__attribute__((bitwise))
    177 #define __force			__attribute__((force))
    178 #else
    179 #ifndef __bitwise
    180 #define __bitwise
    181 #endif
    182 #define __force
    183 #endif
    184 
    185 typedef __u16	__bitwise	__le16;
    186 typedef __u32	__bitwise	__le32;
    187 typedef __u64	__bitwise	__le64;
    188 typedef __u16	__bitwise	__be16;
    189 typedef __u32	__bitwise	__be32;
    190 typedef __u64	__bitwise	__be64;
    191 
    192 #endif /* EXT2_ENDIAN_H_ */
    193 
    194 @PUBLIC_CONFIG_HEADER@
    195