#[non_exhaustive]pub enum FileBody {
Regular {
content: Vec<u8>,
is_native_executable: bool,
},
Directory {
files: HashMap<Rc<UnixStr>, Rc<RefCell<Inode>>>,
},
Fifo {
content: VecDeque<u8>,
readers: usize,
writers: usize,
},
Symlink {
target: PathBuf,
},
Terminal {
content: Vec<u8>,
},
}Expand description
Filetype-specific content of a file
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Regular
Regular file
Fields
Directory
Directory
Fields
Fifo
Named pipe
Fields
Symlink
Symbolic link
Terminal
Terminal device
This is a dummy device that works like a regular file.
Implementations§
Trait Implementations§
Source§impl TryFrom<&FileBody> for VirtualDir<IntoIter<Rc<UnixStr>>>
Creates a VirtualDir that yields entries of a directory.
impl TryFrom<&FileBody> for VirtualDir<IntoIter<Rc<UnixStr>>>
Creates a VirtualDir that yields entries of a directory.
This function will fail if the given file body is not a directory.
impl Eq for FileBody
impl StructuralPartialEq for FileBody
Auto Trait Implementations§
impl Freeze for FileBody
impl !RefUnwindSafe for FileBody
impl !Send for FileBody
impl !Sync for FileBody
impl Unpin for FileBody
impl !UnwindSafe for FileBody
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more