From: Árni Dagur Date: Mon, 19 Aug 2019 23:41:14 +0000 (+0000) Subject: add copy_file_range system call wrapper X-Git-Tag: v1.1.24~33 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f76e183111bc4491ee575c3e2fcc793412acff4e;p=oweals%2Fmusl.git add copy_file_range system call wrapper --- diff --git a/include/unistd.h b/include/unistd.h index 9485da7a..b9b23a16 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -188,6 +188,7 @@ char *get_current_dir_name(void); int syncfs(int); int euidaccess(const char *, int); int eaccess(const char *, int); +ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); #endif #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) diff --git a/src/linux/copy_file_range.c b/src/linux/copy_file_range.c new file mode 100644 index 00000000..dd4b1333 --- /dev/null +++ b/src/linux/copy_file_range.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include +#include "syscall.h" + +ssize_t copy_file_range(int fd_in, off_t *off_in, int fd_out, off_t *off_out, size_t len, unsigned flags) +{ + return syscall(SYS_copy_file_range, fd_in, off_in, fd_out, off_out, len, flags); +}