2018-07-18 00:05:36 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef _LINUX_CRC32_POLY_H
|
|
|
|
#define _LINUX_CRC32_POLY_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
* There are multiple 16-bit CRC polynomials in common use, but this is
|
|
|
|
* *the* standard CRC-32 polynomial, first popularized by Ethernet.
|
|
|
|
* x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0
|
|
|
|
*/
|
2018-07-18 00:05:37 +08:00
|
|
|
#define CRC32_POLY_LE 0xedb88320
|
|
|
|
#define CRC32_POLY_BE 0x04c11db7
|
2018-07-18 00:05:36 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* This is the CRC32c polynomial, as outlined by Castagnoli.
|
|
|
|
* x^32+x^28+x^27+x^26+x^25+x^23+x^22+x^20+x^19+x^18+x^14+x^13+x^11+x^10+x^9+
|
|
|
|
* x^8+x^6+x^0
|
|
|
|
*/
|
|
|
|
#define CRC32C_POLY_LE 0x82F63B78
|
|
|
|
|
|
|
|
#endif /* _LINUX_CRC32_POLY_H */
|