js8call/.svn/pristine/14/14a75037c2e00b37b661e61b4d98cb489852926f.svn-base

25 lines
669 B
Plaintext
Raw Normal View History

2018-02-08 21:28:33 -05:00
#include <boost/crc.hpp>
extern "C"
{
short crc10 (unsigned char const * data, int length);
bool crc10_check (unsigned char const * data, int length);
}
namespace
{
unsigned long constexpr truncated_polynomial = 0x08f;
}
// assumes CRC is last 16 bits of the data and is set to zero
// caller should assign the returned CRC into the message in big endian byte order
short crc10 (unsigned char const * data, int length)
{
return boost::augmented_crc<10, truncated_polynomial> (data, length);
}
bool crc10_check (unsigned char const * data, int length)
{
return !boost::augmented_crc<10, truncated_polynomial> (data, length);
}