X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/1ee79256095a770dd406a9cbd48f2a04c2d1499a..refs/heads/master:/common/parity.h

diff --git a/common/parity.h b/common/parity.h
index 615fdeee..c574db55 100644
--- a/common/parity.h
+++ b/common/parity.h
@@ -13,6 +13,7 @@
 
 #include <stdint.h>
 #include <stdbool.h>
+#include "string.h"
 
 extern const uint8_t OddByteParity[256];
 
@@ -21,6 +22,11 @@ static inline bool oddparity8(const uint8_t x) {
 	return OddByteParity[x];
 }
 
+static inline void oddparitybuf(const uint8_t *x, size_t len, uint8_t *parity) {
+	memset(parity, 0x00, (len - 1) / 8 + 1);
+	for (int i = 0; i < len; i++) 
+		parity[i / 8] |= oddparity8(x[i]) << (7 - (i % 8));
+}
 
 static inline bool evenparity8(const uint8_t x) {
 	return !OddByteParity[x];