]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/DriverHealth.h
Update the copyright notice format
[mirror_edk2.git] / MdePkg / Include / Protocol / DriverHealth.h
index f7bf0b857e4fe62e7c404b2d8351703d676666ba..24bb5bc1ee5502d3110926d21abafe13d7dcb343 100644 (file)
@@ -1,8 +1,27 @@
 /** @file\r
-  EFI Driver Health Protocol\r
+  EFI Driver Health Protocol definitions.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
+  When installed, the Driver Health Protocol produces a collection of services that allow\r
+  the health status for a controller to be retrieved. If a controller is not in a usable\r
+  state, status messages may be reported to the user, repair operations can be invoked,\r
+  and the user may be asked to make software and/or hardware configuration changes.\r
+  \r
+  The Driver Health Protocol is optionally produced by a driver that follows the \r
+  EFI Driver Model.  If an EFI Driver needs to report health status to the platform, \r
+  provide warning or error messages to the user, perform length repair operations, \r
+  or request the user to make hardware or software configuration changes, then the \r
+  Driver Health Protocol must be produced.\r
\r
+  A controller that is managed by driver that follows the EFI Driver Model and \r
+  produces the Driver Health Protocol must report the current health of the \r
+  controllers that the driver is currently managing.  The controller can initially \r
+  be healthy, failed, require repair, or require configuration.  If a controller \r
+  requires configuration, and the user make configuration changes, the controller \r
+  may then need to be reconnected or the system may need to be rebooted for the \r
+  configuration changes to take affect. \r
+\r
+  Copyright (c) 2009, 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
@@ -10,6 +29,9 @@
   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
+  @par Revision Reference:\r
+  This Protocol is defined in UEFI Specification 2.2 \r
+\r
 **/\r
 \r
 #ifndef __EFI_DRIVER_HEALTH_H__\r
@@ -32,7 +54,7 @@ typedef enum {
   EfiDriverHealthStatusFailed,\r
   EfiDriverHealthStatusReconnectRequired,\r
   EfiDriverHealthStatusRebootRequired\r
-} EFI_DRIVER_HEALTH_HEALTH_STATUS;\r
+} EFI_DRIVER_HEALTH_STATUS;\r
 \r
 ///\r
 /// EFI_DRIVER_HEALTH_HII_MESSAGE\r
@@ -46,15 +68,25 @@ typedef struct {
 /**\r
   Reports the progress of a repair operation\r
 \r
-  @param  Value            A value between 0 and Limit that identifies the current \r
-                           progress of the repair operation.\r
+  @param[in]  Value             A value between 0 and Limit that identifies the current \r
+                                progress of the repair operation.\r
   \r
-  @param  Limit            The maximum value of Value for the current repair operation.\r
-                           For example, a driver that wants to specify progress in \r
-                           percent would use a Limit value of 100.\r
+  @param[in]  Limit             The maximum value of Value for the current repair operation.\r
+                                For example, a driver that wants to specify progress in \r
+                                percent would use a Limit value of 100.\r
+  \r
+  @retval EFI_SUCCESS           An attempt to repair the controller specified by\r
+                                ControllerHandle and ChildHandle was performed. The\r
+                                result of the repair operation can bet determined by\r
+                                calling GetHealthStatus().\r
+  @retval EFI_UNSUPPORTED       The driver specified by This is not currently managing the\r
+                                controller specified by ControllerHandle and\r
+                                ChildHandle.\r
+  @retval EFI_OUT_OF_RESOURCES  There are not enough resources to perform the repair operation.\r
+\r
 **/\r
 typedef\r
-VOID\r
+EFI_STATUS\r
 (EFIAPI *EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY)(\r
   IN UINTN  Value,\r
   IN UINTN  Limit\r
@@ -65,64 +97,51 @@ VOID
   optionally return warning messages, error messages, and a set of HII Forms that may \r
   be repair a controller that is not proper configured. \r
   \r
-  @param  This             A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.\r
-\r
-  @param  ControllerHandle The handle of the controller to retrieve the health status \r
-                           on.  This is an optional parameter that may be NULL.  If \r
-                           this parameter is NULL, then the value of ChildHandle is \r
-                           ignored, and the combined health status of all the devices \r
-                           that the driver is managing is returned.\r
-\r
-  @param  ChildHandle      The handle of the child controller to retrieve the health \r
-                           status on.  This is an optional parameter that may be NULL.  \r
-                           This parameter is ignored of ControllerHandle is NULL.  It \r
-                           will be NULL for device drivers.  It will also be NULL for \r
-                           bus drivers when an attempt is made to collect the health \r
-                           status of the bus controller.  If will not be NULL when an \r
-                           attempt is made to collect the health status for a child \r
-                           controller produced by the driver.\r
-\r
-  @param  HealthStatus     A pointer to the health status that is returned by this \r
-                           function.  This is an optional parameter that may be NULL.  \r
-                           This parameter is ignored of ControllerHandle is NULL.  \r
-                           The health status for the controller specified by \r
-                           ControllerHandle and ChildHandle is returned. \r
-\r
-  @param  MessageList      A pointer to an array of warning or error messages associated \r
-                           with the controller specified by ControllerHandle and \r
-                           ChildHandle.  This is an optional parameter that may be NULL.  \r
-                           MessageList is allocated by this function with the EFI Boot \r
-                           Service AllocatePool(), and it is the caller's responsibility \r
-                           to free MessageList with the EFI Boot Service FreePool().  \r
-                           Each message is specified by tuple of an EFI_HII_HANDLE and \r
-                           an EFI_STRING_ID.  The array of messages is terminated by tuple \r
-                           containing a EFI_HII_HANDLE with a value of NULL.  The \r
-                           EFI_HII_STRING_PROTOCOL.GetString() function can be used to \r
-                           retrieve the warning or error message as a Null-terminated \r
-                           Unicode string in a specific language.  Messages may be \r
-                           returned for any of the HealthStatus values except \r
-                           EfiDriverHealthStatusReconnectRequired and \r
-                           EfiDriverHealthStatusRebootRequired.\r
-\r
-  @param  FormHiiHandle    A pointer to the HII handle for an HII form associated with the \r
-                           controller specified by ControllerHandle and ChildHandle.  \r
-                           This is an optional parameter that may be NULL.  An HII form \r
-                           is specified by a combination of an EFI_HII_HANDLE and an \r
-                           EFI_GUID that identifies the Form Set GUID.  The \r
-                           EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used \r
-                           to display and allow the user to make configuration changes \r
-                           to the HII Form.  An HII form may only be returned with a \r
-                           HealthStatus value of EfiDriverHealthStatusConfigurationRequired.\r
-\r
-  @param  FormSetGuid      A pointer to the GUID for an HII form associated with the \r
-                           controller specified by ControllerHandle and ChildHandle.  \r
-                           This is an optional parameter that may be NULL.  An HII form \r
-                           is specified by a combination of an EFI_HII_HANDLE and an \r
-                           EFI_GUID that identifies the Form Set GUID.  The \r
-                           EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used \r
-                           to display and allow the user to make configuration changes \r
-                           to the HII Form.  An HII form may only be returned with a \r
-                           HealthStatus value of EfiDriverHealthStatusConfigurationRequired.\r
+  @param[in] This             A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.\r
+\r
+  @param[in] ControllerHandle The handle of the controller to retrieve the health status \r
+                              on.  This is an optional parameter that may be NULL.  If \r
+                              this parameter is NULL, then the value of ChildHandle is \r
+                              ignored, and the combined health status of all the devices \r
+                              that the driver is managing is returned.\r
+\r
+  @param[in] ChildHandle      The handle of the child controller to retrieve the health \r
+                              status on.  This is an optional parameter that may be NULL.  \r
+                              This parameter is ignored of ControllerHandle is NULL.  It \r
+                              will be NULL for device drivers.  It will also be NULL for \r
+                              bus drivers when an attempt is made to collect the health \r
+                              status of the bus controller.  If will not be NULL when an \r
+                              attempt is made to collect the health status for a child \r
+                              controller produced by the driver.\r
+\r
+  @param[out] HealthStatus    A pointer to the health status that is returned by this \r
+                              function.  This is an optional parameter that may be NULL.  \r
+                              This parameter is ignored of ControllerHandle is NULL.  \r
+                              The health status for the controller specified by \r
+                              ControllerHandle and ChildHandle is returned. \r
+\r
+  @param[out] MessageList     A pointer to an array of warning or error messages associated \r
+                              with the controller specified by ControllerHandle and \r
+                              ChildHandle.  This is an optional parameter that may be NULL.  \r
+                              MessageList is allocated by this function with the EFI Boot \r
+                              Service AllocatePool(), and it is the caller's responsibility \r
+                              to free MessageList with the EFI Boot Service FreePool().  \r
+                              Each message is specified by tuple of an EFI_HII_HANDLE and \r
+                              an EFI_STRING_ID.  The array of messages is terminated by tuple \r
+                              containing a EFI_HII_HANDLE with a value of NULL.  The \r
+                              EFI_HII_STRING_PROTOCOL.GetString() function can be used to \r
+                              retrieve the warning or error message as a Null-terminated \r
+                              Unicode string in a specific language.  Messages may be \r
+                              returned for any of the HealthStatus values except \r
+                              EfiDriverHealthStatusReconnectRequired and \r
+                              EfiDriverHealthStatusRebootRequired.\r
+\r
+  @param[out] FormHiiHandle   A pointer to the HII handle containing the HII form used when \r
+                              configuration is required. The HII handle is associated with \r
+                              the controller specified by ControllerHandle and ChildHandle.\r
+                              If this is NULL, then no HII form is available. An HII handle\r
+                              will only be returned with a HealthStatus value of \r
+                              EfiDriverHealthStatusConfigurationRequired.\r
 \r
   @retval EFI_SUCCESS           ControllerHandle is NULL, and all the controllers \r
                                 managed by this driver specified by This have a health \r
@@ -149,13 +168,13 @@ VOID
                                 returned in MessageList, and a list of HII Forms \r
                                 may be optionally returned in FormList.\r
 \r
-  @retval EFI_UNSUPPORTED            ControllerHandle is not NULL, and the controller \r
+  @retval EFI_UNSUPPORTED       ControllerHandle is not NULL, and the controller \r
                                 specified by ControllerHandle and ChildHandle is not \r
                                 currently being managed by the driver specified by This.\r
 \r
-  @retval EFI_INVALID_PARAMETER        HealthStatus is NULL.\r
+  @retval EFI_INVALID_PARAMETER HealthStatus is NULL.\r
 \r
-  @retval EFI_OUT_OF_RESOURCES MessageList is not NULL, and there are not enough \r
+  @retval EFI_OUT_OF_RESOURCES  MessageList is not NULL, and there are not enough \r
                                 resource available to allocate memory for MessageList.\r
 \r
 **/\r
@@ -163,40 +182,38 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_DRIVER_HEALTH_GET_HEALTH_STATUS)(\r
   IN  EFI_DRIVER_HEALTH_PROTOCOL       *This,\r
-  IN  EFI_HANDLE                       ControllerHandle  OPTIONAL,\r
-  IN  EFI_HANDLE                       ChildHandle       OPTIONAL,\r
-  OUT EFI_DRIVER_HEALTH_HEALTH_STATUS  *HealthStatus,\r
-  OUT EFI_DRIVER_HEALTH_HII_MESSAGE    **MessageList     OPTIONAL,\r
-  OUT EFI_HII_HANDLE                   *FormHiiHandle    OPTIONAL,\r
-  OUT EFI_GUID                         **FormSetGuid     OPTIONAL\r
+  IN  EFI_HANDLE                       ControllerHandle OPTIONAL,\r
+  IN  EFI_HANDLE                       ChildHandle      OPTIONAL,\r
+  OUT EFI_DRIVER_HEALTH_STATUS         *HealthStatus,\r
+  OUT EFI_DRIVER_HEALTH_HII_MESSAGE    **MessageList    OPTIONAL,\r
+  OUT EFI_HII_HANDLE                   *FormHiiHandle   OPTIONAL\r
   );\r
 \r
 /**\r
   Performs a repair operation on a controller in the platform.  This function can \r
   optionally report repair progress information back to the platform. \r
   \r
-  @param  This             A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.\r
-  @param  ControllerHandle The handle of the controller to repair.\r
-  @param  ChildHandle      The handle of the child controller to repair.  This is \r
-                           an optional parameter that may be NULL.  It will be NULL \r
-                           for device drivers.  It will also be NULL for bus \r
-                           drivers when an attempt is made to repair a bus controller.\r
-                           If will not be NULL when an attempt is made to repair a \r
-                           child controller produced by the driver.\r
-  @param  ProgressNotification\r
-                           A notification function that may be used by a driver to \r
-                           report the progress of the repair operation.  This is \r
-                           an optional parameter that may be NULL.  \r
-\r
-\r
-  @retval EFI_SUCCESS            An attempt to repair the controller specified by \r
+  @param[in] This                  A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.\r
+  @param[in] ControllerHandle      The handle of the controller to repair.\r
+  @param[in] ChildHandle           The handle of the child controller to repair.  This is \r
+                                   an optional parameter that may be NULL.  It will be NULL \r
+                                   for device drivers.  It will also be NULL for bus \r
+                                   drivers when an attempt is made to repair a bus controller.\r
+                                   If will not be NULL when an attempt is made to repair a \r
+                                   child controller produced by the driver.\r
+  @param[in] ProgressNotification  A notification function that may be used by a driver to \r
+                                   report the progress of the repair operation.  This is \r
+                                   an optional parameter that may be NULL.  \r
+\r
+\r
+  @retval EFI_SUCCESS           An attempt to repair the controller specified by \r
                                 ControllerHandle and ChildHandle was performed.  \r
                                 The result of the repair operation can bet \r
                                 determined by calling GetHealthStatus().\r
-  @retval EFI_UNSUPPORTED            The driver specified by This is not currently \r
+  @retval EFI_UNSUPPORTED       The driver specified by This is not currently \r
                                 managing the controller specified by ControllerHandle \r
                                 and ChildHandle.\r
-  @retval EFI_OUT_OF_RESOURCES There are not enough resources to perform the \r
+  @retval EFI_OUT_OF_RESOURCES  There are not enough resources to perform the \r
                                 repair operation.\r
 \r
 */\r
@@ -205,34 +222,17 @@ EFI_STATUS
 (EFIAPI *EFI_DRIVER_HEALTH_REPAIR)(\r
   IN  EFI_DRIVER_HEALTH_PROTOCOL                *This,\r
   IN  EFI_HANDLE                                ControllerHandle,\r
-  IN  EFI_HANDLE                                ChildHandle           OPTIONAL,\r
-  IN  EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY  ProgressNotification  OPTIONAL\r
+  IN  EFI_HANDLE                                ChildHandle          OPTIONAL,\r
+  IN  EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY  ProgressNotification OPTIONAL\r
   );\r
 \r
-/**\r
-  When installed, the Driver Health Protocol produces a collection of services \r
-  that allow the health status for a controller to be retrieved.  If a controller \r
-  is not in a usable state, status messages may be reported to the user, repair \r
-  operations can be invoked, and the user may be asked to make software and/or \r
-  hardware configuration changes. \r
-\r
-  @par Protocol Description:\r
-  The Driver Health Protocol is optionally produced by a driver that follows the \r
-  EFI Driver Model.  If an EFI Driver needs to report health status to the platform, \r
-  provide warning or error messages to the user, perform length repair operations, \r
-  or request the user to make hardware or software configuration changes, then the \r
-  Driver Health Protocol must be produced.\r
-  \r
-  A controller that is managed by driver that follows the EFI Driver Model and \r
-  produces the Driver Health Protocol must report the current health of the \r
-  controllers that the driver is currently managing.  The controller can initially \r
-  be healthy, failed, require repair, or require configuration.  If a controller \r
-  requires configuration, and the user make configuration changes, the controller \r
-  may then need to be reconnected or the system may need to be rebooted for the \r
-  configuration changes to take affect.  Figure 2-1 below shows all the possible \r
-  health states of a controller and the legal transitions between the health states. \r
-\r
-**/\r
+///\r
+/// When installed, the Driver Health Protocol produces a collection of services\r
+/// that allow the health status for a controller to be retrieved.  If a controller \r
+/// is not in a usable state, status messages may be reported to the user, repair \r
+/// operations can be invoked, and the user may be asked to make software and/or \r
+/// hardware configuration changes. \r
+///\r
 struct _EFI_DRIVER_HEALTH_PROTOCOL {\r
   EFI_DRIVER_HEALTH_GET_HEALTH_STATUS  GetHealthStatus;\r
   EFI_DRIVER_HEALTH_REPAIR             Repair;\r