Skip to content

Commit a8039bd

Browse files
committed
rust: fs: export file type from mode constants
This allows file system modules to use these constants if needed. Signed-off-by: Wedson Almeida Filho <[email protected]>
1 parent aa434c5 commit a8039bd

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

rust/kernel/fs.rs

+27
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,33 @@ use macros::{pin_data, pinned_drop};
1818

1919
pub mod buffer;
2020

21+
/// Contains constants related to Linux file modes.
22+
pub mod mode {
23+
/// A bitmask used to the file type from a mode value.
24+
pub const S_IFMT: u32 = bindings::S_IFMT;
25+
26+
/// File type constant for block devices.
27+
pub const S_IFBLK: u32 = bindings::S_IFBLK;
28+
29+
/// File type constant for char devices.
30+
pub const S_IFCHR: u32 = bindings::S_IFCHR;
31+
32+
/// File type constant for directories.
33+
pub const S_IFDIR: u32 = bindings::S_IFDIR;
34+
35+
/// File type constant for pipes.
36+
pub const S_IFIFO: u32 = bindings::S_IFIFO;
37+
38+
/// File type constant for symbolic links.
39+
pub const S_IFLNK: u32 = bindings::S_IFLNK;
40+
41+
/// File type constant for regular files.
42+
pub const S_IFREG: u32 = bindings::S_IFREG;
43+
44+
/// File type constant for sockets.
45+
pub const S_IFSOCK: u32 = bindings::S_IFSOCK;
46+
}
47+
2148
/// Maximum size of an inode.
2249
pub const MAX_LFS_FILESIZE: i64 = bindings::MAX_LFS_FILESIZE;
2350

0 commit comments

Comments
 (0)