From 4deadfa28aed1f53a9ddec420a015ccca5be5371 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 21 Nov 2014 20:05:55 +0100 Subject: Add utils.h --- etisnoop/utils.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 etisnoop/utils.h 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 +#include + +#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 + -- cgit v1.2.3