Krzysztof Kozlowski | 1fb2e3f | 2018-07-17 18:05:36 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _LINUX_CRC32_POLY_H |
| 3 | #define _LINUX_CRC32_POLY_H |
| 4 | |
| 5 | /* |
| 6 | * There are multiple 16-bit CRC polynomials in common use, but this is |
| 7 | * *the* standard CRC-32 polynomial, first popularized by Ethernet. |
| 8 | * 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 |
| 9 | */ |
Krzysztof Kozlowski | e37f2f9 | 2018-07-17 18:05:37 +0200 | [diff] [blame] | 10 | #define CRC32_POLY_LE 0xedb88320 |
| 11 | #define CRC32_POLY_BE 0x04c11db7 |
Krzysztof Kozlowski | 1fb2e3f | 2018-07-17 18:05:36 +0200 | [diff] [blame] | 12 | |
| 13 | /* |
| 14 | * This is the CRC32c polynomial, as outlined by Castagnoli. |
| 15 | * 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+ |
| 16 | * x^8+x^6+x^0 |
| 17 | */ |
| 18 | #define CRC32C_POLY_LE 0x82F63B78 |
| 19 | |
| 20 | #endif /* _LINUX_CRC32_POLY_H */ |