-/*++\r
+/** @file\r
+ Copyright (c) 2006, 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
-Copyright (c) 2006, 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
+ 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:\r
-\r
- DriverDiagnostics.c\r
-\r
-Abstract:\r
-\r
---*/\r
+**/\r
\r
#include "idebus.h"\r
\r
"eng"\r
};\r
\r
+/**\r
+ Runs diagnostics on a controller.\r
+\r
+ @param This A pointer to the EFI_DRIVER_DIAGNOSTICS_PROTOCOL\r
+ instance.\r
+ @param ControllerHandle The handle of the controller to run diagnostics on.\r
+ @param ChildHandle The handle of the child controller to run diagnostics on\r
+ This is an optional parameter that may be NULL. It will\r
+ be NULL for device drivers. It will also be NULL for a\r
+ bus drivers that wish to run diagnostics on the bus\r
+ controller. It will not be NULL for a bus driver that\r
+ wishes to run diagnostics on one of its child\r
+ controllers.\r
+ @param DiagnosticType Indicates type of diagnostics to perform on the\r
+ controller specified by ControllerHandle and ChildHandle.\r
+ See "Related Definitions" for the list of supported\r
+ types.\r
+ @param Language A pointer to a three character ISO 639-2 language\r
+ identifier. This is the language in which the optional\r
+ error message should be returned in Buffer, and it must\r
+ match one of the languages specified in\r
+ SupportedLanguages. The number of languages supported by\r
+ a driver is up to the driver writer.\r
+ @param ErrorType A GUID that defines the format of the data returned in\r
+ Buffer.\r
+ @param BufferSize The size, in bytes, of the data returned in Buffer.\r
+ @param Buffer A buffer that contains a Null-terminated Unicode string\r
+ plus some additional data whose format is defined by\r
+ ErrorType. Buffer is allocated by this function with\r
+ AllocatePool(), and it is the caller's responsibility\r
+ to free it with a call to FreePool().\r
+\r
+ @retval EFI_SUCCESS The controller specified by ControllerHandle and\r
+ ChildHandle passed the diagnostic.\r
+ @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
+ EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER Language is NULL.\r
+ @retval EFI_INVALID_PARAMETER ErrorType is NULL.\r
+ @retval EFI_INVALID_PARAMETER BufferType is NULL.\r
+ @retval EFI_INVALID_PARAMETER Buffer is NULL.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support\r
+ running diagnostics for the controller specified\r
+ by ControllerHandle and ChildHandle.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
+ type of diagnostic specified by DiagnosticType.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
+ language specified by Language.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete\r
+ the diagnostics.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to return\r
+ the status information in ErrorType, BufferSize,\r
+ and Buffer.\r
+ @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and\r
+ ChildHandle did not pass the diagnostic.\r
+\r
+**/\r
EFI_STATUS\r
IDEBusDriverDiagnosticsRunDiagnostics (\r
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *This,\r
OUT UINTN *BufferSize,\r
OUT CHAR16 **Buffer\r
)\r
-/*++\r
-\r
- Routine Description:\r
- Runs diagnostics on a controller.\r
-\r
- Arguments:\r
- This - A pointer to the EFI_DRIVER_DIAGNOSTICS_PROTOCOL \r
- instance.\r
- ControllerHandle - The handle of the controller to run diagnostics on.\r
- ChildHandle - The handle of the child controller to run diagnostics on \r
- This is an optional parameter that may be NULL. It will \r
- be NULL for device drivers. It will also be NULL for a \r
- bus drivers that wish to run diagnostics on the bus \r
- controller. It will not be NULL for a bus driver that \r
- wishes to run diagnostics on one of its child \r
- controllers.\r
- DiagnosticType - Indicates type of diagnostics to perform on the \r
- controller specified by ControllerHandle and ChildHandle.\r
- See "Related Definitions" for the list of supported \r
- types.\r
- Language - A pointer to a three character ISO 639-2 language \r
- identifier. This is the language in which the optional \r
- error message should be returned in Buffer, and it must \r
- match one of the languages specified in \r
- SupportedLanguages. The number of languages supported by\r
- a driver is up to the driver writer.\r
- ErrorType - A GUID that defines the format of the data returned in \r
- Buffer. \r
- BufferSize - The size, in bytes, of the data returned in Buffer. \r
- Buffer - A buffer that contains a Null-terminated Unicode string \r
- plus some additional data whose format is defined by \r
- ErrorType. Buffer is allocated by this function with \r
- AllocatePool(), and it is the caller's responsibility \r
- to free it with a call to FreePool(). \r
-\r
- Returns:\r
- EFI_SUCCESS - The controller specified by ControllerHandle and \r
- ChildHandle passed the diagnostic.\r
- EFI_INVALID_PARAMETER - ControllerHandle is not a valid EFI_HANDLE.\r
- EFI_INVALID_PARAMETER - ChildHandle is not NULL and it is not a valid \r
- EFI_HANDLE.\r
- EFI_INVALID_PARAMETER - Language is NULL.\r
- EFI_INVALID_PARAMETER - ErrorType is NULL.\r
- EFI_INVALID_PARAMETER - BufferType is NULL.\r
- EFI_INVALID_PARAMETER - Buffer is NULL.\r
- EFI_UNSUPPORTED - The driver specified by This does not support \r
- running diagnostics for the controller specified \r
- by ControllerHandle and ChildHandle.\r
- EFI_UNSUPPORTED - The driver specified by This does not support the \r
- type of diagnostic specified by DiagnosticType.\r
- EFI_UNSUPPORTED - The driver specified by This does not support the \r
- language specified by Language.\r
- EFI_OUT_OF_RESOURCES - There are not enough resources available to complete\r
- the diagnostics.\r
- EFI_OUT_OF_RESOURCES - There are not enough resources available to return\r
- the status information in ErrorType, BufferSize, \r
- and Buffer.\r
- EFI_DEVICE_ERROR - The controller specified by ControllerHandle and \r
- ChildHandle did not pass the diagnostic.\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
EFI_PCI_IO_PROTOCOL *PciIo;\r