pwritev2.c 432 B

1234567891011121314151617
  1. #define _GNU_SOURCE
  2. #include <sys/uio.h>
  3. #include <unistd.h>
  4. #include "syscall.h"
  5. ssize_t pwritev2(int fd, const struct iovec *iov, int count, off_t ofs, int flags)
  6. {
  7. #ifdef SYS_pwritev
  8. if (!flags) {
  9. if (ofs==-1) return writev(fd, iov, count);
  10. return syscall_cp(SYS_pwritev, fd, iov, count,
  11. (long)(ofs), (long)(ofs>>32));
  12. }
  13. #endif
  14. return syscall_cp(SYS_pwritev2, fd, iov, count,
  15. (long)(ofs), (long)(ofs>>32), flags);
  16. }