pub type Result<T> = crate::VfResult<T>;
pub type Error = crate::VfError;
pub use crate::{
AttrMask as MetadataFields, Capabilities, DirEntry, ErrorDomain, Metadata, OpenFlags,
OpenRequest, Permissions, RemoveOptions, StatusCode, TransportKind, VfType as FileType,
};
pub use std::io::ErrorKind;
pub use std::ops::ControlFlow;
mod traits;
pub use traits::{FileHandle, Vfsi, VfsiExt};
mod metadata;
pub use metadata::MetadataOptions;
mod read;
pub use read::{ReadOp, ReadOptions, ReadResult};
mod write;
pub use write::{WriteOp, WriteOptions};
mod visit;
pub use visit::VisitOptions;
mod support;
pub use support::{
DEFAULT_DIRECTORY_MAX_ENTRIES, DEFAULT_DIRECTORY_MAX_PATH_BYTES,
DEFAULT_READ_ALLV_MAX_TOTAL_BYTES, DEFAULT_READ_MAX_BYTES, DEFAULT_READ_STREAM_CHUNK_BYTES,
DEFAULT_READV_MAX_TOTAL_BYTES, DEFAULT_WALK_MAX_DEPTH, DepthLimit, DirectoryListing,
ReadDirOptions, ReadStreamOptions, ResourceLimits, StreamCompletion, TraversalCompletion,
WalkOptions,
};
pub use support::{ReadIntoResult, WriteResult};
mod traversal;
#[doc(hidden)]
pub use traversal::walk_events;
pub use traversal::{WalkControl, WalkEvent, WalkEventKind};
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum RemoveMode {
#[default]
Entry,
Tree,
Contents,
}
#[doc(hidden)]
pub mod internal {
pub use super::read::{ReadRequest, consume_ops, read_batch};
pub use super::support::FsReadResult as OwnedReadResult;
}
pub mod prelude {
pub use super::{
ControlFlow, FileHandle, MetadataFields, MetadataOptions, OpenFlags, OpenRequest, ReadOp,
ReadOptions, ReadResult, ReadStreamOptions, RemoveMode, RemoveOptions, ResourceLimits,
Vfsi, VfsiExt, VisitOptions, WriteOp, WriteOptions,
};
}