pub struct Object { /* private fields */ }
Expand description
Represents a loaded BPF object file.
An Object
is logically in charge of all the contained Program
s and Map
s as well as
the associated metadata and runtime state that underpins the userspace portions of BPF program
execution. As a libbpf-rs user, you must keep the Object
alive during the entire lifetime
of your interaction with anything inside the Object
.
Note that this is an explanation of the motivation – Rust’s lifetime system should already be enforcing this invariant.
Implementations§
Source§impl Object
impl Object
Sourcepub unsafe fn from_ptr(ptr: NonNull<bpf_object>) -> Self
pub unsafe fn from_ptr(ptr: NonNull<bpf_object>) -> Self
Takes ownership from pointer.
§Safety
If ptr
is not already loaded then further operations on the returned object are
undefined.
It is not safe to manipulate ptr
after this operation.
Sourcepub fn btf(&self) -> Result<Option<Btf<'_>>>
pub fn btf(&self) -> Result<Option<Btf<'_>>>
Parse the btf information associated with this bpf object.
Sourcepub fn maps(&self) -> impl Iterator<Item = Map<'_>>
pub fn maps(&self) -> impl Iterator<Item = Map<'_>>
Retrieve an iterator over all BPF maps in the object.
Sourcepub fn maps_mut(&mut self) -> impl Iterator<Item = MapMut<'_>>
pub fn maps_mut(&mut self) -> impl Iterator<Item = MapMut<'_>>
Retrieve an iterator over all BPF maps in the object.
Sourcepub fn progs(&self) -> impl Iterator<Item = Program<'_>>
pub fn progs(&self) -> impl Iterator<Item = Program<'_>>
Retrieve an iterator over all BPF programs in the object.
Sourcepub fn progs_mut(&self) -> impl Iterator<Item = ProgramMut<'_>>
pub fn progs_mut(&self) -> impl Iterator<Item = ProgramMut<'_>>
Retrieve an iterator over all BPF programs in the object.
Trait Implementations§
Source§impl AsRawLibbpf for Object
impl AsRawLibbpf for Object
Source§fn as_libbpf_object(&self) -> NonNull<Self::LibbpfType>
fn as_libbpf_object(&self) -> NonNull<Self::LibbpfType>
Retrieve the underlying libbpf_sys::bpf_object
.
Source§type LibbpfType = bpf_object
type LibbpfType = bpf_object
libbpf
type.