… don't support unaligned accesses)
This uses memcpy to avoid the unaligned accesses. gcc on x86 seems to do a reasonable job of optimizing them away. gcc on ARM leaves some memcpy calls in the generated code. It might be better in terms of the code generated to use an approach based on packaged structs (that's wwhat the Linux kernel does). But that would depend on compiler-specific syntax.
There's a lot of boilerplate code in amqp_api.c for API functions corresponding to synchronous AMQP methods. And some of the functions that should be there are missing (e.g. basic.qos, basic.cancel). Instead, we can generate these functions from the protocol definition, plus a little information to describe where the function arguments do not reflect all of the method fields.
…versions of autoconf)