40#include <Library/VariablePolicyHelperLib.h>
42#define VERSION_STRING_NOT_SUPPORTED L"VERSION STRING NOT SUPPORTED"
43#define VERSION_STRING_NOT_AVAILABLE L"VERSION STRING NOT AVAILABLE"
48#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f','m','p','p')
54 BOOLEAN DescriptorPopulated;
58 BOOLEAN RuntimeVersionSupported;
67 BOOLEAN FmpDeviceLocked;
68 VOID *FmpDeviceContext;
69 CHAR16 *VersionVariableName;
70 CHAR16 *LsvVariableName;
71 CHAR16 *LastAttemptStatusVariableName;
72 CHAR16 *LastAttemptVersionVariableName;
73 CHAR16 *FmpStateVariableName;
74 BOOLEAN DependenciesSatisfied;
80#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_FROM_THIS(a) \
81 CR (a, FIRMWARE_MANAGEMENT_PRIVATE_DATA, Fmp, FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE)
147 OUT UINT32 *DescriptorVersion,
148 OUT UINT8 *DescriptorCount,
150 OUT UINT32 *PackageVersion,
151 OUT CHAR16 **PackageVersionName
214 OUT UINT32 *ImageUpdatable
272 OUT CHAR16 **AbortReason
311 OUT UINT32 *PackageVersion,
312 OUT CHAR16 **PackageVersionName,
313 OUT UINT32 *PackageVersionNameMaxLen,
314 OUT UINT64 *AttributesSupported,
315 OUT UINT64 *AttributesSetting
356 IN UINT32 PackageVersion,
357 IN CONST CHAR16 *PackageVersionName
EFI_STATUS(EFIAPI * EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS)(IN UINTN Completion)
EFI_STATUS EFIAPI SetTheImage(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 CheckTheImage(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN UINT8 ImageIndex, IN CONST VOID *Image, IN UINTN ImageSize, OUT UINT32 *ImageUpdatable)
EFI_STATUS EFIAPI SetPackageInfo(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 GetTheImageInfo(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 GetPackageInfo(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, OUT UINT32 *PackageVersion, OUT CHAR16 **PackageVersionName, OUT UINT32 *PackageVersionNameMaxLen, OUT UINT64 *AttributesSupported, OUT UINT64 *AttributesSetting)
EFI_STATUS EFIAPI GetTheImage(IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN UINT8 ImageIndex, IN OUT VOID *Image, IN OUT UINTN *ImageSize)