1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use crate::guid::Guid; use crate::memory::PhysicalAddress; pub const CAPSULE_FLAGS_PERSIST_ACROSS_RESET: u32 = 0x00010000; pub const CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE: u32 = 0x00020000; pub const CAPSULE_FLAGS_INITIATE_RESET: u32 = 0x00040000; #[repr(C)] pub struct CapsuleHeader { CapsuleGuid: Guid, HeaderSize: u32, Flags: u32, CapsuleImageSize: u32, } #[repr(C)] pub struct CapsuleBlockDescriptor { pub Length: u64, pub DataBlock: PhysicalAddress, }