-/** @file\r
- Public definitions for Variable Key Library.\r
-\r
-Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _VARIABLE_KEY_LIB_H_\r
-#define _VARIABLE_KEY_LIB_H_\r
-\r
-#include <Uefi/UefiBaseType.h>\r
-\r
-/**\r
- Retrieves the key for integrity and/or confidentiality of variables.\r
-\r
- @param[out] VariableKey A pointer to pointer for the variable key buffer.\r
- @param[in,out] VariableKeySize The size in bytes of the variable key.\r
-\r
- @retval EFI_SUCCESS The variable key was returned.\r
- @retval EFI_DEVICE_ERROR An error occurred while attempting to get the variable key.\r
- @retval EFI_ACCESS_DENIED The function was invoked after locking the key interface.\r
- @retval EFI_UNSUPPORTED The variable key is not supported in the current boot configuration.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-GetVariableKey (\r
- OUT VOID **VariableKey,\r
- IN OUT UINTN *VariableKeySize\r
- );\r
-\r
-/**\r
- Regenerates the variable key.\r
-\r
- @retval EFI_SUCCESS The variable key was regenerated successfully.\r
- @retval EFI_DEVICE_ERROR An error occurred while attempting to regenerate the key.\r
- @retval EFI_ACCESS_DENIED The function was invoked after locking the key interface.\r
- @retval EFI_UNSUPPORTED Key regeneration is not supported in the current boot configuration.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-RegenerateVariableKey (\r
- VOID\r
- );\r
-\r
-/**\r
- Locks the regenerate key interface.\r
-\r
- @retval EFI_SUCCESS The key interface was locked successfully.\r
- @retval EFI_UNSUPPORTED Locking the key interface is not supported in the current boot configuration.\r
- @retval Others An error occurred while attempting to lock the key interface.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LockVariableKeyInterface (\r
- VOID\r
- );\r
-\r
-#endif\r