blob: 6a027ca423f63d821f0d101324c3abe34ccfea1f [file] [log] [blame]
Carter Chenff78bca2025-06-25 10:33:31 +08001// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2#ifndef LIBPLDM_SRC_UTILS_H
3#define LIBPLDM_SRC_UTILS_H
4
5#include <errno.h>
6#include <stdint.h>
7#include <stddef.h>
8
9/**
10 * @brief Validate the CRC32 checksum of the given data.
11 *
12 * @param[in] expected The expected CRC32 value.
13 * @param[in] data Pointer to the data to validate.
14 * @param[in] size Size of the data in bytes.
15 * @return 0 if the checksum matches,
16 * -EUCLEAN if the checksum mismatches,
17 * -EINVAL if the arguments are invalid
18 */
19int pldm_edac_crc32_validate(uint32_t expected, const void *data, size_t size);
20#endif