diff options
Diffstat (limited to 'PrmPkg/Include/Prm.h')
-rw-r--r-- | PrmPkg/Include/Prm.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/PrmPkg/Include/Prm.h b/PrmPkg/Include/Prm.h new file mode 100644 index 0000000000..0e3ccfffa3 --- /dev/null +++ b/PrmPkg/Include/Prm.h @@ -0,0 +1,46 @@ +/** @file
+
+ Common Platform Runtime Mechanism (PRM) definitions.
+
+ Copyright (c) Microsoft Corporation
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef PRM_H_
+#define PRM_H_
+
+#include <Uefi.h>
+#include <PrmContextBuffer.h>
+
+#if defined(_MSC_VER)
+ #define PRM_EXPORT_API __declspec(dllexport)
+#else
+ #define PRM_EXPORT_API
+#endif
+
+#define PRM_HANDLER_NAME_MAXIMUM_LENGTH 128
+
+#define PRM_STRING_(x) #x
+#define PRM_STRING(x) PRM_STRING_(x)
+
+/**
+ A Platform Runtime Mechanism (PRM) handler function.
+
+ @param[in] ParameterBuffer A pointer to a buffer with arbitrary data that is allocated and populated
+ by the PRM handler caller.
+ @param[in] ContextBuffer A pointer to a buffer with arbitrary data that is allocated in the firmware
+ boot environment.
+
+ @retval EFI_STATUS The PRM handler executed successfully.
+ @retval Others An error occurred in the PRM handler.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI PRM_HANDLER) (
+ IN VOID *ParameterBuffer OPTIONAL,
+ IN PRM_CONTEXT_BUFFER *ContextBuffer OPTIONAL
+ );
+
+#endif
|