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#define EFI_FMP_DEP_DECLARE_LENGTH 0x0E
48
52typedef struct {
53 UINT8 Dependencies[1];
55
59typedef struct {
72 UINT64 ImageId;
76 CHAR16 *ImageIdName;
81 UINT32 Version;
85 CHAR16 *VersionName;
139 EFI_FIRMWARE_IMAGE_DEP *Dependencies;
141
142//
143// Image Attribute Definitions
144//
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
176
177//
178// Image Compatibility Definitions
179//
185#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001
186
190#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4
191
195typedef struct {
210
211//
212// ImageUpdatable Definitions
213//
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
244
245//
246// Package Attribute Definitions
247//
252#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001
257#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
262#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
263
277typedef
280 IN UINTN Completion
281 );
282
321typedef
325 IN OUT UINTN *ImageInfoSize,
327 OUT UINT32 *DescriptorVersion,
328 OUT UINT8 *DescriptorCount,
329 OUT UINTN *DescriptorSize,
330 OUT UINT32 *PackageVersion,
331 OUT CHAR16 **PackageVersionName
332 );
333
357typedef
361 IN UINT8 ImageIndex,
362 OUT VOID *Image,
363 IN OUT UINTN *ImageSize
364 );
365
412typedef
416 IN UINT8 ImageIndex,
417 IN CONST VOID *Image,
418 IN UINTN ImageSize,
419 IN CONST VOID *VendorCode,
421 OUT CHAR16 **AbortReason
422 );
423
444typedef
448 IN UINT8 ImageIndex,
449 IN CONST VOID *Image,
450 IN UINTN ImageSize,
451 OUT UINT32 *ImageUpdatable
452 );
453
486typedef
490 OUT UINT32 *PackageVersion,
491 OUT CHAR16 **PackageVersionName,
492 OUT UINT32 *PackageVersionNameMaxLen,
493 OUT UINT64 *AttributesSupported,
494 OUT UINT64 *AttributesSetting
495 );
496
528typedef
532 IN CONST VOID *Image,
533 IN UINTN ImageSize,
534 IN CONST VOID *VendorCode,
535 IN UINT32 PackageVersion,
536 IN CONST CHAR16 *PackageVersionName
537 );
538
555};
556
557extern EFI_GUID gEfiFirmwareManagementProtocolGuid;
558
559#endif
UINT64 UINTN
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)
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
WIN_CERTIFICATE_UEFI_GUID AuthInfo
Definition: Base.h:213