1 #ifndef _SYS_UIO_H 2 #define _SYS_UIO_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <features.h> 9 10 #define __NEED_size_t 11 #define __NEED_ssize_t 12 #define __NEED_struct_iovec 13 14 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 15 #define __NEED_off_t 16 #endif 17 18 #ifdef _GNU_SOURCE 19 #define __NEED_pid_t 20 #endif 21 22 #include <bits/alltypes.h> 23 24 #define UIO_MAXIOV 1024 25 26 ssize_t readv (int, const struct iovec *, int); 27 ssize_t writev (int, const struct iovec *, int); 28 29 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 30 ssize_t preadv (int, const struct iovec *, int, off_t); 31 ssize_t pwritev (int, const struct iovec *, int, off_t); 32 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) 33 #define preadv64 preadv 34 #define pwritev64 pwritev 35 #define off64_t off_t 36 #endif 37 #endif 38 39 #ifdef _GNU_SOURCE 40 ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); 41 ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); 42 #endif 43 44 #ifdef __cplusplus 45 } 46 #endif 47 48 #endif 49