PrmDataBuffer.h 1.0 KB

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