Defines | |
#define | HASH_LIB_PEI_ROUTER_GUID { 0x84681c08, 0x6873, 0x46f3, { 0x8b, 0xb7, 0xab, 0x66, 0x18, 0x95, 0xa1, 0xb3 } } |
Functions | |
HASH_INTERFACE_HOB * | InternalGetHashInterface (VOID) |
EFI_STATUS EFIAPI | HashStart (OUT HASH_HANDLE *HashHandle) |
EFI_STATUS EFIAPI | HashUpdate (IN HASH_HANDLE HashHandle, IN VOID *DataToHash, IN UINTN DataToHashLen) |
EFI_STATUS EFIAPI | HashCompleteAndExtend (IN HASH_HANDLE HashHandle, IN TPMI_DH_PCR PcrIndex, IN VOID *DataToHash, IN UINTN DataToHashLen, OUT TPML_DIGEST_VALUES *DigestList) |
EFI_STATUS EFIAPI | HashAndExtend (IN TPMI_DH_PCR PcrIndex, IN VOID *DataToHash, IN UINTN DataToHashLen, OUT TPML_DIGEST_VALUES *DigestList) |
EFI_STATUS EFIAPI | RegisterHashInterfaceLib (IN HASH_INTERFACE *HashInterface) |
Variables | |
EFI_GUID | mHashLibPeiRouterGuid = HASH_LIB_PEI_ROUTER_GUID |
Copyright (c) 2013 - 2015, 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 HASH_LIB_PEI_ROUTER_GUID { 0x84681c08, 0x6873, 0x46f3, { 0x8b, 0xb7, 0xab, 0x66, 0x18, 0x95, 0xa1, 0xb3 } } |
EFI_STATUS EFIAPI HashAndExtend | ( | IN TPMI_DH_PCR | PcrIndex, | |
IN VOID * | DataToHash, | |||
IN UINTN | DataToHashLen, | |||
OUT TPML_DIGEST_VALUES * | DigestList | |||
) |
Hash data and extend to PCR.
PcrIndex | PCR to be extended. | |
DataToHash | Data to be hashed. | |
DataToHashLen | Data size. | |
DigestList | Digest list. |
EFI_SUCCESS | Hash data and DigestList is returned. |
References EFI_STATUS(), HashCompleteAndExtend(), HashStart(), HashUpdate(), and InternalGetHashInterface().
EFI_STATUS EFIAPI HashCompleteAndExtend | ( | IN HASH_HANDLE | HashHandle, | |
IN TPMI_DH_PCR | PcrIndex, | |||
IN VOID * | DataToHash, | |||
IN UINTN | DataToHashLen, | |||
OUT TPML_DIGEST_VALUES * | DigestList | |||
) |
Hash sequence complete and extend to PCR.
HashHandle | Hash handle. | |
PcrIndex | PCR to be extended. | |
DataToHash | Data to be hashed. | |
DataToHashLen | Data size. | |
DigestList | Digest list. |
EFI_SUCCESS | Hash sequence complete and DigestList is returned. |
References EFI_STATUS(), InternalGetHashInterface(), Tpm2GetHashMaskFromAlgo(), Tpm2PcrExtend(), Tpm2SetHashToDigestList(), and UINTN().
EFI_STATUS EFIAPI HashStart | ( | OUT HASH_HANDLE * | HashHandle | ) |
Start hash sequence.
HashHandle | Hash handle. |
EFI_SUCCESS | Hash sequence start and HandleHandle returned. | |
EFI_OUT_OF_RESOURCES | No enough resource to start hash. |
References InternalGetHashInterface(), Tpm2GetHashMaskFromAlgo(), and UINTN().
EFI_STATUS EFIAPI HashUpdate | ( | IN HASH_HANDLE | HashHandle, | |
IN VOID * | DataToHash, | |||
IN UINTN | DataToHashLen | |||
) |
Update hash sequence data.
HashHandle | Hash handle. | |
DataToHash | Data to be hashed. | |
DataToHashLen | Data size. |
EFI_SUCCESS | Hash sequence updated. |
References InternalGetHashInterface(), Tpm2GetHashMaskFromAlgo(), and UINTN().
HASH_INTERFACE_HOB* InternalGetHashInterface | ( | VOID | ) |
This function get hash interface.
hash | interface. |
References mHashLibPeiRouterGuid.
Referenced by HashAndExtend(), HashCompleteAndExtend(), HashStart(), HashUpdate(), and RegisterHashInterfaceLib().
EFI_STATUS EFIAPI RegisterHashInterfaceLib | ( | IN HASH_INTERFACE * | HashInterface | ) |
This service register Hash.
HashInterface | Hash interface |
EFI_SUCCESS | This hash interface is registered successfully. | |
EFI_UNSUPPORTED | System does not support register this interface. | |
EFI_ALREADY_STARTED | System already register this interface. |
References InternalGetHashInterface(), mHashLibPeiRouterGuid, Tpm2GetHashMaskFromAlgo(), and UINTN().
EFI_GUID mHashLibPeiRouterGuid = HASH_LIB_PEI_ROUTER_GUID |
Referenced by InternalGetHashInterface(), and RegisterHashInterfaceLib().