#![cfg_attr(not(test), no_std)]
extern crate alloc;
pub mod blkfs;
pub mod block_cache;
pub mod block_dev;
pub mod component;
pub mod disk_format;
pub mod fd_table;
pub mod file;
pub mod inode;
pub mod lru_cache;
pub mod manager;
pub mod pipe;
pub mod ramfs;
pub mod vfs;
pub mod virtualfs;
pub use blkfs::{
BlkFS, BlkFile, BlkInode, BLKFS_MAX_FILE_SIZE, BLKFS_MAX_INODES, BLKFS_MAX_NAME_BYTES,
BLKFS_MIN_BLOCKS,
};
pub use block_cache::{BlockCache, BlockCacheStats};
pub use block_dev::{BlockDevice, BlockDeviceHandle, DummyBlockDev, BLOCK_SIZE};
pub use component::{
builtin_component_registry, render_builtin_component_listing, ComponentLayer,
ComponentManifest, ComponentRegistry, ComponentRegistryError, ComponentStability,
};
pub use disk_format::{detect_disk_format, DiskFormat};
pub use fd_table::{
FdEntry, FileDescriptor, FileDescriptorTable, FILE_DESCRIPTOR_LIMIT, STDERR, STDIN, STDOUT,
};
pub use file::{File, FileError, FileMetadata, FileType, SeekFrom};
pub use inode::{permissions, Inode, InodeHandle, MemInode};
pub use lru_cache::{Cacheable, LruCache};
pub use manager::{
init_filesystem, BlkFsMountMode, BlkFsMountOptions, FileSystemManager, FsType, MountPoint,
FS_MANAGER,
};
pub use pipe::{make_pipe, PipeReadEnd, PipeWriteEnd, PIPE_BUFFER_SIZE};
pub use ramfs::{RamFS, RamFile, RamInode};
pub use vfs::{create_dir, create_file, open_file, readdir_path, remove_file, stat_path};
pub use virtualfs::{
default_devtmpfs, default_procfs, default_sysfs, StaticVirtualFileSystem, VirtualFile,
VirtualFileSystem, VirtualNode, VirtualNodeKind,
};