aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/libgfortran.h
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/libgfortran.h')
-rw-r--r--libgfortran/libgfortran.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index b5a742a..1179812 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -88,6 +88,10 @@ extern long double __strtold (const char *, char **);
#include <sys/types.h>
#endif
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
#ifdef __MINGW32__
typedef off64_t gfc_offset;
#else
@@ -701,8 +705,15 @@ internal_proto(exit_error);
extern ssize_t estr_write (const char *);
internal_proto(estr_write);
-extern int st_vprintf (const char *, va_list);
-internal_proto(st_vprintf);
+#if !defined(HAVE_WRITEV) && !defined(HAVE_SYS_UIO_H)
+struct iovec {
+ void *iov_base; /* Starting address */
+ size_t iov_len; /* Number of bytes to transfer */
+};
+#endif
+
+extern ssize_t estr_writev (const struct iovec *iov, int iovcnt);
+internal_proto(estr_writev);
extern int st_printf (const char *, ...)
__attribute__((format (gfc_printf, 1, 2)));