]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/Library/Esrt.h
a92a27cade3367fb7d38ba282ee8cfb8db6dd510
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Library / Esrt.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8
9
10 Module Name:
11
12 Esrt.h
13
14 Abstract:
15
16 --*/
17
18 #ifndef _DFU_ESRT_H_
19 #define _DFU_ESRT_H_
20
21 typedef struct {
22 EFI_GUID FwClass;
23 UINT32 FwType;
24 UINT32 FwVersion;
25 UINT32 FwLstCompatVersion;
26 UINT32 CapsuleFlags;
27 UINT32 LastAttemptVersion;
28 UINT32 LastAttemptStatus;
29 } FW_RES_ENTRY;
30
31 typedef struct {
32 UINT32 NumEntries;
33 FW_RES_ENTRY FwEntries[256];
34 } FW_RES_ENTRY_LIST;
35
36
37 typedef struct {
38 UINT32 FwResourceCount;
39 UINT32 FwResourceMax;
40 UINT64 FwResourceVersion;
41 } EFI_SYSTEM_RESOURCE_TABLE;
42
43
44 typedef
45 EFI_STATUS
46 (EFIAPI *ESRT_POPULATE_TABLE) (
47 );
48
49 typedef
50 EFI_STATUS
51 (EFIAPI *ESRT_UPDATE_TABLE_ENTRY_BY_GUID) (
52 IN EFI_GUID FwEntryGuid,
53 IN FW_RES_ENTRY *FwEntry
54 );
55
56 typedef
57 EFI_STATUS
58 (EFIAPI *ESRT_GET_FW_ENTRY_BY_GUID) (
59 IN EFI_GUID FwEntryGuid,
60 OUT FW_RES_ENTRY *FwEntry
61 );
62
63
64 #pragma pack()
65
66 typedef struct _ESRT_OPERATION_PROTOCOL {
67 ESRT_POPULATE_TABLE EsrtPopulateTable;
68 ESRT_UPDATE_TABLE_ENTRY_BY_GUID EsrtUpdateTableEntryByGuid;
69 ESRT_GET_FW_ENTRY_BY_GUID EsrtGetFwEntryByGuid;
70 } ESRT_OPERATION_PROTOCOL;
71
72 extern EFI_GUID gEfiEsrtOperationProtocolGuid;
73
74 #endif