From 6accf625526d36f1fe8b96b6b725ff9e4f2fe0b6 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Mon, 18 Mar 2024 22:16:20 +0100 Subject: [PATCH] Expose BlGetConfigBooleanValue() via XTLDR protocol --- sdk/xtdk/bltypes.h | 2 ++ xtldr/protocol.c | 1 + 2 files changed, 3 insertions(+) diff --git a/sdk/xtdk/bltypes.h b/sdk/xtdk/bltypes.h index 2ff7bd0..9f8b388 100644 --- a/sdk/xtdk/bltypes.h +++ b/sdk/xtdk/bltypes.h @@ -50,6 +50,7 @@ typedef EFI_STATUS (*PBL_BUILD_PAGE_MAP)(IN PXTBL_PAGE_MAPPING PageMap); typedef EFI_STATUS (*PBL_CLOSE_VOLUME)(IN PEFI_HANDLE VolumeHandle); typedef VOID (*PBL_CLEAR_CONSOLE_LINE)(IN ULONGLONG LineNo); typedef EFI_STATUS (*PBL_CLOSE_XT_PROTOCOL)(IN PEFI_HANDLE Handle, IN PEFI_GUID ProtocolGuid); +typedef BOOLEAN (*PBL_CONFIG_GET_BOOLEAN_VALUE)(IN CONST PWCHAR ConfigName); typedef PWCHAR (*PBL_CONFIG_GET_VALUE)(IN CONST PWCHAR ConfigName); typedef VOID (*PBL_CONSOLE_CLEAR_SCREEN)(); typedef VOID (*PBL_CONSOLE_DISABLE_CURSOR)(); @@ -346,6 +347,7 @@ typedef struct _XTBL_LOADER_PROTOCOL } Boot; struct { + PBL_CONFIG_GET_BOOLEAN_VALUE GetBooleanValue; PBL_CONFIG_GET_VALUE GetValue; } Config; struct diff --git a/xtldr/protocol.c b/xtldr/protocol.c index b3e31d1..873e0a9 100644 --- a/xtldr/protocol.c +++ b/xtldr/protocol.c @@ -873,6 +873,7 @@ BlpInstallXtLoaderProtocol() BlpLdrProtocol.Boot.InvokeProtocol = BlInvokeBootProtocol; BlpLdrProtocol.Boot.RegisterMenu = BlRegisterBootMenu; BlpLdrProtocol.Boot.RegisterProtocol = BlRegisterBootProtocol; + BlpLdrProtocol.Config.GetBooleanValue = BlGetConfigBooleanValue; BlpLdrProtocol.Config.GetValue = BlGetConfigValue; BlpLdrProtocol.Console.ClearLine = BlClearConsoleLine; BlpLdrProtocol.Console.ClearScreen = BlClearConsoleScreen;