Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/ntfs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/file_reference.rs')
-rw-r--r--src/file_reference.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/file_reference.rs b/src/file_reference.rs
index 337d7c5..aa18764 100644
--- a/src/file_reference.rs
+++ b/src/file_reference.rs
@@ -1,21 +1,22 @@
// Copyright 2021 Colin Finck <colin@reactos.org>
// SPDX-License-Identifier: GPL-2.0-or-later
+use binread::io::{Read, Seek};
use binread::BinRead;
-#[derive(BinRead, Clone, Debug)]
-pub struct NtfsFileReference(u64);
+#[derive(BinRead, Clone, Copy, Debug)]
+pub struct NtfsFileReference([u8; 8]);
impl NtfsFileReference {
- pub(crate) const fn new(file_reference_data: u64) -> Self {
- Self(file_reference_data)
+ pub(crate) const fn new(file_reference_bytes: [u8; 8]) -> Self {
+ Self(file_reference_bytes)
}
pub fn file_record_number(&self) -> u64 {
- self.0 >> 16
+ u64::from_le_bytes(self.0) & 0xffff_ffff_ffff
}
pub fn sequence_number(&self) -> u16 {
- self.0 as u16
+ (u64::from_le_bytes(self.0) >> 48) as u16
}
}