VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/Library/CommonLib/EfiVar.c
diff options
context:
space:
mode:
authorkavsrf <kavsrf@gmail.com>2017-06-13 17:19:47 +0300
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2017-06-18 15:51:59 +0200
commit0ba0723c769f95d312835967c47e34e444fea368 (patch)
tree91672b6c6b8de151ddaf1ee62cd1daed781cdaad /Library/CommonLib/EfiVar.c
parent3058711f8b12cf11585e0eda2a1b573f0d871667 (diff)
downloadVeraCrypt-DCS-0ba0723c769f95d312835967c47e34e444fea368.tar.gz
VeraCrypt-DCS-0ba0723c769f95d312835967c47e34e444fea368.zip
solution of HP problem via DrverOrder and BML modified driver
Diffstat (limited to 'Library/CommonLib/EfiVar.c')
-rw-r--r--Library/CommonLib/EfiVar.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/Library/CommonLib/EfiVar.c b/Library/CommonLib/EfiVar.c
index fad6eb5..e9c1082 100644
--- a/Library/CommonLib/EfiVar.c
+++ b/Library/CommonLib/EfiVar.c
@@ -146,6 +146,33 @@ BootOrderRemove(
}
EFI_STATUS
+BootOrderPresent(
+ IN CHAR16 *OrderVarName,
+ UINT16 value)
+{
+ EFI_STATUS res = EFI_NOT_READY;
+ UINT16* varBootOrder;
+ UINTN varBootOrderSize;
+ UINT32 varBootOrderAttr;
+ UINTN BootOrderCount;
+ UINTN i;
+ UINTN j;
+
+ res = EfiGetVar(OrderVarName, &gEfiGlobalVariableGuid, &varBootOrder, &varBootOrderSize, &varBootOrderAttr);
+ if (EFI_ERROR(res)) return res;
+ BootOrderCount = varBootOrderSize / sizeof(UINT16);
+ res = EFI_NOT_FOUND;
+ for (j = 0, i = 0; i < BootOrderCount; ++i) {
+ if (varBootOrder[i] == value) {
+ MEM_FREE(varBootOrder);
+ res = EFI_SUCCESS;
+ break;
+ }
+ }
+ return res;
+}
+
+EFI_STATUS
BootMenuItemRemove(
IN CHAR16 *VarName
)