static + inline is superfluous, inline linkage implies it's local to the compilation unit.

Apropos style: there's a bunch of overly long lines that I would suggest wrapping at 80 columns max.