]> git.proxmox.com Git - mirror_edk2.git/blob - PrmPkg/Include/PrmModule.h
PrmPkg: Apply uncrustify changes
[mirror_edk2.git] / PrmPkg / Include / PrmModule.h
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