12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /** @file
- Common Platform Runtime Mechanism (PRM) definitions.
- Copyright (c) Microsoft Corporation
- Copyright (c) 2022, Arm Limited. All rights reserved.<BR>
- 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)
- #elif defined (__GNUC__)
- #define PRM_EXPORT_API __attribute__ ((visibility ("default")))
- #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
|