13 releases
0.2.1 | Nov 29, 2023 |
---|---|
0.2.0 | Apr 20, 2023 |
0.1.1 | Apr 2, 2023 |
0.1.0 |
|
0.0.5 | Feb 28, 2023 |
#1179 in Filesystem
27 downloads per month
67KB
698 lines
📁 Naughtyfy
A modern fanotify wrapper.
Open issue for any feature/bug.
Example
use naughtyfy::api::*;
use naughtyfy::flags::*;
fn main() {
unsafe {
// Use carefully in multi thread.
FAN_EVENT_BUFFER_LEN = 230.into();
}
// Initialise fanotify
let fd = &init(FAN_CLASS_NOTIF, 0).unwrap();
// Mark file descriptor for events
mark(fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_ACCESS, AT_FDCWD, "/").unwrap();
// Try extracting events from the buffer and print it
let mut iter = 1;
loop {
let res = read(fd).unwrap();
println!("{res:#?}");
res.iter().for_each(|e| close(e.fd).unwrap());
iter += 1;
if iter > 100 {
break;
}
}
}
Docs
Goals
- Safe
- Less overhead
- Documented
- Desciptive errors
- Only 1 dependency (libc)
- and, Fast ofc.
TODO
- Add more example
- Higher level API maybe?