mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
BaseTools has been duplicating and adapting code that is defined in MdePkg and MdeModulePkg. This leads to desync issues where the same symbols may be backed by different functions with slightly different semantics and also fixes that apply only to BaseTools or only to MdePkg and MdeModulePkg. To address these issues, update BaseTools/Source/C to utilize the code from MdePkg and MdeModulePkg. Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
/** @file
|
|
BtCalculateCrc32 routine.
|
|
|
|
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#include <stdlib.h>
|
|
#include <Common/BaseTypes.h>
|
|
#include <Library/BaseLib.h>
|
|
#include "Crc32.h"
|
|
|
|
EFI_STATUS
|
|
BtCalculateCrc32 (
|
|
IN UINT8 *Data,
|
|
IN UINTN DataSize,
|
|
IN OUT UINT32 *CrcOut
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
The BtCalculateCrc32 routine.
|
|
|
|
Arguments:
|
|
|
|
Data - The buffer containing the data to be processed
|
|
DataSize - The size of data to be processed
|
|
CrcOut - A pointer to the caller allocated UINT32 that on
|
|
contains the CRC32 checksum of Data
|
|
|
|
Returns:
|
|
|
|
EFI_SUCCESS - Calculation is successful.
|
|
EFI_INVALID_PARAMETER - Data / CrcOut = NULL, or DataSize = 0
|
|
|
|
--*/
|
|
{
|
|
if ((DataSize == 0) || (Data == NULL) || (CrcOut == NULL)) {
|
|
return EFI_INVALID_PARAMETER;
|
|
}
|
|
|
|
*CrcOut = CalculateCrc32 (Data, DataSize);
|
|
|
|
return EFI_SUCCESS;
|
|
}
|