pub struct ProgramArray<'a> { /* private fields */ }
Expand description
Program array map.
An array of eBPF programs that can be used as a jump table.
To use this from eBPF code, see
redbpf_probes::maps::ProgramArray
.
Implementations§
Source§impl<'base> ProgramArray<'base>
impl<'base> ProgramArray<'base>
pub fn new(base: &Map) -> Result<ProgramArray<'_>>
Sourcepub fn set(&mut self, index: u32, fd: RawFd) -> Result<()>
pub fn set(&mut self, index: u32, fd: RawFd) -> Result<()>
Set the index
entry to the given eBPF program fd
.
To jump to a program from eBPF, see
redbpf_probes::maps::ProgramArray::tail_call
.
§Example
pub const PROGRAM_PARSE_HTTP: u32 = 0;
use redbpf::{load::Loader, ProgramArray};
let mut loader = Loader::load_file("iotop.elf").expect("error loading probe");
let mut programs = ProgramArray::new(loader.map("program_map").unwrap()).unwrap();
programs.set(
PROGRAM_PARSE_HTTP,
loader.program("parse_http").unwrap().fd().unwrap(),
);
Auto Trait Implementations§
impl<'a> Freeze for ProgramArray<'a>
impl<'a> RefUnwindSafe for ProgramArray<'a>
impl<'a> Send for ProgramArray<'a>
impl<'a> Sync for ProgramArray<'a>
impl<'a> Unpin for ProgramArray<'a>
impl<'a> UnwindSafe for ProgramArray<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more