diff options
Diffstat (limited to 'shim.h')
| -rw-r--r-- | shim.h | 120 |
1 files changed, 66 insertions, 54 deletions
@@ -4,49 +4,7 @@ #include <efi.h> #include <efilib.h> -#include "PeImage.h" - -extern EFI_GUID SHIM_LOCK_GUID; - -INTERFACE_DECL(_SHIM_LOCK); - -typedef -EFI_STATUS -(*EFI_SHIM_LOCK_VERIFY) ( - IN VOID *buffer, - IN UINT32 size - ); - -typedef -EFI_STATUS -(*EFI_SHIM_LOCK_HASH) ( - IN char *data, - IN int datasize, - PE_COFF_LOADER_IMAGE_CONTEXT *context, - UINT8 *sha256hash, - UINT8 *sha1hash - ); - -typedef -EFI_STATUS -(*EFI_SHIM_LOCK_CONTEXT) ( - IN VOID *data, - IN unsigned int datasize, - PE_COFF_LOADER_IMAGE_CONTEXT *context - ); - -typedef struct _SHIM_LOCK { - EFI_SHIM_LOCK_VERIFY Verify; - EFI_SHIM_LOCK_HASH Hash; - EFI_SHIM_LOCK_CONTEXT Context; -} SHIM_LOCK; - -extern EFI_STATUS shim_init(void); -extern void shim_fini(void); -extern EFI_STATUS LogError(const char *file, int line, const char *func, CHAR16 *fmt, ...); -extern EFI_STATUS VLogError(const char *file, int line, const char *func, CHAR16 *fmt, va_list args); -extern VOID PrintErrors(VOID); -extern VOID ClearErrors(VOID); +#define min(a, b) ({(a) < (b) ? (a) : (b);}) #ifdef __x86_64__ #ifndef DEFAULT_LOADER @@ -108,23 +66,77 @@ extern VOID ClearErrors(VOID); #endif #endif -#include "netboot.h" -#include "httpboot.h" -#include "replacements.h" -#include "tpm.h" -#include "ucs2.h" +#include "include/configtable.h" +#include "include/console.h" +#include "include/crypt_blowfish.h" +#include "include/efiauthenticated.h" +#include "include/errors.h" +#include "include/execute.h" +#include "include/guid.h" +#include "include/Http.h" +#include "include/httpboot.h" +#include "include/Ip4Config2.h" +#include "include/Ip6Config.h" +#include "include/netboot.h" +#include "include/PasswordCrypt.h" +#include "include/PeImage.h" +#include "include/replacements.h" +#if defined(OVERRIDE_SECURITY_POLICY) +#include "include/security_policy.h" +#endif +#include "include/simple_file.h" +#include "include/str.h" +#include "include/tpm.h" +#include "include/ucs2.h" +#include "include/variables.h" -#include "guid.h" -#include "variables.h" -#include "efiauthenticated.h" -#include "security_policy.h" -#include "console.h" #include "version.h" - #ifdef ENABLE_SHIM_CERT #include "shim_cert.h" #endif +extern EFI_GUID SHIM_LOCK_GUID; + +INTERFACE_DECL(_SHIM_LOCK); + +typedef +EFI_STATUS +(*EFI_SHIM_LOCK_VERIFY) ( + IN VOID *buffer, + IN UINT32 size + ); + +typedef +EFI_STATUS +(*EFI_SHIM_LOCK_HASH) ( + IN char *data, + IN int datasize, + PE_COFF_LOADER_IMAGE_CONTEXT *context, + UINT8 *sha256hash, + UINT8 *sha1hash + ); + +typedef +EFI_STATUS +(*EFI_SHIM_LOCK_CONTEXT) ( + IN VOID *data, + IN unsigned int datasize, + PE_COFF_LOADER_IMAGE_CONTEXT *context + ); + +typedef struct _SHIM_LOCK { + EFI_SHIM_LOCK_VERIFY Verify; + EFI_SHIM_LOCK_HASH Hash; + EFI_SHIM_LOCK_CONTEXT Context; +} SHIM_LOCK; + +extern EFI_STATUS shim_init(void); +extern void shim_fini(void); +extern EFI_STATUS LogError(const char *file, int line, const char *func, CHAR16 *fmt, ...); +extern EFI_STATUS VLogError(const char *file, int line, const char *func, CHAR16 *fmt, va_list args); +extern VOID PrintErrors(VOID); +extern VOID ClearErrors(VOID); + #define LogError(fmt, ...) LogError(__FILE__, __LINE__, __func__, fmt, ## __VA_ARGS__) #endif /* SHIM_H_ */ |
