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

Data Structures

struct  _EFI_DRIVER_DIAGNOSTICS_PROTOCOL
 

Macros

#define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_DRIVER_DIAGNOSTICS_PROTOCOL 
EFI_DRIVER_DIAGNOSTICS_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS )(IN EFI_DRIVER_DIAGNOSTICS_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)
 

Enumerations

enum  EFI_DRIVER_DIAGNOSTIC_TYPE {
  EfiDriverDiagnosticTypeStandard = 0, EfiDriverDiagnosticTypeExtended = 1, EfiDriverDiagnosticTypeManufacturing = 2, EfiDriverDiagnosticTypeCancel = 3,
  EfiDriverDiagnosticTypeMaximum
}
 

Variables

EFI_GUID gEfiDriverDiagnosticsProtocolGuid
 

Detailed Description

EFI Driver Diagnostics Protocol

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

Macro Definition Documentation

#define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID
Value:
{ \
0x0784924f, 0xe296, 0x11d4, {0x9a, 0x49, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
}

The global ID for the Driver Diagnostics Protocol as defined in EFI 1.1.

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS)(IN EFI_DRIVER_DIAGNOSTICS_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_DIAGNOSTICS_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 a 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 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 three character ISO 639-2 language identifier. This is the language in which the optional error message should be returned in Buffer, 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.
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 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_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.

Enumeration Type Documentation

Enumerator
EfiDriverDiagnosticTypeStandard 

Performs standard diagnostics on the controller.

EfiDriverDiagnosticTypeExtended 

This is an optional diagnostic type that performs diagnostics on the controller that may take an extended amount of time to execute.

EfiDriverDiagnosticTypeManufacturing 

This is an optional diagnostic type that performs diagnostics on the controller that are suitable for a manufacturing and test environment.

EfiDriverDiagnosticTypeCancel 

This is an optional diagnostic type that would only be used in the situation where an EFI_NOT_READY had been returned by a previous call to RunDiagnostics() and there is a desire to cancel the current running diagnostics operation.

EfiDriverDiagnosticTypeMaximum 

Variable Documentation

EFI_GUID gEfiDriverDiagnosticsProtocolGuid