[][src]Enum redbpf::Program

pub enum Program {
    KProbe(KProbe),
    KRetProbe(KProbe),
    UProbe(UProbe),
    URetProbe(UProbe),
    SocketFilter(SocketFilter),
    TracePoint(TracePoint),
    XDP(XDP),
}

A BPF program defined in a Module.

Variants

KProbe(KProbe)
KRetProbe(KProbe)
UProbe(UProbe)
URetProbe(UProbe)
SocketFilter(SocketFilter)
TracePoint(TracePoint)
XDP(XDP)

Methods

impl Program[src]

pub fn name(&self) -> &str[src]

pub fn load(&mut self, kernel_version: u32, license: String) -> Result<()>[src]

Load the BPF program.

BPF programs need to be loaded before they can be attached. Loading will fail if the BPF verifier rejects the code.

Example

use redbpf::Module;
let mut module = Module::parse(&std::fs::read("file.elf").unwrap()).unwrap();
for program in module.programs.iter_mut() {
    program
        .load(module.version, module.license.clone()).unwrap()
}

Auto Trait Implementations

impl RefUnwindSafe for Program

impl Send for Program

impl Sync for Program

impl Unpin for Program

impl UnwindSafe for Program

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.