1 #include "../include/PeImage.h"
2 #include "../include/PeImage2.h"
4 #define SHIM_LOCK_GUID \
5 { 0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} }
8 typedef struct _SHIM_LOCK
10 EFI_STATUS
__attribute__((sysv_abi
)) (*shim_verify
) (VOID
*buffer
, UINT32 size
);
11 EFI_STATUS
__attribute__((sysv_abi
)) (*generate_hash
) (char *data
, int datasize
,
12 GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
, UINT8
*sha256hash
,
14 EFI_STATUS
__attribute__((sysv_abi
)) (*read_header
) (void *data
, unsigned int datasize
,
15 GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
);
18 typedef struct _SHIM_LOCK
20 EFI_STATUS (*shim_verify
) (VOID
*buffer
, UINT32 size
);
21 EFI_STATUS (*generate_hash
) (char *data
, int datasize
, GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
,
22 UINT8
*sha256hash
, UINT8
*sha1hash
);
23 EFI_STATUS (*read_header
) (void *data
, unsigned int datasize
, GNUEFI_PE_COFF_LOADER_IMAGE_CONTEXT
*context
);
27 //EFI_STATUS get_variable (CHAR16 *name, EFI_GUID guid, UINT32 *attributes, UINTN *size, VOID **buffer);
28 BOOLEAN
ShimLoaded(void);
29 BOOLEAN
ShimValidate (VOID
*data
, UINT32 size
);
30 BOOLEAN
secure_mode (VOID
);