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 
7 namespace rom_test {
8 extern "C" {
9 
10 void crc32_init(uint32_t *ctx) { MockCrc32::Instance().Init(ctx); }
11 
12 void crc32_add8(uint32_t *ctx, uint8_t byte) {
13  MockCrc32::Instance().Add8(ctx, byte);
14 }
15 
16 void crc32_add32(uint32_t *ctx, uint32_t word) {
17  MockCrc32::Instance().Add32(ctx, word);
18 }
19 
20 void crc32_add(uint32_t *ctx, const void *buf, size_t len) {
21  MockCrc32::Instance().Add(ctx, buf, len);
22 }
23 
24 uint32_t crc32_finish(const uint32_t *ctx) {
25  return MockCrc32::Instance().Finish(ctx);
26 }
27 
28 uint32_t crc32(const void *buf, size_t len) {
29  return MockCrc32::Instance().Crc32(buf, len);
30 }
31 
32 } // extern "C"
33 } // namespace rom_test