use core::ffi::c_void; use crate::{helpers::bpf_probe_read, BpfContext}; pub struct TracePointContext { ctx: *mut c_void, } impl TracePointContext { pub fn new(ctx: *mut c_void) -> TracePointContext { TracePointContext { ctx } } pub unsafe fn read_at(&self, offset: usize) -> Result { bpf_probe_read(self.ctx.add(offset) as *const T) } } impl BpfContext for TracePointContext { fn as_ptr(&self) -> *mut c_void { self.ctx } }