pub struct Builder { /* private fields */ }Expand description
Builder for Multiboot2 boot information (MBI).
Implementations§
Source§impl Builder
impl Builder
Sourcepub fn cmdline(self, cmdline: Box<CommandLineTag>) -> Self
pub fn cmdline(self, cmdline: Box<CommandLineTag>) -> Self
Sets the CommandLineTag tag.
Sourcepub fn bootloader(self, bootloader: Box<BootLoaderNameTag>) -> Self
pub fn bootloader(self, bootloader: Box<BootLoaderNameTag>) -> Self
Sets the BootLoaderNameTag tag.
Sourcepub fn add_module(self, module: Box<ModuleTag>) -> Self
pub fn add_module(self, module: Box<ModuleTag>) -> Self
Adds a ModuleTag tag.
Sourcepub const fn meminfo(self, meminfo: BasicMemoryInfoTag) -> Self
pub const fn meminfo(self, meminfo: BasicMemoryInfoTag) -> Self
Sets the BasicMemoryInfoTag tag.
Sourcepub const fn bootdev(self, bootdev: BootdevTag) -> Self
pub const fn bootdev(self, bootdev: BootdevTag) -> Self
Sets the BootdevTag tag.
Sourcepub fn mmap(self, mmap: Box<MemoryMapTag>) -> Self
pub fn mmap(self, mmap: Box<MemoryMapTag>) -> Self
Sets the MemoryMapTag tag.
Sourcepub const fn vbe(self, vbe: VBEInfoTag) -> Self
pub const fn vbe(self, vbe: VBEInfoTag) -> Self
Sets the VBEInfoTag tag.
Sourcepub fn framebuffer(self, framebuffer: Box<FramebufferTag>) -> Self
pub fn framebuffer(self, framebuffer: Box<FramebufferTag>) -> Self
Sets the FramebufferTag tag.
Sourcepub fn elf_sections(self, elf_sections: Box<ElfSectionsTag>) -> Self
pub fn elf_sections(self, elf_sections: Box<ElfSectionsTag>) -> Self
Sets the ElfSectionsTag tag.
Sourcepub const fn efi32(self, efi32: EFISdt32Tag) -> Self
pub const fn efi32(self, efi32: EFISdt32Tag) -> Self
Sets the EFISdt32Tag tag.
Sourcepub const fn efi64(self, efi64: EFISdt64Tag) -> Self
pub const fn efi64(self, efi64: EFISdt64Tag) -> Self
Sets the EFISdt64Tag tag.
Sourcepub fn add_smbios(self, smbios: Box<SmbiosTag>) -> Self
pub fn add_smbios(self, smbios: Box<SmbiosTag>) -> Self
Adds a SmbiosTag tag.
Sourcepub fn efi_mmap(self, efi_mmap: Box<EFIMemoryMapTag>) -> Self
pub fn efi_mmap(self, efi_mmap: Box<EFIMemoryMapTag>) -> Self
Sets the EFIMemoryMapTag tag.
Sourcepub fn network(self, network: Box<NetworkTag>) -> Self
pub fn network(self, network: Box<NetworkTag>) -> Self
Sets the sole NetworkTag tag.
This replaces any network tags previously added with
Self::add_network.
Sourcepub fn add_network(self, network: Box<NetworkTag>) -> Self
pub fn add_network(self, network: Box<NetworkTag>) -> Self
Adds a NetworkTag tag.
The Multiboot2 specification permits one network tag per network card.
Sourcepub const fn efi_bs(self, efi_bs: EFIBootServicesNotExitedTag) -> Self
pub const fn efi_bs(self, efi_bs: EFIBootServicesNotExitedTag) -> Self
Sets the EFIBootServicesNotExitedTag tag.
Sourcepub const fn efi32_ih(self, efi32_ih: EFIImageHandle32Tag) -> Self
pub const fn efi32_ih(self, efi32_ih: EFIImageHandle32Tag) -> Self
Sets the EFIImageHandle32Tag tag.
Sourcepub const fn efi64_ih(self, efi64_ih: EFIImageHandle64Tag) -> Self
pub const fn efi64_ih(self, efi64_ih: EFIImageHandle64Tag) -> Self
Sets the EFIImageHandle64Tag tag.
Sourcepub const fn image_load_addr(
self,
image_load_addr: ImageLoadPhysAddrTag,
) -> Self
pub const fn image_load_addr( self, image_load_addr: ImageLoadPhysAddrTag, ) -> Self
Sets the ImageLoadPhysAddrTag tag.
Sourcepub fn add_custom_tag(
self,
custom_tag: Box<DynSizedStructure<TagHeader>>,
) -> Self
pub fn add_custom_tag( self, custom_tag: Box<DynSizedStructure<TagHeader>>, ) -> Self
Adds a custom tag.
Sourcepub fn build(self) -> Box<DynSizedStructure<BootInformationHeader>>
pub fn build(self) -> Box<DynSizedStructure<BootInformationHeader>>
Returns properly aligned bytes on the heap representing a valid Multiboot2 boot information structure.