use std::path::PathBuf;
use serde::Serialize;
use super::acl::PosixAcl;
use super::fsflags::FsFlags;
use super::Probe;
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct PathComponent {
pub path: PathBuf,
pub stat: Probe<StatResult>,
pub acl: Probe<PosixAcl>,
pub flags: Probe<FsFlags>,
pub mount: Option<usize>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct StatResult {
pub mode: u32,
pub uid: u32,
pub gid: u32,
pub dev: u64,
pub nlink: u64,
pub file_type: FileType,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
#[non_exhaustive]
pub enum FileType {
Regular,
Directory,
Symlink,
Other,
}