pub struct EseHeader {
pub signature: u32,
pub format_version: u32,
pub page_size: u32,
pub db_time: u64,
pub db_state: u32,
}Expand description
Parsed ESE database file header.
Fields§
§signature: u32ESE magic: 0x89ABCDEF (little-endian at offset 4).
format_version: u32Database format version.
page_size: u32Page size in bytes (typically 4096 or 8192).
db_time: u64Database time field (offset 0x10, 8 bytes LE).
Stored as a JET_LOGTIME-derived u64. The low 32 bits are compared
against per-page db_time values to detect timestamp skew.
db_state: u32Database state (offset 0x28).
2 = dirty shutdown (log replay needed), 3 = clean shutdown.
Implementations§
Source§impl EseHeader
impl EseHeader
Sourcepub fn from_bytes(data: &[u8]) -> Result<Self, EseError>
pub fn from_bytes(data: &[u8]) -> Result<Self, EseError>
Parse an ESE header from the first 4096 bytes of a database file.
ESE header layout (all little-endian):
- Offset 0x00 (4 bytes): checksum
- Offset 0x04 (4 bytes): signature (0x89ABCDEF)
- Offset 0x08 (4 bytes): format version
- Offset 0x0C (4 bytes): format revision
- Offset 0xEC (4 bytes): page size (0 means 4096)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EseHeader
impl RefUnwindSafe for EseHeader
impl Send for EseHeader
impl Sync for EseHeader
impl Unpin for EseHeader
impl UnsafeUnpin for EseHeader
impl UnwindSafe for EseHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more