Document your ABIs!

Most of the time when programming in C, your API IS your ABI; but there are various cases where use of a pre-processor will break this symmetry.

I should be able to interface with your library without running a pre-processor over the headers first.