]> git.proxmox.com Git - mirror_edk2.git/blame - FmpDevicePkg/Include/Library/FmpPayloadHeaderLib.h
FmpDevicePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / FmpDevicePkg / Include / Library / FmpPayloadHeaderLib.h
CommitLineData
a6d73269 1/** @file\r
cec7b8fb
KM
2 Provides services to retrieve values from a capsule's FMP Payload Header.\r
3 The structure is not included in the library class. Instead, services are\r
4 provided to retrieve information from the FMP Payload Header. If information\r
5 is added to the FMP Payload Header, then new services may be added to this\r
6 library class to retrieve the new information.\r
7\r
8 Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>\r
9 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
10\r
bcef758c 11 SPDX-License-Identifier: BSD-2-Clause-Patent\r
cec7b8fb
KM
12\r
13**/\r
14\r
15#ifndef _FMP_PAYLOAD_HEADER_LIB_H__\r
16#define _FMP_PAYLOAD_HEADER_LIB_H__\r
17\r
18/**\r
19 Returns the FMP Payload Header size in bytes.\r
20\r
21 @param[in] Header FMP Payload Header to evaluate\r
22 @param[in] FmpPayloadSize Size of FMP payload\r
23 @param[out] Size The size, in bytes, of the FMP Payload Header.\r
24\r
25 @retval EFI_SUCCESS The firmware version was returned.\r
26 @retval EFI_INVALID_PARAMETER Header is NULL.\r
27 @retval EFI_INVALID_PARAMETER Size is NULL.\r
28 @retval EFI_INVALID_PARAMETER Header is not a valid FMP Payload Header.\r
29\r
30**/\r
31EFI_STATUS\r
32EFIAPI\r
33GetFmpPayloadHeaderSize (\r
34 IN CONST VOID *Header,\r
35 IN CONST UINTN FmpPayloadSize,\r
36 OUT UINT32 *Size\r
37 );\r
38\r
39/**\r
40 Returns the version described in the FMP Payload Header.\r
41\r
42 @param[in] Header FMP Payload Header to evaluate\r
43 @param[in] FmpPayloadSize Size of FMP payload\r
44 @param[out] Version The firmware version described in the FMP Payload\r
45 Header.\r
46\r
47 @retval EFI_SUCCESS The firmware version was returned.\r
48 @retval EFI_INVALID_PARAMETER Header is NULL.\r
49 @retval EFI_INVALID_PARAMETER Version is NULL.\r
50 @retval EFI_INVALID_PARAMETER Header is not a valid FMP Payload Header.\r
51\r
52**/\r
53EFI_STATUS\r
54EFIAPI\r
55GetFmpPayloadHeaderVersion (\r
56 IN CONST VOID *Header,\r
57 IN CONST UINTN FmpPayloadSize,\r
58 OUT UINT32 *Version\r
59 );\r
60\r
61/**\r
62 Returns the lowest supported version described in the FMP Payload Header.\r
63\r
64 @param[in] Header FMP Payload Header to evaluate\r
65 @param[in] FmpPayloadSize Size of FMP payload\r
66 @param[out] LowestSupportedVersion The lowest supported version described in\r
67 the FMP Payload Header.\r
68\r
69 @retval EFI_SUCCESS The lowest support version was returned.\r
70 @retval EFI_INVALID_PARAMETER Header is NULL.\r
71 @retval EFI_INVALID_PARAMETER LowestSupportedVersion is NULL.\r
72 @retval EFI_INVALID_PARAMETER Header is not a valid FMP Payload Header.\r
73\r
74**/\r
75EFI_STATUS\r
76EFIAPI\r
77GetFmpPayloadHeaderLowestSupportedVersion (\r
a6d73269
SZ
78 IN CONST VOID *Header,\r
79 IN CONST UINTN FmpPayloadSize,\r
80 OUT UINT32 *LowestSupportedVersion\r
cec7b8fb
KM
81 );\r
82\r
83#endif\r