Implement more wrappers and refactoring
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s

This commit is contained in:
Rafal Kupiec 2023-12-16 12:44:18 +01:00
parent 83e555043a
commit 74cac842a5
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
6 changed files with 160 additions and 69 deletions

View File

@ -39,6 +39,8 @@ typedef VOID (*PBL_CONSOLE_DISABLE_CURSOR)();
typedef VOID (*PBL_CONSOLE_ENABLE_CURSOR)(); typedef VOID (*PBL_CONSOLE_ENABLE_CURSOR)();
typedef VOID (*PBL_CONSOLE_PRINT)(IN PUINT16 Format, IN ...); typedef VOID (*PBL_CONSOLE_PRINT)(IN PUINT16 Format, IN ...);
typedef VOID (*PBL_CONSOLE_QUERY_MODE)(OUT PUINT_PTR ResX, OUT PUINT_PTR ResY); typedef VOID (*PBL_CONSOLE_QUERY_MODE)(OUT PUINT_PTR ResX, OUT PUINT_PTR ResY);
typedef VOID (*PBL_CONSOLE_READ_KEY_STROKE)(OUT PEFI_INPUT_KEY Key);
typedef VOID (*PBL_CONSOLE_RESET_INPUT_BUFFER)();
typedef VOID (*PBL_CONSOLE_SET_ATTRIBUTES)(IN ULONGLONG Attributes); typedef VOID (*PBL_CONSOLE_SET_ATTRIBUTES)(IN ULONGLONG Attributes);
typedef VOID (*PBL_CONSOLE_SET_CURSOR_POSITION)(IN ULONGLONG PosX, IN ULONGLONG PosY); typedef VOID (*PBL_CONSOLE_SET_CURSOR_POSITION)(IN ULONGLONG PosX, IN ULONGLONG PosY);
typedef VOID (*PBL_CONSOLE_WRITE)(IN PUSHORT String); typedef VOID (*PBL_CONSOLE_WRITE)(IN PUSHORT String);
@ -51,6 +53,7 @@ typedef EFI_STATUS (*PBL_OPEN_VOLUME)(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath, O
typedef EFI_STATUS (*PBL_OPEN_XT_PROTOCOL)(OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid); typedef EFI_STATUS (*PBL_OPEN_XT_PROTOCOL)(OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid);
typedef EFI_STATUS (*PBL_READ_FILE)(IN PEFI_FILE_HANDLE DirHandle, IN CONST PWCHAR FileName, OUT PVOID *FileData, OUT PSIZE_T FileSize); typedef EFI_STATUS (*PBL_READ_FILE)(IN PEFI_FILE_HANDLE DirHandle, IN CONST PWCHAR FileName, OUT PVOID *FileData, OUT PSIZE_T FileSize);
typedef VOID (*PBL_SLEEP_EXECUTION)(IN ULONG_PTR Milliseconds); typedef VOID (*PBL_SLEEP_EXECUTION)(IN ULONG_PTR Milliseconds);
typedef EFI_STATUS (*PBL_WAIT_FOR_EFI_EVENT)(IN UINT_PTR NumberOfEvents, IN PEFI_EVENT Event, OUT PUINT_PTR Index);
/* XTLDR Configuration data */ /* XTLDR Configuration data */
typedef struct _XTBL_CONFIG_ENTRY typedef struct _XTBL_CONFIG_ENTRY
@ -86,6 +89,8 @@ typedef struct _XTBL_LOADER_PROTOCOL
PBL_CONSOLE_ENABLE_CURSOR EnableCursor; PBL_CONSOLE_ENABLE_CURSOR EnableCursor;
PBL_CONSOLE_PRINT Print; PBL_CONSOLE_PRINT Print;
PBL_CONSOLE_QUERY_MODE QueryMode; PBL_CONSOLE_QUERY_MODE QueryMode;
PBL_CONSOLE_READ_KEY_STROKE ReadKeyStroke;
PBL_CONSOLE_RESET_INPUT_BUFFER ResetInputBuffer;
PBL_CONSOLE_SET_ATTRIBUTES SetAttributes; PBL_CONSOLE_SET_ATTRIBUTES SetAttributes;
PBL_CONSOLE_SET_CURSOR_POSITION SetCursorPosition; PBL_CONSOLE_SET_CURSOR_POSITION SetCursorPosition;
PBL_CONSOLE_WRITE Write; PBL_CONSOLE_WRITE Write;
@ -116,6 +121,7 @@ typedef struct _XTBL_LOADER_PROTOCOL
PBL_EXIT_BOOT_SERVICES ExitBootServices; PBL_EXIT_BOOT_SERVICES ExitBootServices;
PBL_GET_SECURE_BOOT_STATUS GetSecureBootStatus; PBL_GET_SECURE_BOOT_STATUS GetSecureBootStatus;
PBL_SLEEP_EXECUTION SleepExecution; PBL_SLEEP_EXECUTION SleepExecution;
PBL_WAIT_FOR_EFI_EVENT WaitForEfiEvent;
} Util; } Util;
} XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL; } XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL;

View File

@ -18,7 +18,7 @@
*/ */
XTCDECL XTCDECL
VOID VOID
BlConsoleClearScreen() BlClearConsoleScreen()
{ {
/* Clear screen */ /* Clear screen */
EfiSystemTable->ConOut->ClearScreen(EfiSystemTable->ConOut); EfiSystemTable->ConOut->ClearScreen(EfiSystemTable->ConOut);
@ -33,7 +33,7 @@ BlConsoleClearScreen()
*/ */
XTCDECL XTCDECL
VOID VOID
BlConsoleDisableCursor() BlDisableConsoleCursor()
{ {
EfiSystemTable->ConOut->EnableCursor(EfiSystemTable->ConOut, FALSE); EfiSystemTable->ConOut->EnableCursor(EfiSystemTable->ConOut, FALSE);
} }
@ -47,7 +47,7 @@ BlConsoleDisableCursor()
*/ */
XTCDECL XTCDECL
VOID VOID
BlConsoleEnableCursor() BlEnableConsoleCursor()
{ {
EfiSystemTable->ConOut->EnableCursor(EfiSystemTable->ConOut, TRUE); EfiSystemTable->ConOut->EnableCursor(EfiSystemTable->ConOut, TRUE);
} }
@ -93,27 +93,6 @@ BlConsolePrint(IN PUINT16 Format,
VA_END(Arguments); VA_END(Arguments);
} }
/**
* Queries information concerning the output devices supported text mode.
*
* @param ResX
* Supplies a buffer to receive the horizontal resolution.
*
* @param ResY
* Supplies a buffer to receive the vertical resolution.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
BlConsoleQueryMode(OUT PUINT_PTR ResX,
OUT PUINT_PTR ResY)
{
EfiSystemTable->ConOut->QueryMode(EfiSystemTable->ConOut, EfiSystemTable->ConOut->Mode->Mode, ResX, ResY);
}
/** /**
* Displays the string on the device at the current cursor location. * Displays the string on the device at the current cursor location.
* *
@ -131,6 +110,58 @@ BlConsoleWrite(IN PUSHORT String)
EfiSystemTable->ConOut->OutputString(EfiSystemTable->ConOut, String); EfiSystemTable->ConOut->OutputString(EfiSystemTable->ConOut, String);
} }
/**
* Queries information concerning the output devices supported text mode.
*
* @param ResX
* Supplies a buffer to receive the horizontal resolution.
*
* @param ResY
* Supplies a buffer to receive the vertical resolution.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
BlQueryConsoleMode(OUT PUINT_PTR ResX,
OUT PUINT_PTR ResY)
{
EfiSystemTable->ConOut->QueryMode(EfiSystemTable->ConOut, EfiSystemTable->ConOut->Mode->Mode, ResX, ResY);
}
/**
* Reads a keystroke from the input device.
*
* @param Key
* Supplies a pointer to the EFI_INPUT_KEY structure that will receive the keystroke.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
BlReadKeyStroke(OUT PEFI_INPUT_KEY Key)
{
EfiSystemTable->ConIn->ReadKeyStroke(EfiSystemTable->ConIn, Key);
}
/**
* Resets the console input device and clears its input buffer.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
BlResetConsoleInputBuffer()
{
EfiSystemTable->ConIn->Reset(EfiSystemTable->ConIn, FALSE);
}
/** /**
* Sets the foreground and background colors. * Sets the foreground and background colors.
* *
@ -208,6 +239,6 @@ BlpInitializeConsole()
EfiSystemTable->StdErr->Reset(EfiSystemTable->StdErr, TRUE); EfiSystemTable->StdErr->Reset(EfiSystemTable->StdErr, TRUE);
/* Clear screen and enable cursor */ /* Clear screen and enable cursor */
BlConsoleClearScreen(); BlClearConsoleScreen();
BlConsoleEnableCursor(); BlEnableConsoleCursor();
} }

View File

@ -94,6 +94,31 @@ BlSleepExecution(IN ULONG_PTR Milliseconds)
EfiSystemTable->BootServices->Stall(Milliseconds * 1000); EfiSystemTable->BootServices->Stall(Milliseconds * 1000);
} }
/**
* Waits for one or more EFI events.
*
* @param NumberOfEvents
* Supplies the number of events to wait for.
*
* @param Event
* Supplies the array of events to wait for.
*
* @param Index
* Receives the index of the event that was signaled.
*
* @return This routine returns status code.
*
* @since XT 1.0
*/
XTCDECL
EFI_STATUS
BlWaitForEfiEvent(IN UINT_PTR NumberOfEvents,
IN PEFI_EVENT Event,
OUT PUINT_PTR Index)
{
return EfiSystemTable->BootServices->WaitForEvent(NumberOfEvents, Event, Index);
}
/** /**
* Initializes EFI Boot Loader (XTLDR). * Initializes EFI Boot Loader (XTLDR).
* *

View File

@ -16,32 +16,19 @@
typedef VOID (BMPRINTCHAR)(IN USHORT Character); typedef VOID (BMPRINTCHAR)(IN USHORT Character);
/* XTLDR routines forward references */ /* XTLDR routines forward references */
XTCDECL
VOID
BlClearConsoleScreen();
XTCDECL XTCDECL
EFI_STATUS EFI_STATUS
BlCloseVolume(IN PEFI_HANDLE VolumeHandle); BlCloseVolume(IN PEFI_HANDLE VolumeHandle);
XTCDECL
VOID
BlConsoleClearScreen();
XTCDECL
VOID
BlConsoleDisableCursor();
XTCDECL
VOID
BlConsoleEnableCursor();
XTCDECL XTCDECL
VOID VOID
BlConsolePrint(IN PUINT16 Format, BlConsolePrint(IN PUINT16 Format,
IN ...); IN ...);
XTCDECL
VOID
BlConsoleQueryMode(OUT PUINT_PTR ResX,
OUT PUINT_PTR ResY);
XTCDECL XTCDECL
VOID VOID
BlConsoleWrite(IN PUSHORT String); BlConsoleWrite(IN PUSHORT String);
@ -51,6 +38,14 @@ VOID
BlDebugPrint(IN PUINT16 Format, BlDebugPrint(IN PUINT16 Format,
IN ...); IN ...);
XTCDECL
VOID
BlDisableConsoleCursor();
XTCDECL
VOID
BlEnableConsoleCursor();
XTCDECL XTCDECL
EFI_STATUS EFI_STATUS
BlEnumerateBlockDevices(); BlEnumerateBlockDevices();
@ -96,6 +91,11 @@ BlOpenVolume(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath,
OUT PEFI_HANDLE DiskHandle, OUT PEFI_HANDLE DiskHandle,
OUT PEFI_FILE_HANDLE *FsHandle); OUT PEFI_FILE_HANDLE *FsHandle);
XTCDECL
VOID
BlQueryConsoleMode(OUT PUINT_PTR ResX,
OUT PUINT_PTR ResY);
XTCDECL XTCDECL
EFI_STATUS EFI_STATUS
BlReadFile(IN PEFI_FILE_HANDLE DirHandle, BlReadFile(IN PEFI_FILE_HANDLE DirHandle,
@ -103,6 +103,14 @@ BlReadFile(IN PEFI_FILE_HANDLE DirHandle,
OUT PVOID *FileData, OUT PVOID *FileData,
OUT PSIZE_T FileSize); OUT PSIZE_T FileSize);
XTCDECL
VOID
BlReadKeyStroke(OUT PEFI_INPUT_KEY Key);
XTCDECL
VOID
BlResetConsoleInputBuffer();
XTCDECL XTCDECL
EFI_STATUS EFI_STATUS
BlMemoryFreePages(IN UINT64 Pages, BlMemoryFreePages(IN UINT64 Pages,
@ -140,6 +148,12 @@ EFI_STATUS
BlStartXtLoader(IN EFI_HANDLE ImageHandle, BlStartXtLoader(IN EFI_HANDLE ImageHandle,
IN PEFI_SYSTEM_TABLE SystemTable); IN PEFI_SYSTEM_TABLE SystemTable);
XTCDECL
EFI_STATUS
BlWaitForEfiEvent(IN UINT_PTR NumberOfEvents,
IN PEFI_EVENT Event,
OUT PUINT_PTR Index);
XTCDECL XTCDECL
EFI_STATUS EFI_STATUS
BlpActivateSerialIOController(); BlpActivateSerialIOController();

View File

@ -90,11 +90,13 @@ BlpRegisterXtLoaderProtocol()
EFI_HANDLE Handle = NULL; EFI_HANDLE Handle = NULL;
/* Set all routines available via loader protocol */ /* Set all routines available via loader protocol */
LdrProtocol.Console.ClearScreen = BlConsoleClearScreen; LdrProtocol.Console.ClearScreen = BlClearConsoleScreen;
LdrProtocol.Console.DisableCursor = BlConsoleDisableCursor; LdrProtocol.Console.DisableCursor = BlDisableConsoleCursor;
LdrProtocol.Console.EnableCursor = BlConsoleEnableCursor; LdrProtocol.Console.EnableCursor = BlEnableConsoleCursor;
LdrProtocol.Console.Print = BlConsolePrint; LdrProtocol.Console.Print = BlConsolePrint;
LdrProtocol.Console.QueryMode = BlConsoleQueryMode; LdrProtocol.Console.QueryMode = BlQueryConsoleMode;
LdrProtocol.Console.ReadKeyStroke = BlReadKeyStroke;
LdrProtocol.Console.ResetInputBuffer = BlResetConsoleInputBuffer;
LdrProtocol.Console.SetAttributes = BlSetConsoleAttributes; LdrProtocol.Console.SetAttributes = BlSetConsoleAttributes;
LdrProtocol.Console.SetCursorPosition = BlSetCursorPosition; LdrProtocol.Console.SetCursorPosition = BlSetCursorPosition;
LdrProtocol.Console.Write = BlConsoleWrite; LdrProtocol.Console.Write = BlConsoleWrite;
@ -110,6 +112,7 @@ BlpRegisterXtLoaderProtocol()
LdrProtocol.Util.ExitBootServices = BlExitBootServices; LdrProtocol.Util.ExitBootServices = BlExitBootServices;
LdrProtocol.Util.GetSecureBootStatus = BlGetSecureBootStatus; LdrProtocol.Util.GetSecureBootStatus = BlGetSecureBootStatus;
LdrProtocol.Util.SleepExecution = BlSleepExecution; LdrProtocol.Util.SleepExecution = BlSleepExecution;
LdrProtocol.Util.WaitForEfiEvent = BlWaitForEfiEvent;
/* Register XTLDR loader protocol */ /* Register XTLDR loader protocol */
BlDebugPrint(L"Registering XT loader protocol\n"); BlDebugPrint(L"Registering XT loader protocol\n");

View File

@ -122,7 +122,7 @@ BlpDetermineDialogBoxSize(IN OUT PXTBL_DIALOG_HANDLE Handle,
Width += 4; Width += 4;
/* Get console resolution */ /* Get console resolution */
BlConsoleQueryMode(&Handle->ResX, &Handle->ResY); BlQueryConsoleMode(&Handle->ResX, &Handle->ResY);
/* Make sure dialog window fits in the buffer */ /* Make sure dialog window fits in the buffer */
if(Width > TUI_MAX_DIALOG_WIDTH) if(Width > TUI_MAX_DIALOG_WIDTH)
@ -328,7 +328,7 @@ BlpDrawDialogButton(IN PXTBL_DIALOG_HANDLE Handle)
} }
/* Disable cursor and draw dialog button */ /* Disable cursor and draw dialog button */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlSetConsoleAttributes(ButtonColor | TextColor); BlSetConsoleAttributes(ButtonColor | TextColor);
BlSetCursorPosition(Handle->ResX / 2 - 4, Handle->PosY + Handle->Height - 2); BlSetCursorPosition(Handle->ResX / 2 - 4, Handle->PosY + Handle->Height - 2);
BlConsolePrint(L"[ OK ]"); BlConsolePrint(L"[ OK ]");
@ -393,7 +393,7 @@ BlpDrawDialogInputField(IN PXTBL_DIALOG_HANDLE Handle,
} }
/* Disable cursor and write input field to console */ /* Disable cursor and write input field to console */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlConsoleWrite(InputField); BlConsoleWrite(InputField);
/* Write input field text */ /* Write input field text */
@ -404,7 +404,7 @@ BlpDrawDialogInputField(IN PXTBL_DIALOG_HANDLE Handle,
if(Handle->Attributes & TUI_DIALOG_ACTIVE_INPUT_FIELD) if(Handle->Attributes & TUI_DIALOG_ACTIVE_INPUT_FIELD)
{ {
/* Enable cursor for active input field */ /* Enable cursor for active input field */
BlConsoleEnableCursor(); BlEnableConsoleCursor();
} }
} }
@ -459,14 +459,26 @@ BlpDrawDialogProgressBar(IN PXTBL_DIALOG_HANDLE Handle,
ProgressBar[Index] = 0; ProgressBar[Index] = 0;
/* Disable cursor and write progress bar to console */ /* Disable cursor and write progress bar to console */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlConsoleWrite(ProgressBar); BlConsoleWrite(ProgressBar);
} }
/**
* Displays a red error dialog box with the specified caption and message.
*
* @param Caption
* Supplies a caption string put on the dialog box.
*
* @param Message
* Supplies a message string put on the dialog box.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL XTCDECL
VOID VOID
BlDisplayErrorDialog(IN PWCHAR Caption, BlDisplayErrorDialog(IN PWCHAR Caption,
@ -483,7 +495,7 @@ BlDisplayErrorDialog(IN PWCHAR Caption,
BlpDetermineDialogBoxSize(&Handle, Message); BlpDetermineDialogBoxSize(&Handle, Message);
/* Disable cursor and draw dialog box */ /* Disable cursor and draw dialog box */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlpDrawDialogBox(&Handle, Caption, Message); BlpDrawDialogBox(&Handle, Caption, Message);
/* Draw active button */ /* Draw active button */
@ -497,14 +509,14 @@ BlDisplayErrorDialog(IN PWCHAR Caption,
while(Key.ScanCode != 0x17 && Key.UnicodeChar != 0x0D) while(Key.ScanCode != 0x17 && Key.UnicodeChar != 0x0D)
{ {
/* Wait for key press and read key stroke */ /* Wait for key press and read key stroke */
EfiSystemTable->BootServices->WaitForEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index); BlWaitForEfiEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index);
EfiSystemTable->ConIn->ReadKeyStroke(EfiSystemTable->ConIn, &Key); BlReadKeyStroke(&Key);
EfiSystemTable->ConIn->Reset(EfiSystemTable->ConIn, FALSE); BlResetConsoleInputBuffer();
} }
/* Clear screen to remove dialog box */ /* Clear screen to remove dialog box */
BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY); BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY);
BlConsoleClearScreen(); BlClearConsoleScreen();
} }
XTCDECL XTCDECL
@ -523,7 +535,7 @@ BlDisplayInfoDialog(IN PWCHAR Caption,
BlpDetermineDialogBoxSize(&Handle, Message); BlpDetermineDialogBoxSize(&Handle, Message);
/* Disable cursor and draw dialog box */ /* Disable cursor and draw dialog box */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlpDrawDialogBox(&Handle, Caption, Message); BlpDrawDialogBox(&Handle, Caption, Message);
/* Draw active button */ /* Draw active button */
@ -537,14 +549,14 @@ BlDisplayInfoDialog(IN PWCHAR Caption,
while(Key.ScanCode != 0x17 && Key.UnicodeChar != 0x0D) while(Key.ScanCode != 0x17 && Key.UnicodeChar != 0x0D)
{ {
/* Wait for key press and read key stroke */ /* Wait for key press and read key stroke */
EfiSystemTable->BootServices->WaitForEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index); BlWaitForEfiEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index);
EfiSystemTable->ConIn->ReadKeyStroke(EfiSystemTable->ConIn, &Key); BlReadKeyStroke(&Key);
EfiSystemTable->ConIn->Reset(EfiSystemTable->ConIn, FALSE); BlResetConsoleInputBuffer();
} }
/* Clear screen to remove dialog box */ /* Clear screen to remove dialog box */
BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY); BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY);
BlConsoleClearScreen(); BlClearConsoleScreen();
} }
XTCDECL XTCDECL
@ -565,7 +577,7 @@ BlDisplayInputDialog(IN PWCHAR Caption,
BlpDetermineDialogBoxSize(&Handle, Message); BlpDetermineDialogBoxSize(&Handle, Message);
/* Disable cursor and draw dialog box */ /* Disable cursor and draw dialog box */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlpDrawDialogBox(&Handle, Caption, Message); BlpDrawDialogBox(&Handle, Caption, Message);
/* Draw inactive button */ /* Draw inactive button */
@ -593,9 +605,9 @@ BlDisplayInputDialog(IN PWCHAR Caption,
while(TRUE) while(TRUE)
{ {
/* Wait for key press and read key stroke */ /* Wait for key press and read key stroke */
EfiSystemTable->BootServices->WaitForEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index); BlWaitForEfiEvent(1, &EfiSystemTable->ConIn->WaitForKey, &Index);
EfiSystemTable->ConIn->ReadKeyStroke(EfiSystemTable->ConIn, &Key); BlReadKeyStroke(&Key);
EfiSystemTable->ConIn->Reset(EfiSystemTable->ConIn, FALSE); BlResetConsoleInputBuffer();
/* Check key press scan code */ /* Check key press scan code */
if(Key.ScanCode == 0x17) if(Key.ScanCode == 0x17)
@ -711,7 +723,7 @@ BlDisplayInputDialog(IN PWCHAR Caption,
/* Clear screen to remove dialog box */ /* Clear screen to remove dialog box */
BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY); BlSetConsoleAttributes(EFI_TEXT_BGCOLOR_BLACK | EFI_TEXT_FGCOLOR_LIGHTGRAY);
BlConsoleClearScreen(); BlClearConsoleScreen();
} }
XTCDECL XTCDECL
@ -729,7 +741,7 @@ BlDisplayProgressDialog(IN PWCHAR Caption,
BlpDetermineDialogBoxSize(&Handle, Message); BlpDetermineDialogBoxSize(&Handle, Message);
/* Disable cursor and draw dialog box */ /* Disable cursor and draw dialog box */
BlConsoleDisableCursor(); BlDisableConsoleCursor();
BlpDrawDialogBox(&Handle, Caption, Message); BlpDrawDialogBox(&Handle, Caption, Message);
/* Draw active button */ /* Draw active button */