1#ifndef _SYS_UIO_H 2#define _SYS_UIO_H 3 4#ifdef __cplusplus 5extern "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 26ssize_t readv (int, const struct iovec *, int); 27ssize_t writev (int, const struct iovec *, int); 28 29#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 30ssize_t preadv (int, const struct iovec *, int, off_t); 31ssize_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 40ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); 41ssize_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