NAME
    Filesys::Ext2 - Interface to e2fs filesystem attributes

SYNOPSIS
            use Filesys::Ext2 qw(chattr lsattr);
            $mode = lsattr("/etc/passwd");
            chattr("+aud", "/etc/passwd");
            #or equivalently
            #chattr($mode|0x0062, "/etc/passwd");

DESCRIPTION
    `chattr($mask, @files)'
            Change the mode of *@files* to match *$mask*. *$mask*
            may be a symbolic mode or a bitmask.

    `lsattr($file)'
            In list context it returns a list containing symbols
            representing the symbolic mode of *$file*. In scalar
            context it returns a bitmask.

    `lstat($file)'
            Same as `CORE::lstat', but appends the numerical
            attribute bitmask.

    `stat($file)'
            Same as `CORE::stat', but appends the numerical
            attribute bitmask.

    `calcSymMask'
            Accepts a bitmask and returns the symbolic mode. In list
            context it returns a symbol list like lsattr, in scalar
            mode it returns a string that matches the --------
            region of lsattr(1) (akin to that of ls -l e.g. drwxr-x-
            --)

SEE ALSO
    chattr(1), lsattr(1)

NOTES
    Of course, this would be more efficient if it were an XSUB.

    The bit mappings for attributes, from ext2_fs.h

            s #define EXT2_SECRM_FL           0x00000001 /* Secure deletion */
            u #define EXT2_UNRM_FL            0x00000002 /* Undelete */
            c #define EXT2_COMPR_FL           0x00000004 /* Compress file */
            S #define EXT2_SYNC_FL            0x00000008 /* Synchronous updates */
            i #define EXT2_IMMUTABLE_FL       0x00000010 /* Immutable file */
            a #define EXT2_APPEND_FL          0x00000020 /* writes to file may only append */
            d #define EXT2_NODUMP_FL          0x00000040 /* do not dump file */
            A #define EXT2_NOATIME_FL         0x00000080 /* do not update atime */

AUTHOR
    Jerrad Pierce <belg4mit@mit.edu>, <webmaster@pthbb.org>

