newlib/winsup/cygwin/include/sys/uio.h
Christopher Faylor ab7f9b938f * 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.
2002-08-30 15:47:10 +00:00

39 lines
700 B
C

/* sys/uio.h
Copyright 1996, 2000, 2001, 2002 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#ifndef _UIO_H_
#define _UIO_H_
/* For size_t */
#include <stddef.h>
/* For ssize_t */
#include <sys/types.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
/*
* Define the uio buffers used for writev, readv.
*/
struct iovec
{
void *iov_base;
size_t iov_len;
};
extern ssize_t readv __P ((int filedes, const struct iovec *vector, int count));
extern ssize_t writev __P ((int filedes, const struct iovec *vector, int count));
__END_DECLS
#endif /* _UIO_H_ */