Expand description
This crate is based on seccomp_sys and provides a higher level wrapper for libseccomp.
Example usage:
extern crate seccomp_droundy;
extern crate libc;
use seccomp_droundy::*;
fn main() {
let mut ctx = Context::default(Action::Allow).unwrap();
let rule = Rule::new(105 /* setuid on x86_64 */,
Compare::arg(0)
.with(1000)
.using(Op::Eq)
.build().unwrap(),
Action::Errno(libc::EPERM) /* return EPERM */
);
ctx.add_rule(rule).unwrap();
ctx.load().unwrap();
let ret = unsafe { libc::setuid(1000) };
println!("ret = {}, uid = {}", ret, unsafe { libc::getuid() });
}
Macros§
- A macro to ergonomically express comparisons using ordinary comparison operators.
Structs§
- Comparison definition builder
- Seccomp context
- Seccomp rule
- Error type
Enums§
- Seccomp actions
- Comparison operators