#pragma once #include #include #include #include #define CMDLINE_MAX 32 struct BootTag { uint8_t valid; uint32_t type; uint32_t size; union { char cmdline[CMDLINE_MAX]; struct MemoryMap *memory_map; struct RootSystemDescriptionPointer *rsdp; } data; }; struct BootInfo { uint32_t total_size; uint32_t reserved; struct BootTag tags[21]; }; enum BootTagID { ID_CMDLINE = 0, iD_MEMORYMAP = 6, ID_RSDP = 14 }; void load_boot_info(void* boot_info); bool get_boot_tag(enum BootTagID id, struct BootTag **tag);