aboutsummaryrefslogtreecommitdiffstats
path: root/etisnoop
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2014-11-21 20:05:55 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2014-11-21 20:05:55 +0100
commit4deadfa28aed1f53a9ddec420a015ccca5be5371 (patch)
treece3022267b3821619831d219e32ff90406541fc2 /etisnoop
parentf87bffa6d7191ea8ee22db581f9d5c45c86af1f4 (diff)
downloadmmbtools-aux-4deadfa28aed1f53a9ddec420a015ccca5be5371.tar.gz
mmbtools-aux-4deadfa28aed1f53a9ddec420a015ccca5be5371.tar.bz2
mmbtools-aux-4deadfa28aed1f53a9ddec420a015ccca5be5371.zip
Add utils.h
Diffstat (limited to 'etisnoop')
-rw-r--r--etisnoop/utils.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/etisnoop/utils.h b/etisnoop/utils.h
new file mode 100644
index 0000000..9c43c88
--- /dev/null
+++ b/etisnoop/utils.h
@@ -0,0 +1,32 @@
+#include <stdlib.h>
+#include <stdint.h>
+
+#ifndef __UTILS_H_
+#define __UTILS_H_
+static inline
+void setBit(uint8_t x [], uint8_t bit, int32_t pos)
+{
+ int16_t iByte;
+ int16_t iBit;
+
+ iByte = pos / 8;
+ iBit = pos % 8;
+ x[iByte] = (x[iByte] & (~(1 << (7 - iBit)))) |
+ (bit << (7 - iBit));
+}
+
+static inline
+void setBits(uint8_t x[], uint32_t bits,
+ int32_t startPosition, int32_t numBits)
+{
+ int32_t i;
+ uint8_t bit;
+
+ for (i = 0; i < numBits; i ++) {
+ bit = bits & (1 << (numBits - i - 1)) ? 1 : 0;
+ setBit(x, bit, startPosition + i);
+ }
+}
+
+#endif
+