pub const PAGE_SHIFT: u64 = 12;
pub const PAGE_SIZE: u64 = 1 << 12;
pub const PAGE_SIZE_USIZE: usize = 1 << 12;
#[derive(Debug, Clone, Copy)]
#[repr(C)]
pub struct GuestMemoryRegion {
pub size: u64,
pub ptr: u64,
}
pub const FILE_MAPPING_LABEL_MAX_LEN: usize = 63;
pub const MAX_FILE_MAPPINGS: usize = 32;
#[derive(Debug, Clone, Copy)]
#[repr(C)]
pub struct FileMappingInfo {
pub guest_addr: u64,
pub size: u64,
pub label: [u8; FILE_MAPPING_LABEL_MAX_LEN + 1],
}
impl Default for FileMappingInfo {
fn default() -> Self {
Self {
guest_addr: 0,
size: 0,
label: [0u8; FILE_MAPPING_LABEL_MAX_LEN + 1],
}
}
}
#[derive(Debug, Clone, Copy)]
#[repr(C)]
pub struct HyperlightPEB {
pub input_stack: GuestMemoryRegion,
pub output_stack: GuestMemoryRegion,
pub init_data: GuestMemoryRegion,
pub guest_heap: GuestMemoryRegion,
#[cfg(feature = "nanvix-unstable")]
pub file_mappings: GuestMemoryRegion,
}