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