Static class for computing CRCs. More...
#include <CRC.h>
Classes | |
struct | Parameters |
CRC parameters. More... | |
struct | Table |
CRC lookup table. More... | |
Static Public Member Functions | |
template<typename CRCType , crcpp_uint16 CRCWidth> | |
static CRCType | Calculate (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > ¶meters) |
Computes a CRC. More... | |
template<typename CRCType , crcpp_uint16 CRCWidth> | |
static CRCType | Calculate (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > ¶meters, CRCType crc) |
Appends additional data to a previous CRC calculation. More... | |
template<typename CRCType , crcpp_uint16 CRCWidth> | |
static CRCType | Calculate (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable) |
Computes a CRC via a lookup table. More... | |
template<typename CRCType , crcpp_uint16 CRCWidth> | |
static CRCType | Calculate (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable, CRCType crc) |
Appends additional data to a previous CRC calculation using a lookup table. More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_ARC () |
Returns a set of parameters for CRC-16 ARC (aka CRC-16 IBM, CRC-16 LHA). More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_BUYPASS () |
Returns a set of parameters for CRC-16 BUYPASS (aka CRC-16 VERIFONE, CRC-16 UMTS). More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_CCITTFALSE () |
Returns a set of parameters for CRC-16 CCITT FALSE. More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_GENIBUS () |
Returns a set of parameters for CRC-16 GENIBUS (aka CRC-16 EPC, CRC-16 I-CODE, CRC-16 DARC). More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_KERMIT () |
Returns a set of parameters for CRC-16 KERMIT (aka CRC-16 CCITT, CRC-16 CCITT-TRUE). More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_X25 () |
Returns a set of parameters for CRC-16 X-25 (aka CRC-16 IBM-SDLC, CRC-16 ISO-HDLC, CRC-16 B). More... | |
static const Parameters< crcpp_uint16, 16 > & | CRC_16_XMODEM () |
Returns a set of parameters for CRC-16 XMODEM (aka CRC-16 ZMODEM, CRC-16 ACORN, CRC-16 LTE). More... | |
static const Parameters< crcpp_uint32, 32 > & | CRC_32 () |
Returns a set of parameters for CRC-32 (aka CRC-32 ADCCP, CRC-32 PKZip). More... | |
static const Parameters< crcpp_uint32, 32 > & | CRC_32_BZIP2 () |
Returns a set of parameters for CRC-32 BZIP2 (aka CRC-32 AAL5, CRC-32 DECT-B, CRC-32 B-CRC). More... | |
static const Parameters< crcpp_uint32, 32 > & | CRC_32_MPEG2 () |
Returns a set of parameters for CRC-32 MPEG-2. More... | |
static const Parameters< crcpp_uint32, 32 > & | CRC_32_POSIX () |
Returns a set of parameters for CRC-32 POSIX. More... | |
static const Parameters< crcpp_uint8, 8 > & | CRC_8 () |
Returns a set of parameters for CRC-8 SMBus. More... | |
Static class for computing CRCs.
|
static |
Computes a CRC.
[in] | data | Data over which CRC will be computed |
[in] | size | Size of the data |
[in] | parameters | CRC parameters |
CRCType | Integer type for storing the CRC result |
CRCWidth | Number of bits in the CRC |
References CRC::Parameters< CRCType, CRCWidth >::finalXOR, CRC::Parameters< CRCType, CRCWidth >::initialValue, CRC::Parameters< CRCType, CRCWidth >::reflectInput, and CRC::Parameters< CRCType, CRCWidth >::reflectOutput.
|
static |
Appends additional data to a previous CRC calculation.
[in] | data | Data over which CRC will be computed |
[in] | size | Size of the data |
[in] | parameters | CRC parameters |
[in] | crc | CRC from a previous calculation |
CRCType | Integer type for storing the CRC result |
CRCWidth | Number of bits in the CRC |
References CRC::Parameters< CRCType, CRCWidth >::finalXOR, CRC::Parameters< CRCType, CRCWidth >::reflectInput, and CRC::Parameters< CRCType, CRCWidth >::reflectOutput.
|
static |
Computes a CRC via a lookup table.
[in] | data | Data over which CRC will be computed |
[in] | size | Size of the data |
[in] | lookupTable | CRC lookup table |
CRCType | Integer type for storing the CRC result |
CRCWidth | Number of bits in the CRC |
References CRC::Parameters< CRCType, CRCWidth >::finalXOR, CRC::Table< CRCType, CRCWidth >::GetParameters(), CRC::Parameters< CRCType, CRCWidth >::initialValue, CRC::Parameters< CRCType, CRCWidth >::reflectInput, and CRC::Parameters< CRCType, CRCWidth >::reflectOutput.
|
static |
Appends additional data to a previous CRC calculation using a lookup table.
[in] | data | Data over which CRC will be computed |
[in] | size | Size of the data |
[in] | lookupTable | CRC lookup table |
[in] | crc | CRC from a previous calculation |
CRCType | Integer type for storing the CRC result |
CRCWidth | Number of bits in the CRC |
References CRC::Parameters< CRCType, CRCWidth >::finalXOR, CRC::Table< CRCType, CRCWidth >::GetParameters(), CRC::Parameters< CRCType, CRCWidth >::reflectInput, and CRC::Parameters< CRCType, CRCWidth >::reflectOutput.
|
static |
Returns a set of parameters for CRC-16 ARC (aka CRC-16 IBM, CRC-16 LHA).
|
static |
Returns a set of parameters for CRC-16 BUYPASS (aka CRC-16 VERIFONE, CRC-16 UMTS).
|
static |
Returns a set of parameters for CRC-16 CCITT FALSE.
|
static |
Returns a set of parameters for CRC-16 GENIBUS (aka CRC-16 EPC, CRC-16 I-CODE, CRC-16 DARC).
|
static |
Returns a set of parameters for CRC-16 KERMIT (aka CRC-16 CCITT, CRC-16 CCITT-TRUE).
|
static |
Returns a set of parameters for CRC-16 X-25 (aka CRC-16 IBM-SDLC, CRC-16 ISO-HDLC, CRC-16 B).
|
static |
Returns a set of parameters for CRC-16 XMODEM (aka CRC-16 ZMODEM, CRC-16 ACORN, CRC-16 LTE).
|
static |
Returns a set of parameters for CRC-32 (aka CRC-32 ADCCP, CRC-32 PKZip).
|
static |
Returns a set of parameters for CRC-32 BZIP2 (aka CRC-32 AAL5, CRC-32 DECT-B, CRC-32 B-CRC).
|
static |
Returns a set of parameters for CRC-32 MPEG-2.
|
static |
Returns a set of parameters for CRC-32 POSIX.
|
static |
Returns a set of parameters for CRC-8 SMBus.