]> git.proxmox.com Git - mirror_edk2.git/blob - PrmPkg/Include/PrmDataBuffer.h
PrmPkg: Publish PRM operation region to support PRM ACPI _DSM invocation
[mirror_edk2.git] / PrmPkg / Include / PrmDataBuffer.h
1 /** @file
2
3 Definitions for the Platform Runtime Mechanism (PRM) data buffer structures.
4
5 Copyright (c) Microsoft Corporation
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef PRM_DATA_BUFFER_H_
11 #define PRM_DATA_BUFFER_H_
12
13 #include <Uefi.h>
14
15 #define PRM_DATA_BUFFER_HEADER_SIGNATURE SIGNATURE_32('P','R','M','D')
16
17 #pragma pack(push, 1)
18
19 ///
20 /// A generic header that describes the PRM data buffer.
21 ///
22 typedef struct {
23 ///
24 /// PRM Data Buffer signature.
25 ///
26 UINT32 Signature;
27 ///
28 /// Length of the entire data buffer, including the size of the header.
29 ///
30 UINT32 Length;
31 } PRM_DATA_BUFFER_HEADER;
32
33 ///
34 /// A PRM data buffer is a generic header followed by variable length arbitrary data.
35 ///
36 typedef struct {
37 ///
38 /// The header is required at the beginning of every PRM data buffer.
39 ///
40 PRM_DATA_BUFFER_HEADER Header;
41
42 ///
43 /// The beginning of data immediately follows the header.
44 ///
45 UINT8 Data[1];
46 } PRM_DATA_BUFFER;
47
48 #pragma pack(pop)
49
50 #endif