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 #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