diff options
Diffstat (limited to 'cpukit/include/rtems/stdint.h')
-rw-r--r-- | cpukit/include/rtems/stdint.h | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/cpukit/include/rtems/stdint.h b/cpukit/include/rtems/stdint.h index 0922d45d1c..5703f4273f 100644 --- a/cpukit/include/rtems/stdint.h +++ b/cpukit/include/rtems/stdint.h @@ -13,20 +13,39 @@ extern "C" { #endif -#include <rtems/score/types.h> +#include <rtems/score/cpuopts.h> +#if RTEMS_USES_STDINT_H +#include <stdint.h> + +#elif RTEMS_USES_INTTYPES_H +#include <inttypes.h> + +#else /* - * map RTEMS internal types onto C99 types + * Wild guesses on systems not providing stdint.h nor inttypes.h + * Known to work on Cywgin-1.3 */ -typedef signed8 int8_t; -typedef signed16 int16_t; -typedef signed32 int32_t; -typedef signed64 int64_t; - -typedef unsigned8 uint8_t; -typedef unsigned16 uint16_t; -typedef unsigned32 uint32_t; -typedef unsigned64 uint64_t; + +#include <sys/types.h> + +#if !defined(uint8_t) && defined(__uint8_t) +typedef __uint8_t uint8_t; +#endif + +#if !defined(uint16_t) && defined(__uint16_t) +typedef __uint16_t uint16_t; +#endif + +#if !defined(uint32_t) && defined(__uint32_t) +typedef __uint32_t uint32_t; +#endif + +#if !defined(uint64_t) && defined(__uint64_t) +typedef __uint64_t uint64_t; +#endif + +#endif #ifdef __cplusplus } |