alder_lake_bios/Intel/AlderLake/AlderLakePlatSamplePkg/Tools/KeyEnroll/VariableCommon.h

99 lines
2.5 KiB
C

//
// This file contains a 'Sample Driver' and is licensed as such
// under the terms of your license agreement with Intel or your
// vendor. This file may be modified by the user, subject to
// the additional terms of the license agreement
//
/** @file
The header of common Variable.c
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
This software and associated documentation
(if any) is furnished under a license and may only be used or
copied in accordance with the terms of the license. Except as
permitted by such license, no part of this software or
documentation may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means without the express written
consent of Intel Corporation.
**/
#ifndef __VARIABLE_COMMON_H__
#define __VARIABLE_COMMON_H__
typedef enum {
VariableTypeNormal,
VariableTypeCountBasedAuth,
VariableTypeTimeBasedAuth,
VariableTypeUnknown,
} VARIABLE_TYPE;
/**
Check the store variable type
@param VariableStoreHeader The pointer to the header of Variable Store.
@return VariableType VariableType
**/
VARIABLE_TYPE
CheckVarStore (
IN VOID *VariableStoreHeader
);
/**
Exchange the data between Efi variable and the data of VarList when the
variable use the authenticated variable header
If VarToList is TRUE, copy the efi variable data to the VarList; Otherwise,
update the data from varlist to efi variable.
@param VarToList The flag to control the direction of exchange.
@param StorageListHead Decide which variale list be updated
@retval EFI_SUCCESS Get the address successfully.
@retval EFI_OUT_OF_RESOURCES No available in the EFI variable zone.
**/
EFI_STATUS
SynEfiVariable (
IN BOOLEAN VarToList,
IN VARIABLE_TYPE VariableType,
IN LIST_ENTRY *StorageListHead
);
EFI_STATUS
CreateVariableList (
IN LIST_ENTRY *StorageListHead,
IN CHAR16 *Name,
IN EFI_GUID *Guid,
IN UINT32 Attributes,
IN EFI_TIME *TimeStamp,
IN UINTN Size,
IN UINT8 *Buffer,
IN BOOLEAN Append
);
EFI_STATUS
DeleteVariableList (
IN LIST_ENTRY *StorageListHead,
IN CHAR16 *Name,
IN EFI_GUID *Guid
);
LIST_ENTRY *
FindVariableList (
IN LIST_ENTRY *StorageListHead,
IN CHAR16 *Name,
IN EFI_GUID *Guid
);
VARIABLE_INFO_PRIVATE*
FindVariableInfoPtr(
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid
);
#endif // _EFI_VARIABLE_COMMON_H_