/** @file\r
- This file declares Smm Gpi Smi Child Protocol\r
- The EFI_SMM_GPI_DISPATCH_PROTOCOL provides the ability to install child handlers for the\r
- given event types. Several inputs can be enabled. This purpose of this interface is to generate an\r
+ This file declares the Smm Gpi Smi Child Protocol.\r
+ \r
+ The EFI_SMM_GPI_DISPATCH_PROTOCOL is defined in Framework of EFI SMM Core Interface Spec\r
+ Version 0.9. It provides the ability to install child handlers for the given event types.\r
+ Several inputs can be enabled. This purpose of this interface is to generate an\r
SMI in response to any of these inputs having a true value provided.\r
\r
- Copyright (c) 2007, 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
-\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
- Module Name: SmmGpiDispatch.h\r
-\r
- @par Revision Reference:\r
- This Protocol is defined in Framework of EFI SMM Core Interface Spec\r
- Version 0.9.\r
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution. \r
+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
\r
-#ifndef _EFI_SMM_GPI_DISPATCH_H_\r
-#define _EFI_SMM_GPI_DISPATCH_H_\r
+#ifndef _SMM_GPI_DISPATCH_H_\r
+#define _SMM_GPI_DISPATCH_H_\r
\r
-#include <PiDxe.h>\r
\r
//\r
// Global ID for the GPI SMI Protocol\r
//\r
// Related Definitions\r
//\r
+\r
//\r
-// GpiMask is a bit mask of 32 possible general purpose inputs that can generate a\r
-// a SMI. Bit 0 corresponds to logical GPI[0], 1 corresponds to logical GPI[1], etc.\r
+// GpiMask is a bit mask of 32 possible general purpose inputs that can generate \r
+// an SMI. Bit 0 corresponds to logical GPI[0], 1 corresponds to logical GPI[1], and so on.\r
//\r
// The logical GPI index to physical pin on device is described by the GPI device name\r
// found on the same handle as the GpiSmi child dispatch protocol. The GPI device name\r
//\r
// Member functions\r
//\r
+\r
/**\r
Dispatch function for a GPI SMI handler.\r
\r
- @param DispatchHandle Handle of this dispatch function.\r
- @param DispatchContext Pointer to the dispatch function's context.\r
- The DispatchContext fields are filled in by the dispatching driver prior to\r
- invoking this dispatch function.\r
-\r
- @return None\r
-\r
+ @param DispatchHandle The handle of this dispatch function.\r
+ @param DispatchContext The pointer to the dispatch function's context.\r
+ The DispatchContext fields are filled in by the \r
+ dispatching driver prior to invoking this dispatch \r
+ function.\r
**/\r
typedef\r
VOID\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
+ @param This The pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
@param DispatchFunction Function to install.\r
- @param DispatchContext Pointer to the dispatch function's context.\r
- The caller fills this context in before calling\r
- the register function to indicate to the register\r
+ @param DispatchContext The pointer to the dispatch function's context.\r
+ Indicates to the register\r
function the GPI(s) for which the dispatch function\r
should be invoked.\r
- @param DispatchHandle Handle generated by the dispatcher to track the \r
+ @param DispatchHandle The handle generated by the dispatcher to track the \r
function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
- registered and the SMI source has been enabled.\r
+ registered, and the SMI source has been enabled.\r
@retval EFI_DEVICE_ERROR The driver was unable to enable the SMI source.\r
@retval EFI_OUT_OF_RESOURCES Not enough memory (system or SMM) to manage this\r
child.\r
/**\r
Unregisters a General Purpose Input (GPI) service.\r
\r
- @param This Pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
- @param DispatchHandle Handle of the service to remove.\r
+ @param This The pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle The handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
- unregistered and the SMI source has been disabled\r
+ unregistered, and the SMI source has been disabled,\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER DispatchHandle is invalid.\r
//\r
// Interface structure for the SMM GPI SMI Dispatch Protocol\r
//\r
-/**\r
- @par Protocol Description:\r
- Provides the parent dispatch service for the General Purpose Input\r
- (GPI) SMI source generator.\r
-\r
- @param Register\r
- Installs a child service to be dispatched by this protocol.\r
-\r
- @param UnRegister\r
- Removes a child service dispatched by this protocol.\r
-\r
- @param NumSupportedGpis\r
- Denotes the maximum value of inputs that can have handlers attached.\r
-\r
-**/\r
struct _EFI_SMM_GPI_DISPATCH_PROTOCOL {\r
EFI_SMM_GPI_REGISTER Register;\r
EFI_SMM_GPI_UNREGISTER UnRegister;\r
+\r
+ ///\r
+ /// Denotes the maximum value of inputs that can have handlers attached.\r
+ ///\r
UINTN NumSupportedGpis;\r
};\r
\r
extern EFI_GUID gEfiSmmGpiDispatchProtocolGuid;\r
\r
#endif\r
+\r