summaryrefslogtreecommitdiff
path: root/bits.h
diff options
context:
space:
mode:
Diffstat (limited to 'bits.h')
-rw-r--r--bits.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/bits.h b/bits.h
index f4df6002..8b79c56e 100644
--- a/bits.h
+++ b/bits.h
@@ -41,6 +41,7 @@ extern double getled64(const char *, int);
/* big-endian access */
#define getbes16(buf, off) ((int16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
#define getbeu16(buf, off) ((uint16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
+#define getbeu24(buf, off) ((uint32_t)(((uint16_t)getbeu16(buf, (off)) << 8) | getub(buf, (off)+2)))
#define getbes32(buf, off) ((int32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2)))
#define getbeu32(buf, off) ((uint32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2)))
#define getbes64(buf, off) ((int64_t)(((uint64_t)getbeu32(buf, (off)) << 32) | getbeu32(buf, (off)+4)))