SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h File Reference


Data Structures

struct  VENDOR_DEVICE_PATH_WITH_DATA
struct  ISCSI_DEVICE_PATH_WITH_NAME
struct  POOL_PRINT
struct  DEVICE_PATH_STRING_TABLE
struct  SECUREBOOT_MENU_OPTION
struct  SECUREBOOT_MENU_ENTRY
struct  SECUREBOOT_FILE_CONTEXT
struct  EFI_IMAGE_SECURITY_DATA_DIRECTORY
struct  HII_VENDOR_DEVICE_PATH
struct  SECUREBOOT_CONFIG_PRIVATE_DATA
struct  _CPL_KEY_INFO
struct  HASH_TABLE
struct  WIN_CERTIFICATE_EFI_PKCS

Defines

#define MAX_CHAR   480
#define TWO_BYTE_ENCODE   0x82
#define SHA1_DIGEST_SIZE   20
#define SHA256_DIGEST_SIZE   32
#define SHA384_DIGEST_SIZE   48
#define SHA512_DIGEST_SIZE   64
#define MAX_DIGEST_SIZE   SHA512_DIGEST_SIZE
#define WIN_CERT_UEFI_RSA2048_SIZE   256
#define HASHALG_SHA1   0x00000000
#define HASHALG_SHA224   0x00000001
#define HASHALG_SHA256   0x00000002
#define HASHALG_SHA384   0x00000003
#define HASHALG_SHA512   0x00000004
#define HASHALG_RAW   0x00000005
#define HASHALG_MAX   0x00000005
#define SECUREBOOT_MENU_OPTION_SIGNATURE   SIGNATURE_32 ('S', 'b', 'M', 'u')
#define SECUREBOOT_MENU_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'b', 'M', 'r')
#define SECUREBOOT_CONFIG_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('S', 'E', 'C', 'B')
#define SECUREBOOT_CONFIG_PRIVATE_FROM_THIS(a)   CR (a, SECUREBOOT_CONFIG_PRIVATE_DATA, ConfigAccess, SECUREBOOT_CONFIG_PRIVATE_DATA_SIGNATURE)

Typedefs

typedef enum
_FILE_EXPLORER_DISPLAY_CONTEXT 
FILE_EXPLORER_DISPLAY_CONTEXT
typedef enum _FILE_EXPLORER_STATE FILE_EXPLORER_STATE
typedef VOID(* DEV_PATH_FUNCTION )(IN OUT POOL_PRINT *Str, IN VOID *DevPath)
typedef struct _CPL_KEY_INFO CPL_KEY_INFO
typedef EFI_STATUS(EFIAPI * HASH_GET_CONTEXT_SIZE )(VOID)
typedef BOOLEAN(EFIAPI * HASH_INIT )(IN OUT VOID *HashContext)
typedef BOOLEAN(EFIAPI * HASH_UPDATE )(IN OUT VOID *HashContext, IN CONST VOID *Data, IN UINTN DataLength)
typedef BOOLEAN(EFIAPI * HASH_FINAL )(IN OUT VOID *HashContext, OUT UINT8 *HashValue)

Enumerations

enum  _FILE_EXPLORER_DISPLAY_CONTEXT { FileExplorerDisplayFileSystem, FileExplorerDisplayDirectory, FileExplorerDisplayUnknown }
enum  _FILE_EXPLORER_STATE {
  FileExplorerStateInActive = 0, FileExplorerStateEnrollPkFile, FileExplorerStateEnrollKekFile, FileExplorerStateEnrollSignatureFileToDb,
  FileExplorerStateEnrollSignatureFileToDbx, FileExplorerStateEnrollSignatureFileToDbt, FileExplorerStateUnknown
}
enum  IMAGE_TYPE { ImageType_IA32, ImageType_X64 }

Functions

EFI_STATUS InstallSecureBootConfigForm (IN OUT SECUREBOOT_CONFIG_PRIVATE_DATA *PrivateData)
VOID UninstallSecureBootConfigForm (IN OUT SECUREBOOT_CONFIG_PRIVATE_DATA *PrivateData)
EFI_STATUS EFIAPI SecureBootExtractConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
EFI_STATUS EFIAPI SecureBootRouteConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
EFI_STATUS EFIAPI SecureBootCallback (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)
CHAR16 *EFIAPI DevicePathToStr (IN EFI_DEVICE_PATH_PROTOCOL *DevPath)
VOID CleanUpPage (IN UINT16 LabelId, IN SECUREBOOT_CONFIG_PRIVATE_DATA *PrivateData)
BOOLEAN UpdateFileExplorer (IN SECUREBOOT_CONFIG_PRIVATE_DATA *PrivateData, IN UINT16 KeyValue)
VOID FreeMenu (IN OUT SECUREBOOT_MENU_OPTION *MenuOption)
EFI_STATUS ReadFileContent (IN EFI_FILE_HANDLE FileHandle, IN OUT VOID **BufferPtr, OUT UINTN *FileSize, IN UINTN AddtionAllocateSize)
VOID CloseFile (IN EFI_FILE_HANDLE FileHandle)
EFI_STATUS EFIAPI Int2OctStr (IN CONST UINTN *Integer, IN UINTN IntSizeInWords, OUT UINT8 *OctetString, IN UINTN OSSizeInBytes)
EFI_STATUS StringToGuid (IN CHAR16 *Str, IN UINTN StrLen, OUT EFI_GUID *Guid)
UINTN GuidToString (IN EFI_GUID *Guid, IN CHAR16 *Buffer, IN UINTN BufferSize)

Variables

UINT8 SecureBootConfigBin []
UINT8 SecureBootConfigDxeStrings []
VOID * mStartOpCodeHandle
VOID * mEndOpCodeHandle
EFI_IFR_GUID_LABEL * mStartLabel
EFI_IFR_GUID_LABEL * mEndLabel
SECUREBOOT_MENU_OPTION FsOptionMenu
SECUREBOOT_MENU_OPTION DirectoryMenu
SECUREBOOT_CONFIG_PRIVATE_DATA mSecureBootConfigPrivateDateTemplate

Detailed Description

The header file of HII Config Access protocol implementation of SecureBoot configuration module.

Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define Documentation

#define HASHALG_MAX   0x00000005

#define HASHALG_RAW   0x00000005

#define HASHALG_SHA1   0x00000000

#define HASHALG_SHA224   0x00000001

#define HASHALG_SHA256   0x00000002

#define HASHALG_SHA384   0x00000003

#define HASHALG_SHA512   0x00000004

#define MAX_CHAR   480

Referenced by FindFileSystem().

#define MAX_DIGEST_SIZE   SHA512_DIGEST_SIZE

#define SECUREBOOT_CONFIG_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('S', 'E', 'C', 'B')

#define SECUREBOOT_CONFIG_PRIVATE_FROM_THIS (  )     CR (a, SECUREBOOT_CONFIG_PRIVATE_DATA, ConfigAccess, SECUREBOOT_CONFIG_PRIVATE_DATA_SIGNATURE)

#define SECUREBOOT_MENU_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'b', 'M', 'r')

#define SECUREBOOT_MENU_OPTION_SIGNATURE   SIGNATURE_32 ('S', 'b', 'M', 'u')

#define SHA1_DIGEST_SIZE   20

#define SHA256_DIGEST_SIZE   32

#define SHA384_DIGEST_SIZE   48

Referenced by HashPeImage(), and SetupEventLog().

#define SHA512_DIGEST_SIZE   64

Referenced by HashPeImage(), and SetupEventLog().

#define TWO_BYTE_ENCODE   0x82

#define WIN_CERT_UEFI_RSA2048_SIZE   256

Referenced by EnrollRsa2048ToKek().


Typedef Documentation

typedef struct _CPL_KEY_INFO CPL_KEY_INFO

typedef VOID(* DEV_PATH_FUNCTION)(IN OUT POOL_PRINT *Str, IN VOID *DevPath)

typedef BOOLEAN(EFIAPI * HASH_FINAL)(IN OUT VOID *HashContext, OUT UINT8 *HashValue)

Completes hash computation and retrieves the digest value into the specified memory. After this function has been called, the context cannot be used again.

If HashContext is NULL, then ASSERT(). If HashValue is NULL, then ASSERT().

Parameters:
[in,out] HashContext Pointer to the MD5 context
[out] HashValue Pointer to a buffer that receives the HASH digest value (16 bytes).
Return values:
TRUE HASH digest computation succeeded.
FALSE HASH digest computation failed.

typedef EFI_STATUS(EFIAPI * HASH_GET_CONTEXT_SIZE)(VOID)

Retrieves the size, in bytes, of the context buffer required for hash operations.

Returns:
The size, in bytes, of the context buffer required for hash operations.

typedef BOOLEAN(EFIAPI * HASH_INIT)(IN OUT VOID *HashContext)

Initializes user-supplied memory pointed by HashContext as hash context for subsequent use.

If HashContext is NULL, then ASSERT().

Parameters:
[in,out] HashContext Pointer to Context being initialized.
Return values:
TRUE HASH context initialization succeeded.
FALSE HASH context initialization failed.

typedef BOOLEAN(EFIAPI * HASH_UPDATE)(IN OUT VOID *HashContext, IN CONST VOID *Data, IN UINTN DataLength)

Performs digest on a data buffer of the specified length. This function can be called multiple times to compute the digest of long or discontinuous data streams.

If HashContext is NULL, then ASSERT().

Parameters:
[in,out] HashContext Pointer to the MD5 context.
[in] Data Pointer to the buffer containing the data to be hashed.
[in] DataLength Length of Data buffer in bytes.
Return values:
TRUE HASH data digest succeeded.
FALSE Invalid HASH context. After HashFinal function has been called, the HASH context cannot be reused.


Enumeration Type Documentation

Enumerator:
FileExplorerDisplayFileSystem 
FileExplorerDisplayDirectory 
FileExplorerDisplayUnknown 

Enumerator:
FileExplorerStateInActive 
FileExplorerStateEnrollPkFile 
FileExplorerStateEnrollKekFile 
FileExplorerStateEnrollSignatureFileToDb 
FileExplorerStateEnrollSignatureFileToDbx 
FileExplorerStateEnrollSignatureFileToDbt 
FileExplorerStateUnknown 

enum IMAGE_TYPE

Enumerator:
ImageType_IA32 
ImageType_X64 


Function Documentation

VOID CleanUpPage ( IN UINT16  LabelId,
IN SECUREBOOT_CONFIG_PRIVATE_DATA PrivateData 
)

Clean up the dynamic opcode at label and form specified by both LabelId.

Parameters:
[in] LabelId It is both the Form ID and Label ID for opcode deletion.
[in] PrivateData Module private data.

References gSecureBootConfigFormSetGuid, mEndOpCodeHandle, mStartLabel, mStartOpCodeHandle, and RefreshUpdateData().

Referenced by SecureBootCallback().

VOID CloseFile ( IN EFI_FILE_HANDLE  FileHandle  ) 

Close an open file handle.

Parameters:
[in] FileHandle The file handle to close.

Referenced by EnrollImageSignatureToSigDB(), EnrollPlatformKey(), EnrollRsa2048ToKek(), EnrollX509HashtoSigDB(), EnrollX509ToKek(), EnrollX509toSigDB(), and SecureBootCallback().

CHAR16* EFIAPI DevicePathToStr ( IN EFI_DEVICE_PATH_PROTOCOL *  DevPath  ) 

This function converts an input device structure to a Unicode string.

Parameters:
[in] DevPath A pointer to the device path structure.
Returns:
A new allocated Unicode string that represents the device path.

References TRUE.

Referenced by FindFileSystem().

VOID FreeMenu ( IN OUT SECUREBOOT_MENU_OPTION MenuOption  ) 

Free resources allocated in Allocate Rountine.

Parameters:
[in,out] MenuOption Menu to be freed

References DestroyMenuEntry(), SECUREBOOT_MENU_ENTRY::Link, and SECUREBOOT_MENU_ENTRY_SIGNATURE.

Referenced by SecureBootCallback(), UninstallSecureBootConfigForm(), and UpdateFileExplorer().

UINTN GuidToString ( IN EFI_GUID *  Guid,
IN CHAR16 *  Buffer,
IN UINTN  BufferSize 
)

Worker function that prints an EFI_GUID into specified Buffer.

Parameters:
[in] Guid Pointer to GUID to print.
[in] Buffer Buffer to print Guid into.
[in] BufferSize Size of Buffer.
Return values:
Number of characters printed.

References UINTN().

Referenced by UpdateDeletePage().

EFI_STATUS InstallSecureBootConfigForm ( IN OUT SECUREBOOT_CONFIG_PRIVATE_DATA PrivateData  ) 

This function publish the SecureBoot configuration Form.

Parameters:
[in,out] PrivateData Points to SecureBoot configuration private data.
Return values:
EFI_SUCCESS HII Form is installed successfully.
EFI_OUT_OF_RESOURCES Not enough resource for HII Form installation.
Others Other errors as indicated.

References DirectoryMenu, EFI_STATUS(), FileExplorerDisplayUnknown, FileExplorerStateInActive, FsOptionMenu, gSecureBootConfigFormSetGuid, SECUREBOOT_MENU_OPTION::Head, LABEL_END, mEndLabel, mEndOpCodeHandle, mStartLabel, mStartOpCodeHandle, SecureBootConfigBin, SecureBootConfigDxeStrings, and UninstallSecureBootConfigForm().

Referenced by SecureBootConfigDriverEntryPoint().

EFI_STATUS EFIAPI Int2OctStr ( IN CONST UINTN *  Integer,
IN UINTN  IntSizeInWords,
OUT UINT8 *  OctetString,
IN UINTN  OSSizeInBytes 
)

Converts a nonnegative integer to an octet string of a specified length.

Parameters:
[in] Integer Pointer to the nonnegative integer to be converted
[in] IntSizeInWords Length of integer buffer in words
[out] OctetString Converted octet string of the specified length
[in] OSSizeInBytes Intended length of resulting octet string in bytes
Returns:

Return values:
EFI_SUCCESS Data conversion successfully
EFI_BUFFER_TOOL_SMALL Buffer is too small for output string
Convert a nonnegative integer to an octet string of a specified length.

Parameters:
[in] Integer Pointer to the nonnegative integer to be converted
[in] IntSizeInWords Length of integer buffer in words
[out] OctetString Converted octet string of the specified length
[in] OSSizeInBytes Intended length of resulting octet string in bytes
Returns:

Return values:
EFI_SUCCESS Data conversion successfully
EFI_BUFFER_TOOL_SMALL Buffer is too small for output string

Referenced by EnrollRsa2048ToKek().

EFI_STATUS ReadFileContent ( IN EFI_FILE_HANDLE  FileHandle,
IN OUT VOID **  BufferPtr,
OUT UINTN *  FileSize,
IN UINTN  AddtionAllocateSize 
)

Read file content into BufferPtr, the size of the allocate buffer is *FileSize plus AddtionAllocateSize.

Parameters:
[in] FileHandle The file to be read.
[in,out] BufferPtr Pointers to the pointer of allocated buffer.
[out] FileSize Size of input file
[in] AddtionAllocateSize Addtion size the buffer need to be allocated. In case the buffer need to contain others besides the file content.
Return values:
EFI_SUCCESS The file was read into the buffer.
EFI_INVALID_PARAMETER A parameter was invalid.
EFI_OUT_OF_RESOURCES A memory allocation failed.
others Unexpected error.
Read file content into BufferPtr, the size of the allocate buffer is *FileSize plus AddtionAllocateSize.

Parameters:
[in] FileHandle The file to be read.
[in,out] BufferPtr Pointers to the pointer of allocated buffer.
[out] FileSize Size of input file
[in] AddtionAllocateSize Addtion size the buffer need to be allocated. In case the buffer need to contain others besides the file content.
Return values:
EFI_SUCCESS The file was read into the buffer.
EFI_INVALID_PARAMETER A parameter was invalid.
EFI_OUT_OF_RESOURCES A memory allocation failed.
others Unexpected error.

References EFI_STATUS(), and UINTN().

Referenced by CreatePkX509SignatureList(), EnrollImageSignatureToSigDB(), EnrollRsa2048ToKek(), EnrollX509HashtoSigDB(), EnrollX509ToKek(), EnrollX509toSigDB(), and IsX509CertInDbx().

EFI_STATUS EFIAPI SecureBootCallback ( 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] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in] Action Specifies the type of action taken by the browser.
[in] QuestionId A unique value which is sent to the original exporting driver so that it can identify the type of data to expect.
[in] Type The type of value for the question.
[in] Value A pointer to the data being sent to the original exporting driver.
[out] ActionRequest On return, points to the action requested by the callback function.
Return values:
EFI_SUCCESS The callback successfully handled the action.
EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
EFI_DEVICE_ERROR The variable could not be saved.
EFI_UNSUPPORTED The specified Action is not supported by the callback.
This function is called to provide results data to the driver.

Parameters:
[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in] Action Specifies the type of action taken by the browser.
[in] QuestionId A unique value which is sent to the original exporting driver so that it can identify the type of data to expect.
[in] Type The type of value for the question.
[in] Value A pointer to the data being sent to the original exporting driver.
[out] ActionRequest On return, points to the action requested by the callback function.
Return values:
EFI_SUCCESS The callback successfully handled the action.
EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
EFI_DEVICE_ERROR The variable could not be saved.
EFI_UNSUPPORTED The specified Action is not supported by the callback.

References CleanUpPage(), CloseFile(), CUSTOM_SECURE_BOOT_MODE, DeleteKeyExchangeKey(), DeletePlatformKey(), DeleteSignature(), DirectoryMenu, EFI_CUSTOM_MODE_NAME, EFI_SECURE_BOOT_ENABLE_NAME, EFI_STATUS(), EnrollKeyExchangeKey(), EnrollPlatformKey(), EnrollSignatureDatabase(), EnrollX509HashtoSigDB(), SECUREBOOT_CONFIG_PRIVATE_DATA::FeCurrentState, SECUREBOOT_CONFIG_PRIVATE_DATA::FeDisplayContext, SECUREBOOT_FILE_CONTEXT::FHandle, FILE_OPTION_GOTO_OFFSET, FILE_OPTION_OFFSET, SECUREBOOT_CONFIG_PRIVATE_DATA::FileContext, FileExplorerDisplayUnknown, FileExplorerStateEnrollKekFile, FileExplorerStateEnrollPkFile, FileExplorerStateEnrollSignatureFileToDb, FileExplorerStateEnrollSignatureFileToDbt, FileExplorerStateEnrollSignatureFileToDbx, SECUREBOOT_FILE_CONTEXT::FileName, FORM_FILE_EXPLORER_ID, FORMID_DELETE_KEK_FORM, FORMID_ENROLL_KEK_FORM, FreeMenu(), FsOptionMenu, gEfiCustomModeEnableGuid, gEfiSecureBootEnableDisableGuid, gSecureBootConfigFormSetGuid, HASHALG_MAX, HASHALG_SHA256, IsX509CertInDbx(), KEY_DELETE_KEK, KEY_HIDE_SECURE_BOOT, KEY_SECURE_BOOT_DB_OPTION, KEY_SECURE_BOOT_DBT_OPTION, KEY_SECURE_BOOT_DBX_OPTION, KEY_SECURE_BOOT_DELETE_PK, KEY_SECURE_BOOT_ENABLE, KEY_SECURE_BOOT_KEK_GUID, KEY_SECURE_BOOT_KEK_OPTION, KEY_SECURE_BOOT_MODE, KEY_SECURE_BOOT_OPTION, KEY_SECURE_BOOT_SIGNATURE_GUID_DB, KEY_SECURE_BOOT_SIGNATURE_GUID_DBT, KEY_SECURE_BOOT_SIGNATURE_GUID_DBX, KEY_VALUE_NO_SAVE_AND_EXIT_DB, KEY_VALUE_NO_SAVE_AND_EXIT_DBT, KEY_VALUE_NO_SAVE_AND_EXIT_DBX, KEY_VALUE_NO_SAVE_AND_EXIT_KEK, KEY_VALUE_NO_SAVE_AND_EXIT_PK, KEY_VALUE_SAVE_AND_EXIT_DB, KEY_VALUE_SAVE_AND_EXIT_DBT, KEY_VALUE_SAVE_AND_EXIT_DBX, KEY_VALUE_SAVE_AND_EXIT_KEK, KEY_VALUE_SAVE_AND_EXIT_PK, LABEL_DB_DELETE, LABEL_DBT_DELETE, LABEL_DBX_DELETE, LABEL_KEK_DELETE, mSecureBootStorageName, OPTION_CONFIG_RANGE, OPTION_DEL_DB_QUESTION_ID, OPTION_DEL_DBT_QUESTION_ID, OPTION_DEL_DBX_QUESTION_ID, OPTION_DEL_KEK_QUESTION_ID, SaveSecureBootVariable(), SECURE_BOOT_MODE_STANDARD, SECUREBOOT_ADD_PK_FILE_FORM_ID, SECUREBOOT_CONFIG_PRIVATE_FROM_THIS, SECUREBOOT_DELETE_SIGNATURE_FROM_DB, SECUREBOOT_DELETE_SIGNATURE_FROM_DBT, SECUREBOOT_DELETE_SIGNATURE_FROM_DBX, SECUREBOOT_ENROLL_SIGNATURE_TO_DB, SECUREBOOT_ENROLL_SIGNATURE_TO_DBT, SECUREBOOT_ENROLL_SIGNATURE_TO_DBX, SetSecureBootMode(), SECUREBOOT_CONFIG_PRIVATE_DATA::SignatureGUID, STANDARD_SECURE_BOOT_MODE, StringToGuid(), TRUE, UINTN(), UpdateDeletePage(), and UpdateFileExplorer().

EFI_STATUS EFIAPI SecureBootExtractConfig ( 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] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in] Request A null-terminated Unicode string in <ConfigRequest> format.
[out] Progress On 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] Results A 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_SUCCESS The Results is filled with the requested values.
EFI_OUT_OF_RESOURCES Not enough memory to store the results.
EFI_INVALID_PARAMETER Request is illegal syntax, or unknown name.
EFI_NOT_FOUND Routing data doesn't match any storage in this driver.

References BOOLEAN(), SECUREBOOT_CONFIG_PRIVATE_DATA::DriverHandle, EFI_STATUS(), gSecureBootConfigFormSetGuid, SECUREBOOT_CONFIG_PRIVATE_DATA::HiiHandle, mSecureBootStorageName, SECUREBOOT_CONFIG_PRIVATE_FROM_THIS, SecureBootExtractConfigFromVariable(), TRUE, and UINTN().

EFI_STATUS EFIAPI SecureBootRouteConfig ( 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] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in] Configuration A null-terminated Unicode string in <ConfigResp> format.
[out] Progress A 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_SUCCESS The Results is processed successfully.
EFI_INVALID_PARAMETER Configuration is NULL.
EFI_NOT_FOUND Routing data doesn't match any storage in this driver.

References EFI_SECURE_BOOT_ENABLE_NAME, EFI_STATUS(), gEfiSecureBootEnableDisableGuid, gSecureBootConfigFormSetGuid, mSecureBootStorageName, SaveSecureBootVariable(), SecureBootExtractConfigFromVariable(), and UINTN().

EFI_STATUS StringToGuid ( IN CHAR16 *  Str,
IN UINTN  StrLen,
OUT EFI_GUID *  Guid 
)

Convert a String to Guid Value.

Parameters:
[in] Str Specifies the String to be converted.
[in] StrLen Number of Unicode Characters of String (exclusive )
[out] Guid Return the result Guid value.
Return values:
EFI_SUCCESS The operation is finished successfully.
EFI_NOT_FOUND Invalid string.

References UINTN().

Referenced by SecureBootCallback().

VOID UninstallSecureBootConfigForm ( IN OUT SECUREBOOT_CONFIG_PRIVATE_DATA PrivateData  ) 

This function removes SecureBoot configuration Form.

Parameters:
[in,out] PrivateData Points to SecureBoot configuration private data.

References DirectoryMenu, FreeMenu(), FsOptionMenu, mEndOpCodeHandle, and mStartOpCodeHandle.

Referenced by InstallSecureBootConfigForm(), SecureBootConfigDriverEntryPoint(), and SecureBootConfigDriverUnload().

BOOLEAN UpdateFileExplorer ( IN SECUREBOOT_CONFIG_PRIVATE_DATA PrivateData,
IN UINT16  KeyValue 
)


Variable Documentation

Files and sub-directories in current directory menu

Referenced by InstallSecureBootConfigForm(), SecureBootCallback(), and UninstallSecureBootConfigForm().

EFI_IFR_GUID_LABEL* mEndLabel

EFI_IFR_GUID_LABEL* mStartLabel


Generated on Thu Sep 24 23:44:25 2015 for SecurityPkg[ALL] by  doxygen 1.5.7.1