VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/PrmPkg/Include/PrmModule.h@ 102466

Last change on this file since 102466 was 99404, checked in by vboxsync, 23 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1/** @file
2
3 Common definitions needed for Platform Runtime Mechanism (PRM) modules.
4
5 Copyright (c) Microsoft Corporation
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8**/
9
10#ifndef PRM_MODULE_H_
11#define PRM_MODULE_H_
12
13#include <Prm.h>
14#include <PrmContextBuffer.h>
15#include <PrmDataBuffer.h>
16#include <PrmExportDescriptor.h>
17#include <PrmMmio.h>
18
19/**
20 Macro that provides a condensed form of a PRM Handler.
21
22 This macro can be used to define a PRM Handler that uses the standard PRM Handle
23 signature. It is simply provided for convenience.
24
25**/
26#define PRM_HANDLER_EXPORT(Name) \
27 STATIC_ASSERT (sizeof (PRM_STRING_(Name)) <= PRM_HANDLER_NAME_MAXIMUM_LENGTH, "The PRM handler exceeds the maximum allowed size of 128."); \
28 \
29 /** \
30 A Platform Runtime Mechanism (PRM) handler. \
31 \
32 @param[in] ParameterBuffer A pointer to the PRM handler parameter buffer \
33 @param[in] ContextBUffer A pointer to the PRM handler context buffer \
34 \
35 @retval EFI_STATUS The PRM handler executed successfully. \
36 @retval Others An error occurred in the PRM handler. \
37 \
38 **/ \
39 EFI_STATUS \
40 PRM_EXPORT_API \
41 EFIAPI \
42 Name ( \
43 IN VOID *ParameterBuffer, \
44 IN PRM_CONTEXT_BUFFER *ContextBuffer \
45 ) \
46
47#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette