20#ifndef __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
21#define __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
23#define EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID \
25 0x86c77a67, 0xb97, 0x4633, {0xa1, 0x87, 0x49, 0x10, 0x4d, 0x6, 0x85, 0xc7 } \
33#define EFI_FMP_DEP_PUSH_GUID 0x00
34#define EFI_FMP_DEP_PUSH_VERSION 0x01
35#define EFI_FMP_DEP_VERSION_STR 0x02
36#define EFI_FMP_DEP_AND 0x03
37#define EFI_FMP_DEP_OR 0x04
38#define EFI_FMP_DEP_NOT 0x05
39#define EFI_FMP_DEP_TRUE 0x06
40#define EFI_FMP_DEP_FALSE 0x07
41#define EFI_FMP_DEP_EQ 0x08
42#define EFI_FMP_DEP_GT 0x09
43#define EFI_FMP_DEP_GTE 0x0A
44#define EFI_FMP_DEP_LT 0x0B
45#define EFI_FMP_DEP_LTE 0x0C
46#define EFI_FMP_DEP_END 0x0D
47#define EFI_FMP_DEP_DECLARE_LENGTH 0x0E
53 UINT8 Dependencies[1];
149#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001
155#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
161#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
166#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008
170#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010
175#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020
185#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001
190#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4
220#define IMAGE_UPDATABLE_VALID 0x0000000000000001
225#define IMAGE_UPDATABLE_INVALID 0x0000000000000002
230#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004
237#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008
243#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010
252#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001
257#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
262#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
327 OUT UINT32 *DescriptorVersion,
328 OUT UINT8 *DescriptorCount,
330 OUT UINT32 *PackageVersion,
331 OUT CHAR16 **PackageVersionName
421 OUT CHAR16 **AbortReason
451 OUT UINT32 *ImageUpdatable
490 OUT UINT32 *PackageVersion,
491 OUT CHAR16 **PackageVersionName,
492 OUT UINT32 *PackageVersionNameMaxLen,
493 OUT UINT64 *AttributesSupported,
494 OUT UINT64 *AttributesSetting
535 IN UINT32 PackageVersion,
536 IN CONST CHAR16 *PackageVersionName
557extern EFI_GUID gEfiFirmwareManagementProtocolGuid;
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_CHECK_IMAGE)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN UINT8 ImageIndex, IN CONST VOID *Image, IN UINTN ImageSize, OUT UINT32 *ImageUpdatable)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_PACKAGE_INFO)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, OUT UINT32 *PackageVersion, OUT CHAR16 **PackageVersionName, OUT UINT32 *PackageVersionNameMaxLen, OUT UINT64 *AttributesSupported, OUT UINT64 *AttributesSetting)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_IMAGE)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN UINT8 ImageIndex, IN CONST VOID *Image, IN UINTN ImageSize, IN CONST VOID *VendorCode, IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress, OUT CHAR16 **AbortReason)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE_INFO)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN OUT UINTN *ImageInfoSize, IN OUT EFI_FIRMWARE_IMAGE_DESCRIPTOR *ImageInfo, OUT UINT32 *DescriptorVersion, OUT UINT8 *DescriptorCount, OUT UINTN *DescriptorSize, OUT UINT32 *PackageVersion, OUT CHAR16 **PackageVersionName)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_PACKAGE_INFO)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN CONST VOID *Image, IN UINTN ImageSize, IN CONST VOID *VendorCode, IN UINT32 PackageVersion, IN CONST CHAR16 *PackageVersionName)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE)(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN UINT8 ImageIndex, OUT VOID *Image, IN OUT UINTN *ImageSize)
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS)(IN UINTN Completion)
WIN_CERTIFICATE_UEFI_GUID AuthInfo
UINT64 AttributesSupported
UINT32 LastAttemptVersion
UINT32 LowestSupportedImageVersion