libicsneo/include/icsneo/core/crc32.h

29 lines
669 B
C++

/*
* crc32.h
*
* Created on: Jun 22, 2020
* Author: BJones
*/
#ifndef __CRC32_H_
#define __CRC32_H_
#include <stdint.h>
namespace icsneo {
/*
* When any data/buffer is run through calCRC(), then the resulting CRC value
* is appended to the end of the data/buffer and the data/buffer is rerun
* through calCRC(), the result will be CRC32_IDENT
*/
#define CRC32_IDENT (0x2144DF1C) /**< CRC check value */
#define CRC32_ISVALID(crc) ((crc) == CRC32_IDENT)
uint32_t crc32(uint32_t crc, const unsigned char* buf, uint32_t len);
uint32_t revcrc32(uint32_t crc, const unsigned char* buf, uint32_t len);
}
#endif // CRC32_H_