fix up lfs64 junk for preadv/pwritev
[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 ssize_t readv (int, const struct iovec *, int);
25 ssize_t writev (int, const struct iovec *, int);
26
27 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
28 ssize_t preadv (int, const struct iovec *, int, off_t);
29 ssize_t pwritev (int, const struct iovec *, int, off_t);
30 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
31 #define preadv64 preadv
32 #define pwritev64 pwritev
33 #define off64_t off_t
34 #endif
35 #endif
36
37 #ifdef _GNU_SOURCE
38 ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
39 ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
40 #endif
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46 #endif