paul@181 | 1 | /* |
paul@181 | 2 | * If linux/types.h is already been included, assume it has defined |
paul@181 | 3 | * everything we need. (cross fingers) Other header files may have |
paul@181 | 4 | * also defined the types that we need. |
paul@181 | 5 | */ |
paul@181 | 6 | #if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \ |
paul@181 | 7 | !defined(_EXT2_TYPES_H)) |
paul@181 | 8 | #define _BLKID_TYPES_H |
paul@181 | 9 | |
paul@181 | 10 | #define __S8_TYPEDEF __signed__ char |
paul@181 | 11 | #define __U8_TYPEDEF unsigned char |
paul@181 | 12 | #define __S16_TYPEDEF __signed__ short |
paul@181 | 13 | #define __U16_TYPEDEF unsigned short |
paul@181 | 14 | #define __S32_TYPEDEF __signed__ int |
paul@181 | 15 | #define __U32_TYPEDEF unsigned int |
paul@181 | 16 | #define __S64_TYPEDEF __signed__ long long |
paul@181 | 17 | #define __U64_TYPEDEF unsigned long long |
paul@181 | 18 | |
paul@181 | 19 | #ifndef HAVE___U8 |
paul@181 | 20 | #define HAVE___U8 |
paul@181 | 21 | #ifdef __U8_TYPEDEF |
paul@181 | 22 | typedef __U8_TYPEDEF __u8; |
paul@181 | 23 | #else |
paul@181 | 24 | typedef unsigned char __u8; |
paul@181 | 25 | #endif |
paul@181 | 26 | #endif /* HAVE___U8 */ |
paul@181 | 27 | |
paul@181 | 28 | #ifndef HAVE___S8 |
paul@181 | 29 | #define HAVE___S8 |
paul@181 | 30 | #ifdef __S8_TYPEDEF |
paul@181 | 31 | typedef __S8_TYPEDEF __s8; |
paul@181 | 32 | #else |
paul@181 | 33 | typedef signed char __s8; |
paul@181 | 34 | #endif |
paul@181 | 35 | #endif /* HAVE___S8 */ |
paul@181 | 36 | |
paul@181 | 37 | #ifndef HAVE___U16 |
paul@181 | 38 | #define HAVE___U16 |
paul@181 | 39 | #ifdef __U16_TYPEDEF |
paul@181 | 40 | typedef __U16_TYPEDEF __u16; |
paul@181 | 41 | #else |
paul@181 | 42 | #if (4 == 2) |
paul@181 | 43 | typedef unsigned int __u16; |
paul@181 | 44 | #else |
paul@181 | 45 | #if (2 == 2) |
paul@181 | 46 | typedef unsigned short __u16; |
paul@181 | 47 | #else |
paul@181 | 48 | #undef HAVE___U16 |
paul@181 | 49 | ?==error: undefined 16 bit type |
paul@181 | 50 | #endif /* SIZEOF_SHORT == 2 */ |
paul@181 | 51 | #endif /* SIZEOF_INT == 2 */ |
paul@181 | 52 | #endif /* __U16_TYPEDEF */ |
paul@181 | 53 | #endif /* HAVE___U16 */ |
paul@181 | 54 | |
paul@181 | 55 | #ifndef HAVE___S16 |
paul@181 | 56 | #define HAVE___S16 |
paul@181 | 57 | #ifdef __S16_TYPEDEF |
paul@181 | 58 | typedef __S16_TYPEDEF __s16; |
paul@181 | 59 | #else |
paul@181 | 60 | #if (4 == 2) |
paul@181 | 61 | typedef int __s16; |
paul@181 | 62 | #else |
paul@181 | 63 | #if (2 == 2) |
paul@181 | 64 | typedef short __s16; |
paul@181 | 65 | #else |
paul@181 | 66 | #undef HAVE___S16 |
paul@181 | 67 | ?==error: undefined 16 bit type |
paul@181 | 68 | #endif /* SIZEOF_SHORT == 2 */ |
paul@181 | 69 | #endif /* SIZEOF_INT == 2 */ |
paul@181 | 70 | #endif /* __S16_TYPEDEF */ |
paul@181 | 71 | #endif /* HAVE___S16 */ |
paul@181 | 72 | |
paul@181 | 73 | #ifndef HAVE___U32 |
paul@181 | 74 | #define HAVE___U32 |
paul@181 | 75 | #ifdef __U32_TYPEDEF |
paul@181 | 76 | typedef __U32_TYPEDEF __u32; |
paul@181 | 77 | #else |
paul@181 | 78 | #if (4 == 4) |
paul@181 | 79 | typedef unsigned int __u32; |
paul@181 | 80 | #else |
paul@212 | 81 | #if (8 == 4) |
paul@181 | 82 | typedef unsigned long __u32; |
paul@181 | 83 | #else |
paul@181 | 84 | #if (2 == 4) |
paul@181 | 85 | typedef unsigned short __u32; |
paul@181 | 86 | #else |
paul@181 | 87 | #undef HAVE___U32 |
paul@181 | 88 | ?== error: undefined 32 bit type |
paul@181 | 89 | #endif /* SIZEOF_SHORT == 4 */ |
paul@181 | 90 | #endif /* SIZEOF_LONG == 4 */ |
paul@181 | 91 | #endif /* SIZEOF_INT == 4 */ |
paul@181 | 92 | #endif /* __U32_TYPEDEF */ |
paul@181 | 93 | #endif /* HAVE___U32 */ |
paul@181 | 94 | |
paul@181 | 95 | #ifndef HAVE___S32 |
paul@181 | 96 | #define HAVE___S32 |
paul@181 | 97 | #ifdef __S32_TYPEDEF |
paul@181 | 98 | typedef __S32_TYPEDEF __s32; |
paul@181 | 99 | #else |
paul@181 | 100 | #if (4 == 4) |
paul@181 | 101 | typedef int __s32; |
paul@181 | 102 | #else |
paul@212 | 103 | #if (8 == 4) |
paul@181 | 104 | typedef long __s32; |
paul@181 | 105 | #else |
paul@181 | 106 | #if (2 == 4) |
paul@181 | 107 | typedef short __s32; |
paul@181 | 108 | #else |
paul@181 | 109 | #undef HAVE___S32 |
paul@181 | 110 | ?== error: undefined 32 bit type |
paul@181 | 111 | #endif /* SIZEOF_SHORT == 4 */ |
paul@181 | 112 | #endif /* SIZEOF_LONG == 4 */ |
paul@181 | 113 | #endif /* SIZEOF_INT == 4 */ |
paul@181 | 114 | #endif /* __S32_TYPEDEF */ |
paul@181 | 115 | #endif /* HAVE___S32 */ |
paul@181 | 116 | |
paul@181 | 117 | #ifndef HAVE___U64 |
paul@181 | 118 | #define HAVE___U64 |
paul@181 | 119 | #ifdef __U64_TYPEDEF |
paul@181 | 120 | typedef __U64_TYPEDEF __u64; |
paul@181 | 121 | #else |
paul@181 | 122 | #if (4 == 8) |
paul@181 | 123 | typedef unsigned int __u64; |
paul@181 | 124 | #else |
paul@181 | 125 | #if (8 == 8) |
paul@181 | 126 | typedef unsigned long long __u64; |
paul@181 | 127 | #else |
paul@212 | 128 | #if (8 == 8) |
paul@181 | 129 | typedef unsigned long __u64; |
paul@181 | 130 | #else |
paul@181 | 131 | #undef HAVE___U64 |
paul@181 | 132 | ?== error: undefined 64 bit type |
paul@181 | 133 | #endif /* SIZEOF_LONG == 8 */ |
paul@181 | 134 | #endif /* SIZEOF_LONG_LONG == 8 */ |
paul@181 | 135 | #endif /* SIZEOF_INT == 8 */ |
paul@181 | 136 | #endif /* __U64_TYPEDEF */ |
paul@181 | 137 | #endif /* HAVE___U64 */ |
paul@181 | 138 | |
paul@181 | 139 | #ifndef HAVE___S64 |
paul@181 | 140 | #define HAVE___S64 |
paul@181 | 141 | #ifdef __S64_TYPEDEF |
paul@181 | 142 | typedef __S64_TYPEDEF __s64; |
paul@181 | 143 | #else |
paul@181 | 144 | #if (4 == 8) |
paul@181 | 145 | typedef int __s64; |
paul@181 | 146 | #else |
paul@181 | 147 | #if (8 == 8) |
paul@181 | 148 | #if defined(__GNUC__) |
paul@181 | 149 | typedef __signed__ long long __s64; |
paul@181 | 150 | #else |
paul@181 | 151 | typedef signed long long __s64; |
paul@181 | 152 | #endif /* __GNUC__ */ |
paul@181 | 153 | #else |
paul@212 | 154 | #if (8 == 8) |
paul@181 | 155 | typedef long __s64; |
paul@181 | 156 | #else |
paul@181 | 157 | #undef HAVE___S64 |
paul@181 | 158 | ?== error: undefined 64 bit type |
paul@181 | 159 | #endif /* SIZEOF_LONG == 8 */ |
paul@181 | 160 | #endif /* SIZEOF_LONG_LONG == 8 */ |
paul@181 | 161 | #endif /* SIZEOF_INT == 8 */ |
paul@181 | 162 | #endif /* __S64_TYPEDEF */ |
paul@181 | 163 | #endif /* HAVE___S64 */ |
paul@181 | 164 | |
paul@181 | 165 | #undef __S8_TYPEDEF |
paul@181 | 166 | #undef __U8_TYPEDEF |
paul@181 | 167 | #undef __S16_TYPEDEF |
paul@181 | 168 | #undef __U16_TYPEDEF |
paul@181 | 169 | #undef __S32_TYPEDEF |
paul@181 | 170 | #undef __U32_TYPEDEF |
paul@181 | 171 | #undef __S64_TYPEDEF |
paul@181 | 172 | #undef __U64_TYPEDEF |
paul@181 | 173 | |
paul@181 | 174 | #endif /* _*_TYPES_H */ |