TianoCore EDK2 master
Loading...
Searching...
No Matches
FmpPayloadHeaderLib.c File Reference
#include <PiDxe.h>
#include <Library/FmpPayloadHeaderLib.h>

Go to the source code of this file.

Data Structures

struct  FMP_PAYLOAD_HEADER
 

Macros

#define FMP_PAYLOAD_HEADER_SIGNATURE   SIGNATURE_32 ('M', 'S', 'S', '1')
 

Functions

EFI_STATUS EFIAPI GetFmpPayloadHeaderSize (IN CONST VOID *Header, IN CONST UINTN FmpPayloadSize, OUT UINT32 *Size)
 
EFI_STATUS EFIAPI GetFmpPayloadHeaderVersion (IN CONST VOID *Header, IN CONST UINTN FmpPayloadSize, OUT UINT32 *Version)
 
EFI_STATUS EFIAPI GetFmpPayloadHeaderLowestSupportedVersion (IN CONST VOID *Header, IN CONST UINTN FmpPayloadSize, OUT UINT32 *LowestSupportedVersion)
 

Detailed Description

Provides services to retrieve values from Version 1 of a capsule's FMP Payload Header. The FMP Payload Header structure is not defined in the library class. Instead, services are provided to retrieve information from the FMP Payload Header. If information is added to the FMP Payload Header, then new services may be added to this library class to retrieve the new information.

Copyright (c) 2016, Microsoft Corporation. All rights reserved.
Copyright (c) 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file FmpPayloadHeaderLib.c.

Macro Definition Documentation

◆ FMP_PAYLOAD_HEADER_SIGNATURE

#define FMP_PAYLOAD_HEADER_SIGNATURE   SIGNATURE_32 ('M', 'S', 'S', '1')

Identifier is used to make sure the data in the header is for this structure and version. If the structure changes update the last digit.

Definition at line 37 of file FmpPayloadHeaderLib.c.

Function Documentation

◆ GetFmpPayloadHeaderLowestSupportedVersion()

EFI_STATUS EFIAPI GetFmpPayloadHeaderLowestSupportedVersion ( IN CONST VOID *  Header,
IN CONST UINTN  FmpPayloadSize,
OUT UINT32 *  LowestSupportedVersion 
)

Returns the lowest supported version described in the FMP Payload Header.

Parameters
[in]HeaderFMP Payload Header to evaluate
[in]FmpPayloadSizeSize of FMP payload
[out]LowestSupportedVersionThe lowest supported version described in the FMP Payload Header.
Return values
EFI_SUCCESSThe lowest support version was returned.
EFI_INVALID_PARAMETERHeader is NULL.
EFI_INVALID_PARAMETERLowestSupportedVersion is NULL.
EFI_INVALID_PARAMETERHeader is not a valid FMP Payload Header.

Definition at line 146 of file FmpPayloadHeaderLib.c.

◆ GetFmpPayloadHeaderSize()

EFI_STATUS EFIAPI GetFmpPayloadHeaderSize ( IN CONST VOID *  Header,
IN CONST UINTN  FmpPayloadSize,
OUT UINT32 *  Size 
)

Returns the FMP Payload Header size in bytes.

Parameters
[in]HeaderFMP Payload Header to evaluate
[in]FmpPayloadSizeSize of FMP payload
[out]SizeThe size, in bytes, of the FMP Payload Header.
Return values
EFI_SUCCESSThe firmware version was returned.
EFI_INVALID_PARAMETERHeader is NULL.
EFI_INVALID_PARAMETERSize is NULL.
EFI_INVALID_PARAMETERHeader is not a valid FMP Payload Header.

Definition at line 54 of file FmpPayloadHeaderLib.c.

◆ GetFmpPayloadHeaderVersion()

EFI_STATUS EFIAPI GetFmpPayloadHeaderVersion ( IN CONST VOID *  Header,
IN CONST UINTN  FmpPayloadSize,
OUT UINT32 *  Version 
)

Returns the version described in the FMP Payload Header.

Parameters
[in]HeaderFMP Payload Header to evaluate
[in]FmpPayloadSizeSize of FMP payload
[out]VersionThe firmware version described in the FMP Payload Header.
Return values
EFI_SUCCESSThe firmware version was returned.
EFI_INVALID_PARAMETERHeader is NULL.
EFI_INVALID_PARAMETERVersion is NULL.
EFI_INVALID_PARAMETERHeader is not a valid FMP Payload Header.

Definition at line 100 of file FmpPayloadHeaderLib.c.