blob: 5f130d7b859f66464fd12a6bcf688cb47dd63f69 [file] [log] [blame]
Austin Schuhe29400f2021-11-19 13:13:31 -08001#ifndef AOS_EVENTS_LOGGING_CRC32_H_
2#define AOS_EVENTS_LOGGING_CRC32_H_
3
Brian Silvermand627ed32021-11-11 16:16:16 -08004#include <stdint.h>
5
6#include <optional>
7
James Kuszmaulef0e0cc2021-10-28 23:00:04 -07008#include "absl/types/span.h"
9
10namespace aos {
11
Austin Schuhc185afd2022-10-16 15:46:24 -070012uint32_t ComputeCrc32(const absl::Span<const uint8_t> data);
James Kuszmaulef0e0cc2021-10-28 23:00:04 -070013
14uint32_t AccumulateCrc32(
Austin Schuhc185afd2022-10-16 15:46:24 -070015 const absl::Span<const uint8_t> data,
James Kuszmaulef0e0cc2021-10-28 23:00:04 -070016 std::optional<uint32_t> current_checksum = std::nullopt);
17
18} // namespace aos
Austin Schuhe29400f2021-11-19 13:13:31 -080019
20#endif // AOS_EVENTS_LOGGING_CRC32_H_