diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-11-21 20:05:55 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-11-21 20:05:55 +0100 |
commit | 4deadfa28aed1f53a9ddec420a015ccca5be5371 (patch) | |
tree | ce3022267b3821619831d219e32ff90406541fc2 /etisnoop | |
parent | f87bffa6d7191ea8ee22db581f9d5c45c86af1f4 (diff) | |
download | mmbtools-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.h | 32 |
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 + |