+++ /dev/null
-/*++\r
-\r
-Copyright (c) 1999 - 2006, 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
-\r
-\r
-Module Name:\r
-\r
- SmmAccess.h\r
-\r
-Abstract:\r
-\r
- This file defines SMM SMRAM Access abstraction protocol defined \r
- by the SMM CIS.\r
-\r
---*/\r
-\r
-#ifndef _SMM_ACCESS_H_\r
-#define _SMM_ACCESS_H_\r
-\r
-#include EFI_GUID_DEFINITION (SmramMemoryReserve)\r
-\r
-EFI_FORWARD_DECLARATION (EFI_SMM_ACCESS_PROTOCOL);\r
-\r
-#define EFI_SMM_ACCESS_PROTOCOL_GUID \\r
- { \\r
- 0x3792095a, 0xe309, 0x4c1e, {0xaa, 0x01, 0x85, 0xf5, 0x65, 0x5a, 0x17, 0xf1} \\r
- }\r
-\r
-//\r
-// SMM Access specification Data Structures\r
-//\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_OPEN) (\r
- IN EFI_SMM_ACCESS_PROTOCOL * This,\r
- UINTN DescriptorIndex\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_CLOSE) (\r
- IN EFI_SMM_ACCESS_PROTOCOL * This,\r
- UINTN DescriptorIndex\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_LOCK) (\r
- IN EFI_SMM_ACCESS_PROTOCOL * This,\r
- UINTN DescriptorIndex\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_CAPABILITIES) (\r
- IN EFI_SMM_ACCESS_PROTOCOL * This,\r
- IN OUT UINTN *SmramMapSize,\r
- IN OUT EFI_SMRAM_DESCRIPTOR * SmramMap\r
- );\r
-\r
-struct _EFI_SMM_ACCESS_PROTOCOL {\r
- EFI_SMM_OPEN Open;\r
- EFI_SMM_CLOSE Close;\r
- EFI_SMM_LOCK Lock;\r
- EFI_SMM_CAPABILITIES GetCapabilities;\r
- BOOLEAN LockState;\r
- BOOLEAN OpenState;\r
-};\r
-\r
-extern EFI_GUID gEfiSmmAccessProtocolGuid;\r
-\r
-#endif\r