#![no_std]
#[cfg(target_pointer_width = "32")]
pub type HTMOSBootInformation = HTMOSBootInformation32;
#[cfg(target_pointer_width = "64")]
pub type HTMOSBootInformation = HTMOSBootInformation64;
#[cfg(target_arch = "x86")]
pub type HTMOSEntry = extern "cdecl" fn(*const HTMOSBootInformation) -> !;
#[cfg(target_arch = "x86_64")]
pub type HTMOSEntry = extern "sysv64" fn(*const HTMOSBootInformation) -> !;
#[cfg(not(any(target_arch = "x86_64", target_arch = "x86")))]
pub type HTMOSEntry = extern "C" fn(*const HTMOSBootInformation) -> !;
#[repr(C)]
pub struct HTMOSBootInformation32 {
pub magic: u64,
pub boot_mode: u32,
pub memory_map_addr: u32,
pub memory_map_size: u32,
pub memory_desc_size: u32,
pub framebuffer_addr: u32,
pub framebuffer_size: u32,
pub framebuffer_width: u32,
pub framebuffer_height: u32,
pub framebuffer_pitch: u32,
pub framebuffer_format: u32,
pub more_info: u32,
}
#[repr(C)]
pub struct HTMOSBootInformation64 {
pub magic: u64,
pub boot_mode: u64,
pub memory_map_addr: u64,
pub memory_map_size: u64,
pub memory_desc_size: u64,
pub framebuffer_addr: u64,
pub framebuffer_size: u64,
pub framebuffer_width: u32,
pub framebuffer_height: u32,
pub framebuffer_pitch: u32,
pub framebuffer_format: u32,
pub more_info: u64,
}