diff options
Diffstat (limited to 'contrib/uuid/uuid_types.h.in')
-rw-r--r-- | contrib/uuid/uuid_types.h.in | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/contrib/uuid/uuid_types.h.in b/contrib/uuid/uuid_types.h.in new file mode 100644 index 00000000000..f21ff4ee183 --- /dev/null +++ b/contrib/uuid/uuid_types.h.in @@ -0,0 +1,50 @@ +/* + * If linux/types.h is already been included, assume it has defined + * everything we need. (cross fingers) Other header files may have + * also defined the types that we need. + */ +#if (!defined(_STDINT_H) && !defined(_UUID_STDINT_H)) +#define _UUID_STDINT_H + +typedef unsigned char uint8_t; +typedef signed char int8_t; + +#if (@SIZEOF_INT@ == 8) +typedef int int64_t; +typedef unsigned int uint64_t; +#elif (@SIZEOF_LONG@ == 8) +typedef long int64_t; +typedef unsigned long uint64_t; +#elif (@SIZEOF_LONG_LONG@ == 8) +#if defined(__GNUC__) +typedef __signed__ long long int64_t; +#else +typedef signed long long int64_t; +#endif +typedef unsigned long long uint64_t; +#endif + +#if (@SIZEOF_INT@ == 2) +typedef int int16_t; +typedef unsigned int uint16_t; +#elif (@SIZEOF_SHORT@ == 2) +typedef short int16_t; +typedef unsigned short uint16_t; +#else + ?==error: undefined 16 bit type +#endif + +#if (@SIZEOF_INT@ == 4) +typedef int int32_t; +typedef unsigned int uint32_t; +#elif (@SIZEOF_LONG@ == 4) +typedef long int32_t; +typedef unsigned long uint32_t; +#elif (@SIZEOF_SHORT@ == 4) +typedef short int32_t; +typedef unsigned short uint32_t; +#else + ?== error: undefined 32 bit type +#endif + +#endif |