-
-#define CRC10_POLYNOMIAL 0x633
-static u_int16_t crc10_table[256];
-
-static void
-gen_crc10_table(void)
-{
- register int i, j;
- register u_int16_t accum;
-
- for ( i = 0; i < 256; i++ )
- {
- accum = ((unsigned short) i << 2);
- for ( j = 0; j < 8; j++ )
- {
- if ((accum <<= 1) & 0x400) accum ^= CRC10_POLYNOMIAL;
- }
- crc10_table[i] = accum;
- }
- return;
-}
-
-static u_int16_t
-verify_crc10_cksum(u_int16_t accum, const u_char *p, int length)
-{
- register int i;
-
- for ( i = 0; i < length; i++ )
- {
- accum = ((accum << 8) & 0x3ff)
- ^ crc10_table[( accum >> 2) & 0xff]
- ^ *p++;
- }
- return accum;
-}
-
-int