/** @file\r
- EFI Driver Diagnostics Protocol\r
+ UEFI Driver Diagnostics2 Protocol\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
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
{ \\r
0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63 } \\r
}\r
- \r
+\r
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;\r
\r
/**\r
Runs diagnostics on a controller.\r
\r
- @param This A pointer to the EFI_DRIVER_DIAGNOSTICS_PROTOCOL instance.\r
+ @param This A pointer to the EFI_DRIVER_DIAGNOSTICS2_PROTOCOL 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
+ be NULL for device drivers. It will also be NULL for\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 controllers.\r
- @param DiagnosticType Indicates type of diagnostics to perform on the controller\r
+ @param DiagnosticType Indicates the type of diagnostics to perform on the controller\r
specified by ControllerHandle and ChildHandle. See\r
"Related Definitions" for the list of supported 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 SupportedLanguages.\r
- The number of languages supported by a driver is up to\r
- the driver writer.\r
+ @param Language A pointer to a Null-terminated ASCII string\r
+ array indicating the language. This is the\r
+ language of the driver name that the caller\r
+ is requesting, and it must match one of the\r
+ languages specified in SupportedLanguages.\r
+ The number of languages supported by a\r
+ driver is up to the driver writer. Language\r
+ is specified in RFC 4646 language code format.\r
@param ErrorType A GUID that defines the format of the data returned in 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
\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_ACCESS_DENIED The request for initiating diagnostics was unable\r
+ to be complete due to some underlying hardware or\r
+ software state.\r
+ @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.\r
@retval EFI_INVALID_PARAMETER Language is NULL.\r
@retval EFI_INVALID_PARAMETER ErrorType is NULL.\r
OUT CHAR16 **Buffer\r
);\r
\r
-\r
-//\r
-//\r
-\r
-/**\r
- Interface structure for the Driver Diagnostics Protocol.\r
-\r
- @par Protocol Description:\r
- Used to perform diagnostics on a controller that an EFI Driver is managing.\r
-\r
- @param RunDiagnostics Runs diagnostics on a controller.\r
- @param SupportedLanguages A Null-terminated ASCII string that\r
- contains one or more RFC 3066\r
- language codes. This is the list\r
- of language codes that this\r
- protocol supports.\r
-\r
-**/\r
+///\r
+/// Used to perform diagnostics on a controller that an EFI Driver is managing.\r
+///\r
struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {\r
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more RFC 4646\r
+ /// language codes. This is the list of language codes that this protocol supports.\r
+ ///\r
CHAR8 *SupportedLanguages;\r
};\r
\r