summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include/sys/uio.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2002-08-30 15:47:10 +0000
committerChristopher Faylor <me@cgf.cx>2002-08-30 15:47:10 +0000
commitab7f9b938f8f0008fe71e8c790afb7f86a267e1c (patch)
treef8149696d46c25222099b0d51dab157e891e3037 /winsup/cygwin/include/sys/uio.h
parent70c306d781b881d7142d2d99f481b0aace248270 (diff)
downloadcygnal-ab7f9b938f8f0008fe71e8c790afb7f86a267e1c.tar.gz
cygnal-ab7f9b938f8f0008fe71e8c790afb7f86a267e1c.tar.bz2
cygnal-ab7f9b938f8f0008fe71e8c790afb7f86a267e1c.zip
* miscfuncs.cc (check_iovec_for_read): Don't check buffer when zero length
iov_len. (check_iovec_for_write): Ditto. * fhandler.h (fhandler_base::readv): New method. (fhandler_base::writev): Ditto. * fhandler.cc (fhandler_base::readv): New method. (fhandler_base::writev): Ditto. * syscalls.cc (_read): Delegate to readv(2). (_write): Ditto, mutatis mutandi. (readv): Rewrite, based on the old _read code, to use the new fhandler_base::readv method. Improve access mode handling and ensure all calls reach the final strace statement. (writev): Ditto, mutatis mutandi. * include/sys/uio.h (struct iovec): Change field types to match SUSv3. * winsup.h (check_iovec_for_read): New function. (check_iovec_for_write): Ditto. * miscfuncs.cc (check_iovec_for_read): Ditto. (check_iovec_for_write): Ditto.
Diffstat (limited to 'winsup/cygwin/include/sys/uio.h')
-rw-r--r--winsup/cygwin/include/sys/uio.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/winsup/cygwin/include/sys/uio.h b/winsup/cygwin/include/sys/uio.h
index d355ac5b6..e28f14e7e 100644
--- a/winsup/cygwin/include/sys/uio.h
+++ b/winsup/cygwin/include/sys/uio.h
@@ -1,6 +1,6 @@
/* sys/uio.h
- Copyright 1996, 2000, 2001 Red Hat, Inc.
+ Copyright 1996, 2000, 2001, 2002 Red Hat, Inc.
This file is part of Cygwin.
@@ -24,9 +24,10 @@ __BEGIN_DECLS
* Define the uio buffers used for writev, readv.
*/
-struct iovec {
- caddr_t iov_base;
- int iov_len;
+struct iovec
+{
+ void *iov_base;
+ size_t iov_len;
};
extern ssize_t readv __P ((int filedes, const struct iovec *vector, int count));