diff options
Diffstat (limited to 'src/helper/types.h')
-rw-r--r-- | src/helper/types.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/helper/types.h b/src/helper/types.h index 04b0059..12b9515 100644 --- a/src/helper/types.h +++ b/src/helper/types.h @@ -116,6 +116,11 @@ static inline uint32_t le_to_h_u32(const uint8_t* buf) return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16 | buf[3] << 24); } +static inline uint32_t le_to_h_u24(const uint8_t* buf) +{ + return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16); +} + static inline uint16_t le_to_h_u16(const uint8_t* buf) { return (uint16_t)(buf[0] | buf[1] << 8); @@ -126,6 +131,11 @@ static inline uint32_t be_to_h_u32(const uint8_t* buf) return (uint32_t)(buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24); } +static inline uint32_t be_to_h_u24(const uint8_t* buf) +{ + return (uint32_t)(buf[2] | buf[1] << 8 | buf[0] << 16); +} + static inline uint16_t be_to_h_u16(const uint8_t* buf) { return (uint16_t)(buf[1] | buf[0] << 8); @@ -147,6 +157,20 @@ static inline void h_u32_to_be(uint8_t* buf, int val) buf[3] = (uint8_t) (val >> 0); } +static inline void h_u24_to_le(uint8_t* buf, int val) +{ + buf[2] = (uint8_t) (val >> 16); + buf[1] = (uint8_t) (val >> 8); + buf[0] = (uint8_t) (val >> 0); +} + +static inline void h_u24_to_be(uint8_t* buf, int val) +{ + buf[0] = (uint8_t) (val >> 16); + buf[1] = (uint8_t) (val >> 8); + buf[2] = (uint8_t) (val >> 0); +} + static inline void h_u16_to_le(uint8_t* buf, int val) { buf[1] = (uint8_t) (val >> 8); |