/** @file | |
Definitions for the Platform Runtime Mechanism (PRM) data buffer structures. | |
Copyright (c) Microsoft Corporation | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef PRM_DATA_BUFFER_H_ | |
#define PRM_DATA_BUFFER_H_ | |
#include <Uefi.h> | |
#define PRM_DATA_BUFFER_HEADER_SIGNATURE SIGNATURE_32('P','R','M','D') | |
#pragma pack(push, 1) | |
/// | |
/// A generic header that describes the PRM data buffer. | |
/// | |
typedef struct { | |
/// | |
/// PRM Data Buffer signature. | |
/// | |
UINT32 Signature; | |
/// | |
/// Length of the entire data buffer, including the size of the header. | |
/// | |
UINT32 Length; | |
} PRM_DATA_BUFFER_HEADER; | |
/// | |
/// A PRM data buffer is a generic header followed by variable length arbitrary data. | |
/// | |
typedef struct { | |
/// | |
/// The header is required at the beginning of every PRM data buffer. | |
/// | |
PRM_DATA_BUFFER_HEADER Header; | |
/// | |
/// The beginning of data immediately follows the header. | |
/// | |
UINT8 Data[1]; | |
} PRM_DATA_BUFFER; | |
#pragma pack(pop) | |
#endif |