All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
No other changes
Implement Send
, Sync
, and Clone
for Fanotify
.
Added implementations of the Send
, Sync
, and Clone
traits for better ergonomics on the Fanotify
type.
Rename Fanotify
functions and stop eating registration errors.
Added FanotifyBuilder
to provide finer-grained control on what options are supplied to the libc call without directly using the low_level methods.
Rename Fanotify::new_with_blocking
and Fanotify::new_with_nonblocking
The above functions now bubble up registration errors
Big update and refactor. The overral structure remains the same, but includes a number of fixes included in outstanding PRs. The update have been checked against current test cases and the PoC, but need review before release.
Implemented AsFd
for Fanotify
to allow borrowing of the internal file descriptor (e.g. for polling)
Widened the implementation of FanotifyPath
to all implementors of AsRef<OsStr>
, but removed the direct implementation for String
due to conflict.
Update dependencies, and removed the dependency on lazy_static.
Updated the crate to 2021 edition.
Changed type of PID in the Event
type as pid_t
is generally implemented as int
in libc implementations.
Changed to_fan_class
to to copy instead of borrow as the type is Copy
.
Renamed low_level::fanotify_response
to low_level::FanotifyResponse
to keep with Rust's naming convention.
Removed crate definitions of some library flags, and replaced with re-exports from libc
.
Removed setting that forced inclusion of debug symbols in release mode.
Fixed the type for calling fanotify_mark
on aarch64