diff options
Diffstat (limited to 'common.h')
| -rw-r--r-- | common.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common.h b/common.h new file mode 100644 index 0000000..8181c42 --- /dev/null +++ b/common.h @@ -0,0 +1,28 @@ +#ifndef common_H +#define common_H 1 + +#define LOAD32_LE(SRC) load32_le(SRC) +static inline uint32_t +load32_le(const uint8_t src[4]) +{ + uint32_t w = (uint32_t) src[0]; + w |= (uint32_t) src[1] << 8; + w |= (uint32_t) src[2] << 16; + w |= (uint32_t) src[3] << 24; + return w; +} + +#define STORE32_LE(DST, W) store32_le((DST), (W)) +static inline void +store32_le(uint8_t dst[4], uint32_t w) +{ + dst[0] = (uint8_t) w; + w >>= 8; + dst[1] = (uint8_t) w; + w >>= 8; + dst[2] = (uint8_t) w; + w >>= 8; + dst[3] = (uint8_t) w; +} + +#endif |