]> git.proxmox.com Git - mirror_edk2.git/blame - PrmPkg/Include/Prm.h
OvmfPkg: Implement MeasureHobList/MeasureFvImage
[mirror_edk2.git] / PrmPkg / Include / Prm.h
CommitLineData
d2998af2
MK
1/** @file\r
2\r
3 Common Platform Runtime Mechanism (PRM) definitions.\r
4\r
5 Copyright (c) Microsoft Corporation\r
6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7\r
8**/\r
9\r
10#ifndef PRM_H_\r
11#define PRM_H_\r
12\r
13#include <Uefi.h>\r
14#include <PrmContextBuffer.h>\r
15\r
a298a844
MK
16#if defined (_MSC_VER)\r
17#define PRM_EXPORT_API __declspec(dllexport)\r
d2998af2 18#else\r
a298a844 19#define PRM_EXPORT_API\r
d2998af2
MK
20#endif\r
21\r
a298a844 22#define PRM_HANDLER_NAME_MAXIMUM_LENGTH 128\r
d2998af2 23\r
a298a844
MK
24#define PRM_STRING_(x) #x\r
25#define PRM_STRING(x) PRM_STRING_(x)\r
d2998af2
MK
26\r
27/**\r
28 A Platform Runtime Mechanism (PRM) handler function.\r
29\r
30 @param[in] ParameterBuffer A pointer to a buffer with arbitrary data that is allocated and populated\r
31 by the PRM handler caller.\r
32 @param[in] ContextBuffer A pointer to a buffer with arbitrary data that is allocated in the firmware\r
33 boot environment.\r
34\r
35 @retval EFI_STATUS The PRM handler executed successfully.\r
36 @retval Others An error occurred in the PRM handler.\r
37\r
38**/\r
39typedef\r
40EFI_STATUS\r
a298a844 41(EFIAPI PRM_HANDLER)(\r
d2998af2
MK
42 IN VOID *ParameterBuffer OPTIONAL,\r
43 IN PRM_CONTEXT_BUFFER *ContextBuffer OPTIONAL\r
44 );\r
45\r
46#endif\r