TianoCore EDK2 master
Loading...
Searching...
No Matches
TcgConfigImpl.c File Reference
#include "TcgConfigImpl.h"

Go to the source code of this file.

Functions

EFI_STATUS GetTpmState (IN EFI_TCG_PROTOCOL *TcgProtocol, OUT BOOLEAN *TpmEnable OPTIONAL, OUT BOOLEAN *TpmActivate OPTIONAL)
 
EFI_STATUS EFIAPI TcgExtractConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
 
EFI_STATUS EFIAPI TcgRouteConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
 
EFI_STATUS SavePpRequest (IN UINT8 PpRequest)
 
EFI_STATUS EFIAPI TcgCallback (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
 
EFI_STATUS InstallTcgConfigForm (IN OUT TCG_CONFIG_PRIVATE_DATA *PrivateData)
 
VOID UninstallTcgConfigForm (IN OUT TCG_CONFIG_PRIVATE_DATA *PrivateData)
 

Variables

CHAR16 mTcgStorageName [] = L"TCG_CONFIGURATION"
 
TCG_CONFIG_PRIVATE_DATA mTcgConfigPrivateDateTemplate
 
HII_VENDOR_DEVICE_PATH mTcgHiiVendorDevicePath
 

Detailed Description

HII Config Access protocol implementation of TCG configuration module.

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

Definition in file TcgConfigImpl.c.

Function Documentation

◆ GetTpmState()

EFI_STATUS GetTpmState ( IN EFI_TCG_PROTOCOL TcgProtocol,
OUT BOOLEAN *TpmEnable  OPTIONAL,
OUT BOOLEAN *TpmActivate  OPTIONAL 
)

Get current state of TPM device.

Parameters
[in]TcgProtocolPoint to EFI_TCG_PROTOCOL instance.
[out]TpmEnableFlag to indicate TPM is enabled or not.
[out]TpmActivateFlag to indicate TPM is activated or not.
Return values
EFI_SUCCESSState is successfully returned.
EFI_DEVICE_ERRORFailed to get TPM response.
OthersOther errors as indicated.

Definition at line 57 of file TcgConfigImpl.c.

◆ InstallTcgConfigForm()

EFI_STATUS InstallTcgConfigForm ( IN OUT TCG_CONFIG_PRIVATE_DATA PrivateData)

This function publish the TCG configuration Form for TPM device.

Parameters
[in,out]PrivateDataPoints to TCG configuration private data.
Return values
EFI_SUCCESSHII Form is installed for this network device.
EFI_OUT_OF_RESOURCESNot enough resource for HII Form installation.
OthersOther errors as indicated.

Definition at line 413 of file TcgConfigImpl.c.

◆ SavePpRequest()

EFI_STATUS SavePpRequest ( IN UINT8  PpRequest)

Save TPM request to variable space.

Parameters
[in]PpRequestPhysical Presence request command.
Return values
EFI_SUCCESSThe operation is finished successfully.
OthersOther errors as indicated.

Definition at line 298 of file TcgConfigImpl.c.

◆ TcgCallback()

EFI_STATUS EFIAPI TcgCallback ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN EFI_BROWSER_ACTION  Action,
IN EFI_QUESTION_ID  QuestionId,
IN UINT8  Type,
IN EFI_IFR_TYPE_VALUE Value,
OUT EFI_BROWSER_ACTION_REQUEST *  ActionRequest 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ActionSpecifies the type of action taken by the browser.
[in]QuestionIdA unique value which is sent to the original exporting driver so that it can identify the type of data to expect.
[in]TypeThe type of value for the question.
[in]ValueA pointer to the data being sent to the original exporting driver.
[out]ActionRequestOn return, points to the action requested by the callback function.
Return values
EFI_SUCCESSThe callback successfully handled the action.
EFI_OUT_OF_RESOURCESNot enough storage is available to hold the variable and its data.
EFI_DEVICE_ERRORThe variable could not be saved.
EFI_UNSUPPORTEDThe specified Action is not supported by the callback.

Definition at line 360 of file TcgConfigImpl.c.

◆ TcgExtractConfig()

EFI_STATUS EFIAPI TcgExtractConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Request,
OUT EFI_STRING *  Progress,
OUT EFI_STRING *  Results 
)

This function allows a caller to extract the current configuration for one or more named elements from the target driver.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]RequestA null-terminated Unicode string in <ConfigRequest> format.
[out]ProgressOn return, points to a character in the Request string. Points to the string's null terminator if request was successful. Points to the most recent '&' before the first failing name/value pair (or the beginning of the string if the failure is in the first name/value pair) if the request was not successful.
[out]ResultsA null-terminated Unicode string in <ConfigAltResp> format which has all values filled in for the names in the Request string. String to be allocated by the called function.
Return values
EFI_SUCCESSThe Results is filled with the requested values.
EFI_OUT_OF_RESOURCESNot enough memory to store the results.
EFI_INVALID_PARAMETERRequest is illegal syntax, or unknown name.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 138 of file TcgConfigImpl.c.

◆ TcgRouteConfig()

EFI_STATUS EFIAPI TcgRouteConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Configuration,
OUT EFI_STRING *  Progress 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ConfigurationA null-terminated Unicode string in <ConfigResp> format.
[out]ProgressA pointer to a string filled in with the offset of the most recent '&' before the first failing name/value pair (or the beginning of the string if the failure is in the first name/value pair) or the terminating NULL if all was successful.
Return values
EFI_SUCCESSThe Results is processed successfully.
EFI_INVALID_PARAMETERConfiguration is NULL.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 251 of file TcgConfigImpl.c.

◆ UninstallTcgConfigForm()

VOID UninstallTcgConfigForm ( IN OUT TCG_CONFIG_PRIVATE_DATA PrivateData)

This function removes TCG configuration Form.

Parameters
[in,out]PrivateDataPoints to TCG configuration private data.

Definition at line 473 of file TcgConfigImpl.c.

Variable Documentation

◆ mTcgConfigPrivateDateTemplate

TCG_CONFIG_PRIVATE_DATA mTcgConfigPrivateDateTemplate
Initial value:
= {
TCG_CONFIG_PRIVATE_DATA_SIGNATURE,
{
}
}
EFI_STATUS EFIAPI TcgCallback(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
EFI_STATUS EFIAPI TcgExtractConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
EFI_STATUS EFIAPI TcgRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)

Definition at line 13 of file TcgConfigImpl.c.

◆ mTcgHiiVendorDevicePath

HII_VENDOR_DEVICE_PATH mTcgHiiVendorDevicePath
Initial value:
= {
{
{
{
(UINT8)(sizeof (VENDOR_DEVICE_PATH)),
(UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
TCG_CONFIG_FORM_SET_GUID
},
{
END_DEVICE_PATH_TYPE,
END_ENTIRE_DEVICE_PATH_SUBTYPE,
{
(UINT8)(END_DEVICE_PATH_LENGTH),
(UINT8)((END_DEVICE_PATH_LENGTH) >> 8)
}
}
}
#define HARDWARE_DEVICE_PATH
Definition: DevicePath.h:68
#define HW_VENDOR_DP
Definition: DevicePath.h:133

Definition at line 22 of file TcgConfigImpl.c.

◆ mTcgStorageName

CHAR16 mTcgStorageName[] = L"TCG_CONFIGURATION"

Definition at line 11 of file TcgConfigImpl.c.