| 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, |
| } |