summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/stdint.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/stdint.h')
-rw-r--r--cpukit/include/rtems/stdint.h41
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
}