From: Zhiguang Liu Date: Fri, 30 Apr 2021 04:44:10 +0000 (+0800) Subject: MdeModulePkg: Add Universal Payload general definition header file X-Git-Tag: edk2-stable202108~182 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=d8c18ba3f409a3fdb59b2f2ee19caf5fb5b1d066;p=mirror_edk2.git MdeModulePkg: Add Universal Payload general definition header file Add Universal Payload general definition header file according to Universal Payload's documentation as below: https://universalpayload.github.io/documentation/ Cc: Michael D Kinney Cc: Liming Gao Cc: Jian J Wang Cc: Hao A Wu Reviewed-by: Hao A Wu Tested-by: Patrick Rudolph Signed-off-by: Zhiguang Liu --- diff --git a/MdeModulePkg/Include/UniversalPayload/UniversalPayload.h b/MdeModulePkg/Include/UniversalPayload/UniversalPayload.h new file mode 100644 index 0000000000..e661306a9b --- /dev/null +++ b/MdeModulePkg/Include/UniversalPayload/UniversalPayload.h @@ -0,0 +1,35 @@ +/** @file + Universal Payload general definitions. + +Copyright (c) 2021, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + - Universal Payload Specification 0.75 (https://universalpayload.github.io/documentation/) +**/ + +#ifndef UNIVERSAL_PAYLOAD_H_ +#define UNIVERSAL_PAYLOAD_H_ + +#pragma pack(1) + +typedef struct { + UINT8 Revision; + UINT8 Reserved; + UINT16 Length; +} UNIVERSAL_PAYLOAD_GENERIC_HEADER; + +#pragma pack() + +/** + Returns the size of a structure of known type, up through and including a specified field. + + @param TYPE The name of the data structure that contains the field specified by Field. + @param Field The name of the field in the data structure. + + @return size, in bytes. + +**/ +#define UNIVERSAL_PAYLOAD_SIZEOF_THROUGH_FIELD(TYPE, Field) (OFFSET_OF(TYPE, Field) + sizeof (((TYPE *) 0)->Field)) + +#endif // UNIVERSAL_PAYLOAD_H_