/** * PROJECT: ExectOS * COPYRIGHT: See COPYING.md in the top level directory * FILE: xtldr/includes/bootman.h * DESCRIPTION: XTLDR Boot Loader related structures and routines forward references * DEVELOPERS: Rafal Kupiec */ #ifndef __XTLDR_BOOTMAN_H #define __XTLDR_BOOTMAN_H #include /* XTLDR routine callbacks */ typedef VOID (BMPRINTCHAR)(IN USHORT Character); /* XTLDR routines forward references */ XTCDECL EFI_STATUS BlExitBootServices(IN UINT_PTR MapKey); XTCDECL EFI_STATUS BlMemoryAllocatePages(IN UINT64 Pages, OUT PEFI_PHYSICAL_ADDRESS Memory); XTCDECL EFI_STATUS BlMemoryAllocatePool(IN UINT_PTR Size, OUT PVOID *Memory); XTCDECL VOID BlConsoleClearScreen(); XTCDECL VOID BlConsoleDisableCursor(); XTCDECL VOID BlConsoleEnableCursor(); XTCDECL VOID BlConsolePrint(IN PUINT16 Format, IN ...); XTCDECL VOID BlDebugPrint(IN PUINT16 Format, IN ...); XTCDECL EFI_STATUS BlMemoryFreePages(IN UINT64 Pages, IN EFI_PHYSICAL_ADDRESS Memory); XTCDECL EFI_STATUS BlMemoryFreePool(IN PVOID Memory); XTCDECL VOID BlSleepExecution(IN ULONG_PTR Milliseconds); XTCDECL EFI_STATUS BlStartXtLoader(IN EFI_HANDLE ImageHandle, IN PEFI_SYSTEM_TABLE SystemTable); XTCDECL EFI_STATUS BlpActivateSerialIOController(); XTCDECL VOID BlpConfigParseCommandLine(VOID); XTCDECL VOID BlpConfigUpdateGlobalConfiguration(IN PWCHAR Options); XTCDECL VOID BlpConsoleInitialize(); XTCDECL VOID BlpConsolePrintChar(IN USHORT Character); XTCDECL VOID BlpDebugPutChar(IN USHORT Character); XTCDECL EFI_STATUS BlpInitializeDebugConsole(); XTCDECL VOID BlpInitializeEfiBootLoader(); XTCDECL EFI_STATUS BlpInitializeSerialPort(IN ULONG PortNumber, IN ULONG PortAddress, IN ULONG BaudRate); XTCDECL VOID BlpStringFormat(IN BMPRINTCHAR PrintCharRoutine, IN PUINT16 Format, IN ...); XTCDECL VOID BlpStringPrint(IN IN BMPRINTCHAR PrintCharRoutine, IN PUINT16 Format, IN VA_LIST Arguments); XTCDECL VOID BlpStringPrintSigned32(IN BMPRINTCHAR PrintCharRoutine, IN INT Number, IN UINT Base); XTCDECL VOID BlpStringPrintSigned64(IN BMPRINTCHAR PrintCharRoutine, IN INT_PTR Number, IN UINT_PTR Base); XTCDECL VOID BlpStringPrintUnsigned32(IN BMPRINTCHAR PrintCharRoutine, IN UINT Number, IN UINT Base, IN UINT Padding); XTCDECL VOID BlpStringPrintUnsigned64(IN BMPRINTCHAR PrintCharRoutine, IN UINT_PTR Number, IN UINT_PTR Base, IN UINT_PTR Padding); XTCDECL UINT64 BlpStringReadPadding(IN PUINT16 *Format); #endif /* __XTLDR_BOOTMAN_H */