anshdadhich commited on
Commit
d97ad4b
·
verified ·
1 Parent(s): edcdb12

Upload src/mft/types.rs

Browse files
Files changed (1) hide show
  1. src/mft/types.rs +37 -0
src/mft/types.rs ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use serde::{Serialize, Deserialize};
2
+
3
+ #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4
+ pub enum FileKind {
5
+ File,
6
+ Directory,
7
+ }
8
+
9
+ #[derive(Debug, Clone)]
10
+ pub struct FileRecord {
11
+ pub file_ref: u64,
12
+ pub parent_ref: u64,
13
+ pub name: String,
14
+ pub kind: FileKind,
15
+ }
16
+
17
+ #[derive(Debug, Clone)]
18
+ pub struct NtfsDrive {
19
+ pub letter: char,
20
+ pub root: String,
21
+ pub device_path: String,
22
+ }
23
+
24
+ #[derive(Debug)]
25
+ pub enum IndexEvent {
26
+ Created(FileRecord),
27
+ Deleted(u64),
28
+ Renamed { old_ref: u64, new_record: FileRecord },
29
+ Moved { file_ref: u64, new_parent_ref: u64, name: String, kind: FileKind },
30
+ }
31
+
32
+ #[derive(Debug, Clone, Serialize, Deserialize)]
33
+ pub struct JournalCheckpoint {
34
+ pub next_usn: i64,
35
+ pub journal_id: u64,
36
+ pub drive_letter: char,
37
+ }