Function nix::fcntl::copy_file_range[][src]

pub fn copy_file_range(
    fd_in: RawFd,
    off_in: Option<&mut loff_t>,
    fd_out: RawFd,
    off_out: Option<&mut loff_t>,
    len: usize
) -> Result<usize>

Copy a range of data from one file to another

The copy_file_range system call performs an in-kernel copy between file descriptors fd_in and fd_out without the additional cost of transferring data from the kernel to user space and then back into the kernel. It copies up to len bytes of data from file descriptor fd_in to file descriptor fd_out, overwriting any data that exists within the requested range of the target file.

If the off_in and/or off_out arguments are used, the values will be mutated to reflect the new position within the file after copying. If they are not used, the relevant filedescriptors will be seeked to the new position.

On successful completion the number of bytes actually copied will be returned.