Git Product home page Git Product logo

e2p-fileflags's Introduction

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

build license crates.io

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

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()?);
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

  • libe2p, including development headers. Right now, libe2p in version 1.42.4 is required. If you need support for older versions, please open an issue and state the required version.

    Linux distributions typically packages those under one of the following names:

    • e2fsprogs(-dev)
    • e2fslibs(-dev)

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

e2p-fileflags's People

Contributors

michaellass avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.