This is a home for static inline functions that cannot go in other
headers because they depend on proto.h or struct definitions.
This allows us to avoid repeating macros with GCC and non-GCC ver-
sions. It also makes it easier to avoid evaluating macro argu-
ments twice.
I’ve moved just enough things into it to offset the additional lines
added by the comments at the top. The ‘net code removal’ of this
branch is 4 lines.