VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/Include
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 /Include
parent3058711f8b12cf11585e0eda2a1b573f0d871667 (diff)
downloadVeraCrypt-DCS-0ba0723c769f95d312835967c47e34e444fea368.tar.gz
VeraCrypt-DCS-0ba0723c769f95d312835967c47e34e444fea368.zip
solution of HP problem via DrverOrder and BML modified driver
Diffstat (limited to 'Include')
-rw-r--r--Include/Library/CommonLib.h25
-rw-r--r--Include/Protocol/DcsBmlProto.h51
2 files changed, 75 insertions, 1 deletions
diff --git a/Include/Library/CommonLib.h b/Include/Library/CommonLib.h
index 2b46632..d64ae41 100644
--- a/Include/Library/CommonLib.h
+++ b/Include/Library/CommonLib.h
@@ -15,8 +15,9 @@ https://opensource.org/licenses/LGPL-3.0
#define __COMMONLIB_H__
#include <Uefi.h>
-#include <Protocol/BlockIo.h>
#include <Library/UefiLib.h>
+#include <Protocol/BlockIo.h>
+#include <Protocol/DcsBmlProto.h>
#include <Protocol/SimpleFileSystem.h>
#include <Protocol/UsbIo.h>
#include <Protocol/AbsolutePointer.h>
@@ -551,6 +552,23 @@ SpeakerSelect(
);
//////////////////////////////////////////////////////////////////////////
+// BML
+//////////////////////////////////////////////////////////////////////////
+extern EFI_HANDLE* gBmlHandles;
+extern UINTN gBmlCount;
+extern EFI_DCSBML_PROTOCOL* gBml;
+extern EFI_GUID gBmlGuid;
+
+EFI_STATUS
+InitBml();
+
+EFI_STATUS
+BmlLock(
+ IN BOOLEAN lock
+ );
+
+
+//////////////////////////////////////////////////////////////////////////
// Efi variables
//////////////////////////////////////////////////////////////////////////
@@ -589,6 +607,11 @@ BootOrderRemove(
);
EFI_STATUS
+BootOrderPresent(
+ IN CHAR16 *OrderVarName,
+ UINT16 value);
+
+EFI_STATUS
BootMenuItemCreate(
IN CHAR16 *VarName,
IN CHAR16 *Desc,
diff --git a/Include/Protocol/DcsBmlProto.h b/Include/Protocol/DcsBmlProto.h
new file mode 100644
index 0000000..9fafa97
--- /dev/null
+++ b/Include/Protocol/DcsBmlProto.h
@@ -0,0 +1,51 @@
+/** @file
+This is DCS boot menu lock protocol
+
+Copyright (c) 2016. Disk Cryptography Services for EFI (DCS), Alex Kolotnikov
+
+This program and the accompanying materials
+are licensed and made available under the terms and conditions
+of the GNU Lesser General Public License, version 3.0 (LGPL-3.0).
+
+The full text of the license may be found at
+https://opensource.org/licenses/LGPL-3.0
+**/
+
+#ifndef _EFI_DCSBMLPROTO_H
+#define _EFI_DCSBMLPROTO_H
+
+#include <Uefi.h>
+#include <ProcessorBind.h>
+#include <Base.h>
+
+//
+// Global Id for DcsBml Interface
+// {7FB6D090-8755-43FC-84B5-6E297F9EC1CD}
+//
+#define EFI_DCSBML_INTERFACE_PROTOCOL_GUID \
+ { \
+ 0x7fb6d090, 0x8755, 0x43fc, 0x84, 0xb5, 0x6e, 0x29, 0x7f, 0x9e, 0xc1, 0xcd \
+ }
+
+typedef struct _EFI_DCSBML_PROTOCOL EFI_DCSBML_PROTOCOL;
+
+//
+// Lock boot menu
+//
+typedef
+EFI_STATUS
+(EFIAPI *EFI_BOOT_MENU_LOCK) (
+ IN EFI_DCSBML_PROTOCOL *This,
+ IN BOOLEAN Lock
+ );
+
+
+//
+// Protocol definition
+//
+struct _EFI_DCSBML_PROTOCOL {
+ EFI_BOOT_MENU_LOCK BootMenuLock;
+} ;
+
+extern EFI_GUID gEfiDcsBmlProtocolGuid;
+#endif