pub enum Program {
Show 28 variants
KProbe(KProbe),
UProbe(UProbe),
TracePoint(TracePoint),
SocketFilter(SocketFilter),
Xdp(Xdp),
SkMsg(SkMsg),
SkSkb(SkSkb),
CgroupSockAddr(CgroupSockAddr),
SockOps(SockOps),
SchedClassifier(SchedClassifier),
CgroupSkb(CgroupSkb),
CgroupSysctl(CgroupSysctl),
CgroupSockopt(CgroupSockopt),
LircMode2(LircMode2),
PerfEvent(PerfEvent),
RawTracePoint(RawTracePoint),
Lsm(Lsm),
LsmCgroup(LsmCgroup),
BtfTracePoint(BtfTracePoint),
FEntry(FEntry),
FExit(FExit),
FlowDissector(FlowDissector),
Extension(Extension),
SkLookup(SkLookup),
SkReuseport(SkReuseport),
CgroupSock(CgroupSock),
CgroupDevice(CgroupDevice),
Iter(Iter),
}Expand description
eBPF program type.
Variants§
KProbe(KProbe)
A KProbe program
UProbe(UProbe)
A UProbe program
TracePoint(TracePoint)
A TracePoint program
SocketFilter(SocketFilter)
A SocketFilter program
Xdp(Xdp)
A Xdp program
SkMsg(SkMsg)
A SkMsg program
SkSkb(SkSkb)
A SkSkb program
CgroupSockAddr(CgroupSockAddr)
A CgroupSockAddr program
SockOps(SockOps)
A SockOps program
SchedClassifier(SchedClassifier)
A SchedClassifier program
CgroupSkb(CgroupSkb)
A CgroupSkb program
CgroupSysctl(CgroupSysctl)
A CgroupSysctl program
CgroupSockopt(CgroupSockopt)
A CgroupSockopt program
LircMode2(LircMode2)
A LircMode2 program
PerfEvent(PerfEvent)
A PerfEvent program
RawTracePoint(RawTracePoint)
A RawTracePoint program
Lsm(Lsm)
A Lsm program
LsmCgroup(LsmCgroup)
A LsmCgroup program
BtfTracePoint(BtfTracePoint)
A BtfTracePoint program
FEntry(FEntry)
A FEntry program
FExit(FExit)
A FExit program
FlowDissector(FlowDissector)
A FlowDissector program
Extension(Extension)
A Extension program
SkLookup(SkLookup)
A SkLookup program
SkReuseport(SkReuseport)
A SkReuseport program
CgroupSock(CgroupSock)
A CgroupSock program
CgroupDevice(CgroupDevice)
A CgroupDevice program
Iter(Iter)
An Iter program
Implementations§
Source§impl Program
impl Program
Sourcepub const fn prog_type(&self) -> ProgramType
pub const fn prog_type(&self) -> ProgramType
Returns the program type.
Sourcepub fn pin<P: AsRef<Path>>(&mut self, path: P) -> Result<(), PinError>
pub fn pin<P: AsRef<Path>>(&mut self, path: P) -> Result<(), PinError>
Pin the program to the provided path
Sourcepub fn unload(self) -> Result<(), ProgramError>
pub fn unload(self) -> Result<(), ProgramError>
Unloads the program from the kernel.
Sourcepub fn fd(&self) -> Result<&ProgramFd, ProgramError>
pub fn fd(&self) -> Result<&ProgramFd, ProgramError>
Returns the file descriptor of a program.
Can be used to add a program to a crate::maps::ProgramArray or attach an Extension program.
Sourcepub fn info(&self) -> Result<ProgramInfo, ProgramError>
pub fn info(&self) -> Result<ProgramInfo, ProgramError>
Returns information about a loaded program with the ProgramInfo structure.
This information is populated at load time by the kernel and can be used
to get kernel details for a given Program.