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