summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/stdint.h
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2004-04-13 15:15:28 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2004-04-13 15:15:28 +0000
commita5777f043d742b107d5aaaf9cb92249c11ae859b (patch)
treee8c83e1a0300b87f122cddf27541643010d819fb /cpukit/include/rtems/stdint.h
parent2004-04-13 Ralf Corsepius <ralf_corsepius@rtems.org> (diff)
downloadrtems-a5777f043d742b107d5aaaf9cb92249c11ae859b.tar.bz2
2004-04-13 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Rework stdint.h/inttypes.h support. Add RTEMS_USES_STDINT_H. Add RTEMS_USES_INTTYPES_H. Remove NEED_STDINT_H. Remove NEED_INTTYPES_H. Remove termios-flag detection. * libcsupport/Makefile.am: Install include/stdint.h and include/inttypes.h for NEWLIB only. * libcsupport/include/stdint.h: Rework; Now newlib specific. * libcsupport/src/termios.c: Make newlib specific. * include/rtems/stdint.h: Rework; Now wrapper to <stdint.h>.
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
}