diff options
author | bors <bors@rust-lang.org> | 2021-04-17 23:34:35 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2021-04-17 23:34:35 +0000 |
commit | 6570c66a411be9067139c4693e3a9b8e70e9ff44 (patch) | |
tree | 94f8baf779cb46b1a38202334be665be038fd849 /src | |
parent | dafd08dadaad089ecd6c93b31daf230fd4dc5435 (diff) | |
parent | c8539f5bc6061c41a56d13451297fb9d5a258c59 (diff) | |
download | rust-libc-6570c66a411be9067139c4693e3a9b8e70e9ff44.tar.gz |
Auto merge of #2147 - nthery:clonefile, r=JohnTitor
Add macos clonefile functions
Diffstat (limited to 'src')
-rw-r--r-- | src/unix/bsd/apple/mod.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 6d77692480..a5703ef5d6 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -3835,6 +3835,24 @@ extern "C" { outbytesleft: *mut ::size_t, ) -> ::size_t; pub fn iconv_close(cd: iconv_t) -> ::c_int; + + // Copy-on-write functions. + // According to the man page `flags` is an `int` but in the header + // this is a `uint32_t`. + pub fn clonefile(src: *const ::c_char, dst: *const ::c_char, flags: u32) -> ::c_int; + pub fn clonefileat( + src_dirfd: ::c_int, + src: *const ::c_char, + dst_dirfd: ::c_int, + dst: *const ::c_char, + flags: u32, + ) -> ::c_int; + pub fn fclonefileat( + srcfd: ::c_int, + dst_dirfd: ::c_int, + dst: *const ::c_char, + flags: u32, + ) -> ::c_int; } cfg_if! { |