xref: /openbmc/linux/include/linux/crc64.h (revision f3813f4b)
1feba04fdSColy Li /* SPDX-License-Identifier: GPL-2.0 */
2feba04fdSColy Li /*
3feba04fdSColy Li  * See lib/crc64.c for the related specification and polynomial arithmetic.
4feba04fdSColy Li  */
5feba04fdSColy Li #ifndef _LINUX_CRC64_H
6feba04fdSColy Li #define _LINUX_CRC64_H
7feba04fdSColy Li 
8feba04fdSColy Li #include <linux/types.h>
9feba04fdSColy Li 
10*f3813f4bSKeith Busch #define CRC64_ROCKSOFT_STRING "crc64-rocksoft"
11*f3813f4bSKeith Busch 
12feba04fdSColy Li u64 __pure crc64_be(u64 crc, const void *p, size_t len);
13cbc0a40eSKeith Busch u64 __pure crc64_rocksoft_generic(u64 crc, const void *p, size_t len);
14cbc0a40eSKeith Busch 
15*f3813f4bSKeith Busch u64 crc64_rocksoft(const unsigned char *buffer, size_t len);
16*f3813f4bSKeith Busch u64 crc64_rocksoft_update(u64 crc, const unsigned char *buffer, size_t len);
17*f3813f4bSKeith Busch 
18feba04fdSColy Li #endif /* _LINUX_CRC64_H */
19