mirror of https://github.com/acidanthera/audk.git
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
|
/** @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
|