summaryrefslogtreecommitdiff
path: root/shim.h
diff options
context:
space:
mode:
Diffstat (limited to 'shim.h')
-rw-r--r--shim.h32
1 files changed, 23 insertions, 9 deletions
diff --git a/shim.h b/shim.h
index 5791a031..59d90629 100644
--- a/shim.h
+++ b/shim.h
@@ -55,6 +55,7 @@
#ifndef SHIM_UNIT_TEST
#include <efi.h>
#include <efilib.h>
+#include <efisetjmp.h>
#undef uefi_call_wrapper
#include <efierr.h>
#include <efiip.h>
@@ -163,7 +164,9 @@
#include "include/configtable.h"
#include "include/console.h"
#include "include/crypt_blowfish.h"
+#include "include/dp.h"
#include "include/efiauthenticated.h"
+#include "include/errlog.h"
#include "include/errors.h"
#include "include/execute.h"
#include "include/guid.h"
@@ -172,12 +175,13 @@
#include "include/ip4config2.h"
#include "include/ip6config.h"
#include "include/load-options.h"
+#include "include/loader-proto.h"
+#include "include/memattrs.h"
#include "include/mok.h"
#include "include/netboot.h"
#include "include/passwordcrypt.h"
#include "include/peimage.h"
#include "include/pe.h"
-#include "include/replacements.h"
#include "include/sbat.h"
#include "include/sbat_var_defs.h"
#include "include/ssp.h"
@@ -187,6 +191,7 @@
#include "include/simple_file.h"
#include "include/str.h"
#include "include/tpm.h"
+#include "include/utils.h"
#include "include/cc.h"
#include "include/ucs2.h"
#include "include/variables.h"
@@ -237,17 +242,11 @@ typedef struct _SHIM_LOCK {
extern EFI_STATUS shim_init(void);
extern void shim_fini(void);
-extern EFI_STATUS EFIAPI LogError_(const char *file, int line, const char *func,
- const CHAR16 *fmt, ...);
-extern EFI_STATUS EFIAPI VLogError(const char *file, int line, const char *func,
- const CHAR16 *fmt, ms_va_list args);
-extern VOID LogHexdump_(const char *file, int line, const char *func,
- const void *data, size_t sz);
-extern VOID PrintErrors(VOID);
-extern VOID ClearErrors(VOID);
extern VOID restore_loaded_image(VOID);
extern EFI_STATUS start_image(EFI_HANDLE image_handle, CHAR16 *ImagePath);
extern EFI_STATUS import_mok_state(EFI_HANDLE image_handle);
+extern EFI_STATUS install_shim_protocols(void);
+extern void uninstall_shim_protocols(void);
extern UINT32 vendor_authorized_size;
extern UINT8 *vendor_authorized;
@@ -324,4 +323,19 @@ verify_buffer (char *data, int datasize,
char *translate_slashes(char *out, const char *str);
+#include <efisetjmp_arch.h>
+
+typedef struct {
+ EFI_LOADED_IMAGE li;
+ EFI_IMAGE_ENTRY_POINT entry_point;
+ EFI_PHYSICAL_ADDRESS alloc_address;
+ UINTN alloc_pages;
+ EFI_STATUS exit_status;
+ CONST CHAR16 *exit_data;
+ UINTN exit_data_size;
+ jmp_buf longjmp_buf;
+ BOOLEAN started;
+ EFI_DEVICE_PATH *loaded_image_device_path;
+} SHIM_LOADED_IMAGE;
+
#endif /* SHIM_H_ */