118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer/*
218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * If linux/types.h is already been included, assume it has defined
318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * everything we need.  (cross fingers)  Other header files may have
418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * also defined the types that we need.
518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer */
618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (!defined(_STDINT_H) && !defined(_UUID_STDINT_H))
718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#define _UUID_STDINT_H
818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned char uint8_t;
1018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef signed char int8_t;
1118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
1218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 8)
1318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef int		int64_t;
1418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned int	uint64_t;
1518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#elif (4 == 8)
1618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef long		int64_t;
1718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned long	uint64_t;
1818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#elif (8 == 8)
1918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if defined(__GNUC__)
2018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef __signed__ long long 	int64_t;
2118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else
2218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef signed long long 	int64_t;
2318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif
2418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef unsigned long long	uint64_t;
2518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif
2618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
2718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 2)
2818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	int		int16_t;
2918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	unsigned int	uint16_t;
3018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#elif (2 == 2)
3118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	short		int16_t;
3218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	unsigned short	uint16_t;
3318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else
3418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer  ?==error: undefined 16 bit type
3518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif
3618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
3718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#if (4 == 4)
3818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	int		int32_t;
3918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	unsigned int	uint32_t;
4018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#elif (4 == 4)
4118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	long		int32_t;
4218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	unsigned long	uint32_t;
4318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#elif (2 == 4)
4418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	short		int32_t;
4518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzertypedef	unsigned short	uint32_t;
4618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#else
4718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer ?== error: undefined 32 bit type
4818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif
4918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
5018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#endif
51