// SPDX-License-Identifier: BSD-2-Clause-Patent

#ifndef SHIM_GUID_H
#define SHIM_GUID_H

#define LGUID_FMT L"%08x-%04hx-%04hx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
#define GUID_FMT "%08x-%04hx-%04hx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"

#define GUID_ARGS(guid) \
  ((EFI_GUID)guid).Data1, ((EFI_GUID)guid).Data2, ((EFI_GUID)guid).Data3, \
  ((EFI_GUID)guid).Data4[1], ((EFI_GUID)guid).Data4[0], \
  ((EFI_GUID)guid).Data4[2], ((EFI_GUID)guid).Data4[3], \
  ((EFI_GUID)guid).Data4[4], ((EFI_GUID)guid).Data4[5], \
  ((EFI_GUID)guid).Data4[6], ((EFI_GUID)guid).Data4[7]

extern EFI_GUID BDS_GUID;
extern EFI_GUID GV_GUID;
extern EFI_GUID SIG_DB;
extern EFI_GUID X509_GUID;
extern EFI_GUID RSA2048_GUID;
extern EFI_GUID PKCS7_GUID;
extern EFI_GUID IMAGE_PROTOCOL;
extern EFI_GUID EFI_FILE_INFO_GUID;
extern EFI_GUID EFI_FILE_SYSTEM_INFO_GUID;
extern EFI_GUID EFI_CERT_RSA2048_GUID;
extern EFI_GUID EFI_CERT_SHA1_GUID;
extern EFI_GUID EFI_CERT_SHA256_GUID;
extern EFI_GUID EFI_CERT_SHA224_GUID;
extern EFI_GUID EFI_CERT_SHA384_GUID;
extern EFI_GUID EFI_CERT_SHA512_GUID;
extern EFI_GUID EFI_CERT_TYPE_PKCS7_GUID;
extern EFI_GUID EFI_CERT_TYPE_RSA2048_SHA256_GUID;
extern EFI_GUID EFI_CERT_TYPE_X509_GUID;
extern EFI_GUID EFI_CONSOLE_CONTROL_GUID;
extern EFI_GUID EFI_HTTP_BINDING_GUID;
extern EFI_GUID EFI_HTTP_PROTOCOL_GUID;
extern EFI_GUID EFI_IP4_CONFIG2_GUID;
extern EFI_GUID EFI_IP6_CONFIG_GUID;
extern EFI_GUID EFI_LOADED_IMAGE_GUID;
extern EFI_GUID EFI_TPM_GUID;
extern EFI_GUID EFI_TPM2_GUID;
extern EFI_GUID EFI_CC_MEASUREMENT_PROTOCOL_GUID;
extern EFI_GUID EFI_SECURE_BOOT_DB_GUID;
extern EFI_GUID EFI_SIMPLE_FILE_SYSTEM_GUID;
extern EFI_GUID SECURITY_PROTOCOL_GUID;
extern EFI_GUID SECURITY2_PROTOCOL_GUID;
extern EFI_GUID EFI_MEMORY_ATTRIBUTE_PROTOCOL_GUID;
extern EFI_GUID SHIM_LOCK_GUID;
extern EFI_GUID SHIM_IMAGE_LOADER_GUID;
extern EFI_GUID SHIM_LOADED_IMAGE_GUID;
extern EFI_GUID MOK_VARIABLE_STORE;
extern EFI_GUID SECUREBOOT_EFI_NAMESPACE_GUID;

#endif /* SHIM_GUID_H */
