Bemanitools v5.26 release

This commit is contained in:
icex2
2019-09-27 22:36:50 +02:00
commit cbd7720349
718 changed files with 62731 additions and 0 deletions
+83
View File
@@ -0,0 +1,83 @@
#include <stddef.h>
#include <stdint.h>
uint8_t crc8(const void *ptr, size_t nbytes, uint8_t in)
{
const uint8_t *bytes;
uint8_t crc;
size_t i;
size_t j;
//log_assert(ptr != NULL);
bytes = ptr;
crc = ~in;
for (i = 0 ; i < nbytes ; i++) {
crc ^= bytes[i];
for (j = 0 ; j < 8 ; j++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0x8C;
} else {
crc = crc >> 1;
}
}
}
return ~crc;
}
uint16_t crc16(const void *ptr, size_t nbytes, uint16_t in)
{
const uint8_t *bytes;
uint16_t crc;
size_t i;
size_t j;
//log_assert(ptr != NULL);
bytes = ptr;
crc = ~in;
for (i = 0 ; i < nbytes ; i++) {
crc ^= bytes[i];
for (j = 0 ; j < 8 ; j++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0x8408;
} else {
crc = crc >> 1;
}
}
}
return ~crc;
}
uint32_t crc32(const void *ptr, size_t nbytes, uint32_t in)
{
const uint8_t *bytes;
uint32_t crc;
size_t i;
size_t j;
//log_assert(ptr != NULL);
bytes = ptr;
crc = ~in;
for (i = 0 ; i < nbytes ; i++) {
crc ^= bytes[i];
for (j = 0 ; j < 8 ; j++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0xEDB88320;
} else {
crc = (crc >> 1);
}
}
}
return ~crc;
}