X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=215fce16b3efb68a9e3d8a66b41deee414244bd0;hb=7d893e3bf60c287f16d1e5f39a98fa823f33a9d2;hp=df149bceee1cea16ca957a728e022f48dcea2a2e;hpb=5bce22ac654fa45cdab49152bb3633ea77b4b7fc;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index df149bce..215fce16 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -172,6 +172,23 @@ static inline uint32_t read_u24le(const uint8_t *p) return u; } +/** + * Read a 24 bits big endian unsigned integer out of memory. + * @param x a pointer to the input memory + * @return the corresponding unsigned integer + */ +static inline uint32_t read_u24be(const uint8_t *p) +{ + uint32_t u; + + u = 0; + u <<= 8; u |= p[0]; + u <<= 8; u |= p[1]; + u <<= 8; u |= p[2]; + + return u; +} + /** * Read a 32 bits big endian unsigned integer out of memory. * @param x a pointer to the input memory