pub struct FileHeader {
pub magic: [u8; 8],
pub format_type: FormatType,
pub version: FormatVersion,
pub feature_flags: u32,
pub reserved: [u8; 15],
}Expand description
File header with magic and version
Fields§
§magic: [u8; 8]Magic bytes (8)
format_type: FormatTypeFormat type (1 byte)
version: FormatVersionFormat version (4 bytes)
feature_flags: u32Feature flags (4 bytes)
reserved: [u8; 15]Reserved for future use (15 bytes)
Implementations§
Source§impl FileHeader
impl FileHeader
Sourcepub fn new(format_type: FormatType, version: FormatVersion) -> Self
pub fn new(format_type: FormatType, version: FormatVersion) -> Self
Create a new header for a format type
Sourcepub fn from_bytes(buf: &[u8]) -> Result<Self, VersionError>
pub fn from_bytes(buf: &[u8]) -> Result<Self, VersionError>
Parse from bytes
Sourcepub fn check_compatibility(
&self,
expected_type: FormatType,
current_version: FormatVersion,
) -> Result<CompatibilityResult, VersionError>
pub fn check_compatibility( &self, expected_type: FormatType, current_version: FormatVersion, ) -> Result<CompatibilityResult, VersionError>
Check compatibility with expected type and version
Trait Implementations§
Source§impl Clone for FileHeader
impl Clone for FileHeader
Source§fn clone(&self) -> FileHeader
fn clone(&self) -> FileHeader
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FileHeader
impl RefUnwindSafe for FileHeader
impl Send for FileHeader
impl Sync for FileHeader
impl Unpin for FileHeader
impl UnsafeUnpin for FileHeader
impl UnwindSafe for FileHeader
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more