]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h
Remove IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / SmmStandbyButtonDispatch.h
index 3770154ca40215e2ca517599142e079473cd0323..1b5a98861b737d7ec037e2880a625b8cccd66502 100644 (file)
@@ -1,16 +1,12 @@
 /** @file\r
-  This file declares EFI Smm Standby Button Smi Child Protocol\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
+  Provides the parent dispatch service for the standby button SMI source generator.\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 SMM Standby Button Dispatch Protocol is defined in\r
+  the Intel Platform Innovation Framework for EFI SMM Core Interface Specification\r
+  (SMM CIS) Version 0.9.\r
 \r
-  Module Name:  SmmStandbyButtonDispatch.h\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Revision Reference:\r
   This Protocol is defined in Framework of EFI SMM Core Interface Spec\r
 #ifndef _EFI_SMM_STANDBY_BUTTON_DISPATCH_H_\r
 #define _EFI_SMM_STANDBY_BUTTON_DISPATCH_H_\r
 \r
-#include <PiDxe.h>\r
+//\r
+// Share some common definitions with PI SMM\r
+//\r
+#include <Protocol/SmmStandbyButtonDispatch2.h>\r
 \r
 //\r
 // Global ID for the Standby Button SMI Protocol\r
@@ -36,60 +35,50 @@ typedef struct _EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL  EFI_SMM_STANDBY_BUTTON
 //\r
 // Related Definitions\r
 //\r
-//\r
-// Standby Button. Example, Use for changing LEDs before ACPI OS is on.\r
-//    - DXE/BDS Phase\r
-//    - OS Install Phase\r
-//\r
-typedef enum {\r
-  EfiStandbyButtonEntry,\r
-  EfiStandbyButtonExit,\r
-  EfiStandbyButtonMax\r
-} EFI_STANDBY_BUTTON_PHASE;\r
 \r
 typedef struct {\r
+  ///  Describes whether the child handler should be invoked upon the entry to the button\r
+  ///  activation or upon exit (i.e., upon receipt of the button press event or upon release of\r
+  ///  the event).\r
   EFI_STANDBY_BUTTON_PHASE  Phase;\r
 } EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT;\r
 \r
 //\r
 // Member functions\r
 //\r
+\r
 /**\r
   Dispatch function for a Standby Button SMI handler.\r
 \r
-  @param  DispatchHandle        Handle of this dispatch function.\r
-  @param  DispatchContext       Pointer to the dispatch function's context.\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\r
                                 by the dispatching driver prior to\r
                                 invoking this dispatch function.\r
 \r
-  @return Nothing\r
-\r
 **/\r
 typedef\r
 VOID\r
-(EFIAPI *EFI_SMM_STANDBY_BUTTON_DISPATCH) (\r
+(EFIAPI *EFI_SMM_STANDBY_BUTTON_DISPATCH)(\r
   IN  EFI_HANDLE                                DispatchHandle,\r
   IN  EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT   *DispatchContext\r
   );\r
 \r
 /**\r
-  Register a child SMI source dispatch function with a parent SMM driver\r
-\r
-  @param  This                  Protocol instance pointer.\r
-  @param  DispatchFunction      Pointer to dispatch function to be invoked for\r
-                                this SMI source\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
-                                function the Standby Button SMI phase for which the dispatch\r
-                                function should be invoked.\r
-  @param  DispatchHandle        Handle of dispatch function, for when interfacing\r
-                                with the parent Sx state SMM driver.\r
+  Provides the parent dispatch service for a given SMI source generator\r
+\r
+  @param  This                  The pointer to the EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL instance.\r
+  @param  DispatchFunction      The function to install.\r
+  @param  DispatchContext       The pointer to the dispatch function's context.\r
+                                Indicates to the register function the Standby\r
+                                Button SMI phase for which to invoke the dispatch\r
+                                function.\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
-  @retval EFI_DEVICE_ERROR      The driver was unable to enable the SMI source.\r
+                                registered, and the SMI source has been enabled.\r
+  @retval EFI_DEVICE_ERROR      The driver could not enable the SMI source.\r
   @retval EFI_OUT_OF_RESOURCES  Not enough memory (system or SMM) to manage this\r
                                 child.\r
   @retval EFI_INVALID_PARAMETER DispatchContext is invalid. The Standby Button SMI\r
@@ -98,50 +87,48 @@ VOID
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SMM_STANDBY_BUTTON_REGISTER) (\r
-  IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL           *This,\r
-  IN  EFI_SMM_STANDBY_BUTTON_DISPATCH                   DispatchFunction,\r
-  IN  EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT           *DispatchContext,\r
-  OUT EFI_HANDLE                                        *DispatchHandle\r
+(EFIAPI *EFI_SMM_STANDBY_BUTTON_REGISTER)(\r
+  IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL          *This,\r
+  IN EFI_SMM_STANDBY_BUTTON_DISPATCH                   DispatchFunction,\r
+  IN EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT           *DispatchContext,\r
+  OUT EFI_HANDLE                                       *DispatchHandle\r
   );\r
 \r
 /**\r
-  Unregister a child SMI source dispatch function with a parent SMM driver\r
+  Unregister a child SMI source dispatch function with a parent SMM driver.\r
 \r
-  @param  This                  Protocol instance pointer.\r
-  @param  DispatchHandle        Handle of dispatch function to deregister.\r
+  @param  This                   The pointer to the EFI_SMM_STANDBY_BUTTON_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
-                                if there are no other registered child dispatch\r
-                                functions for this SMI source.\r
-  @retval EFI_INVALID_PARAMETER Handle is invalid.\r
-  @retval other                 TBD\r
+  @retval EFI_SUCCESS            The dispatch function has been successfully\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  The handle is invalid.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SMM_STANDBY_BUTTON_UNREGISTER) (\r
-  IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL           *This,\r
-  IN  EFI_HANDLE                                        DispatchHandle\r
+(EFIAPI *EFI_SMM_STANDBY_BUTTON_UNREGISTER)(\r
+  IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL  *This,\r
+  IN EFI_HANDLE                                DispatchHandle\r
   );\r
 \r
 //\r
 // Interface structure for the SMM Standby Button SMI Dispatch Protocol\r
 //\r
 /**\r
-  @par Protocol Description:\r
-  Provides the parent dispatch service for the standby button 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
-**/\r
+  This protocol  provices the parent dispatch service for the standby button SMI source generator.\r
+  Provides the ability to install child handlers for the given event types.\r
+ **/\r
 struct _EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL {\r
-  EFI_SMM_STANDBY_BUTTON_REGISTER   Register;\r
+  ///\r
+  /// Installs a child service to be dispatched by this protocol.\r
+  ///\r
+  EFI_SMM_STANDBY_BUTTON_REGISTER   Register;\\r
+  ///\r
+  /// Removes a child service dispatched by this protocol.\r
+  ///\r
   EFI_SMM_STANDBY_BUTTON_UNREGISTER UnRegister;\r
 };\r
 \r