#include "iso15693tools.h"
-#include "proxmark3.h"
+#include <stddef.h>
#include <stdint.h>
-#include <stdlib.h>
#ifdef ON_DEVICE
#include "printf.h"
#else
}
-uint16_t iclass_crc16(char *data_p, unsigned short length) {
+uint16_t iclass_crc16(uint8_t *data_p, unsigned short length) {
unsigned char i;
unsigned int data;
uint16_t crc = ISO15693_CRC_PRESET;
return (~crc);
do {
- for (i = 0, data = (unsigned int)0xff & *data_p++; i < 8; i++, data >>= 1) {
+ for (i = 0, data = 0xff & *data_p++; i < 8; i++, data >>= 1) {
if ((crc & 0x0001) ^ (data & 0x0001))
crc = (crc >> 1) ^ ISO15693_CRC_POLY;
else crc >>= 1;
crc = ~crc;
data = crc;
crc = (crc << 8) | (data >> 8 & 0xff);
- crc = crc ^ 0xBC3;
+ crc = crc ^ 0x0BC3;
return (crc);
}