StuBS
multiboot_info Struct Reference

Multiboot Information Structure according to Specification. More...

Collaboration diagram for multiboot_info:
[legend]

Classes

struct  Array
 Helper Structure. More...

Public Types

enum  Flag : uint32_t {
  Memory = 1U << 0 ,
  BootDev = 1U << 1 ,
  CmdLine = 1U << 2 ,
  Modules = 1U << 3 ,
  SymbolTable = 1U << 4 ,
  SectionHeader = 1U << 5 ,
  MemoryMap = 1U << 6 ,
  DriveInfo = 1U << 7 ,
  ConfigTable = 1U << 8 ,
  BootLoaderName = 1U << 9 ,
  ApmTable = 1U << 10 ,
  VbeInfo = 1U << 11 ,
  FramebufferInfo = 1U << 12
}

Public Member Functions

bool has (enum Flag flag) const
 Check if setting is available.

Public Attributes

enum multiboot_info::Flag flags
struct { 
uint32_t lower
 Amount of memory below 1 MiB in kilobytes.
uint32_t upper
 Amount of memory above 1 MiB in kilobytes.
mem
 Available memory retrieved from BIOS.
uint32_t boot_device
 "root" partition
uint32_t cmdline
 Kernel command line.
Array mods
 List of boot modules.
union { 
   struct { 
uint32_t tabsize
uint32_t strsize
uint32_t addr
uint32_t reserved
   } aout_symbol_table
 Symbol table for kernel in a.out format.
   struct { 
uint32_t num
 Number of entries.
uint32_t size
 Size per entry.
uint32_t addr
 Start of the header table.
uint32_t shndx
 String table index.
   } elf_section_header_table
 Section header table for kernel in ELF.
}; 
struct Array mmap
 Memory Map.
struct Array drives
 Drive Information.
uint32_t config_table
 ROM configuration table.
uint32_t boot_loader_name
 Boot Loader Name.
uint32_t apm_table
 APM table.
struct Multiboot::VBE vbe
 VBE Information.
struct Multiboot::Framebuffer framebuffer
 Framebuffer information.

Detailed Description

Multiboot Information Structure according to Specification.

See also
[Multiboot Specification]{multiboot}

Class Documentation

◆ multiboot_info::Array

struct multiboot_info::Array

Helper Structure.

Class Members
uint32_t size Length.
uint32_t addr Begin (physical address).

Member Enumeration Documentation

◆ Flag

enum multiboot_info::Flag : uint32_t
Enumerator
Memory 

is there basic lower/upper memory information?

BootDev 

is there a boot device set?

CmdLine 

is the command-line defined?

Modules 

are there modules to do something with?

SymbolTable 

is there an a.out symbol table loaded?

SectionHeader 

is there an ELF section header table?

MemoryMap 

is there a full memory map?

DriveInfo 

Is there drive info?

ConfigTable 

Is there a config table?

BootLoaderName 

Is there a boot loader name?

ApmTable 

Is there a APM table?

VbeInfo 

Vesa bios extension.

FramebufferInfo 

Framebuffer.

Member Function Documentation

◆ has()

bool multiboot_info::has ( enum Flag flag) const
inline

Check if setting is available.

Parameters
flagFlag to check
Returns
true if available

The documentation for this struct was generated from the following file: