#![forbid(unsafe_code)]
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
pub mod bytes;
mod cg;
mod dir;
mod error;
mod file;
mod inode;
mod superblock;
#[cfg(feature = "vfs")]
pub mod vfs;
pub use bytes::Endian;
pub use cg::{CylinderGroup, CG_MAGIC};
pub use dir::{
list_dir, list_dir_all, read_block, read_by_path, DirEntry, DirEntryType, DIRBLKSIZ,
DIR_ROUNDUP,
};
pub use error::UfsError;
pub use file::{read_file, read_inode_file, read_path_content, read_symlink_target};
pub use inode::{
read_inode, FileType, Inode, Timespec, UFS1_DINODE_SIZE, UFS2_DINODE_SIZE, UFS_NDADDR,
UFS_NIADDR,
};
pub use superblock::{
Superblock, UfsVersion, FS_UFS1_MAGIC, FS_UFS2_MAGIC, SBLOCK_UFS1, SBLOCK_UFS2, UFS_ROOTINO,
};
#[cfg(feature = "vfs")]
pub use vfs::{ufs_probe, UfsFs};