add UIO_MAXIOV macro in sys/uio.h
[musl] / include / sys / uio.h
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