22 lines
570 B
C
22 lines
570 B
C
#ifndef BOOT_INFO_H
|
|
#define BOOT_INFO_H
|
|
|
|
#include <efi.h>
|
|
|
|
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
|