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 |
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 HASHALG_MAX 0x00000005 |
#define HASHALG_RAW 0x00000005 |
Referenced by SecureBootExtractConfigFromVariable().
#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') |
Referenced by SecureBootConfigDriverUnload().
#define SECUREBOOT_CONFIG_PRIVATE_FROM_THIS | ( | a | ) | CR (a, SECUREBOOT_CONFIG_PRIVATE_DATA, ConfigAccess, SECUREBOOT_CONFIG_PRIVATE_DATA_SIGNATURE) |
Referenced by SecureBootCallback(), and SecureBootExtractConfig().
#define SECUREBOOT_MENU_ENTRY_SIGNATURE SIGNATURE_32 ('S', 'b', 'M', 'r') |
Referenced by CreateMenuEntry(), FreeMenu(), and GetMenuEntry().
#define SECUREBOOT_MENU_OPTION_SIGNATURE SIGNATURE_32 ('S', 'b', 'M', 'u') |
#define SHA1_DIGEST_SIZE 20 |
Referenced by HashPeImage(), SetupEventLog(), Sha1HashFinal(), and Tpm2SetSha1ToDigestList().
#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 struct _CPL_KEY_INFO CPL_KEY_INFO |
typedef VOID(* DEV_PATH_FUNCTION)(IN OUT POOL_PRINT *Str, IN VOID *DevPath) |
typedef enum _FILE_EXPLORER_STATE FILE_EXPLORER_STATE |
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().
[in,out] | HashContext | Pointer to the MD5 context |
[out] | HashValue | Pointer to a buffer that receives the HASH digest value (16 bytes). |
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.
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().
[in,out] | HashContext | Pointer to Context being initialized. |
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().
[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. |
TRUE | HASH data digest succeeded. | |
FALSE | Invalid HASH context. After HashFinal function has been called, the HASH context cannot be reused. |
enum _FILE_EXPLORER_STATE |
enum IMAGE_TYPE |
VOID CleanUpPage | ( | IN UINT16 | LabelId, | |
IN SECUREBOOT_CONFIG_PRIVATE_DATA * | PrivateData | |||
) |
Clean up the dynamic opcode at label and form specified by both LabelId.
[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.
[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.
[in] | DevPath | A pointer to the device path structure. |
References TRUE.
Referenced by FindFileSystem().
VOID FreeMenu | ( | IN OUT SECUREBOOT_MENU_OPTION * | MenuOption | ) |
Free resources allocated in Allocate Rountine.
[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.
[in] | Guid | Pointer to GUID to print. |
[in] | Buffer | Buffer to print Guid into. |
[in] | BufferSize | Size of Buffer. |
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.
[in,out] | PrivateData | Points to SecureBoot configuration private data. |
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.
[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 |
EFI_SUCCESS | Data conversion successfully | |
EFI_BUFFER_TOOL_SMALL | Buffer is too small for output string |
[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 |
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.
[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. |
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. |
[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. |
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.
[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. |
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. |
[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. |
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.
[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. |
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.
[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. |
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.
[in] | Str | Specifies the String to be converted. |
[in] | StrLen | Number of Unicode Characters of String (exclusive ) |
[out] | Guid | Return the result Guid value. |
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.
[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 | |||
) |
Update the file explorer page with the refreshed file system.
[in] | PrivateData | Module private data. |
[in] | KeyValue | Key value to identify the type of data to expect. |
TRUE | Inform the caller to create a callback packet to exit file explorer. | |
FALSE | Indicate that there is no need to exit file explorer. |
References BOOLEAN(), CreateMenuStringToken(), DestroyMenuEntry(), SECUREBOOT_FILE_CONTEXT::DevicePath, SECUREBOOT_MENU_ENTRY::DisplayStringToken, EFI_STATUS(), FILE_OPTION_MASK, SECUREBOOT_MENU_ENTRY::FileContext, FileExplorerDisplayDirectory, FileExplorerDisplayFileSystem, FileExplorerDisplayUnknown, FileExplorerStateEnrollKekFile, FileExplorerStateEnrollPkFile, FileExplorerStateEnrollSignatureFileToDb, FileExplorerStateEnrollSignatureFileToDbt, FileExplorerStateEnrollSignatureFileToDbx, SECUREBOOT_FILE_CONTEXT::FileName, FindFiles(), FindFileSystem(), FORMID_ENROLL_KEK_FORM, FreeMenu(), GetMenuEntry(), gSecureBootConfigFormSetGuid, SECUREBOOT_FILE_CONTEXT::IsDir, SECUREBOOT_MENU_ENTRY::Link, mEndOpCodeHandle, mStartLabel, mStartOpCodeHandle, OpenFileByDevicePath(), RefreshUpdateData(), SECUREBOOT_ADD_PK_FILE_FORM_ID, SECUREBOOT_ENROLL_SIGNATURE_TO_DB, SECUREBOOT_ENROLL_SIGNATURE_TO_DBT, SECUREBOOT_ENROLL_SIGNATURE_TO_DBX, TRUE, and UpdateFileExplorePage().
Referenced by SecureBootCallback().
Files and sub-directories in current directory menu
Referenced by InstallSecureBootConfigForm(), SecureBootCallback(), and UninstallSecureBootConfigForm().
File system selection menu
Referenced by InstallSecureBootConfigForm(), SecureBootCallback(), and UninstallSecureBootConfigForm().
EFI_IFR_GUID_LABEL* mEndLabel |
Referenced by InstallSecureBootConfigForm().
VOID* mEndOpCodeHandle |
Referenced by SecureBootConfigDriverEntryPoint().
EFI_IFR_GUID_LABEL* mStartLabel |
Referenced by CleanUpPage(), InstallSecureBootConfigForm(), RefreshUpdateData(), UpdateFileExplorePage(), and UpdateFileExplorer().
VOID* mStartOpCodeHandle |
UINT8 SecureBootConfigBin[] |
Referenced by InstallSecureBootConfigForm().
UINT8 SecureBootConfigDxeStrings[] |
Referenced by InstallSecureBootConfigForm().