Files
system76-edk2/SecurityPkg/FvReportPei/FvReportPei.h
Michael Kubacki c411b485b6 SecurityPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the SecurityPkg package

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
2021-12-07 17:24:28 +00:00

122 lines
3.3 KiB
C

/** @file
Definitions for OBB FVs verification.
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __FV_REPORT_PEI_H__
#define __FV_REPORT_PEI_H__
#include <PiPei.h>
#include <IndustryStandard/Tpm20.h>
#include <Ppi/FirmwareVolumeInfoStoredHashFv.h>
#include <Library/PeiServicesLib.h>
#include <Library/PcdLib.h>
#include <Library/HobLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/BaseCryptLib.h>
#include <Library/ReportStatusCodeLib.h>
#define HASH_INFO_PTR(PreHashedFvPpi) \
(HASH_INFO *)((UINT8 *)(PreHashedFvPpi) + sizeof (EDKII_PEI_FIRMWARE_VOLUME_INFO_PREHASHED_FV_PPI))
#define HASH_VALUE_PTR(HashInfo) \
(VOID *)((UINT8 *)(HashInfo) + sizeof (HASH_INFO))
/**
Computes the message digest of a input data buffer.
This function performs message digest of a given data buffer, and places
the digest value into the specified memory.
If this interface is not supported, then return FALSE.
@param[in] Data Pointer to the buffer containing the data to be hashed.
@param[in] DataSize Size of Data buffer in bytes.
@param[out] HashValue Pointer to a buffer that receives digest value.
@retval TRUE The digest computation succeeded.
@retval FALSE The digest computation failed.
**/
typedef
BOOLEAN
(EFIAPI *HASH_ALL_METHOD)(
IN CONST VOID *Data,
IN UINTN DataSize,
OUT UINT8 *HashValue
);
/**
Initializes user-supplied memory as hash context for subsequent use.
@param[out] HashContext Pointer to hash context being initialized.
@retval TRUE Hash context initialization succeeded.
@retval FALSE Hash context initialization failed.
@retval FALSE This interface is not supported.
**/
typedef
BOOLEAN
(EFIAPI *HASH_INIT_METHOD)(
OUT VOID *HashContext
);
/**
Digests the input data and updates hash context.
@param[in, out] HashContext Pointer to the hash context.
@param[in] Data Pointer to the buffer containing the data to be hashed.
@param[in] DataSize Size of Data buffer in bytes.
@retval TRUE Hash data digest succeeded.
@retval FALSE Hash data digest failed.
@retval FALSE This interface is not supported.
**/
typedef
BOOLEAN
(EFIAPI *HASH_UPDATE_METHOD)(
IN OUT VOID *HashContext,
IN CONST VOID *Data,
IN UINTN DataSize
);
/**
Completes computation of the hash digest value.
@param[in, out] HashContext Pointer to the hash context.
@param[out] HashValue Pointer to a buffer that receives the hash digest
value.
@retval TRUE Hash digest computation succeeded.
@retval FALSE Hash digest computation failed.
@retval FALSE This interface is not supported.
**/
typedef
BOOLEAN
(EFIAPI *HASH_FINAL_METHOD)(
IN OUT VOID *HashContext,
OUT UINT8 *HashValue
);
typedef struct {
UINT16 HashAlgId;
UINTN HashSize;
HASH_INIT_METHOD HashInit;
HASH_UPDATE_METHOD HashUpdate;
HASH_FINAL_METHOD HashFinal;
HASH_ALL_METHOD HashAll;
} HASH_ALG_INFO;
#endif //__FV_REPORT_PEI_H__