crc32poly.h 610 B

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