//! Virtual filesystem interfaces and driver implementation #![cfg_attr(not(test), no_std)] #![allow(clippy::new_ret_no_self, clippy::new_without_default)] #![deny(missing_docs)] #![feature(if_let_guard, maybe_uninit_slice, trait_alias, let_chains, new_uninit)] #[cfg(test)] extern crate hosted_tests; extern crate alloc; pub(crate) mod channel; pub(crate) mod device; pub(crate) mod file; pub(crate) mod ioctx; pub(crate) mod node; pub(crate) mod path; pub(crate) mod poll; pub(crate) mod pty; pub(crate) mod shared_memory; pub(crate) mod socket; pub(crate) mod traits; pub use channel::MessagePayload; pub use device::CharDevice; pub use file::{DirectoryOpenPosition, File, FileRef, FileSet, InstanceData}; pub use ioctx::{Action, IoContext}; pub use node::{ impls, AccessToken, CommonImpl, CreateInfo, DirectoryImpl, Metadata, Node, NodeFlags, NodeRef, RegularImpl, SymlinkImpl, }; pub use poll::FdPoll; pub use pty::{PseudoTerminal, PseudoTerminalMaster, PseudoTerminalSlave}; pub use shared_memory::SharedMemory; pub use socket::{ConnectionSocket, ListenerSocket, PacketSocket, Socket}; pub use traits::{FileReadiness, Read, Seek, Write};