mirror of git://git.musl-libc.org/musl
add preadv/pwritev syscall wrappers
This commit is contained in:
parent
743546a933
commit
ea544bfe80
|
@ -11,6 +11,10 @@ extern "C" {
|
|||
#define __NEED_ssize_t
|
||||
#define __NEED_struct_iovec
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define __NEED_off_t
|
||||
#endif
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_pid_t
|
||||
#endif
|
||||
|
@ -20,6 +24,11 @@ extern "C" {
|
|||
ssize_t readv (int, const struct iovec *, int);
|
||||
ssize_t writev (int, const struct iovec *, int);
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
ssize_t preadv (int, const struct iovec *, int, off_t);
|
||||
ssize_t pwritev (int, const struct iovec *, int, off_t);
|
||||
#endif
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
|
||||
ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#define _GNU_SOURCE
|
||||
#include <sys/uio.h>
|
||||
#include <unistd.h>
|
||||
#include "syscall.h"
|
||||
#include "libc.h"
|
||||
|
||||
ssize_t preadv(int fd, const struct iovec *iov, int count, off_t ofs)
|
||||
{
|
||||
return syscall_cp(SYS_preadv, fd, iov, count,
|
||||
(long)(ofs), (long)(ofs>>32));
|
||||
}
|
||||
|
||||
LFS64(preadv);
|
|
@ -0,0 +1,13 @@
|
|||
#define _GNU_SOURCE
|
||||
#include <sys/uio.h>
|
||||
#include <unistd.h>
|
||||
#include "syscall.h"
|
||||
#include "libc.h"
|
||||
|
||||
ssize_t pwritev(int fd, const struct iovec *iov, int count, off_t ofs)
|
||||
{
|
||||
return syscall_cp(SYS_pwritev, fd, iov, count,
|
||||
(long)(ofs), (long)(ofs>>32));
|
||||
}
|
||||
|
||||
LFS64(pwritev);
|
Loading…
Reference in New Issue