]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/SmmBase.h
Move EFI_SMM_COMMUNICATE_HEADER into SmmBase.h because this structure is really assoc...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / SmmBase.h
index aac73d5b87aa0c057a80d6df1d64081a97b8bab6..264c2429e0f26c860ee0d9e624892cfb2c0dda28 100644 (file)
@@ -37,20 +37,46 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #ifndef _SMM_BASE_H_\r
 #define _SMM_BASE_H_\r
 \r
+///\r
+/// Global ID for the EFI_SMM_BASE_PROTOCOL\r
+///\r
 #define EFI_SMM_BASE_PROTOCOL_GUID \\r
   { \\r
     0x1390954D, 0xda95, 0x4227, {0x93, 0x28, 0x72, 0x82, 0xc2, 0x17, 0xda, 0xa8 } \\r
   }\r
 \r
-typedef struct _EFI_SMM_BASE_PROTOCOL             EFI_SMM_BASE_PROTOCOL;\r
+///\r
+/// Forward declaration for EFI_SMM_BASE_PROTOCOL\r
+///\r
+typedef struct _EFI_SMM_BASE_PROTOCOL  EFI_SMM_BASE_PROTOCOL;\r
 \r
-//\r
-// SMM Handler Definition\r
-//\r
+///\r
+/// EFI SMM Handler return codes\r
+///\r
+///@{\r
 #define EFI_HANDLER_SUCCESS         0x0000\r
 #define EFI_HANDLER_CRITICAL_EXIT   0x0001\r
 #define EFI_HANDLER_SOURCE_QUIESCED 0x0002\r
 #define EFI_HANDLER_SOURCE_PENDING  0x0003\r
+///@}\r
+\r
+///\r
+/// The header data is mandatory for messages sent into the SMM agent.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// Allows for disambiguation of the message format.\r
+  ///\r
+  EFI_GUID                         HeaderGuid;\r
+  ///\r
+  /// Describes the size of the message, not including the header.\r
+  ///\r
+  UINTN                            MessageLength;\r
+  ///\r
+  /// Designates an array of bytes that is MessageLength in size.\r
+  ///\r
+  UINT8                            Data[1];\r
+} EFI_SMM_COMMUNICATE_HEADER;\r
 \r
 /**\r
   Entry Point to Callback service\r