/** * PROJECT: ExectOS * COPYRIGHT: See COPYING.md in the top level directory * FILE: xtldr/includes/xtbm.h * DESCRIPTION: XTLDR Boot Manager 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); XTCDECL EFI_STATUS BmAllocateEfiPages(IN UINT64 Pages, OUT PEFI_PHYSICAL_ADDRESS Memory); XTCDECL EFI_STATUS BmAllocateEfiPool(IN UINT_PTR Size, OUT PVOID *Memory); /* XTLDR routines forward references */ XTCDECL VOID BmClearScreen(); XTCDECL VOID BmDisableCursor(); XTCDECL VOID BmEnableCursor(); XTCDECL EFI_STATUS BmFreeEfiPages(IN UINT64 Pages, IN EFI_PHYSICAL_ADDRESS Memory); XTCDECL EFI_STATUS BmFreeEfiPool(IN PVOID Memory); XTCDECL VOID BmInitializeConsole(); XTCDECL VOID BmPrint(IN PUINT16 Format, IN ...); XTCDECL VOID BmPrintChar(IN USHORT Character); XTCDECL VOID BmPrintString(IN IN BMPRINTCHAR PrintCharRoutine, IN PUINT16 Format, IN VA_LIST Arguments); XTCDECL EFI_STATUS BmStartXtLoader(IN EFI_HANDLE ImageHandle, IN PEFI_SYSTEM_TABLE SystemTable); XTCDECL VOID BmpFormatString(IN BMPRINTCHAR PrintCharRoutine, IN PUINT16 Format, IN ...); XTCDECL VOID BmpParseCommandLineOptions(VOID); XTCDECL VOID BmpPrintSigned32String(IN BMPRINTCHAR PrintCharRoutine, IN INT Number, IN UINT Base); XTCDECL VOID BmpPrintSigned64String(IN BMPRINTCHAR PrintCharRoutine, IN INT_PTR Number, IN UINT_PTR Base); XTCDECL VOID BmpPrintUnsigned32String(IN BMPRINTCHAR PrintCharRoutine, IN UINT Number, IN UINT Base, IN UINT Padding); XTCDECL VOID BmpPrintUnsigned64String(IN BMPRINTCHAR PrintCharRoutine, IN UINT_PTR Number, IN UINT_PTR Base, IN UINT_PTR Padding); XTCDECL UINT64 BmpReadStringPadding(IN PUINT16 *Format); XTCDECL VOID BmpUpdateGlobalConfiguration(IN PWCHAR Options); #endif /* __XTLDR_BOOTMAN_H */