use zerocopy::{BE, FromBytes, Immutable, KnownLayout, U16, U32};
#[derive(Clone, Debug, FromBytes, Immutable, KnownLayout)]
#[repr(C)]
pub struct SqliteHeader {
magic: [u8; 16],
page_size: U16<BE>,
file_format_write_version: u8,
file_format_read_version: u8,
reserved_space: u8,
max_embedded_payload_fraction: u8,
min_embedded_payload_fraction: u8,
leaf_payload_fraction: u8,
file_change_counter: U32<BE>,
database_size_in_pages: U32<BE>,
first_freelist_trunk_page: U32<BE>,
total_freelist_pages: U32<BE>,
schema_cookie: U32<BE>,
schema_format_number: U32<BE>,
default_page_cache_size: U32<BE>,
largest_root_btree_page: U32<BE>,
database_text_encoding: U32<BE>,
user_version: U32<BE>,
incremental_vacuum_mode: U32<BE>,
application_id: U32<BE>,
reserved: [u8; 20],
version_valid_for_number: U32<BE>,
sqlite_version_number: U32<BE>,
}