]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/Include/Guid/SmmBaseThunkCommunication.h
Program SD Cards into 4-bit mode (support for this is required in the spec). This...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / Include / Guid / SmmBaseThunkCommunication.h
index f8507e5946949c32bd3b4bff39a60a8770d217ba..64e6824c86f83b004df4bde403e6cba6df692402 100644 (file)
@@ -2,14 +2,14 @@
   GUID and data structures for communication between SMM Base on SMM Base2 Thunk driver\r
   and SmmBaseHelper driver.\r
 \r
-  Copyright (c) 2009, Intel Corporation\r
-  All rights reserved. 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
+Copyright (c) 2009 - 2010, 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
+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
 \r
 **/\r
 #ifndef  _SMM_BASE_THUNK_COMMUNICATION_H_\r
@@ -49,26 +49,35 @@ typedef struct {
   VOID                           *Buffer;\r
 } SMMBASE_FREE_POOL_ARG;\r
 \r
+typedef struct {\r
+  EFI_HANDLE                     ImageHandle;\r
+  VOID                           *CommunicationBuffer;\r
+  UINTN                          *SourceSize;\r
+} SMMBASE_COMMUNICATE_ARG;\r
+\r
 typedef union {\r
   SMMBASE_REGISTER_ARG           Register;\r
   SMMBASE_UNREGISTER_ARG         UnRegister;\r
   SMMBASE_REGISTER_CALLBACK_ARG  RegisterCallback;\r
   SMMBASE_ALLOCATE_POOL_ARG      AllocatePool;\r
   SMMBASE_FREE_POOL_ARG          FreePool;\r
+  SMMBASE_COMMUNICATE_ARG        Communicate;\r
 } SMMBASE_FUNCTION_ARGS;\r
 \r
 typedef enum {\r
-  SMMBASE_REGISTER,\r
-  SMMBASE_UNREGISTER,\r
-  SMMBASE_REGISTER_CALLBACK,\r
-  SMMBASE_ALLOCATE_POOL,\r
-  SMMBASE_FREE_POOL,\r
+  SmmBaseFunctionRegister,\r
+  SmmBaseFunctionUnregister,\r
+  SmmBaseFunctionRegisterCallback,\r
+  SmmBaseFunctionAllocatePool,\r
+  SmmBaseFunctionFreePool,\r
+  SmmBaseFunctionCommunicate\r
 } SMMBASE_FUNCTION;\r
 \r
 typedef struct {\r
-  SMMBASE_FUNCTION               Function;\r
-  EFI_STATUS                     Status;\r
-  SMMBASE_FUNCTION_ARGS          Args;\r
+  SMMBASE_FUNCTION       Function;\r
+  EFI_STATUS             Status;\r
+  SMMBASE_FUNCTION_ARGS  Args;\r
+  EFI_HANDLE             SmmBaseImageHandle;\r
 } SMMBASE_FUNCTION_DATA;\r
 \r
 #pragma pack(1)\r