1 #ifndef _SYS_UIO_H 2 #define _SYS_UIO_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <sys/features.h> 9 #include <sys/types.h> 10 11 #define UIO_MAXIOV 1024 12 13 ssize_t vfs_readv(int fd, const struct iovec *iov, int iovcnt, off_t *offset); 14 ssize_t vfs_writev(int fd, const struct iovec *iov, int iovcnt, off_t *offset); 15 16 ssize_t readv (int, const struct iovec *, int); 17 ssize_t writev (int, const struct iovec *, int); 18 19 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 20 ssize_t preadv (int, const struct iovec *, int, off_t); 21 ssize_t pwritev (int, const struct iovec *, int, off_t); 22 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) 23 #define preadv64 preadv 24 #define pwritev64 pwritev 25 #endif 26 #endif 27 28 #ifdef _GNU_SOURCE 29 ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); 30 ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); 31 #endif 32 33 #ifdef __cplusplus 34 } 35 #endif 36 37 #endif 38