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