Struct oxidebpf::ProgramVersion
source · [−]pub struct ProgramVersion<'a> { /* private fields */ }
Expand description
A group of eBPF Program
s that a user wishes to load.
Implementations
Create a new ProgramVersion
from a vector of Program
s.
The newly created ProgramVersion
should be given to a
ProgramGroup
for loading. The ProgramVersion
encapsulates
all the logic for loading, attaching, and returning events from a single clustering
of eBPF Program
s. Each ProgramVersion
should be intended to act
as an independent unit, in the absence of other ProgramVersion
s.
Panics
- When dropping a
ProgramVersion
that uses debugfs, if the drop routine cannot reach the correct files in debugfs it will panic.
Example
use oxidebpf::{ProgramVersion, Program, ProgramType};
let program_vec = vec![
Program::new(
"sys_ptrace_write",
&["sys_ptrace"],
).syscall(true),
Program::new(
"sys_process_vm_writev",
&["sys_process_vm_writev"],
).syscall(true)
];
ProgramVersion::new(program_vec);
Manually specify the perfmap polling interval for this ProgramVersion
.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for ProgramVersion<'a>
impl<'a> Send for ProgramVersion<'a>
impl<'a> Sync for ProgramVersion<'a>
impl<'a> Unpin for ProgramVersion<'a>
impl<'a> UnwindSafe for ProgramVersion<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more