/** @file\r
EFI SMM Communication Protocol as defined in the PI 1.2 specification.\r
\r
- This protocol provides a means of communicating between drivers outside of SMM and SMI \r
- handlers inside of SMM. \r
+ This protocol provides a means of communicating between drivers outside of SMM and SMI\r
+ handlers inside of SMM.\r
\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#ifndef _SMM_COMMUNICATION_H_\r
#define _SMM_COMMUNICATION_H_\r
\r
-//\r
-// Need include this header file for EFI_SMM_COMMUNICATE_HEADER data structure.\r
-//\r
-#include <Uefi/UefiAcpiDataTable.h>\r
-\r
-#define EFI_SMM_COMMUNICATION_PROTOCOL_GUID \\r
- { \\r
- 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 } \\r
- }\r
+#include <Protocol/MmCommunication.h>\r
\r
-typedef struct _EFI_SMM_COMMUNICATION_PROTOCOL EFI_SMM_COMMUNICATION_PROTOCOL;\r
\r
-/**\r
- Communicates with a registered handler.\r
- \r
- This function provides a service to send and receive messages from a registered UEFI service.\r
+typedef EFI_MM_COMMUNICATE_HEADER EFI_SMM_COMMUNICATE_HEADER;\r
\r
- @param[in] This The EFI_SMM_COMMUNICATION_PROTOCOL instance.\r
- @param[in] CommBuffer A pointer to the buffer to convey into SMRAM.\r
- @param[in] CommSize The size of the data buffer being passed in.On exit, the size of data\r
- being returned. Zero if the handler does not wish to reply with any data.\r
-\r
- @retval EFI_SUCCESS The message was successfully posted.\r
- @retval EFI_INVALID_PARAMETER The CommBuffer was NULL.\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_COMMUNICATE2)(\r
- IN CONST EFI_SMM_COMMUNICATION_PROTOCOL *This,\r
- IN OUT VOID *CommBuffer,\r
- IN OUT UINTN *CommSize\r
- );\r
+#define EFI_SMM_COMMUNICATION_PROTOCOL_GUID EFI_MM_COMMUNICATION_PROTOCOL_GUID\r
\r
-///\r
-/// EFI SMM Communication Protocol provides runtime services for communicating\r
-/// between DXE drivers and a registered SMI handler.\r
-///\r
-struct _EFI_SMM_COMMUNICATION_PROTOCOL {\r
- EFI_SMM_COMMUNICATE2 Communicate;\r
-};\r
+typedef EFI_MM_COMMUNICATION_PROTOCOL EFI_SMM_COMMUNICATION_PROTOCOL;\r
\r
extern EFI_GUID gEfiSmmCommunicationProtocolGuid;\r
\r