#ifndef BOOT_INFO_H #define BOOT_INFO_H #include typedef UINTN (*KernelPrintFn)(const CHAR16 *Format, ...); typedef struct { EFI_SYSTEM_TABLE *SystemTable; KernelPrintFn print; EFI_STATUS (*clear_screen)(void); EFI_STATUS (*set_attribute)(UINTN Attribute); EFI_STATUS (*read_key)(EFI_INPUT_KEY *Key); void (*shutdown)(void); EFI_STATUS (*alloc_pages)(UINTN pages, EFI_PHYSICAL_ADDRESS *addr); EFI_STATUS (*free_pages)(EFI_PHYSICAL_ADDRESS addr, UINTN pages); } BootInfo; typedef void (*KernelEntryFn)(BootInfo *Boot); #endif