2003-04-22 21:02:15 +02:00
|
|
|
#ifndef I386_STDINT_H
|
|
|
|
#define I386_STDINT_H
|
|
|
|
|
2009-10-24 15:06:04 +02:00
|
|
|
#if defined(__GNUC__)
|
2003-05-19 21:16:21 +02:00
|
|
|
#define __HAVE_LONG_LONG__ 1
|
|
|
|
#else
|
|
|
|
#define __HAVE_LONG_LONG__ 0
|
|
|
|
#endif
|
|
|
|
|
2003-04-22 21:02:15 +02:00
|
|
|
/* Exact integral types */
|
|
|
|
typedef unsigned char uint8_t;
|
2010-04-27 08:56:47 +02:00
|
|
|
typedef signed char int8_t;
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
typedef unsigned short uint16_t;
|
|
|
|
typedef signed short int16_t;
|
|
|
|
|
|
|
|
typedef unsigned int uint32_t;
|
|
|
|
typedef signed int int32_t;
|
|
|
|
|
2003-05-19 21:16:21 +02:00
|
|
|
#if __HAVE_LONG_LONG__
|
2003-04-22 21:02:15 +02:00
|
|
|
typedef unsigned long long uint64_t;
|
|
|
|
typedef signed long long int64_t;
|
2003-05-19 21:16:21 +02:00
|
|
|
#endif
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
/* Small types */
|
|
|
|
typedef unsigned char uint_least8_t;
|
2010-04-27 08:56:47 +02:00
|
|
|
typedef signed char int_least8_t;
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
typedef unsigned short uint_least16_t;
|
|
|
|
typedef signed short int_least16_t;
|
|
|
|
|
|
|
|
typedef unsigned int uint_least32_t;
|
|
|
|
typedef signed int int_least32_t;
|
|
|
|
|
2003-05-19 21:16:21 +02:00
|
|
|
#if __HAVE_LONG_LONG__
|
2003-04-22 21:02:15 +02:00
|
|
|
typedef unsigned long long uint_least64_t;
|
|
|
|
typedef signed long long int_least64_t;
|
2003-05-19 21:16:21 +02:00
|
|
|
#endif
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
/* Fast Types */
|
|
|
|
typedef unsigned char uint_fast8_t;
|
2010-04-27 08:56:47 +02:00
|
|
|
typedef signed char int_fast8_t;
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
typedef unsigned int uint_fast16_t;
|
|
|
|
typedef signed int int_fast16_t;
|
|
|
|
|
|
|
|
typedef unsigned int uint_fast32_t;
|
|
|
|
typedef signed int int_fast32_t;
|
|
|
|
|
2003-05-19 21:16:21 +02:00
|
|
|
#if __HAVE_LONG_LONG__
|
2003-04-22 21:02:15 +02:00
|
|
|
typedef unsigned long long uint_fast64_t;
|
|
|
|
typedef signed long long int_fast64_t;
|
2010-04-27 08:56:47 +02:00
|
|
|
#endif
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
/* Types for `void *' pointers. */
|
|
|
|
typedef int intptr_t;
|
|
|
|
typedef unsigned int uintptr_t;
|
|
|
|
|
|
|
|
/* Largest integral types */
|
2003-05-19 21:16:21 +02:00
|
|
|
#if __HAVE_LONG_LONG__
|
2003-04-22 21:02:15 +02:00
|
|
|
typedef long long int intmax_t;
|
|
|
|
typedef unsigned long long uintmax_t;
|
2003-05-19 21:16:21 +02:00
|
|
|
#else
|
|
|
|
typedef long int intmax_t;
|
|
|
|
typedef unsigned long int uintmax_t;
|
|
|
|
#endif
|
|
|
|
|
2007-04-06 21:49:05 +02:00
|
|
|
typedef uint8_t u8;
|
|
|
|
typedef uint16_t u16;
|
|
|
|
typedef uint32_t u32;
|
2009-03-01 11:16:01 +01:00
|
|
|
#if __HAVE_LONG_LONG__
|
|
|
|
typedef uint64_t u64;
|
|
|
|
#endif
|
2007-04-06 21:49:05 +02:00
|
|
|
|
2009-03-01 11:16:01 +01:00
|
|
|
#undef __HAVE_LONG_LONG__
|
2003-04-22 21:02:15 +02:00
|
|
|
|
|
|
|
#endif /* I386_STDINT_H */
|