Helper functions {get,set}_uint{16,32,64}() are not used
The helper functions get_uint{16,32,64}() and set_uint{16,32,64}() should be used instead of "(uint16_t)(cp)" etc. to avoid unaligned address access problems with specific OSes.
There are many cases in the source tree that this doesn't happen. For example, in the cell_unpack() function we have:
dest->command = *(uint8_t*)(src+2);