Function nix::sys::uio::process_vm_readv[][src]

pub fn process_vm_readv(
    pid: Pid,
    local_iov: &[IoVec<&mut [u8]>],
    remote_iov: &[RemoteIoVec]
) -> Result<usize>

Read data directly from another process’s virtual memory (see process_vm_readv(2)).

local_iov is a list of IoVecs containing the buffer to copy data into, and remote_iov is a list of RemoteIoVecs identifying where the source data is in the target process. On success, returns the number of bytes written, which will always be a whole number of remote_iov chunks.

This requires the same permissions as debugging the process using ptrace: you must either be a privileged process (with CAP_SYS_PTRACE), or you must be running as the same user as the target process and the OS must have unprivileged debugging enabled.

This function is only available on Linux.