summaryrefslogtreecommitdiffhomepage
path: root/digital/ucoolib/ucoolib/utils/crc.hh
diff options
context:
space:
mode:
authorNicolas Schodet2013-05-01 12:08:01 +0200
committerNicolas Schodet2013-05-01 12:51:45 +0200
commit69d243f0b5f6be4d0df1310ae5752b46dfddb955 (patch)
tree2c7ca729d92af6ee9def996a52972cc1542be2af /digital/ucoolib/ucoolib/utils/crc.hh
parent3e8898eb008be3fa11a6d312102d27f3daf55a77 (diff)
digital/ucoolib/ucoolib/utils/crc: add CRC32
Diffstat (limited to 'digital/ucoolib/ucoolib/utils/crc.hh')
-rw-r--r--digital/ucoolib/ucoolib/utils/crc.hh17
1 files changed, 17 insertions, 0 deletions
diff --git a/digital/ucoolib/ucoolib/utils/crc.hh b/digital/ucoolib/ucoolib/utils/crc.hh
index 0e97f4a8..391b70a3 100644
--- a/digital/ucoolib/ucoolib/utils/crc.hh
+++ b/digital/ucoolib/ucoolib/utils/crc.hh
@@ -25,6 +25,9 @@
// }}}
#include "ucoolib/common.hh"
+/// Please read "A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS",
+/// http://www.ross.net/crc/download/crc_v3.txt
+
namespace ucoo {
/// Dallas/Maxim iButton 8bit CRC.
@@ -48,6 +51,20 @@ crc8_update (uint8_t crc, uint8_t data)
uint8_t
crc8_compute (const uint8_t *data, int size);
+/// Name : "CRC-32"
+/// Width : 32
+/// Poly : 04C11DB7
+/// Init : FFFFFFFF
+/// RefIn : True
+/// RefOut : True
+/// XorOut : FFFFFFFF
+/// Check : CBF43926
+uint32_t
+crc32_update (uint32_t crc, uint8_t data);
+
+uint32_t
+crc32_compute (const uint8_t *data, int size);
+
} // namespace ucoo
#endif // ucoolib_utils_crc_hh