uefi/
capsule.rs

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