diff --git a/ebpf/aya-ebpf/src/helpers.rs b/ebpf/aya-ebpf/src/helpers.rs index be009e90..c0fea236 100644 --- a/ebpf/aya-ebpf/src/helpers.rs +++ b/ebpf/aya-ebpf/src/helpers.rs @@ -15,7 +15,7 @@ use core::{ mem::{self, MaybeUninit}, }; -pub use aya_ebpf_bindings::helpers as generated; +pub use aya_ebpf_bindings::{bindings::path, helpers as generated}; #[doc(hidden)] pub use generated::*; @@ -842,3 +842,14 @@ pub fn bpf_strncmp(s1: &[u8; N], s2: &CStr) -> Ordering { unsafe { generated::bpf_strncmp(s1.as_ptr() as *const _, N as u32, s2.as_ptr() as *const _) } .cmp(&0) } + +#[inline] +pub unsafe fn bpf_d_path(path: *const path, dest: &mut [u8]) -> Result<&[u8], c_long> { + let len = generated::bpf_d_path( + path as *mut path, + dest.as_mut_ptr() as *mut _, + dest.len() as u32, + ); + + read_str_bytes(len, dest) +}