file_system/fundamentals/identifiers/
entry.rs

1#[cfg(target_pointer_width = "32")]
2pub type EntryIdentifierInner = u16;
3#[cfg(target_pointer_width = "64")]
4pub type EntryIdentifierInner = u32;
5
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Ord, PartialOrd)]
7#[repr(transparent)]
8pub struct EntryIdentifier(EntryIdentifierInner);
9
10impl EntryIdentifier {
11    pub const fn new(identifier: EntryIdentifierInner) -> Self {
12        Self(identifier)
13    }
14}
15
16impl From<EntryIdentifierInner> for EntryIdentifier {
17    fn from(internal_directory_entry_identifier: EntryIdentifierInner) -> Self {
18        EntryIdentifier(internal_directory_entry_identifier)
19    }
20}
21
22impl From<EntryIdentifier> for EntryIdentifierInner {
23    fn from(internal_directory_entry_identifier: EntryIdentifier) -> Self {
24        internal_directory_entry_identifier.0
25    }
26}