diff options
Diffstat (limited to 'include/linux/crc32poly.h')
| -rw-r--r-- | include/linux/crc32poly.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/crc32poly.h b/include/linux/crc32poly.h new file mode 100644 index 000000000000..62c4b7790a28 --- /dev/null +++ b/include/linux/crc32poly.h | |||
| @@ -0,0 +1,20 @@ | |||
| 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 */ | ||
