1#![cfg_attr(not(test), no_std)]
2
3extern crate alloc;
4
5pub mod blkfs;
6pub mod block_cache;
7pub mod block_dev;
8pub mod component;
9pub mod disk_format;
10pub mod fd_table;
11pub mod file;
12pub mod inode;
13pub mod lru_cache;
14pub mod manager;
15pub mod pipe;
16pub mod ramfs;
17pub mod vfs;
18pub mod virtualfs;
19
20pub use blkfs::{
21 BlkFS, BlkFile, BlkInode, BLKFS_MAX_FILE_SIZE, BLKFS_MAX_INODES, BLKFS_MAX_NAME_BYTES,
22 BLKFS_MIN_BLOCKS,
23};
24pub use block_cache::{BlockCache, BlockCacheStats};
25pub use block_dev::{BlockDevice, BlockDeviceHandle, DummyBlockDev, BLOCK_SIZE};
26pub use component::{
27 builtin_component_registry, render_builtin_component_listing, ComponentLayer,
28 ComponentManifest, ComponentRegistry, ComponentRegistryError, ComponentStability,
29};
30pub use disk_format::{detect_disk_format, DiskFormat};
31pub use fd_table::{
32 FdEntry, FileDescriptor, FileDescriptorTable, FILE_DESCRIPTOR_LIMIT, STDERR, STDIN, STDOUT,
33};
34pub use file::{File, FileError, FileMetadata, FileType, SeekFrom};
35pub use inode::{permissions, Inode, InodeHandle, MemInode};
36pub use lru_cache::{Cacheable, LruCache};
37pub use manager::{
38 init_filesystem, BlkFsMountMode, BlkFsMountOptions, FileSystemManager, FsType, MountPoint,
39 FS_MANAGER,
40};
41pub use pipe::{make_pipe, PipeReadEnd, PipeWriteEnd, PIPE_BUFFER_SIZE};
42pub use ramfs::{RamFS, RamFile, RamInode};
43pub use vfs::{create_dir, create_file, open_file, readdir_path, remove_file, stat_path};
44pub use virtualfs::{
45 default_devtmpfs, default_procfs, default_sysfs, StaticVirtualFileSystem, VirtualFile,
46 VirtualFileSystem, VirtualNode, VirtualNodeKind,
47};