e2p-fileflags: Read and set ext2/ext3/ext4/btrfs/xfs/f2fs file flags like with lsattr and chattr from e2fsprogs

CI license crates.io docs.rs

e2p-fileflags provides access to file flags on Linux. Which flags exist, depends on the file system used. This crate uses libe2p in the background, which originates from e2fsprogs and supports flags for ext2, ext3, ext4, btrfs, xfs and f2fs file systems.

Examples

```rust use std::fs::File; use e2p_fileflags::{FileFlags,Flags};

let f = File::create("./foo/bar.txt")?; f.set_flags(Flags::NOCOW)?; println!("Flags: {:?}", f.flags()?); ```

```rust use std::path::Path; use e2p_fileflags::{FileFlags,Flags};

let p = Path::new("./foo/bar.txt"); p.set_flags(Flags::NOCOW)?; println!("Flags: {:?}", p.flags()?); ```

Requirements

Note that after an update of libe2p, you may need to rebuild e2p-sys and this crate to get access to any newly introduced flags.