EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

EdkCompatibilityPkg/Foundation/Framework/Protocol/SmmAccess/SmmAccess.h

Go to the documentation of this file.
00001 /*++
00002 
00003 Copyright (c) 1999 - 2006, Intel Corporation. All rights reserved.<BR>
00004 This program and the accompanying materials
00005 are licensed and made available under the terms and conditions of the BSD License
00006 which accompanies this distribution.  The full text of the license may be found at
00007 http://opensource.org/licenses/bsd-license.php
00008 
00009 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
00010 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
00011 
00012 
00013 Module Name:
00014 
00015   SmmAccess.h
00016 
00017 Abstract:
00018 
00019   This file defines SMM SMRAM Access abstraction protocol defined 
00020   by the SMM CIS.
00021 
00022 --*/
00023 
00024 #ifndef _SMM_ACCESS_H_
00025 #define _SMM_ACCESS_H_
00026 
00027 #include EFI_GUID_DEFINITION (SmramMemoryReserve)
00028 
00029 EFI_FORWARD_DECLARATION (EFI_SMM_ACCESS_PROTOCOL);
00030 
00031 #define EFI_SMM_ACCESS_PROTOCOL_GUID \
00032   { \
00033     0x3792095a, 0xe309, 0x4c1e, {0xaa, 0x01, 0x85, 0xf5, 0x65, 0x5a, 0x17, 0xf1} \
00034   }
00035 
00036 //
00037 // SMM Access specification Data Structures
00038 //
00039 typedef
00040 EFI_STATUS
00041 (EFIAPI *EFI_SMM_OPEN) (
00042   IN EFI_SMM_ACCESS_PROTOCOL         * This,
00043   UINTN                              DescriptorIndex
00044   );
00045 
00046 typedef
00047 EFI_STATUS
00048 (EFIAPI *EFI_SMM_CLOSE) (
00049   IN EFI_SMM_ACCESS_PROTOCOL          * This,
00050   UINTN                               DescriptorIndex
00051   );
00052 
00053 typedef
00054 EFI_STATUS
00055 (EFIAPI *EFI_SMM_LOCK) (
00056   IN EFI_SMM_ACCESS_PROTOCOL         * This,
00057   UINTN                              DescriptorIndex
00058   );
00059 
00060 typedef
00061 EFI_STATUS
00062 (EFIAPI *EFI_SMM_CAPABILITIES) (
00063   IN EFI_SMM_ACCESS_PROTOCOL             * This,
00064   IN OUT UINTN                           *SmramMapSize,
00065   IN OUT EFI_SMRAM_DESCRIPTOR            * SmramMap
00066   );
00067 
00068 struct _EFI_SMM_ACCESS_PROTOCOL {
00069   EFI_SMM_OPEN          Open;
00070   EFI_SMM_CLOSE         Close;
00071   EFI_SMM_LOCK          Lock;
00072   EFI_SMM_CAPABILITIES  GetCapabilities;
00073   BOOLEAN               LockState;
00074   BOOLEAN               OpenState;
00075 };
00076 
00077 extern EFI_GUID gEfiSmmAccessProtocolGuid;
00078 
00079 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines