pub struct SkeletonBuilder { /* private fields */ }
Expand description
SkeletonBuilder
builds and generates a single skeleton.
This interface is meant to be used in build scripts.
§Examples
use libbpf_cargo::SkeletonBuilder;
SkeletonBuilder::new()
.source("myobject.bpf.c")
.debug(true)
.clang("/opt/clang/clang")
.build_and_generate("/output/path")
.unwrap();
Implementations§
Source§impl SkeletonBuilder
impl SkeletonBuilder
pub fn new() -> Self
Sourcepub fn source<P: AsRef<Path>>(&mut self, source: P) -> &mut SkeletonBuilder
pub fn source<P: AsRef<Path>>(&mut self, source: P) -> &mut SkeletonBuilder
Point the SkeletonBuilder
to a source file for compilation
Default is None
Sourcepub fn obj<P: AsRef<Path>>(&mut self, obj: P) -> &mut SkeletonBuilder
pub fn obj<P: AsRef<Path>>(&mut self, obj: P) -> &mut SkeletonBuilder
Point the SkeletonBuilder
to an object file for generation
Default is None
Sourcepub fn debug(&mut self, debug: bool) -> &mut SkeletonBuilder
pub fn debug(&mut self, debug: bool) -> &mut SkeletonBuilder
Turn debug output on or off
Default is off
Sourcepub fn clang<P: AsRef<Path>>(&mut self, clang: P) -> &mut SkeletonBuilder
pub fn clang<P: AsRef<Path>>(&mut self, clang: P) -> &mut SkeletonBuilder
Specify which clang
binary to use
Default searches $PATH
for clang
Sourcepub fn clang_args<A, S>(&mut self, args: A) -> &mut SkeletonBuilder
pub fn clang_args<A, S>(&mut self, args: A) -> &mut SkeletonBuilder
Pass additional arguments to clang
when building BPF object file
§Examples
use libbpf_cargo::SkeletonBuilder;
SkeletonBuilder::new()
.source("myobject.bpf.c")
.clang_args([
"-DMACRO=value",
"-I/some/include/dir",
])
.build_and_generate("/output/path")
.unwrap();
Sourcepub fn skip_clang_version_check(&mut self, skip: bool) -> &mut SkeletonBuilder
pub fn skip_clang_version_check(&mut self, skip: bool) -> &mut SkeletonBuilder
Specify whether or not to skip clang version check
Default is false
Sourcepub fn rustfmt<P: AsRef<Path>>(&mut self, rustfmt: P) -> &mut SkeletonBuilder
pub fn rustfmt<P: AsRef<Path>>(&mut self, rustfmt: P) -> &mut SkeletonBuilder
Specify which rustfmt
binary to use
Default searches $PATH
for rustfmt
Sourcepub fn build_and_generate<P: AsRef<Path>>(&mut self, output: P) -> Result<()>
pub fn build_and_generate<P: AsRef<Path>>(&mut self, output: P) -> Result<()>
Build BPF programs and generate the skeleton at path output
pub fn build(&mut self) -> Result<()>
pub fn generate<P: AsRef<Path>>(&mut self, output: P) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SkeletonBuilder
impl RefUnwindSafe for SkeletonBuilder
impl Send for SkeletonBuilder
impl Sync for SkeletonBuilder
impl Unpin for SkeletonBuilder
impl UnwindSafe for SkeletonBuilder
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