]> code.delx.au - refind/blobdiff - refind/mok.h
installation script improvements; 0.5.1 release
[refind] / refind / mok.h
index c398353b52de263485177c3d5ae4aae974a63269..d9545d52e99bb9e09540d47f9645ff3585f5b400 100644 (file)
@@ -4,8 +4,7 @@
 #define SHIM_LOCK_GUID \
    { 0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} }
 
-#if defined(EFIX64)
-
+#if defined (EFIX64)
 typedef struct _SHIM_LOCK
 {
    EFI_STATUS __attribute__((sysv_abi)) (*shim_verify) (VOID *buffer, UINT32 size);
@@ -15,9 +14,19 @@ typedef struct _SHIM_LOCK
    EFI_STATUS __attribute__((sysv_abi)) (*read_header) (void *data, unsigned int datasize,
                                                         GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT *context);
 } SHIM_LOCK;
-
+#else
+typedef struct _SHIM_LOCK
+{
+   EFI_STATUS (*shim_verify) (VOID *buffer, UINT32 size);
+   EFI_STATUS (*generate_hash) (char *data, int datasize,
+                                GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT *context, UINT8 *sha256hash,
+                                UINT8 *sha1hash);
+   EFI_STATUS (*read_header) (void *data, unsigned int datasize,
+                              GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT *context);
+} SHIM_LOCK;
 #endif
 
+BOOLEAN ShimLoaded(void);
 BOOLEAN secure_mode (VOID);
 EFI_STATUS start_image(EFI_HANDLE image_handle, CHAR16 *ImagePath, VOID *data, UINTN datasize,
                        CHAR16 *Options, REFIT_VOLUME *DeviceVolume, IN EFI_DEVICE_PATH *DevicePath);