Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [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 | */ |
| 10 | #define CRC32_POLY_LE 0xedb88320 |
| 11 | #define CRC32_POLY_BE 0x04c11db7 |
| 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 */ |