linux_api/
stat.rs

1use crate::bindings;
2
3pub use bindings::linux_stat;
4#[allow(non_camel_case_types)]
5pub type stat = linux_stat;
6unsafe impl shadow_pod::Pod for stat {}
7
8bitflags::bitflags! {
9    /// Stat flags, as used e.g. with `stat`.
10    #[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
11    pub struct SFlag: u32 {
12        const S_IFMT = bindings::LINUX_S_IFMT;
13        const S_IFSOCK = bindings::LINUX_S_IFSOCK;
14        const S_IFLNK = bindings::LINUX_S_IFLNK;
15        const S_IFREG = bindings::LINUX_S_IFREG;
16        const S_IFBLK = bindings::LINUX_S_IFBLK;
17        const S_IFDIR = bindings::LINUX_S_IFDIR;
18        const S_IFCHR = bindings::LINUX_S_IFCHR;
19        const S_IFIFO = bindings::LINUX_S_IFIFO;
20        const S_ISUID = bindings::LINUX_S_ISUID;
21        const S_ISGID = bindings::LINUX_S_ISGID;
22        const S_ISVTX = bindings::LINUX_S_ISVTX;
23        const S_IRWXU = bindings::LINUX_S_IRWXU;
24        const S_IRUSR = bindings::LINUX_S_IRUSR;
25        const S_IWUSR = bindings::LINUX_S_IWUSR;
26        const S_IXUSR = bindings::LINUX_S_IXUSR;
27        const S_IRWXG = bindings::LINUX_S_IRWXG;
28        const S_IRGRP = bindings::LINUX_S_IRGRP;
29        const S_IWGRP = bindings::LINUX_S_IWGRP;
30        const S_IXGRP = bindings::LINUX_S_IXGRP;
31        const S_IRWXO = bindings::LINUX_S_IRWXO;
32        const S_IROTH = bindings::LINUX_S_IROTH;
33        const S_IWOTH = bindings::LINUX_S_IWOTH;
34        const S_IXOTH = bindings::LINUX_S_IXOTH;
35    }
36}