summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include/sys/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/include/sys/config.h')
-rw-r--r--newlib/libc/include/sys/config.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
index 0cf4b1e57..60c6eb9fb 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -137,11 +137,18 @@ typedef unsigned int __uint32_t;
#if defined(__rtems__)
#define __FILENAME_MAX__ 255
+#define _READ_WRITE_RETURN_TYPE ssize_t
#endif
#ifndef __IMPORT
#define __IMPORT
#endif
+/* Define return type of read/write routines. In POSIX, the return type
+ for read()/write() is "ssize_t" but legacy newlib code has been using
+ "int" for some time. If not specified, "int" is defaulted. */
+#ifndef _READ_WRITE_RETURN_TYPE
+#define _READ_WRITE_RETURN_TYPE int
+#endif
#endif /* __SYS_CONFIG_H__ */