finder / src /mft /types.rs
anshdadhich's picture
Upload src/mft/types.rs
d97ad4b verified
use serde::{Serialize, Deserialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum FileKind {
File,
Directory,
}
#[derive(Debug, Clone)]
pub struct FileRecord {
pub file_ref: u64,
pub parent_ref: u64,
pub name: String,
pub kind: FileKind,
}
#[derive(Debug, Clone)]
pub struct NtfsDrive {
pub letter: char,
pub root: String,
pub device_path: String,
}
#[derive(Debug)]
pub enum IndexEvent {
Created(FileRecord),
Deleted(u64),
Renamed { old_ref: u64, new_record: FileRecord },
Moved { file_ref: u64, new_parent_ref: u64, name: String, kind: FileKind },
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JournalCheckpoint {
pub next_usn: i64,
pub journal_id: u64,
pub drive_letter: char,
}