This looks like big endian, right?  It might be better to name this u24_be.

Also, in C++ code, we prefer it without the typedef, e.g. just `struct u24_be { ... };`.  C needs the typedef, but C++ doesn't.

-[Unknown]