summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Lopez <slp@redhat.com>2023-03-03 09:38:30 +0100
committerSergio Lopez <slp@redhat.com>2023-03-03 09:58:20 +0100
commit272fd47928115f66a23e7218915ababe6c6a1ed2 (patch)
treed231ce2c06477ff44bc224c1015e26a3a20731fb
parent2bafdcf631478f8ac4bbe7934852731685f52cc9 (diff)
downloadrust-libc-272fd47928115f66a23e7218915ababe6c6a1ed2.tar.gz
linux/musl: add copy_file_range syscall wrapper
musl supports copy_file_range since v1.1.24, so expose the corresponding wrapper here too. Signed-off-by: Sergio Lopez <slp@redhat.com>
-rw-r--r--libc-test/semver/linux-musl.txt1
-rw-r--r--src/unix/linux_like/linux/musl/mod.rs9
2 files changed, 10 insertions, 0 deletions
diff --git a/libc-test/semver/linux-musl.txt b/libc-test/semver/linux-musl.txt
index 9fbb9032c3..09c461350f 100644
--- a/libc-test/semver/linux-musl.txt
+++ b/libc-test/semver/linux-musl.txt
@@ -33,6 +33,7 @@ aio_suspend
aio_write
aiocb
clock_adjtime
+copy_file_range
ctermid
explicit_bzero
futimes
diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs
index 454ab53eb1..c7294e5c2f 100644
--- a/src/unix/linux_like/linux/musl/mod.rs
+++ b/src/unix/linux_like/linux/musl/mod.rs
@@ -773,6 +773,15 @@ extern "C" {
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
+
+ pub fn copy_file_range(
+ fd_in: ::c_int,
+ off_in: *mut ::off64_t,
+ fd_out: ::c_int,
+ off_out: *mut ::off64_t,
+ len: ::size_t,
+ flags: ::c_uint,
+ ) -> ::ssize_t;
}
cfg_if! {