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

Data Structures

struct  _EFI_DRIVER_CONFIGURATION2_PROTOCOL
 

Macros

#define EFI_DRIVER_CONFIGURATION2_PROTOCOL_GUID
 
#define EFI_DRIVER_CONFIGURATION_SAFE_DEFAULTS   0x00000000
 
#define EFI_DRIVER_CONFIGURATION_MANUFACTURING_DEFAULTS   0x00000001
 
#define EFI_DRIVER_CONFIGURATION_CUSTOM_DEFAULTS   0x00000002
 
#define EFI_DRIVER_CONFIGURATION_PERORMANCE_DEFAULTS   0x00000003
 

Typedefs

typedef struct
_EFI_DRIVER_CONFIGURATION2_PROTOCOL 
EFI_DRIVER_CONFIGURATION2_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_DRIVER_CONFIGURATION2_SET_OPTIONS )(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN CHAR8 *Language, OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired)
 
typedef EFI_STATUS(EFIAPIEFI_DRIVER_CONFIGURATION2_OPTIONS_VALID )(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle)
 
typedef EFI_STATUS(EFIAPIEFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS )(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN UINT32 DefaultType, OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired)
 

Enumerations

enum  EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED {
  EfiDriverConfigurationActionNone = 0, EfiDriverConfigurationActionStopController = 1, EfiDriverConfigurationActionRestartController = 2, EfiDriverConfigurationActionRestartPlatform = 3,
  EfiDriverConfigurationActionMaximum
}
 

Variables

EFI_GUID gEfiDriverConfiguration2ProtocolGuid
 

Detailed Description

UEFI Driver Configuration2 Protocol

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

Macro Definition Documentation

#define EFI_DRIVER_CONFIGURATION2_PROTOCOL_GUID
Value:
{ \
0xbfd7dc1d, 0x24f1, 0x40d9, {0x82, 0xe7, 0x2e, 0x09, 0xbb, 0x6b, 0x4e, 0xbe } \
}

Global ID for the Driver Configuration Protocol defined in UEFI 2.0

#define EFI_DRIVER_CONFIGURATION_CUSTOM_DEFAULTS   0x00000002
#define EFI_DRIVER_CONFIGURATION_MANUFACTURING_DEFAULTS   0x00000001
#define EFI_DRIVER_CONFIGURATION_PERORMANCE_DEFAULTS   0x00000003
#define EFI_DRIVER_CONFIGURATION_SAFE_DEFAULTS   0x00000000

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS)(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN UINT32 DefaultType, OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired)

Forces a driver to set the default configuration options for a controller.

Parameters
ThisA pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
ControllerHandleThe handle of the controller to force default configuration options on.
ChildHandleThe handle of the child controller to force default configuration options 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 force default configuration options for the bus controller. It will not be NULL for a bus driver that wishes to force default configuration options for one of its child controllers.
DefaultTypeThe type of default configuration options to force on the controller specified by ControllerHandle and ChildHandle. See Table 9-1 for legal values. A DefaultType of 0x00000000 must be supported by this protocol.
ActionRequiredA pointer to the action that the calling agent is required to perform when this function returns. See "Related Definitions" in Section 9.1 for a list of the actions that the calling agent is required to perform prior to accessing ControllerHandle again.
Return values
EFI_SUCCESSThe driver specified by This successfully forced the default configuration options on the controller specified by ControllerHandle and ChildHandle.
EFI_INVALID_PARAMETERControllerHandle is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERActionRequired is NULL.
EFI_UNSUPPORTEDThe driver specified by This does not support forcing the default configuration options on the controller specified by ControllerHandle and ChildHandle.
EFI_UNSUPPORTEDThe driver specified by This does not support the configuration type specified by DefaultType.
EFI_DEVICE_ERRORA device error occurred while attempt to force the default configuration options on the controller specified by ControllerHandle and ChildHandle.
EFI_OUT_RESOURCESThere are not enough resources available to force the default configuration options on the controller specified by ControllerHandle and ChildHandle.
typedef EFI_STATUS(EFIAPI * EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID)(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle)

Tests to see if a controller's current configuration options are valid.

Parameters
ThisA pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
ControllerHandleThe handle of the controller to test if it's current configuration options are valid.
ChildHandleThe handle of the child controller to test if it's current configuration options are valid. 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 test the configuration options for the bus controller. It will not be NULL for a bus driver that wishes to test configuration options for one of its child controllers.
Return values
EFI_SUCCESSThe controller specified by ControllerHandle and ChildHandle that is being managed by the driver specified by This has a valid set of configuration options.
EFI_INVALID_PARAMETERControllerHandle is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_UNSUPPORTEDThe driver specified by This is not currently managing the controller specified by ControllerHandle and ChildHandle.
EFI_DEVICE_ERRORThe controller specified by ControllerHandle and ChildHandle that is being managed by the driver specified by This has an invalid set of configuration options.
typedef EFI_STATUS(EFIAPI * EFI_DRIVER_CONFIGURATION2_SET_OPTIONS)(IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle, IN CHAR8 *Language, OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired)

Allows the user to set controller specific options for a controller that a driver is currently managing.

Parameters
ThisA pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
ControllerHandleThe handle of the controller to set options on.
ChildHandleThe handle of the child controller to set options on. This is an optional parameter that may be NULL. It will be NULL for device drivers, and for bus drivers that wish to set options for the bus controller. It will not be NULL for a bus driver that wishes to set options for one of its child controllers.
LanguageA Null-terminated ASCII string that contains one or more RFC 4646 language codes. This is the list of language codes that this protocol supports. The number of languages supported by a driver is up to the driver writer.
ActionRequiredA pointer to the action that the calling agent is required to perform when this function returns. See "Related Definitions" for a list of the actions that the calling agent is required to perform prior to accessing ControllerHandle again.
Return values
EFI_SUCCESSThe driver specified by This successfully set the configuration options for the controller specified by ControllerHandle.
EFI_INVALID_PARAMETERControllerHandle is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERActionRequired is NULL.
EFI_UNSUPPORTEDThe driver specified by This does not support setting configuration options for the controller specified by ControllerHandle and ChildHandle.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.
EFI_DEVICE_ERRORA device error occurred while attempting to set the configuration options for the controller specified by ControllerHandle and ChildHandle.
EFI_OUT_RESOURCESThere are not enough resources available to set the configuration options for the controller specified by ControllerHandle and ChildHandle.

Enumeration Type Documentation

Enumerator
EfiDriverConfigurationActionNone 

The controller is still in a usable state. No actions are required before this controller can be used again.

EfiDriverConfigurationActionStopController 

The driver has detected that the controller is not in a usable state, and it needs to be stopped.

EfiDriverConfigurationActionRestartController 

This controller needs to be stopped and restarted before it can be used again.

EfiDriverConfigurationActionRestartPlatform 

A configuration change has been made that requires the platform to be restarted before the controller can be used again.

EfiDriverConfigurationActionMaximum 

Variable Documentation

EFI_GUID gEfiDriverConfiguration2ProtocolGuid