pub struct ExecPlan {
pub exec_path: Vec<u8>,
pub argv: Vec<Vec<u8>>,
pub prefix: usize,
pub changed: bool,
pub guest_prog: Vec<u8>,
pub host_prog: Vec<u8>,
pub understood: bool,
pub trampoline: Option<Trampoline>,
pub user_path: Vec<u8>,
}Expand description
What the kernel should load in place of what the tracee asked for.
Fields§
§exec_path: Vec<u8>Host path to exec.
argv: Vec<Vec<u8>>The complete argument vector to exec it with.
prefix: usizeEntries at the front of argv that did not come from the caller’s
argv[1..]; the rest is the caller’s tail, unchanged.
changed: boolWhether exec_path or argv differ from what the tracee asked.
guest_prog: Vec<u8>Canonical guest path of the program (after #! expansion).
host_prog: Vec<u8>Host path of the program (after #! expansion).
understood: boolWhether the program’s format was recognized (ELF or #!).
trampoline: Option<Trampoline>Process setup the trampoline carries out before the exec (a nested
launch); None for an ordinary exec, which only takes the trampoline
without ptrace.
user_path: Vec<u8>The program path as its exec named it: the caller’s for an ordinary
exec, the inner command’s for a nested launch, empty for a plan that
only prints a message. What the kernel reports as AT_EXECFN.