MdeModulePkg[all]  0.98
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EsrtManagement.h File Reference

Data Structures

struct  _ESRT_MANAGEMENT_PROTOCOL
 

Macros

#define ESRT_MANAGEMENT_PROTOCOL_GUID
 

Typedefs

typedef struct
_ESRT_MANAGEMENT_PROTOCOL 
ESRT_MANAGEMENT_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * GET_ESRT_ENTRY )(IN EFI_GUID *FwClass, IN OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry)
 
typedef EFI_STATUS(EFIAPI * UPDATE_ESRT_ENTRY )(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)
 
typedef EFI_STATUS(EFIAPI * UNREGISTER_ESRT_ENTRY )(IN EFI_GUID *FwClass)
 
typedef EFI_STATUS(EFIAPI * REGISTER_ESRT_ENTRY )(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)
 
typedef EFI_STATUS(EFIAPI * SYNC_ESRT_FMP )(VOID)
 
typedef EFI_STATUS(EFIAPI * LOCK_ESRT_REPOSITORY )(VOID)
 

Variables

EFI_GUID gEsrtManagementProtocolGuid
 

Detailed Description

The Esrt Management Protocol used to register/set/update an updatable firmware resource .

Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define ESRT_MANAGEMENT_PROTOCOL_GUID
Value:
{ \
0xa340c064, 0x723c, 0x4a9c, { 0xa4, 0xdd, 0xd5, 0xb4, 0x7a, 0x26, 0xfb, 0xb0 } \
}

Global ID for the ESRT_MANAGEMENT_PROTOCOL.

Typedef Documentation

typedef EFI_STATUS(EFIAPI * GET_ESRT_ENTRY)(IN EFI_GUID *FwClass, IN OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry)

Get Variable name and data by Esrt Entry FwClass

Parameters
[in]FwClassFwClass of Esrt entry to get
inout] Entry Esrt entry returned
Return values
EFI_SUCCESSThe variable saving this Esrt Entry exists.
EF_NOT_FOUNDNo correct variable found.
typedef EFI_STATUS(EFIAPI * LOCK_ESRT_REPOSITORY)(VOID)

This function locks up Esrt repository to be readonly. It should be called before gEfiEndOfDxeEventGroupGuid event signaled

Return values
EFI_SUCCESSLocks up FMP Non-FMP repository successfully
typedef EFI_STATUS(EFIAPI * REGISTER_ESRT_ENTRY)(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)

Non-FMP instance to register one ESRT entry into ESRT Cache.

Parameters
[in]EntryEsrt entry to be set
Return values
EFI_SUCCESSSuccessfully set a variable.
EFI_INVALID_PARAMETERESRT Entry is already exist
EFI_OUT_OF_RESOURCESNon-FMP ESRT repository is full
typedef EFI_STATUS(EFIAPI * SYNC_ESRT_FMP)(VOID)

This function syn up Cached ESRT with data from FMP instances Function should be called after Connect All in order to locate all FMP protocols installed

Return values
EFI_SUCCESSSuccessfully sync cache repository from FMP instances
EFI_NOT_FOUNDNo FMP Instance are found
EFI_OUT_OF_RESOURCESResource allocaton fail
typedef EFI_STATUS(EFIAPI * UNREGISTER_ESRT_ENTRY)(IN EFI_GUID *FwClass)

Non-FMP instance to unregister Esrt Entry from ESRT Cache.

Parameters
[in]FwClassFwClass of Esrt entry to Unregister
Return values
EFI_SUCCESSInsert all entries Successfully
EFI_NOT_FOUNDFwClass does not exsit
typedef EFI_STATUS(EFIAPI * UPDATE_ESRT_ENTRY)(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)

Update one ESRT entry in ESRT Cache.

Parameters
[in]EntryEsrt entry to be updated
Return values
EFI_SUCCESSSuccessfully update an ESRT entry in cache.
EFI_INVALID_PARAMETEREntry does't exist in ESRT Cache
EFI_WRITE_PROTECTEDESRT Cache repositoy is locked

Variable Documentation

EFI_GUID gEsrtManagementProtocolGuid