bitflags::bitflags! {
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub struct FilePerms: usize {
const READ = 0b1;
const WRITE = 0b10;
}
}
bitflags::bitflags! {
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub struct OpenMode: usize {
const READ = 0b1;
const WRITE = 0b10;
}
}
bitflags::bitflags! {
/// Permission bits for operating on a directory.
///
/// Directories can be limited to being readonly. This will restrict what
/// can be done with them, for example preventing creation of new files.
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub struct DirPerms: usize {
/// This directory can be read, for example its entries can be iterated
/// over and files can be opened.
const READ = 0b1;
/// This directory can be mutated, for example by creating new files
/// within it.
const MUTATE = 0b10;
}
}