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