MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
DriverDiagnostics2.h File Reference

Data Structures

struct  _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL
 

Macros

#define EFI_DRIVER_DIAGNOSTICS2_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_DRIVER_DIAGNOSTICS2_PROTOCOL 
EFI_DRIVER_DIAGNOSTICS2_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS )(IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN EFI_DRIVER_DIAGNOSTIC_TYPE DiagnosticType, IN CHAR8 *Language, OUT EFI_GUID **ErrorType, OUT UINTN *BufferSize, OUT CHAR16 **Buffer)
 

Variables

EFI_GUID gEfiDriverDiagnostics2ProtocolGuid
 

Detailed Description

UEFI Driver Diagnostics2 Protocol

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define EFI_DRIVER_DIAGNOSTICS2_PROTOCOL_GUID
Value:
{ \
0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63 } \
}

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS)(IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN EFI_DRIVER_DIAGNOSTIC_TYPE DiagnosticType, IN CHAR8 *Language, OUT EFI_GUID **ErrorType, OUT UINTN *BufferSize, OUT CHAR16 **Buffer)

Runs diagnostics on a controller.

Parameters
ThisA pointer to the EFI_DRIVER_DIAGNOSTICS2_PROTOCOL instance.
ControllerHandleThe handle of the controller to run diagnostics on.
ChildHandleThe handle of the child controller to run diagnostics on This is an optional parameter that may be NULL. It will be NULL for device drivers. It will also be NULL for bus drivers that wish to run diagnostics on the bus controller. It will not be NULL for a bus driver that wishes to run diagnostics on one of its child controllers.
DiagnosticTypeIndicates the type of diagnostics to perform on the controller specified by ControllerHandle and ChildHandle. See "Related Definitions" for the list of supported types.
LanguageA pointer to a Null-terminated ASCII string array indicating the language. This is the language of the driver name that the caller is requesting, and it must match one of the languages specified in SupportedLanguages. The number of languages supported by a driver is up to the driver writer. Language is specified in RFC 4646 language code format.
ErrorTypeA GUID that defines the format of the data returned in Buffer.
BufferSizeThe size, in bytes, of the data returned in Buffer.
BufferA buffer that contains a Null-terminated Unicode string plus some additional data whose format is defined by ErrorType. Buffer is allocated by this function with AllocatePool(), and it is the caller's responsibility to free it with a call to FreePool().
Return values
EFI_SUCCESSThe controller specified by ControllerHandle and ChildHandle passed the diagnostic.
EFI_ACCESS_DENIEDThe request for initiating diagnostics was unable to be complete due to some underlying hardware or software state.
EFI_INVALID_PARAMETERControllerHandle is NULL.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERLanguage is NULL.
EFI_INVALID_PARAMETERErrorType is NULL.
EFI_INVALID_PARAMETERBufferType is NULL.
EFI_INVALID_PARAMETERBuffer is NULL.
EFI_UNSUPPORTEDThe driver specified by This does not support running diagnostics for the controller specified by ControllerHandle and ChildHandle.
EFI_UNSUPPORTEDThe driver specified by This does not support the type of diagnostic specified by DiagnosticType.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.
EFI_OUT_OF_RESOURCESThere are not enough resources available to complete the diagnostics.
EFI_OUT_OF_RESOURCESThere are not enough resources available to return the status information in ErrorType, BufferSize, and Buffer.
EFI_DEVICE_ERRORThe controller specified by ControllerHandle and ChildHandle did not pass the diagnostic.

Variable Documentation

EFI_GUID gEfiDriverDiagnostics2ProtocolGuid