xref: /aosp_15_r20/external/musl/src/linux/preadv2.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #define _GNU_SOURCE
2 #include <sys/uio.h>
3 #include <unistd.h>
4 #include "syscall.h"
5 
preadv2(int fd,const struct iovec * iov,int count,off_t ofs,int flags)6 ssize_t preadv2(int fd, const struct iovec *iov, int count, off_t ofs, int flags)
7 {
8 #ifdef SYS_preadv
9 	if (!flags) {
10 		if (ofs==-1) return readv(fd, iov, count);
11 		return syscall_cp(SYS_preadv, fd, iov, count,
12 			(long)(ofs), (long)(ofs>>32));
13 	}
14 #endif
15 	return syscall_cp(SYS_preadv2, fd, iov, count,
16 		(long)(ofs), (long)(ofs>>32), flags);
17 }
18