Software APIs
mock_crc32.cc
1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5#include "sw/device/lib/base/mock_crc32.h"
6
7namespace rom_test {
8extern "C" {
9
10void crc32_init(uint32_t *ctx) { MockCrc32::Instance().Init(ctx); }
11
12void crc32_add8(uint32_t *ctx, uint8_t byte) {
13 MockCrc32::Instance().Add8(ctx, byte);
14}
15
16void crc32_add32(uint32_t *ctx, uint32_t word) {
17 MockCrc32::Instance().Add32(ctx, word);
18}
19
20void crc32_add(uint32_t *ctx, const void *buf, size_t len) {
21 MockCrc32::Instance().Add(ctx, buf, len);
22}
23
24uint32_t crc32_finish(const uint32_t *ctx) {
25 return MockCrc32::Instance().Finish(ctx);
26}
27
28uint32_t crc32(const void *buf, size_t len) {
29 return MockCrc32::Instance().Crc32(buf, len);
30}
31
32} // extern "C"
33} // namespace rom_test