TianoCore EDK2 master
Loading...
Searching...
No Matches
FirmwareManagement.h
Go to the documentation of this file.
1
20#ifndef __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
21#define __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
22
23#define EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID \
24 { \
25 0x86c77a67, 0xb97, 0x4633, {0xa1, 0x87, 0x49, 0x10, 0x4d, 0x6, 0x85, 0xc7 } \
26 }
27
29
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
51typedef struct {
52 UINT8 Dependencies[1];
54
58typedef struct {
71 UINT64 ImageId;
75 CHAR16 *ImageIdName;
80 UINT32 Version;
84 CHAR16 *VersionName;
138 EFI_FIRMWARE_IMAGE_DEP *Dependencies;
140
141//
142// Image Attribute Definitions
143//
148#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001
154#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
160#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
165#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008
169#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010
174#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020
175
176//
177// Image Compatibility Definitions
178//
184#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001
185
189#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4
190
194typedef struct {
209
210//
211// ImageUpdatable Definitions
212//
219#define IMAGE_UPDATABLE_VALID 0x0000000000000001
224#define IMAGE_UPDATABLE_INVALID 0x0000000000000002
229#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004
236#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008
242#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010
243
244//
245// Package Attribute Definitions
246//
251#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001
256#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
261#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
262
276typedef
279 IN UINTN Completion
280 );
281
320typedef
324 IN OUT UINTN *ImageInfoSize,
326 OUT UINT32 *DescriptorVersion,
327 OUT UINT8 *DescriptorCount,
328 OUT UINTN *DescriptorSize,
329 OUT UINT32 *PackageVersion,
330 OUT CHAR16 **PackageVersionName
331 );
332
356typedef
360 IN UINT8 ImageIndex,
361 OUT VOID *Image,
362 IN OUT UINTN *ImageSize
363 );
364
411typedef
415 IN UINT8 ImageIndex,
416 IN CONST VOID *Image,
417 IN UINTN ImageSize,
418 IN CONST VOID *VendorCode,
420 OUT CHAR16 **AbortReason
421 );
422
443typedef
447 IN UINT8 ImageIndex,
448 IN CONST VOID *Image,
449 IN UINTN ImageSize,
450 OUT UINT32 *ImageUpdatable
451 );
452
485typedef
489 OUT UINT32 *PackageVersion,
490 OUT CHAR16 **PackageVersionName,
491 OUT UINT32 *PackageVersionNameMaxLen,
492 OUT UINT64 *AttributesSupported,
493 OUT UINT64 *AttributesSetting
494 );
495
527typedef
531 IN CONST VOID *Image,
532 IN UINTN ImageSize,
533 IN CONST VOID *VendorCode,
534 IN UINT32 PackageVersion,
535 IN CONST CHAR16 *PackageVersionName
536 );
537
554};
555
556extern EFI_GUID gEfiFirmwareManagementProtocolGuid;
557
558#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
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)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
WIN_CERTIFICATE_UEFI_GUID AuthInfo
Definition: Base.h:213