1 #include "../include/PeImage.h"
3 #define SHIM_LOCK_GUID \
4 { 0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} }
6 //#define INTERFACE_DECL(x)
8 // INTERFACE_DECL(_SHIM_LOCK);
12 // (*EFI_SHIM_LOCK_VERIFY) (
19 // (*EFI_SHIM_LOCK_HASH) (
22 // GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT *context,
29 // (*EFI_SHIM_LOCK_CONTEXT) (
31 // IN unsigned int datasize,
32 // GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT *context
35 // typedef struct _SHIM_LOCK {
36 // EFI_SHIM_LOCK_VERIFY Verify;
37 // EFI_SHIM_LOCK_HASH Hash;
38 // EFI_SHIM_LOCK_CONTEXT Context;
41 typedef struct _SHIM_LOCK
43 EFI_STATUS
__attribute__((sysv_abi
)) (*shim_verify
) (VOID
*buffer
, UINT32 size
);
44 EFI_STATUS
__attribute__((sysv_abi
)) (*generate_hash
) (char *data
, int datasize
,
45 GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
, UINT8
*sha256hash
,
47 EFI_STATUS
__attribute__((sysv_abi
)) (*read_header
) (void *data
, unsigned int datasize
,
48 GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
);
51 EFI_STATUS
start_image(EFI_HANDLE image_handle
, CHAR16
*ImagePath
, VOID
*data
, UINTN datasize
,
52 CHAR16
*Options
, REFIT_VOLUME
*DeviceVolume
);