What's the difference between extern and static inline ?
Let Linus explain :
- static inline "means" we have to have this function, if you use it but don't inline it, then make a static version of it in this compilation unit.
- extern inline "means" I actually _have_ an extern for this function, but if you want to inline it, here's the inline-version.
But also see [http://www.greenend.org.uk/rjk/2003/03/inline.html Inline Functions in C]