This is a proof-of-concept implementation. If the natblaster approach is used in production code we highly recommend using your own implementation, or doing a code-review to ensure this implementation meets your standards.
Doxygen doesn't recognize __attribute__((__packed__)) correctly, so sometimes the attribute is listed as a variable - ignore those listings. All structs are first declared then typedef'ed (rather than done all at once), because Doxygen doesn't like all at once with the packed attribute