| 1 | WORD update_crc16( WORD crc, BYTE c ) {\r |
| 2 | WORD i, v, tcrc = 0;\r |
| 3 | \r |
| 4 | v = (crc ^ c) & 0xff;\r |
| 5 | for (i = 0; i < 8; i++) {\r |
| 6 | tcrc = ( (tcrc ^ v) & 1 ) ? ( tcrc >> 1 ) ^ 0x8408 : tcrc >> 1;\r |
| 7 | v >>= 1;\r |
| 8 | }\r |
| 9 | \r |
| 10 | return ((crc >> 8) ^ tcrc)&0xffff;\r |
| 11 | }\r |